|
|
ZVONK.PAS |
|
{* Звонкие согласные *}Unit ZVONK;Interface Implementation Begin writeln('Программа производит чтение из текстового файла TEXT.TXT и в соответствии с алфавитным порядком выводит на экран звонкие согласные, которые входят в каждое нечетное слово и не входят в четные слова.'); End. Program pas39160; Uses ZVONK.pas; {* Эту строку можно удалить *} Uses crt; {* Подключение модулей *} Function UpCaseRus(C : char) : Char; Var {* Необходимые переменные *} s1 : String; s2 : String; R1 : char; Begin s1 := 'йцукенгшщзхъфывапролджэячсмитьбю'; s2 := 'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ'; If Pos('' + C := s2[Pos('' + C, s1)] Else R1; s1) > 0 Then R1 := s2[Pos('' + C, s1)] Else R1; UpCaseRus := R1 End; Var {* В работе нам потребуются переменные: *} a : Set Of char; b : Set Of char; a1 : Set Of char; m : Set Of char; c : char; s : String; fa : String; slovo : String; f : text; i : integer; j : integer; Begin clrscr; {* Очищаем экран *} a := []; {множество содержащее звонкие из нечетных слов} b := []; {множество содержащее звонкие из четных слов} writeln('Ваш текст запишите в файл TEXT.TXT. И вводите это имя файла'); write('Введите имя файла => '); readln(fa); assign(f, fa); {* Привязка переменной f к файлу fa *} reset(f); {открываем текстовый файл для чтения} j := 1; {устанавливаем счетчик слов} a := Zv; a1 := []; While Not eof(f) Do {пока не конец файла} Begin readln(f, s); {читаем одну строку из файла} For i := 1 To length(s) Do {просматриваем строку} If s[i] In Razd Then {если разделитель} Begin If Not((i > 1) And (s[i - 1] In Razd)) Then Begin If (odd(j)) Then Begin a := a * a1; a1 := [] End; j := j + 1 End; End; Else {если не разделитель} Begin c := UpCaseRus(s[i]); If (c In Zv) Then If (odd(j)) {если нечетное слово} Then a1 := a1 + [c] Else b := b + [c] End; If (a1[]) And (odd(J)) Then a := a * a1; End; close(f); {* Закрытие файла *} m := a - b; writeln; {* Пропускаем одну строку *} write('В каждом нечетном : '); For c := 'Б' To 'Р' Do {* Переменная c увеличивается с 'Б' до 'Р' *} If c In a Then write(c); writeln; {* Вывод пустой строки *} write('В четных : '); For c := 'Б' To 'Р' Do {* Переменная c увеличивается с 'Б' до 'Р' *} If c In b Then write(c); writeln; {Выводим содержимое множества М в алфавитном порядке} write('По условию : '); For c := 'Б' To 'Р' Do {* Переменная c увеличивается с 'Б' до 'Р' *} If c In m Then write(c); If m = [] Then writeln('Нет'); readln; {* Приостановка программы. Ожидание Enter *} End. 07.08.2014 - Breakpoint - точка остановки 07.08.2014 - Топ-10 самых популярных приложений в Facebook 18.11.2013 - Панель управления и персонализация системы. Windows Vista 18.11.2013 - Логические и физические диски. Windows Vista 18.11.2013 - Удаление файлов и папок 01.11.2013 - Программирование дисковых подсистем: возможности 31.10.2013 - Windows8 или Windows7? 31.10.2013 - Windows8, игры |
|
Non-commercial fansite
|