Обработка строк
Сложные варианты
Задача 1. Определить, является введенное слово «перевертышем» (потоп, казак).
USES Crt;
VAR
A, B : STRING [20]; I, N: BYTE;
BEGIN
ClrScr;
Write('Введите слово '); ReadLn(A);
N:=Length(A);
FOR I:=N DownTo 1 DO
B:=B+A[I];
IF B=A THEN Write('Перевертыш') ELSE Write('Не перевертыш');
END.
Задача 2. Подсчитать количество слов, в которых буква «а» входит не менее двух раз (слова разделены пробелом).
USES Crt;
VAR
A : STRING [255]; KS, KB, I, N : INTEGER;
BEGIN
ClrScr;
WriteLn('Введите текст '); ReadLn(A);
A:=A+' ';
N:=Length(A);
KB:=0; KS:=0; I:=1;
While (I<=N) DO Begin
While (A[I]<>' ') DO Begin
IF (A[I]='a') OR (A[I]='A') THEN KB:=KB+1;
I:=I+1;
End;
IF KB>2 THEN KS:=KS+1;
KB:=0;
I:=I+1;
End;
WriteLn(' Количество слов, в которых буква "а" встречается не менее двух раз = ',ks)
END.
Задача 3. Найти слово в тексте, содержащее наибольшее количество букв «м».
USES Crt;
VAR
A, D : STRING [255]; I, KB, MKB, K, MK, NP, MNP : INTEGER;
BEGIN
ClrScr;
WriteLn('Введите текст'); ReadLn(A);
I:=1; KB:=0; MKB:=0; NP:=1;
While(I<=Length(A)) DO Begin
While(A[I]<>' ') DO Begin
IF A[I]='м' THEN KB:=KB+1;
K:=K+1; I:=I+1;
End;
IF MKB<KB THEN Begin MKB:=KB; MNP:=NP; MK:=K; End;
NP:=I+1; KB:=0; K:=0;
I:=I+1;
End;
D:=Copy(A,MNP,MK);
WriteLn('Слово с максимальным количеством букв "м" - ',D);
END.
Задача 4. Проверить правильность написания круглых скобок.
Var
A:String[50];
K,I,N:Integer;
BEGIN
WriteLn(‘Введите тест’);
ReadLn(A);
N:=Length(A);
FOR I:=1 TO N DO Begin
IF A[I]=’(‘ THEN=N+1;
IF A[I]=’)‘ THEN N:=N-1;
IF N<0 THEN Begin WriteLn(‘Неверно’); Break; End;
End;
IF N=0 THEN WriteLn(‘Верно’) ELSE WriteLn(‘Неверно’);
END.
.....................................................................................................................................
Практические задания
.....................................................................................................................................
- Вывести на экран самое длинное слово из введенного текста.
- Определить, имеются ли в строке символов все буквы, входящие в введенное слово.
- Из текста удалить все слова, начинающиеся и оканчивающиеся на одну и ту же букву.
- В тексте найти и подсчитать количество слов, у которых первый и последний символы совпадают между собой (слова разделены пробелами).