Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по информатике.DOC
Скачиваний:
29
Добавлен:
02.05.2014
Размер:
1.68 Mб
Скачать

1. 10. 4. Создание баз данных с использованием массивов записей

При работе с записями можно использовать массивы в полях записи или создавать массивы записей. Приведем примеры операторов для обоих случаев.

Type Pupil = Record

Fam: String[20]; { Фамилия }

Name: String[10]; { Имя }

Otmetka: array[1..5] of Byte { Отметки по пяти предметам }

end;

Var _10_A, _10_B: array[1..30]of Pupil; {Переменные типа массив записей }

N, i: byte; { N - Число учеников в классе }

Begin N:= 13;

_10_A[1]. Fam:= 'Гришин';

_10_A[1]. Name:= 'Анатолий';

{ и т. д. }

Writeln ('Введите оценки учеников по первому предмету: ');

For i:= 1 to N do begin

With _10_A[i] do Begin

Write(Fam:21, Name:11, '_');

Readln(Otmetka[1])

end

end

end.

{---------------------------------------------------------------- }

Type pupil = Record { массивы в полях записи }

Fam: array[1..30] of String[20]; { Фамилия }

Name: array[1..30] of String[10]; { Имя }

N: Byte; { Число учеников в классе }

Otmetka: array[1..5, 1..30] of Byte { Отметки по пяти предметам }

end;

Var _10_A, _10_B: Pupil; { Переменные типа запись }

I: byte;

Begin

With _10_A do Begin N:= 13;

Fam[1]:= 'Гришин';

Name[1]:= 'Анатолий'; { и т. д. }

Writeln ('Введите оценки учеников по первому предмету: ');

For i:= 1 to N do begin

Write(Fam[i]:21, Name[i]:11,'_');

Readln(Otmetka[1, i])

end

end

end.

Практическое задание N 1. 23

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

48

1. 10. 5. Работа с большими массивами

Поскольку суммарный размер всех переменных, описанных в программе, не может превышать длины сегмента ( 64 К ), то использование массивов больших размеров вызывает определенные трудности. Опишем известный способ "разбиения" двумерного массива с использованием переменных типа ссылка.

program Big_Mas;

CONST N1= 30; N2= 50;

type M1= array [1 . . N1 ] of REAL; { тип M1 - массив переменных вещественного типа}

M2= array[1..N2] of ^M1; { тип M2 - массив ссылок на начальные адреса

элементов массивов типа M1}

var a1, a2: M2; { двумерные массивы N1xN2 переменных вещественного типа }