Вы находитесь на странице: 1из 11

Министерство науки и высшего образования Российской

Федерации

Федеральное государственное бюджетное образовательное


учреждение высшего образования

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ


УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра радиоэлектронных технологий и экологического


мониторинга (РЭТЭМ)

ОПЕРАТОР ЦИКЛА С ПРЕДУСЛОВИЕМ

отчет по лабораторной работе №8 по дисциплине


«Информационные технологии в управлении техносферной
безопасностью»

Выполнил: ст. гр. 229-1


___________Типсина А.А.
« » 2020 г.

Проверил: преп. каф. РЭТЭМ


Афонин К.Н.
« » 2020 г.

2020
1. Тема и цель работы
Цель работы – знакомство с данными типа запись в среде Lazarus.

Задача работы – получение практических навыков в разработке

программ, использующих записи.

Большинство современных информационных технологий, задач

экономики и управления базируется на концепции баз данных (БД). По

определению, БД – это совокупность взаимосвязанных файлов, в которых

хранятся определенным образом организованные данные, адекватно

отражающие соответствующую предметную область (например,


информацию о

моделях электрорадиоэлементов, материалах, проектных документах и т.д.).

Невозможно представить себе САПР, которая не опиралась бы на БД,

хранящую используемые при проектировании данные.

Как правило, файлы БД содержат большое число однотипных записей.

Каждая запись объединяет под одним именем логически связанные данные

разного типа, относящиеся к одному объекту. Запись состоит из

фиксированного числа объектов, называемых ее полями. Поле – это


переменная

определенного типа. Объем памяти, необходимый для хранения записи,

складывается из длин полей.

Записи – наиболее общий и гибкий тип данных языка Паскаль.

Следовательно, задача разработки программ, позволяющих работать с

записями, представляется весьма жизненной.


2. Индивидуальное задание
Вариант 19. Создать запись «Кинофильмы», состоящую из следующих
полей: 1 - Номер по порядку. 2 - Наименование кинотеатра. 3 - Стоимость
билета. 4 - Время начала сеансов. 5 - Адрес кинотеатра. 6 - Количество мест в
кинотеатре. Заполнить таблицу 10 разными записями. Данные записать в
процедуре FormCreate единожды. Отобразить исходную таблицу и таблицу
перечислений кинотеатров, в которых количество мест в кинозале больше
100.
3. Блок-схема алгоритма

Рисунок 3.1 – Алгоритм выполнения задания


4. Откомпилированный текст программы
unit Unit1;

{$mode objfpc}{$H+}

interface

uses

Classes, SysUtils, Forms, Controls, Graphics, Dialogs, Grids, StdCtrls;

type

{ TForm1 }

TForm1 = class(TForm)

Button1: TButton;

StringGrid1: TStringGrid;

StringGrid2: TStringGrid;

procedure Button1Click(Sender: TObject);

private

public

end;

TAbiturient=record
M:String ;

T:String ;

K:integer;

P:integer;

C:integer;

end;

TMas = array [1..10] of TAbiturient;

var

Form1: TForm1;

mas1,mas2:TMas;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);

var

i:integer;

n: integer;

begin

for i:=1 to 10 do

begin

mas1[i].M:=StringGrid1.Cells[i,1] ;

mas1[i].T:=StringGrid1.Cells[i,2] ;
mas1[i].K:=StrToInt(StringGrid1.Cells[i,3]) ;

mas1[i].P:=StrToInt(StringGrid1.Cells[i,4]) ;

mas1[i].C:=StrToInt(StringGrid1.Cells[i,5]) ;

end ;

n:=0;

for i:=1 to 10 do

if mas1[i].P>=5000 then

begin

n:=n+1;

mas2[n]:=mas1[i];

end;

StringGrid2.ColCount:=n+1;

for i:=1 to n do

begin

StringGrid2.Cells[i,0]:=IntToStr(i);

StringGrid2.Cells[i,1]:= mas2[i].M ;

StringGrid2.Cells[i,2]:= mas2[i].T ;

end;

end;

end.

end.
5. Ответы на контрольные вопросы
1. Записи – наиболее общий и гибкий тип данных языка Паскаль.

2.В случаях, когда у нас много однотипных данных, или данных баз данных
которые нужно отсортировать по массиву.

3. public

end;

TKino = record

F:String;

Name:String;

Sum:Integer;

Time:String;

Adres:String;

K:integer;

end;

TMas = array[1..10] of TKino;

type {раздел объявления пользовательских типов данных}

tData = record {заголовок типа данных: запись даты}

Year : integer; {поле № 1, год}

Month : 1..12; {поле № 2, номер месяца}

Day : 1..31; {поле № 3, день}

end;

tAuto = record {заголовок типа данных: запись об автомобиле}

GosNomer : string[11];{поле № 1, номер государственной регистрации}

Marka : string[20];{поле № 2, марка автомобиля}

God, GodReg : tData; {одинаковые поля №3 и 4, записи о датах выпуска и}


{регистрации автомобиля, состоящие из полей Year, Month, Day записи
tData}

FIO : string[40]; {поле № 5, фамилия, имя и отчество владельца}

Adres : string[50]; {поле № 6, адрес владельца}

end; {конец определения записи об автомобиле}

var {раздел объявления переменных}

Auto : tAuto; {экземпляр записи об автомобиле}

TablAuto : array[1..50] of tAuto; {таблица (массив) записей об автомобилях}

5. Обращение к полю записи выполняется с помощью составного имени.


Первая часть составного имени – это имя записи, вторая часть уточняет имя

поля. В качестве разделителя между ними применяется точка. Изменять


значения полей можно либо присвоением, либо вводом.

6. Для краткого обращения к полям записи удобно использовать оператор

присоединения with. В операторе with к полям одной или более конкретных

переменных типа запись можно обращаться, используя только лишь простые

идентификаторы полей: with <Имя записи> do

Оператор;

{В этом единственном операторе указывают только имена полей записи}

{<Имя записи> добавляется к каждому имени поля автоматически}with <Имя


записи> do

Оператор;

{В этом единственном операторе указывают только имена полей записи}

{<Имя записи> добавляется к каждому имени поля автоматически}

7. if Auto.God.Month = 12 Then, mas1[i].F:=StringGrid1.Cells[i,0];

8.Упрощения обращения, а также возможность написать более сложный


оператор действия

9.Все те же операции, который доступны над переменными и константами


определенного типа.
6. Результаты выполнения программы

Рис.6.1 – Первичные результаты выполнения программы


7 Вывод
В результате проведённой работы закреплены навыки программирования.
Программа работает без ошибок и выдает нужные результаты. В этой работе
мы научились писать программы с записями, и обрабатывать базы данных.