Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Unit Lab9Unit;
- {Avtor -Kashlev Y.A.,student group 201}
- {Variant zadaniy - №4}
- interface
- uses {Подключеие библиотек с подпрогр мм ми и опис иями д ых}
- Crt; {Подключ ем системый модуль П ск ля с подпрогр мм ми р боты с экр ом}
- type {Объявлеие ест д ртых типов д ых}
- tRazd = set of char; {Можество символов}
- procedure SumWords;
- implementation
- procedure SumWords;
- const
- {Типизиров я кост т со можеством символов-р зделителей слов}
- Razd: tRazd = [' ','.', ',', '-', ';', ':', '!', '?'];
- var
- st, {исход я сторок }
- Slovo {Строк для йдеого слов }: string; {Результирующ я строк }
- Summ_c,Summ_nc, {перемеые суммы четых и ечетых чисел}
- z,cod,
- i, {Номер символ в строке}
- N: integer; {Количество символов в слове}
- begin
- TextColor(Red);
- TextBackground(Brown);
- ClrScr; {Очистк экр }
- writeln('Д я прогр мм пред з че для вычислеия суммы четых и ечетых слов в д ой строке');
- writeln;
- repeat {Цикл ввод исходиков}
- Writeln; {доб воч я строк строки}
- Write('Введите строку текст : ');
- ReadLn(St);
- slovo:='0';
- summ_C:=0;
- Summ_nc:=0;
- if St = '' {При вводе пустой строк - последуетз вершеие цикл }
- then Break;
- while St <> '' do {Поиск слов в исходой строке текст }
- begin
- {Уд леие символов-р зделителей в ч ле строки}
- while (St <> '') and (St[1] in Razd) do
- begin
- Delete(St, 1, 1) {Уд ляем символ- р зделитель в ч ле строки}
- end;
- {Выделеие слов в исходой строке}
- {Н случ й, если последее слово в строке е з к чив ется р зделителем}
- Slovo := St;
- N:= Length(St);
- for i := 1 to Length(St) do
- if (St <> '') and (St[i] in Razd)
- then
- begin
- N := i-1;
- Slovo := Copy(St, 1, N);
- Break end;
- if N = 0 {Если слово е выделео, выйти из цикл }
- then Break;
- Delete(St, 1, N); {Уд ляем слово из исходой строки}
- {Если cлово е первое - доб вляем в коец символ подчеркив ия}
- val(slovo,z,cod);
- if cod = 0
- then if (z mod 2) = 0 then summ_c := summ_c+z
- else summ_nc := summ_nc + z;
- end;
- {Печ ть результ тов}
- WriteLn(#10#13' Результ ты:');
- WriteLn('сумм четых слов = ',summ_c);
- Writeln('сум е четых слов = ',summ_nc);
- ReadLn
- until false; {"бескоечый" цикл}
- end;
Add Comment
Please, Sign In to add comment