Результат работы программы по заданию 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.
Результаты работы программы:
Результат работы программы по заданию 3
Выводы:
Файл содержит как читаемые символы, так и NULL – дополнение до фиксированной длины в 20 символов.