Задача на тему Файлы - 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)

Объяснение кода листинга программы

  1. Создается тип данных fio, который представляет собой запись с тремя полями: имя, отчество и фамилия, все строкового типа.
  2. Создается тип данных abonent, который представляет собой запись с девятью полями: номер абонента, Фио, дата рождения, место работы/учебы, количество выданных книг, отметка о перегистрации, и два поля строкового типа для хранения даты рождения и места работы/учебы.
  3. Создается переменная base, которая представляет собой массив из 100 записей типа abonent.
  4. Создаются две переменные i и j, которые будут использоваться в циклах.
  5. Запускается внешний цикл от 1 до 99, который выполняет следующую операцию: для каждого i от 1 до 99, проверяется, совпадает ли фамилия i-го абонента с фамилией j-го абонента. Если да, то выводится их номера.
  6. После завершения внешнего цикла, запускается внутренний цикл от 1 до 100, который выполняет следующую операцию: если у абонента нет отметки о перерегистрации (т.е. point равно false), то выводится его номер.
  7. Код завершается.

ИИ поможет Вам:


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

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы