Задача на тему Файлы - Turbo Pascal
Формулировка задачи:
Использованный в лабораторной работе № 17 (Использование записей) массив записей должен сохраняться и обрабатываться в виде файла. При этом необходимо по указанию преподавателя реализовать следующие возможные способы создания этого файла:
- как типизированного файла из записей;
- как типизированного файла из символов;
- как типизированного файла из строк;
- как текстового файла.
При этом необходимо для каждого варианта создания файла, отличного от типизированного файла из записей, придумать способ сборки (в оперативной памяти) записи (в том смысле, как это было в массиве записей) с информацией, используя для сборки тот материал, что хранится в файле.
Вот Лаба из задания номер 17.
Помогите пожалуйста очень нужно.
Решение задачи: «Задача на тему Файлы»
textual
Листинг программы
type fio = record name,otch,surname:string end; abonent = record n0: integer; //номер абонента f:fio; //Фио dar_r:string[8]; //Дата рождения workplace:string; //место работы(учебы) date:string[8]; books:byte; //количество выданных книг point:boolean; //отметка о перегистрации end; var base:array[1...100] of abonent; j,i:integer; begin for i:=1 to 99 do //нахождение однофамильцев for j:=i+1 to 100 do if base[i].fio.surname = base[j].fio.surname then writeln (base[i].n0,' ',base[j].n0) for i:=1 to 100 do //нахождение людей без отметки перерегистрации if base[i].point = false then writeln (base)
Объяснение кода листинга программы
- Создается тип данных
fio
, который представляет собой запись с тремя полями: имя, отчество и фамилия, все строкового типа. - Создается тип данных
abonent
, который представляет собой запись с девятью полями: номер абонента, Фио, дата рождения, место работы/учебы, количество выданных книг, отметка о перегистрации, и два поля строкового типа для хранения даты рождения и места работы/учебы. - Создается переменная
base
, которая представляет собой массив из 100 записей типаabonent
. - Создаются две переменные
i
иj
, которые будут использоваться в циклах. - Запускается внешний цикл от 1 до 99, который выполняет следующую операцию: для каждого i от 1 до 99, проверяется, совпадает ли фамилия i-го абонента с фамилией j-го абонента. Если да, то выводится их номера.
- После завершения внешнего цикла, запускается внутренний цикл от 1 до 100, который выполняет следующую операцию: если у абонента нет отметки о перерегистрации (т.е.
point
равно false), то выводится его номер. - Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д