Из темы множества - Pascal ABC
Формулировка задачи:
С клавиатуры вводится строка.Составить множество гласных букв, не встречающихся в одной строке.
Решение задачи: «Из темы множества»
textual
Листинг программы
var s:string;
i:byte;
c:char;
m:set of char;
begin
m:=['a','e','i','o','u','y'];
writeln('Введите строку из строчных (малых) латинских букв');
readln(s);
for i:=1 to length(s) do
if s[i] in m then m:=m-[s[i]];
if m=[] then write('В строке есть все гласные буквы')
else
begin
writeln('Гласные буквы, которых нет в строке');
for c:='A' to 'u' do
if c in m then write(c);
end
end.
Объяснение кода листинга программы
- Создается переменная
m, которая представляет собой множество символов типаset of char. - Значение переменной
mустанавливается равным последовательности символов'a','e','i','o','u','y'. - Выводится сообщение для пользователя, предлагающее ввести строку из строчных (малых) латинских букв.
- Считывается введенная пользователем строка и сохраняется в переменной
s. - Запускается цикл
for, который выполняется столько раз, сколько символов в строкеs. - Внутри цикла проверяется, содержится ли каждый символ из строки
sв множествеm. Если да, то символ удаляется из множестваm. - После завершения цикла выводится сообщение, указывающее, содержит ли строка все гласные буквы.
- Если строка не содержит всех гласных букв, выводится список символов, которые отсутствуют в строке. Для этого используется цикл
for, который перебирает символы от'A'до'u'и проверяет, содержится ли каждый символ в множествеm. Если да, то символ выводится на экран.