Вывести на экран отсутствующие латинские гласные буквы - 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.

Объяснение кода листинга программы

  1. Объявляется константа cs типа tset со значениями 'a', 'e', 'u', 'i', 'o'.
  2. Объявляется пользовательский тип tset как множество символов.
  3. Объявляются переменные i типа integer, s типа string, sp типа tset.
  4. Выводится на экран сообщение Введите  предложение и нажмите Enter:.
  5. Считывается строка и сохраняется в переменную s.
  6. Переменной sp присваивается пустое множество.
  7. Выводится сообщение Гласные, входящие в предложение:.
  8. Происходит цикл от 1 до длины строки s.
  9. Если символ s[i] входит в множество cs и не входит в множество sp, то добавляется к множеству sp и выводится на экран.
  10. Множество sp заполняется разностью cs и sp.
  11. Выводится сообщение Гласные, не вошедшие в предложение:.
  12. Происходит цикл от 32 до 255, где для каждого символа проверяется, содержится ли он в множестве sp, и если да, выводится на экран.
  13. Программа ожидает нажатия Enter для завершения.

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы