Задание 1: При работе со строками обычно необходимо выполнить следующую последовательность действий: ввести строку, обработать строку, поместить результат в ту же или новую строку, распечатать результат на экране монитора. Ввод исходных данных с клавиатуры может быть произведен при помощи процедуры Read, распечатка одной строки – при помощи процедуры Write.
{Главная часть программы}
Var
{Переменная для хранения предложения (фразы)}
Phrase : string;
Begin
Writeln ('Введите фразу, поставив в конце предложения точку');
Phrase := ‘Вы ввели:’ + Phrase + ‘!’;
Readln (Phrase);
End.
Задание 2: Дана строка символов. Преобразовать эту строку удалив из нее каждые ">>" и повторив (вставив еще раз) каждую пару символов "<<". После преобразования полученную строку вывести на печать.
Program Stroki;
Uses Crt;
Var
s:string;
i:integer;
begin ClrScr;
Write('Введите строку символов: ');
Readln(s);
for i:=1 to length(s) do
begin
if (s[i-1]='>') and (s[i]='>') then delete(s,i-1,2); if (s[i-1]='<') and (s[i]='<') then
k,i:integer; begin write('введите строку:'); readln(s); for i:=1 to length(s) do if (s[i]=' ') or (s[i]='.') then k:=k+1; writeln('количество слов в строке =',k) end.
Задание 4: Имеется предложение. Найти позицию первого вхождения заданного символа. Предусмотреть ввод предложения и искомого символа с клавиатуры.
Uses Crt,strings; Var
a:array[1..30] of string; h: text; s:string; i,l:integer; ch:Char; f:boolean;
Readln(ch); f:=false; for i:=length(s) downto 1 do
begin if (s[i]=ch) and (f=false) then
begin l:=i; f:=true; end; end; if f=true then
writeln('Самое правое вхождение данного символа находится на ',l,' позиции') else
writeln('Данный символ не входит в занную строку'); write('Нажмите Enter'); readln; end.
Задание 5: Задано слово. Определить, сколько раз в строке встречается это слово.
var
s,sl,tmp:string; k,i:integer; begin
write('введите строку:'); readln(s);
tmp:=sl; // создается копия строки для безопасности работы write('введите слово: '); readln(sl); k:=0; while pos(sl, tmp)>0 do begin k:=k+1; delete(tmp,pos(sl, tmp),length(sl)); //Удаляется вхождение слова в копию строки для облегчения счета end; writeln(k); end.