Структуры данных. Запись

Содержание

Слайд 2

Структуры данных

совокупность элементов информации, находящихся в определенной, заранее заданной взаимосвязи.
Общая классификация данных:
статически

Структуры данных совокупность элементов информации, находящихся в определенной, заранее заданной взаимосвязи. Общая
размещаемые данные;
динамически размещаемые данные

Слайд 3

Свойства структуры данных ЗАПИСЬ:

Линейная/нелинейная
Фиксированного размера
С произвольным доступом к элементам
Неоднородная

Свойства структуры данных ЗАПИСЬ: Линейная/нелинейная Фиксированного размера С произвольным доступом к элементам Неоднородная

Слайд 4

Синтаксические диаграммы

Синтаксические диаграммы

Слайд 5

Описание шаблона записи

type имя шаблона= record
имя поля 1: типа поля;
имя поля

Описание шаблона записи type имя шаблона= record имя поля 1: типа поля;
2: типа поля;
…………………………………….
имя поля n: типа поля;
end;

Слайд 6

Информационная структура о студенте

Информационная структура о студенте

Слайд 7

Описание структуры

type student= record
fio : string[10];
data: string[10];
grant : real;
facultet :string[10];

Описание структуры type student= record fio : string[10]; data: string[10]; grant :
end;
var st:student;

Слайд 8

Информационная структура о студенте

Информационная структура о студенте

Слайд 9

Описание структуры

type student= record
fio : record
suname: string[10];
surname: string[10];
name:

Описание структуры type student= record fio : record suname: string[10]; surname: string[10];
string[10];
end;
data: record
day: 1..31;
month: 1..12;
year: 1980..2003;
end;
grant : real;
facultet :string[10];
end;
var st : student;

Слайд 10

Доступ к элементу записи осуществляется с помощью операции "точка"

<имя записи>.<имя поля>
st. grant;
st.

Доступ к элементу записи осуществляется с помощью операции "точка" . st. grant; st. facultet; st.fio.name; st.data.day;
facultet;
st.fio.name;
st.data.day;

Слайд 11

Оператор присоединения

Оператор присоединения

Слайд 12

Например:

st.fio. suname:=‘Петр’;
st.fio. surname :=‘Петрович’;
st.fio.name:=‘Петров’;
with st do
with fio do begin
suname:=‘Петр’;
surname

Например: st.fio. suname:=‘Петр’; st.fio. surname :=‘Петрович’; st.fio.name:=‘Петров’; with st do with fio
:=‘Петрович’;
name:=‘Петров’;
end;

with st, fio do begin
suname:=‘Петр’;
surname :=‘Петрович’;
name:=‘Петров’;
end;

Слайд 13

Задача

Имеются данные о семи линиях электропередач (ЛЭП): шифр, напряжение, протяженность, год ввода

Задача Имеются данные о семи линиях электропередач (ЛЭП): шифр, напряжение, протяженность, год
в действие, дата последних линейных работ. Требуется выдать справку о ЛЭП, введенных в действие более 15-ти лет назад, а также выдать сведения о ЛЭП минимальной протяженности.

Слайд 14

Информационная структура о ЛЭП

Информационная структура о ЛЭП

Слайд 15

Основная программа

Uses op, obrabotki;
VAR
n_min : byte;
sved : sved1;
Begin
vvod (sved);
vivod(sved);
spravka

Основная программа Uses op, obrabotki; VAR n_min : byte; sved : sved1;
(sved);
min_prot (sved, n_min);
with sved[n_min] do
writeln(code:12, voltage:6, space:6, year:6, data)
End.

Слайд 16

Описание данных (модуль описания)

unit op;
interface
const
n=10;
present_year=2016;
type
lep= record
сode : string[8]

Описание данных (модуль описания) unit op; interface const n=10; present_year=2016; type lep=
;
voltage : integer;
space : integer;
year : 1940..2016;
data : string[8] ;
end;
sved1 = array[1..n] of lep;
implementation
end.

Слайд 17

Подпрограммы модуля обработки

Подпрограммы модуля обработки

Слайд 18

unit obrabotki;
Interface
uses op;
procedure vvod (var sved:sved1);
procedure vivod (var sved:sved1);
procedure spravka (var sved:sved1);
procedure

unit obrabotki; Interface uses op; procedure vvod (var sved:sved1); procedure vivod (var
min_prot (var sved:sved1; var n_min: byte);
Implementation

Слайд 19

Процедура Ввод исходного массива записей

procedure vvod (var sved:sved1);
var
i: byte;
Begin
for i:=1

Процедура Ввод исходного массива записей procedure vvod (var sved:sved1); var i: byte;
to n do
with sved[i] do
begin
write('Введите шифр ',i,' ЛЭП’);
readln(code);
write('Введите напряжение ',i,' ЛЭП');
readln(voltage);
write('Введите протяженность ',i,' ЛЭП');
readln(space);
write('Введите год ввода в действие ',i,' ЛЭП');
readln(year);
write('Введите дата последних линейных работ на ',i,' ЛЭП');
readln(data)
end;
End;

Слайд 20

Процедура Вывода исходного массива записей

procedure vivod (var sved:sved1);
var
i : byte;
begin
for

Процедура Вывода исходного массива записей procedure vivod (var sved:sved1); var i :
i:=1 to n do
with sved[i] do
writeln(code, ‘ ‘, voltage, ‘ ‘, space, ‘ ‘, year, ‘ ‘,data);
end;

Слайд 21

Процедура Вывод справки о ЛЭП, введенных в действие более 15-ти лет назад

procedure

Процедура Вывод справки о ЛЭП, введенных в действие более 15-ти лет назад
spravka (var sved:sved1);
var
i : byte;
Begin
writeln(‘Cправкa о ЛЭП, введенных в действие более 10-ти лет назад’);
for i:=1 to n do
with sved[i] do
if present_year – year>15 then
writeln(code:12, voltage:6, space:6, year:6, data);
End;