Министерство науки и высшего образования Российской Федерации ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра телекоммуникаций и основ радиотехники (ТОР)
Лабораторная работа № 2
по дисциплине «Информатика-2»
Вариант № 10
Выполнил студент
направления подготовки 11.03.02
15.03.2021г.
(дата)
Томск — 2021
Оглавление
Задание № 1
Написать программу, которая создает типизированный файл Type = Boolean и записывает в него 19 x 17 значений. Имя для файла kn202mnn .dan.
Описание:
В программе объявляются все необходимые переменные целого и булевого типов, типизированный файл f: file of boolean; ассоциируется с файлом assign (f, 'kn202mnn.dan'); в том же каталоге, что и программа, открывается на запись командой rewrite (f);.
Получение M x N значений булевого типа организовано с помощью 2 циклов для удобства решения задания 2. Тоже самое можно было сделать и в одном цикле: от 1 до M x N. Затем файл закрывается close (f);.
Сами булевы значения получены с помощью вычисления остатка от деления целого числа в диапазоне от 0 до 999 на 2: если число делится без остатка, то присваиваем True, иначе – False. Можно было бы написать, просто random, так как это не тема лабораторной работы.
Код программы:
program z_01;
var
f: file of boolean;
M, N: integer;
c: boolean;
begin
M := 19;
N := 17;
assign(f, 'kn202mnn.dan');
rewrite(f);
randomize;
for var i:= 1 to M do
for var j := 1 to N do
begin
if (random(1000) mod 2) = 0 then c := true else c := false;
write(f, c);
end;
close(f);
end.
Результаты работы программы:
Результат работы программы представлен на рисунке 1.
Результат работы программы по заданию 1
Выводы:
Значения логического типа Boolean занимают 1 байт и принимают одно из двух значений, задаваемых предопределенными константами True (истина) и False (ложь). 19 x 17 = 323 значения, 323 байта.
Размер файла kn202mnn.Dan Задание № 2
Написать программу, которая создает массив A[19, 17] и заполняет его значениями из файла, созданного первой программой. Вывести на экран массив в виде матрицы 19 x 17.
Описание:
В программе объявляются все необходимые переменные целого и булевого типов, типизированный файл f: file of boolean; ассоциируется с файлом assign (f, 'kn202mnn.dan'); в том же каталоге, что и программа, открывается на чтение командой reset (f);.
Заполнение двумерного массива А[19, 17] значений булевого типа организовано с помощью 2 циклов, в которых происходит одновременно заполнение массива read(f, A[i,j]); и вывод его на экран write(A[i,j]:6); с параметрами форматирования. Команда writeln(); отвечает за создание новой строки. Затем файл закрывается close(f);.
Код программы:
program z_02;
var
f: file of boolean;
M, N: integer;
A: array [1..19, 1..17] of boolean;
begin
M := 19;
N := 17;
assign(f, 'kn202mnn.dan');
reset(f);
for var i := 1 to M do
begin
for var j := 1 to N do
begin
read(f, A[i,j]);
write(A[i,j]:6);
end;
writeln();
end;
close(f);
end.
Результаты работы программы: