Найти множества гласных и заглавных букв, а также пересечение этих множеств - Free Pascal
Формулировка задачи:
Решение задачи: «Найти множества гласных и заглавных букв, а также пересечение этих множеств»
const
Glas=['e','y','u','i','o','a','E','Y','U','I','O','A'];
Zagl=['A'..'Z'];
type
SetOfChar = set of char;
procedure print(s: SetOfChar);
var
c: char;
begin
for c:=#0 to #255 do
if c in s then write(c);
writeln;
end;
var
s: string;
i: integer;
g,z: SetOfChar;
begin
readln(s);
g:=[]; z:=[];
for i:=1 to length(s) do begin
if s[i] in Glas then g:=g+[s[i]];
if s[i] in Zagl then z:=z+[s[i]];
end;
write('Гласные: ');
print(g);
write('Заглавные: ');
print(z);
write('Пересечение: ');
print(g*z);
readln;
end.
Объяснение кода листинга программы
В этом коде задача заключается в том, чтобы найти гласные и заглавные буквы в заданной строке, а затем вывести их на экран. Список гласных букв задан в константе Glas, а список всех букв в Zagl. Тип данных SetOfChar определен как множество символов (char). Процедура print используется для вывода элементов множества на экран. Строка s вводится пользователем с клавиатуры. Два множества g и z создаются для хранения гласных и заглавных букв соответственно. Затем, в цикле, каждая буква в строке s проверяется. Если буква является гласной, она добавляется в множество g, а если буква является заглавной, она добавляется в множество z. После этого, на экран выводятся гласные буквы, затем заглавные буквы, и, наконец, пересечение множеств g и z. Когда программа завершается, она ожидает ввода пользователя для выхода из программы.