Лабораторная работа: Разработка форматов хранения данных программы. Структурирование
Описание файла:
CircleFile : file of CircleType ;
Для ввода параметров задающих прямоугольник будем использовать типизированный файл rectangle.dat с двумя элементами типа запись:
RectangleType=record
x : integer;
y : integer;
end;
Таким образом каждый компонент файла состоит из координат x и y угловых точек прямоугольника, массив точек прямоугольника и файл будут описываться:
RectangleAr : array[1..2] of RectangleType;
RectangleFile : file of RectangleType;
3. В программе реализована возможность ввода исходных данных из файла или клавиатуры. После запуска программы выдаётся запрос о направлении ввода “Откуда произвести ввод исходных данных? f – файл, k-клавиатура”. В соответствии с нажатой клавишей осуществляется переход к вводу данных.
4. Результаты выполнения программы выводятся на экран и в текстовый файл result.txt, создаваемый в каталоге из которого запущена программа.
5. В программе осуществляется контроль вводимых данных:
При вводе числового ответа с клавиатуры существует определенная вероятность ошибочного набора (например, буква вместо цифры). При вводе ответа с помощью оператора Read это вызвало бы прерывание программы и, как следствие, необходимость ее повторного запуска. Чтобы блокировать такое прерывание, ввод переменной производится с помощью процедуры ReadInt, ReadWord в которых при помощи стандартной процедуры IOResult осуществляющей контроль формата вводимого числа. При неправильном формате ввода процедура ReadInt, ReadWord выдает на экран сообщение об ошибке и предлагает пользователю повторить ввод.
6. При запуске программы на экране в первую очередь представлены условия задачи и реквизиты исполнителя, реализованные следующим участком кода:
ClrScr;
Writeln('▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒');
Writeln('▒ Лабораторная работа №2 ▒');
Writeln('▒ студента гр. ▒');
Writeln('▒ ▒');
Writeln('▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒');
Writeln('▒ Условие задачи по аналитической геометрии: ▒');
Writeln('▒ Найти количество окружностей на плоскости ▒');
Writeln('▒ имеющих пересечение с прямоугольником стороны ▒');
Writeln('▒ которого параллельны осям координат. ▒');
Writeln('▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒');
8. В программе используются следующие процедуры и функции, которые структурируют программу: FrazaReadError, ReadWord, ReadInt, PrintInData, Cross1, Cross2, PrintHead.
2. Листинг программы
Program Lab2;