Lab_rab_Pascal_OZO / Lab_10_Работа_со_строками
.docЛабораторная работа № 10.
Работа со строками.
Цель: изучение принципов работы со строками.
Оборудование и программное обеспечение: компьютер, Turbo Pascal 7.0.
Место проведения:
Время:
Пример 1: Дана строка, заканчивающаяся точкой. Подсчитать, сколько в ней слов.
Program Slova;
uses crt;
var st,st1,st2,st3:string;
a,i:byte;
begin
clrscr;
writeln('введите текст');
readln(st);
st1:='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’;
st2:=’авсдежзиклмнопрстуфхцчшщьъыэюяАВСДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЪЫЭЯ';
st3:=st1+st2;
for i:=1 to length(st) do
if ((pos(st[i],st3))>0) and ((pos(st[i+1],st3))=0)
then a:=a+1;
writeln('число слов=',a,'шт.');
readln;
end.
Пример 2: Строка содержит одно слово. Проверить является ли оно палиндромом.
program perevertish;
uses crt;
var st:string;
i,n,a:integer;
begin
clrscr;
write('Введите слово ');
readln(st);
n:=length(st);
a:=1;
for i:=1 to n do if st[i]<>st[n-i+1] then a:=0;
if a=1 then write('Палиндром') else write('Обыкновенное слово');
readln;
end.
Пример 3: Дана строка. Если в ней встречается последовательность ‘child’ то заменить её на ‘children’.
Program Zamena;
Uses CRT;
Var s1:String;
Begin
CLRSCR;
Readln(s1);
While Pos('child',s1)>0 do
Begin
Insert('*',s1,pos('child',s1));
delete(s1,pos('child',s1),length('child'));
End;
While Pos('*',s1)>0 do
Begin
Insert('children',s1,pos('*',s1));
delete(s1,pos('*',s1),length('*'));
End;
Writeln;
Writeln(s1);
Readln;
End.
Порядок выполнения работы:
Задание: Создать и отладить программу для решения следующую задачу (см. Приложение).
Содержание отчета по каждому заданию:
-
исходные данные (условие задачи);
-
алгоритм (блок-схема) решения задачи;
-
текст программы (или основной фрагмент программы);
-
результаты выполнения программы
Приложение: (ваш номер по журналу соответствует номеру варианта)
-
Удалить из строки все цифры и дописать их в конец строки.
-
После каждого третьего пробела вставить точку и удалить последние "лишние" символы.
-
Перед каждым знаком '=' вставить символ, стоящий за ним, если таковой имеется.
-
Удалить из строки все буквы 'а' и добавить в ее начало недостающее число пробелов.
-
Заменить в строке все латинские буквы на следующие по алфавиту буквы, а букву 'z' заменить на 'a'.
-
Заменить в строке все цифры предыдущими по значению цифрами, а '0' заменить на точку.
-
Каждый символ, стоящий в нечетной позиции, обменять со следующим за ним символом строки.
-
Если в строке цифр больше, чем латинских букв, заменить все цифры знаком '+'. В противном случае заменить все латинские буквы знаком '-'.
-
Если в строке пробелов меньше, чем цифр, удвоить каждый пробел.
-
Каждую закрывающую скобку ')', для которой нет парной открывающей '(', заменить на '?'.
-
Если строка начинается и оканчивается одним и тем же символом, во всей строке заменить его четвертым символом строки.
-
Если строка содержит больше пяти латинских 'а', заменить все латинские буквы строки следующими по алфавиту символами.
-
Найти соотношение букв и цифр в строке, напечатать его и удалить все символы '*' из строки, добавив в конец такое же количество символов '!'.
-
В строке все вхождения слова "Да" заменить на "Нет". Игнорируется разница между строчными и заглавными буквами.
-
В строке убрать все лишние пробелы между словами, оставив только по одному.