Обработка символьной информации

Цель работы. Получение навыков в организации ввода-вывода и обработки текстовой информации, и написании программ с использованием строковых типов данных.

Задание. Обработка текста.

Постановка задачи. Составить программу для обработки текстовой информации по поставленному условию.

Варианты заданий

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

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

3. В заданном тексте определить целое число, состоящее из наибольшего количества цифр.

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

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

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

7. Выбрать из заданного текста все слова, содержащие заданный символ.

8. Заменить все малые буквы латинского алфавита на соответствующие большие буквы.

9. В заданном тексте найти все слова, начинающиеся с заданного символа.

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

11. Распечатать все числа, встречающиеся в заданном тексте.

12. В заданном тексте встречаются строки типа:
фамилия—иванов имя—иван отчество—Иванович.
Выбрать их и распечатать на каждой строке в виде:
иванов иван иванович.

13. В заданном тексте определить слово с наибольшим вхождением заданного символа.

14. В экзаменационной ведомости каждая строка имеет вид:
иванов—хорошо
Сидоров—удовлетворительно
и т. д., распечатать строки с отличными оценками.

15. Каждое слово 'one' заменить на ‘two’.

16. В заданном тексте подсчитать количество слов до первой запятой.

17. В тексте, состоящем из строк вида: иванов и. и. 1945инженер5детей вставить недостающие для удобства чтения пробелы.

18. В заданном тексте встречаются цены товаров в рублях. Например, встречается: 1253749; требуется представить, эту цену в виде: 1млн 253 тыс. 749 руб.

19. Изменить текст, чтобы слова разделялись ровно пробелом.

20. В заданном тексте заменить все числа повторяющимся по числу цифр заданным символом.

21. Изменить текст, удалив из него повторные вхождения слов.

22. Даны две строки текста. Вывести слова, присутствующие в каждой строке.

23. Распечатать все однокоренные слова в заданном тексте (корень задается).

24. Даны два текста. Один из фамилий, а другой из соответствующих фамилиям дат рождения. Сформировать новый текст, в котором каждая строка содержит фамилию и дату рождения.

25. Список фамилий упорядочить по алфавиту.

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

27. В заданном тексте, содержащем наряду с другой информацией целые числа, определить самое большое и самое маленькое целое число.

28. Из текста, каждая строка которого содержит информацию о фамилии, годе рождения и профессии, выбрать только те строки, в которых год рождения больше заданного.

29. Распечатать из заданного текста первые слова только тех предложений, которые содержат количество слов не больше заданного.

30. Выбрать из заданного текста слова, содержащие только те буквы, которые содержит заданное слово.

11. Комбинированные типы. Записи (Record)

Записи – это структурированный тип данных, позволяющий хранить вместе определённое число элементов (полей или переменных), имеющие различные типы данных. Под структурой данных обычно понимают данные, объединённые в упорядоченное множество.

Записи удобны при обработке взаимосвязанных однородных данных.

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

Объявить запись можно в разделе var и в разделе type. Для описания переменных типа «запись» используется зарезервированное слово record.

Полный формат объявления переменной типа «запись»:

Type

<имя_типа> = record

имя_поля1 : тип;

имя_поля2 : тип;

имя_поляN : тип;

end;

Var

< имя_записи> : <имя_типа>;

Краткий формат объявления переменной типа «запись»:

Var

<имя_записи> :record

имя_поля1 : тип;

имя_поля 2 : тип;

имя_поля N : тип;

end;

Здесь, <имя_типа>, <имя_записи> и имя_поляN - правильные идентификаторы. В описании указывается идентификатор каждого поля и его тип.

Например, переменная "Клиенты" типа записи "Клиент":

{полный формат объявления переменной}

Type

CLIENT = record // Клиент

family : string[20]; // Фамилия

name : string[10]; // Имя

patronymic : string[15]; // Отчество

year_birthday : integer; // Год рождения

address : string[30]; // Адрес

telephone : integer; // Телефон

end;

Var

clients : CLIENT;

или {краткий формат объявления переменной}

Var

CLIENT :record // Клиент

family : string[20]; // Фамилия

name : string[10]; // Имя

patronymic : string[15]; // Отчество

year_birthday : integer; // Год рождения

address : string[30]; // Адрес

telephone : integer; // Телефон

end;

Запись, описанная через var, называется «анонимной».

В Паскале различают:

· записи с фиксированными частями и

· записи с вариантами (с переменными частями).

Наши рекомендации