ВУЗ:
Составители:
Рубрика:
5
Var s1,s2:string;
Function RightPosition(str1,str2:string):byte;
function Invert(str:string):string;
var i:integer; s:string;
begin
s:='';
for i:=1 to length(str) do s:=copy(str,i,1)+s;
Invert:=s
end;{Invert}
Begin
RightPosition:=length(str1)-pos(Invert(str2),
Invert(str1))+1-
length(str2)+1;
End; {RightPosition}
Begin
Textbackground(7); Textcolor(blue); Clrscr;
write('Введите строку:'); readln(s1);
write('Введите подстроку:'); readln(s2);
writeln('RightPosition=',RightPosition(s1,s2));
readkey
End.{Right2}
К символу строки можно обратиться также, как к элементу одномерно-
го массива. Например , чтобы обратиться к 3-му символу строки s доста-
точно указать s[3].
Как, используя предшествующее замечание, можно изменить функцию
Invert?
При описании переменных типа String можно ограничить максимально
возможную длину строки константой N типа byte:
Const N=50;
Var Идентификатор_строки: String[N];
Рассмотрим еще одну задачу обработки текстовой информации.
Задача 2. Для большинства существительных, оканчивающихся на –онок и
–eнок, множественное число образуется от другой основы . Как правило, это
происходит по образцу: цыпленок – цыплята, мышонок – мышата и т. д. (в но-
вой основе перед последней буквой m пишется а или я в зависимости от преды-
дущей буквы: если это шипящая, то а, иначе - я ). Имеются слова- исключения,
из которых укажем следующие: ребенок (дети ), бесенок (бесенята), опенок
( опята), звонок (звонки), позвонок (позвонки), подонок (подонки), жаворонок
( жаворонки), бочонок (бочонки). Пусть дан русский текст, слова которого раз-
делены пробелами, запятой или точкой . Все слова, оканчивающиеся на –онок и
–енок, представьте во множественном числе.
♣ Текст будем читать в переменную s типа string. В цикле будем просмат-
ривать буквы текста слева направо. Позиция просматриваемой буквы хранится
в переменной i .
5 Var s1,s2:string; Function RightPosition(str1,str2:string):byte; function Invert(str:string):string; var i:integer; s:string; begin s:=''; for i:=1 to length(str) do s:=copy(str,i,1)+s; Invert:=s end;{Invert} Begin RightPosition:=length(str1)-pos(Invert(str2), Invert(str1))+1- length(str2)+1; End; {RightPosition} Begin Textbackground(7); Textcolor(blue); Clrscr; write('Введите строку:'); readln(s1); write('Введите подстроку:'); readln(s2); writeln('RightPosition=',RightPosition(s1,s2)); readkey End.{Right2} К с и м в ол у с т р оки м ож н о об р а т и т ьс я т а кж е, ка к к эл ем ен т у одн ом ер н о- го м а с с и в а . На пр и м ер , чт об ы об р а т и т ьс я к 3-м у с и м в ол у с т р оки s дос т а - т очн о ука за т ь s[3]. К а к, и с пол ьзуя пр едш ес т в ующее за м еча н и е, м ож н о и зм ен и т ь фун кци ю Invert? П ри описании переменных типаString можно ограничить максималь но возможную длинустроки константой N типаbyte: Const N=50; Var Идентификатор_строки: String[N]; Рассмотримещ е однузадачуобработки текстовой инф ормации. За д а ча 2. Д ляболь ш инствасущ ествитель ных, оканчиваю щ ихсяна– он ок и –eн ок, множественное число образуетсяотдругой основы. К акправило, э то происходитпо образцу: цыпленок– цыплята, мыш онок– мыш атаи т.д. (в н о- в ой ос н ов е пер ед пос л едн ей б укв ой m пи ш ет с я а и л и я в за в и с и м ос т и от пр еды- дущей б укв ы: ес л и эт о ш и пяща я, т о а, и н а че - я ). И мею тсяслова-исклю чения, изкоторых укажемследую щ ие: ребенок(дети), бесенок(бесенята), опенок (опята), звонок(звонки), позвонок(позвонки), подонок(подонки), жаворонок (жаворонки), бочонок(бочонки). П усть дан русский текст, словакоторого раз- делены пробелами, запятой или точкой . В се слова, оканчиваю щ иесяна–он ок и –ен ок, представь те во множественномчисле. ♣ Т екстбудемчитать впеременную s типаstring. В цикле будемпросмат- ривать буквы текстаслеванаправо. П озицияпросматриваемой буквы хранится впеременной i.
Страницы
- « первая
- ‹ предыдущая
- …
- 3
- 4
- 5
- 6
- 7
- …
- следующая ›
- последняя »