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

Министерство науки и высшего образования Российской Федерации ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра телекоммуникаций и основ радиотехники (ТОР)

Лабораторная работа № 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. Результат работы программы по заданию 1

Выводы:

Значения логического типа Boolean занимают 1 байт и принимают одно из двух значений, задаваемых предопределенными константами True (истина) и False (ложь). 19 x 17 = 323 значения, 323 байта.

  1. Размер файла 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.

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