Мета роботи: Вивчення правил опису та використання рядків типу string.
Завдання № 17. З заданого тексту російською мовою вивести слова змаксимальним кол-вом голосних букв. p>
Программа на Turbo Pascal. p>
(Програма: lab16 p>
)
(Мета: Порахувати макс. к-ть російських букв)
(Змінні: p>
)
(Mas - вводяться масиви p>
)
(S - проміжний масив)
(I, n, kj - змінні циклу p>
)
(Програміст: Позднишев А.А. група 316)
(Перевірив: Новачків В.С. p>
) p>
program lab16;uses crt;type mas = array [1 .. 50] of string [80]; p>
procedure Trim (Var s: string); begin (Trim) while (s [1] = '') and (length ( s)> 0) do delete (s, 1,1); while (s [length (s)] = '') and (length (s)> 0) do delete (s, length (s), 1); end; (Trim)procedure sravn (sl: string; Var k1: integer); begin (sravn) repeat if (sl [1] = 'а') or (sl [1] = 'е') or (sl [1] = 'е' ) or (sl [1] = 'і') or (sl [1] = 'о') or (sl [1] = 'у') or (sl [1] = 'и') or (sl [1 ] = 'е.') or (sl [1] = 'ю') or (sl [1] = 'я') then k1: = k1 1; delete (sl, 1,1); until length (sl) = 0; end; (sravn)procedure s4et (ok: boolean; s: string; var ko: integer); var sl: mas; sl1: string [80]; k, i, j: byte; k1: integer; begin (s4et) k1: = 0; trim (s); s: = s + ''; i: = 0; repeat k: = pos ( '', s); i: = i +1; sl [i]: = copy (s, 1, k - 1); delete (s, 1, k); until s =''; for j: = 1 to i do begin sravn (sl [j], k1); if ok then if k1> ko then ko: = k1; if not ok then if k1 = ko then writeln (sl [j]); k1: = 0; end; end; (s4et) p>
var s: mas; i, n, k: integer;begin k: = 0;
Writeln ( 'Введіть кількість рядків:'); readln (n);
Writeln ( 'Введіть текст:'); for i: = 1 to n do begin readln (s [i]); s4et (true, s [i], k); end; writeln ( 'максимальну кількість голосних літер у слові =', k); for i: = 1 to n do s4et (false, s [i] , k);end. p>
Результат виконання програми:
Введіть кількість рядків:
4
Введіть текст:
Рязанська
Державна
Радіотехнічна
АкадеміяМаксимальна кількість голосних літер у слові = 8
Радіотехнічна p>