Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
22
Добавлен:
10.12.2013
Размер:
52.74 Кб
Скачать

Записи.

Записи - это структурированный тип данных, позволяющих хранить вместе различные типы данных.

Запись состоит из нескольких полей, для каждого из которых при объявлении (описании) указывается имя и тип.

type

student = record;

surname: string[20];

name: string [10];

fathername: string [10];

year: integer;

end;

var

st: student;

Данная переменная st - есть тип record (запись). Состоит из 4-х полей.

Каждое поле хранит информацию разного типа. При обращении к отдельным полям указывается имя всей записи и имя отдельного поля через '.'.

st. surname:= 'Иванов';

st. year:=1905;

Для уменьшения идентификатора обращения к отдельным полям используют оператор:

WITH … DO.

with st do

begin

surname:= 'Иванов';

name:='Иван';

year:= 1905;

end;

Если при переменной student - типа record объявить

var

st: array [1…25] of student;

то имеем массив, состоящий из записей, каждое поле которого содержит определенную информацию.

st [1]. surname:='Иванов';

Задача: сформировать массив, содержащий, информацию о студентах (Ф.И.О., год рождения). Распечатать фамилии тех, которым исполнилось в 1998 году 18 лет.

Program student;

type

stud=record;

s, n: string [20]; - одинаковые типы можно объединить при описании.

y: integer;

end;

var

st: array [1…20] of stud;

i, k: integer;

begin

writeln ('Введите количество студентов в группе');

readln (k);

for i:=1 to k do

with st[i] do

Ввод информации о каждом студенте:

begin

writeln ('фамилия'); readln(s);

writeln ('имя'); readln(n);

writeln ('год рождения'); readln(y);

end;

for i:=1 to k do (см. *)

with st[i] do

if 1998 - y = 18 then

writeln (s);

end.

P.s без with st [i] do

if 1998 - st[i].y = 18 then writeln (st[i].s);

* Вэтой же задаче: распечатать Ф.И.О. студентов на букву 'А'.

for i:1 to k

if st[i].s[1] = 'A' then writeln (st[i].s, st[i].n, st[i].y)

номер номер

записи символа

(№ студента). в фамилии.

Файлы.

У понятия файл есть две стороны.

  1. Файл - это поименованный набор информации, хранящейся на каком-либо носителе информации.

  2. Файл - это одна из структур данных.

File of byte

байт

байт

байт

Eof

File of char

Код симв.

Код симв.

Код симв.

Eof

File of t

где t = record

a: byte;

b: char;

c: integer;

end;

байт

Код симв.

Целое со знаком

байт

Код симв.

Целое со знаком

Eof

З А П И С Ь

Структура файла очень похожа на структуру массива. Однако, у массива количество элементов заранее фиксируется (при описании) и он целиком располагается в оперативной памяти.

У файла количество элементов в процессе работы программы может измениться и он располагается на внешних носителях информации. Нумерация элементов файла выполняется слева направо начиная от нуля.

В конце файла располагается признак конца файла - eof - символ с кодом 26 (ctrl/z).

Соседние файлы в папке Лекции