Задача 1.В текст вставить символ пробел после каждого имеющегося символа пробел.
USES Crt;
VAR
A : STRING [255]; I: INTEGER;
BEGIN
ClrScr;
WriteLn('Введите текст'); ReadLn(A);
I:=1;
While (I<=Length(A)) DO Begin
IF A[I]=' ' THEN Begin Insert (' ',A,I); I:=I+1; End;
I:=I+1;
End;
WriteLn(‘Измененный текст:’); WriteLn(A);
END.
Задача 2.Третье предложение в тексте заключить в скобки.
USES Crt;
VAR
A: STRING [200]; I,K,F: INTEGER;
BEGIN
ClrScr;
Write('Введите текст '); ReadLn(A);
I:=1; K:=0; F:=0;
While (I<=Length(A)) DO Begin
IF A[I]='.' THEN K:=K+1;
IF (K=2) AND (F=0) THEN Begin Insert('(',A,I+1); F:=1; End;
IF (K=3) AND (F=1) THEN Begin Insert(')',A,I+1); F:=0; End;
I:=I+1;
End;
WriteLn(‘Измененный текст:’); WriteLn(A);
END.
Задача 3.Исправить ошибки в тексте. Во все слова "длиный" вставить букву "н".
USES Crt;
VAR
S : STRING [50]; PZ, I: INTEGER;
BEGIN
ClrScr;
WriteLn(‘Введите текст’); ReadLn(S);
FOR I:=1 TO Length(S) DO
IF Copy(S,I,6)='длиный' THEN Insert('н',S,I+3);
WriteLn(‘Измененный текст:’); WriteLn(S);
END.
.....................................................................................................................................
Практические задания
..................................................................................................................................
1. Исправить ошибки в тексте: в словах “рож”, “мыш”, “доч” в конце поставить “ь”.
2. В тексте в последнем предложении после слова «мама» вставить «и папа».
3. В тексте после слов «например» поставить «,».
4. В тексте во втором предложении после слов «Ура» поставить «!!!».
Сложные варианты
Задача 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.
.....................................................................................................................................
Практические задания
.....................................................................................................................................
1. Вывести на экран самое длинное слово из введенного текста.
2. Определить, имеются ли в строке символов все буквы, входящие в введенное слово.
3. Из текста удалить все слова, начинающиеся и оканчивающиеся на одну и ту же букву.
4. В тексте найти и подсчитать количество слов, у которых первый и последний символы совпадают между собой (слова разделены пробелами).