Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Воробьева Соппа Программирование в Паскаль 2006...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.4 Mб
Скачать

Пример программирования текстовой задачи

Исходный текст является предложением, заканчивающимся точкой. Слова в предложении отделяются друг от друга одним пробелом. Преобразовать предложение по следующему правилу: если слово нечетной длины, то удалить его средний символ.

Program P_T;

Uses Crt; {Модуль работы с экраном}

Var

stv, stp: string;

k, l, n: integer;

w: char;

Begin

ClrScr; {Стандартная процедура очистки экрана}

writeln(‘Введите исходное предложение’);

readln(stv);

k := pos(‘.’, stv); {Поиск точки – конца предложения}

if k = 0 then

begin

writeln(‘Ошибка ввода!’);

readln; {Вывод окна Output}

Halt(1); {Процедура прерывания программы}

end;

stp := ‘   ‘;

repeat

k := pos(‘   ’, stv); {Поиск пробела – конца слова}

if k = 0 then k := pos(‘.’, stv);

w := stv[k]; {Запоминание пробела или точки}

l := length(copy(stv, 1, k–1)); {Определение длины слова}

if (l mod 2)<>0 then

begin

n := l div 2 +1;

delete(stv, n, 1); {Удаление среднего символа}

k := k – 1;

end;

stp := stp + copy(stv, 1, k);

delete(stv, 1, k); {Удаление слова}

until w = ‘.’;

writeln(‘Преобразованное предложение’);

writeln(stp);

End.

9.3. Контрольное задание

Подготовить текст исходного предложения в соответствии с вариантом задачи, указанным в таблице (предложение должно заканчиваться точкой, разделитель слов в предложении – пробел). Составить программу и выполнить ее на ПК.

Вариант

Условие задачи

1

В заданном предложении найти самое короткое и самое длинное слово.

2

В исходном предложении все символы пробела заменить символами подчеркивания.

3

Вывести символы, которые встречаются в исходном предложении по одному разу.

4

В исходном предложении удалить все символы пробела. Вывести преобразованный текст и число удаленных пробелов.

5

В качестве исходного предложения задать арифметическое выражение, записанное на языке Турбо Паскаль: . Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок. Если равенство соблюдается, то вывести соответствующее сообщение, в противном случае вывести количество открывающихся и закрывающихся скобок.

6

Определить, сколько раз в заданном предложении встречается сочетание двух первых букв.

7

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

8

В заданном предложении найти слово, в котором доля буквы ‘а’ максимальна. Вывести найденное слово и посчитать, сколько раз буква ‘а’ встречается в этом слове.

9

В заданном предложении символы самого длинного слова заменить символами ‘х’.

10

Сформировать числовой массив N, элементы которого указывают длину каждого слова в исходном предложении.

11

В исходном предложении перед каждым словом поставить знак ‘?’.

12

Составить строку, содержащую первые буквы из каждого слова заданного предложения.

13

В каждом слове заданного предложения поменять местами первую и последнюю буквы.

14

Указать, сколько раз каждый символ встречается в заданном предложении.

15

Из заданного предложения, начиная с первой встретившейся буквы ‘а’, скопировать в подстроку все символы до первой встретившейся буквы ‘к’.

16

Исходное предложение задать в виде арифметического выражения, записанного на языке Турбо Паскаль. Последовательность символов ‘x[i]’ в заданном предложении заменить последовательностью ‘a[i]’. Вывести преобразованный текст, а также число произведенных замен.

17

В заданном предложении указать слово, в котором доля букв ‘m’и‘p’ максимальна. Вывести найденное слово и количество букв ‘m’и‘p’, встретившихся в этом слове.

18

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

19

В заданном предложении заменить все строчные латинские буквы прописными. Определить, сколько раз в преобразованном предложении встречается сочетание ‘A+B’.

20

В заданном предложении в конце каждого слова поставить многоточие. Вывести преобразованное предложение, а также длину полученного текста.