Вариант 7
Задание 6 Строки и файлы
Написать программу, которая считывает текст из файла и выводит предложения, которые не содержат запятых.
Задание 7 Структуры
Логически законченные фрагменты оформите в виде подпрограмм, все необходимые данные которым передаются через список параметров. Использования глобальных переменных следует избегать.
В текстовом файле хранится список товаров. Для каждого товара указаны его название, название магазина, в котором продается товар, стоимость единицы товара в тыс. руб. и его количество с указанием единицы измерения (например, 100 шт., 20 кг).
Написать программу, содержащую меню и выполняющую следующие действия:
корректировку или дополнение списка с клавиатуры;
сортировку по названию товара или по названию магазина;
вывод информации о товаре, название которого введено с клавиатуры;
запись списка в файл под тем же или новым именем.
Задание 8 Функции и файлы
Для хранения данных о сканерах описать структуру вида:
scan_info = record
model : string[25];// наименование модели
price : integer; // цена
x_size: real; // горизонтальный размер области сканирования
y_size: real; // вертикальный размер области сканирования
optr : integer; // оптическое разрешение
grey : integer; // число градаций серого
end;
Написать подпрограмму, которая записывает в бинарный файл данные о сканере из приведенной структуры. Структура файла: в первых двух байтах размещается значение типа word, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах.
Написать подпрограмму, которая вводит данные о сканере с клавиатуры в структуру типа scan_info, и если данные об этом сканере отсутствуют в файле, помещает содержимое структуры в конец файла; в противном случае выдает соответствующее сообщение.
Все необходимые данные для подпрограмм должны передаваться им в качестве параметров. Использование глобальных переменных в подпрограммах запрещается.
Задание 9 Работа со строками
С помощью текстового редактора создать файл, содержащий текст, длина которого не превышает 1000 символов (длина одной строки не должна превышать 70 символов).
Написать программу, которая:
выводит текст на экран;
определяет количество символов в самом длинном слове;
по нажатию произвольной клавиши выделяет поочередно каждое слово текста, содержащее максимальное количество символов.
Задание 10 Динамические структуры данных
Логически законченные фрагменты оформите в виде подпрограмм, все необходимые данные которым передаются через список параметров. Использования глобальных переменных следует избегать.
Составьте программу, включающую меню, отыскивающую проход по лабиринту.
Лабиринт представляется в виде матрицы, состоящей из квадратов. Каждый квадрат либо открыт, либо закрыт. Вход в закрытый квадрат запрещен. Если квадрат открыт, то вход в него разрешен со стороны, но не с угла. Каждый квадрат определяется координатами в матрице.
Программа находит проход по лабиринту, двигаясь от заданного входа. После отыскания прохода программа выводит найденный путь в виде координат квадратов. Для хранения пути используйте стек.
Задание 11 Классы
В программе предусмотрите меню, содержащее команды для проверки всех возможных действий с заданным объектом.
Составить описание класса прямоугольников со сторонами, параллельными осям координат. Предусмотреть возможность перемещения прямоугольников на плоскости, изменение размеров, построение наименьшего прямоугольника, содержащего два заданных прямоугольника, и прямоугольника, являющегося общей частью (пересечением) двух прямоугольников.
Написать программу, демонстрирующую работу с этим классом.