Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции+Pascal.doc
Скачиваний:
29
Добавлен:
02.12.2018
Размер:
647.17 Кб
Скачать

2. Задачи на замену символов.

1. Заменить в тексте последовательность символов ‘аб’ на ’яд’.

Var

St: Sring[255];

I,N: Byte;

Begin

WriteLn(‘Введите строку символов ‘);

ReadLn(St);

N:=Length(St); {Определение длины введенной строки}

S1:=’яд’;

For I:=1 To N-1 Do

If Copy(St,I,2)=’аб’ Then Begin

Delete(St,I,2);

Insert(S1,St,I);

End;

Write(‘Результирующая строка: ’,St);

End.

2. В тексте заменить все запятые, предшествующие первой точке, на пробелы.

Var

St: Sring[255];

I,P: Byte;

Begin

WriteLn(‘Введите строку символов ‘);

ReadLn(St);

P:=POS(‘.’,St); {Определение позиции первой точки}

For I:=1 To P-1 Do

If St[I]=’,’ Then St[I]:=’ ‘;

WriteLn(St);

End.

Примеры для самостоятельного решения.

  1. Проверить правильность написания гласных букв: «ча», «ща», «чу», «щу», «жи». «ши».

  2. В строке символов слово «она» заменить на слово «он».

3. Задачи на удаление символов.

1. В тексте убрать лишние пробелы между словами, оставив по одному.

Var

S: String[255];

I: Byte;

Begin

WriteLn(‘Ведите текст’);

ReadLn(S);

I:=1;

While(I<=LengTh(S)) Do Begin

If Copy(S,I,2)=’ ‘ Then Begin

Delete(S,I,1);

I:=I-1;

End;

I:=I+1;

End;

WriteLn(‘Измененный текст ’,S);

End.

2. В тексте удалить все слова, заканчивающиеся на букву "e".

USES Crt;

VAR

S: STRING [250]; PS,N,I: INTEGER;

BEGIN

ClrScr;

Write('Введите текст '); ReadLn(S);

S:= ' '+S+' ';

FOR I:=1 TO Length(S) DO Begin

IF S[I]=' ' THEN Begin

PS:=I-1;

IF S[PS]='E' THEN WHILE(S[PS]<>' ') DO Begin

Delete(S,PS,1); PS:=PS-1;

End;

End;

End;

WriteLn(‘ Измененный текст:’); Write(S);

END.

3. Из текста удалить каждое второе слово. Слова разделены пробелом.

USES Crt;

Type MAS= STRING [20];

VAR

A : MAS;

I,K: INTEGER;

BEGIN

ClrScr;

Write('Введите текст '); ReadLn(A);

i:=1;

While (I<=Length(A)) DO Begin

IF A[I]=' ' THEN Begin

K:=I+1;

While (A[K]<>' ') DO Delete(A,K,1);

I:=I+1;

End;

I:=I+1;

End;

WriteLn(‘Измененный текст:’); Write(A);

END.

4. В тексте удалить удвоенные согласные буквы, оставив по одной.

Var

S: String[255];

SB:String[25];

I,J:Byte;

Begin

WriteLn(‘Введите текст’);

ReadLn(S);

SB:=’бвгджзклмнпрстфхцчшщ’;

For I:=1 To Length(SB) D0

For J:=1 To Length(S) D0

If Copy(S,J,2)=SB[I]+SB[I] Then Delete(S,J,1);

WriteLn(‘Измененный текст ‘,S);

End.

Примеры для самостоятельного решения:

  1. Из строки символов удалить все гласные буквы

  2. Из строки символов удалить заданное слово

  3. Удалить все символы «!», следующие за вторым предложением

  4. В тексте удалить все слова, заканчивающиеся на букву «о» (слова разделены пробелом).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]