Advertisement
EvenGuy

Задание 2

Oct 29th, 2015
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.50 KB | None | 0 0
  1. program Zadanie_2;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6.   SysUtils;
  7.  
  8. type
  9.   TLetters = set of Char;
  10.  
  11. var
  12.   AllSyms, Syms:TLetters; //Мн-во всех символов и мн-во символов из текста
  13.   PrepSyms:TLetters; //Знаки препинания
  14.   Sym:Char; //Введенный символ
  15.   PrepCnt:integer; //Счетчик знаков препинания
  16.  
  17. //Вывод символов из мн-ва
  18. procedure PrintSymMn(Mn:TLetters);
  19.   var
  20.     Ch:Char;
  21.  
  22.   begin
  23.     for Ch := 'a' to 'z' do
  24.       if Ch in Mn then
  25.         write(Ch,' ');
  26.   end;
  27.  
  28.  
  29. begin
  30.   //Начальные значения переменных
  31.   AllSyms := ['a' .. 'z'];
  32.   PrepSyms := ['(',')',':',',','!','.','-','?',';','"'];
  33.   Syms := [];
  34.   PrepCnt := 0;
  35.  
  36.   write('Введите текст:');
  37.   //Переборка символов и добавление их в список
  38.   repeat                          
  39.     read(Sym); //Посимвольное чтение
  40.  
  41.     if (Sym in AllSyms) and not (Sym in Syms) then
  42.       include(Syms,Sym)
  43.     else if Sym in PrepSyms then
  44.       PrepCnt := PrepCnt + 1;
  45.   until Sym = #13; //Завершение цикла, если последний символ Enter
  46.  
  47.   //Вывод найденных символов и количества знаков препинания
  48.   write('Символы из текста:');
  49.   PrintSymMn(Syms);
  50.   writeln;
  51.  
  52.   writeln('Кол-во знаков препинания:',PrepCnt);
  53.  
  54.   readln;
  55. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement