Цель работы:Изучение правилописания ииспользованиястрок типаstring.
Задание№ 17.Из заданноготекста на русскомязыке вывестислова с максимальнымкол-вом гласныхбукв.
Программа наTurbo Pascal.
{Программа:lab16 }
{Цель:Посчитать макс.кол-во русскихбукв }
{Переменные: }
{ mas - вводимыемассивы }
{s - промежуточныймассив }
{ i,n,kj - переменныецикла }
{Программист:Позднышев А.А.группа 316 }
{Проверил:Новичков В.С. }
programlab16;
usescrt;
type
mas=array[1..50]ofstring[80];
procedureTrim(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}
proceduresravn(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]='я')
thenk1:=k1+1;
delete(sl,1,1);
untillength(sl)=0;
end;{sravn}
procedures4et(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);
untils='';
forj:=1 to i do
begin
sravn(sl[j],k1);
ifok
then
ifk1>ko
thenko:=k1;
ifnot ok
then
ifk1=ko
thenwriteln(sl[j]);
k1:=0;
end;
end;{s4et}
var
s:mas;
i,n,k:integer;
begin
k:=0;
Writeln('Введитекол-во строк:');
readln(n);
Writeln('Введитетекст:');
fori:=1 to n do
begin
readln(s[i]);
s4et(true,s[i],k);
end;
writeln('максимальноеколичествогласных буквв слове=',k);
fori:=1 to n do
s4et(false,s[i],k);
end.
Результатвыполненияпрограммы:
Введитекол-во строк:
4
Введитетекст:
Рязанская
Государственная
Радиотехническая
Академия
максимальноеколичествогласных буквв слове=8
Радиотехническая
МинистерствообразованияРФ
Рязанскаягосударственнаярадиотехническаяакадемия
Кафедра ВПМ
Отчет о
лабораторнойработе № 16:
«Строковыйтип данных»
Выполнил: ст. гр. 316
ПозднышевА.А.
Проверил:Новичков В.С.
Рязань 2004