Описать следующие множества: numbers (содержит символы от '0' до '9'), lowerCase(содержит символы от 'a' до 'z'), upperCase(содержит символы от 'A' до 'Z'). Для заданной строки определить, наличие в ней символов разных типов.
Например
Строка Результат
abc Строка содержит символы в нижнем регистре
abC Строка содержит символы в верхнем и в нижнем регистрах
ABC Строка содержит символы в верхнем регистре
aBc123 Строка содержит символы в верхнем и в нижнем регистрах и цифры
Записи. Pascal ABC
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Код: Выделить всё
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.
-
- Сообщения: 4
- Зарегистрирован: 10 дек 2013, 19:20
Большое Спасибо, выручили))