Вывести на экран отсутствующие латинские гласные буквы - Pascal
Формулировка задачи:
Ввести с клавиатуры строку символов, и при этом программа должна вывести на экран латинские гласные буквы (a, e, i, o, u) которые отсутствуют в введённой строке.
Решение задачи: «Вывести на экран отсутствующие латинские гласные буквы»
textual
Листинг программы
const
cs = ['a', 'e', 'u', 'i', 'o'];
type
tset = set of char;
var
i: integer;
s: string;
sp: tset;
begin
writeln('Введите предложение и нажмите Enter:');
readln(s);
sp := [];
writeln('Гласные, входящие в предложение:');
for i := 1 to Length(s) do
if (s[i] in cs) and not (s[i] in sp) then
begin
sp := sp + [s[i]];
write(s[i], ' ');
end;
sp := cs - sp;
writeln;
writeln('Гласные, не вошедшие в предложение:');
for i := 32 to 255 do
if chr(i) in sp then
write(chr(i), ' ');
readln;
end.
Объяснение кода листинга программы
- Объявляется константа
csтипаtsetсо значениями 'a', 'e', 'u', 'i', 'o'. - Объявляется пользовательский тип
tsetкак множество символов. - Объявляются переменные
iтипа integer,sтипа string,spтипаtset. - Выводится на экран сообщение
Введите предложение и нажмите Enter:. - Считывается строка и сохраняется в переменную
s. - Переменной
spприсваивается пустое множество. - Выводится сообщение
Гласные, входящие в предложение:. - Происходит цикл от 1 до длины строки
s. - Если символ
s[i]входит в множествоcsи не входит в множествоsp, то добавляется к множествуspи выводится на экран. - Множество
spзаполняется разностьюcsиsp. - Выводится сообщение
Гласные, не вошедшие в предложение:. - Происходит цикл от 32 до 255, где для каждого символа проверяется, содержится ли он в множестве
sp, и если да, выводится на экран. - Программа ожидает нажатия Enter для завершения.