Страница 1 из 1

Записи. Pascal ABC

Добавлено: 10 дек 2013, 19:21
Andrew5674
Описать следующие множества: numbers (содержит символы от '0' до '9'), lowerCase(содержит символы от 'a' до 'z'), upperCase(содержит символы от 'A' до 'Z'). Для заданной строки определить, наличие в ней символов разных типов.

Например
Строка Результат
abc Строка содержит символы в нижнем регистре
abC Строка содержит символы в верхнем и в нижнем регистрах
ABC Строка содержит символы в верхнем регистре
aBc123 Строка содержит символы в верхнем и в нижнем регистрах и цифры

Re: Записи. Pascal ABC

Добавлено: 11 дек 2013, 02:11
Naeel Maqsudov

Код: Выделить всё

program DemoOfSets;
type
  TDetectionCriteria = (numbers,lowerCase,upperCase);
  TDetectingThings = array[TDetectionCriteria] of set of Char;
  TDetectedThings = set of TDetectionCriteria;
const
  DetectingThings : TDetectingThings = (['0'..'9'], ['a'..'z'],  ['A'..'Z']);
var
  S:string;
  dc: TDetectionCriteria;
  Detected :  TDetectedThings;
  i:integer;
begin
  write('Input text or press Enter to terminate: ');
  Read(S);
  Detected:=[];
  i:=1;
  while (i<=length(S)) and (Detected <> [numbers,lowerCase,upperCase]) do begin
    for dc:=numbers to upperCase do
      if S[i] in DetectingThings[dc] then Detected:=Detected + [dc];
    inc(i);
  end;
  if Detected = [] then
    writeln('Text contais nither number nor small or capital letters, probable something else')
  else if Detected = [numbers] then
    writeln('Text contains only numbers')
  else if Detected = [lowerCase] then
    writeln('Text contains only small letters')
  else if Detected = [upperCase] then
    writeln('Text contains only capital letters')
  else if Detected = [numbers,lowerCase] then
    writeln('Text contains numbers and small letters')
  else if Detected = [numbers,upperCase] then
    writeln('Text contains numbers and capital letters')
  else if Detected = [lowerCase,upperCase] then
    writeln('Text contains small and capital letters, no numbers')
  else
    writeln('Text contains numbers and both small and capital letters')
end.

Re: Записи. Pascal ABC

Добавлено: 11 дек 2013, 17:28
Andrew5674
Большое Спасибо, выручили))