Цель работы:
Изучение правил
описания и
использования
строк типа
string.
Задание№ 17.
Из заданного
текста на русском
языке вывести
слова с максимальным
кол-вом гласных
букв.
Программа на
Turbo Pascal.
{Программа:
lab16
}
{Цель:
Посчитать макс.
кол-во русских
букв }
{Переменные:
}
{
mas
- вводимые
массивы
}
{
s
- промежуточный
массив }
{
i,n,kj
- переменные
цикла
}
{Программист:
Позднышев А.А.
группа 316
}
{Проверил:
Новичков В.С.
}
program
lab16;
uses
crt;
type
mas=array[1..50]of
string[80];
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:integ
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}
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.
Результат
выполнения
программы:
Введите
кол-во строк:
4
Введите
текст:
Рязанская
Государственная
Радиотехническая
Академия
максимальное
количество
гласных букв
в слове=8
Радиотехническая
Министерство
образования
РФ
Рязанская
государственная
радиотехническая
академия
Кафедра ВПМ
Отчет о
лабораторной
работе № 16:
«Строковый
тип данных»
Выполнил: ст.
гр. 316
Позднышев
А.А.
Проверил:
Новичков В.С.
Рязань 2004