Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР №2.docx
Скачиваний:
13
Добавлен:
24.03.2021
Размер:
565.27 Кб
Скачать
  1. Результат работы программы по заданию 2

Выводы:

На экран вывелся массив в виде матрицы 19 х 17 из случайных значений True и False, созданных предыдущей программой.

Задание № 3

В следующей программе описать запись Homme, которая используется для описания человека (поля: Имя, Отчество, Фамилия, дата рождения, пол). Создать файл типа Homme с именем kn202mnn.note и записать в него не менее 10 записей. Первая запись должна описывать студента, выполняющего работу.

Описание:

В программе описана запись Homme type Homme = record , а также вспомогательная запись date type date = record для хранения дня рождения студента и подсчета его возраста в четвертом задании.

В программе объявляются все необходимые переменные целого типа, массив note типа Homme, типизированный файл f: file of Homme; ассоциируется с файлом assign (f, 'kn202mnn.note'); в том же каталоге, что и программа, открывается на запись командой rewrite(f);.

Для добавления записи Homme одной строкой создана процедура addHomme, которая принимает следующие параметры:

  • id – типа integer (целый тип) для номера записи;

  • fam, nam, otch – типа string[20] строковый тип фиксированного размера для фамилии, имени и отчества студента;

  • d, m, y – целые типы для даты (день, месяц, год);

  • s – типа char (один символ) для пола.

Запись в файл организована с помощью 1 цикла. Затем файл закрывается close (f);.

Код программы:

program z_03;

type

date = record

month: 1..12;

day: 1..31;

year: smallint

end;

type

Homme = record

Familiya: string[20];

Name: string[20];

Otchestvo: string[20];

Birthday: date;

sex: char;

end;

var

L: shortint;

note: array [1..10] of Homme;

f: file of Homme;

procedure addHomme(id: shortint; fam, nam, otch: string[20]; d, m: shortint; y: smallint; s: char);

begin

note[id].Familiya := fam;

note[id].Name := nam;

note[id].Otchestvo := otch;

note[id].sex := s;

note[id].Birthday.day := d;

note[id].Birthday.month := m;

note[id].Birthday.year := y;

end;

begin

L := 10;

addHomme(1, 'Михайлов', 'Николай', 'Николаевич', 6, 12, 1981, 'М');

addHomme(2, 'Иванов', 'Иван', 'Иванович', 3, 12, 1986, 'М');

addHomme(3, 'Шашков', 'Илларион', 'Олегович', 2, 7, 2000, 'М');

addHomme(4, 'Кулаков', 'Юлий', 'Проклович', 29, 7, 2001, 'М');

addHomme(5, 'Одинцова', 'Ульна', 'Константиновна', 17, 1, 2000, 'Ж');

addHomme(6, 'Лапина', 'Капитолина', 'Иосифовна', 15, 3, 2001, 'Ж');

addHomme(7, 'Юдина', 'Данута', 'Кимовна', 25, 12, 2001, 'Ж');

addHomme(8, 'Кузьмина', 'Веста', 'Антоновна', 19, 1, 2000, 'Ж');

addHomme(9, 'Никитина', 'Доминика', 'Игнатьевна', 11, 6, 2000, 'Ж');

addHomme(10, 'Орехова', 'Архелия', 'Альвиановна', 2, 9, 2001, 'Ж');

assign(f, 'kn202mnn.note');

rewrite(f);

for var j := 1 to L do

write(f, note[j]);

close(f);

end.

Результаты работы программы:

  1. Результат работы программы по заданию 3

Выводы:

Файл содержит как читаемые символы, так и NULL – дополнение до фиксированной длины в 20 символов.