Лабораторный практикум по программированию на языке Паскаль. Найханова Л.В - 71 стр.

UptoLike

71
Фамилия Оценка
п/п имя, отчество программирование физика
1 Бадмаев И.П. 5 4
2 Иванов А.Р. 4 4
3 Павликова Ю.Т. 5 3
Рис.1. Ведомость успеваемости.
В данном примере фамилия имеет тип STRING, состоящий из 15 элементов, порядковый
номер и оценки по предметам - тип INTEGER.
Длина записи Vedom равна 21 байту.
Объявление ведомости с использованием раздела типов имеет вид:
TYPE
vedom = RECORD
n : integer;
fio : string[15];
progr,fizika : integer
END;
VAR
v : vedom;
Здесь сначала введен тип с именем VEDOM, а затем указана переменная V, имеющая тип
записи.
Поле записи используется в программе так же, как обычная переменная. Таким образом,
поле записи можно указывать как в левой части оператора присваивания, так и в
выражениях. Над полем записи можно выполнять действия, допустимые для данных его
типа. Если тип поля записи - INTEGER, то выполняются все операции, допустимые для
целых данных.
10.2. Доступ к полям записи
Доступ к полям записи производится с помощью селектора записи, имеющего следующий
вид:
NAME_Z.NAME_P ,
где NAME_Z - имя переменной комбинированного типа (всей записи);
NAME_P - имя поля.
В практическом программировании такая запись называется уточненным именем данного.
Для переменных, введенных выше, допустимы следующие конструкции:
Vedom.n := 5;
Vedom.fio := 'Иванов А.Р.';
или
V.n := 35;
V.fio := ' Павликова Ю.Т.';
Комбинированные типы можно использовать для построения более сложных структур:
массивов; файлов; вложенных структур с одним или более полей, которые, в свою очередь,
могут быть записью. Например:
VAR
group : array[1..10] of vedom;
database : file of vedom;
Для переменных GROUP доступ к полям записей, составляющих этот массив,
производится следующим образом:
. . .
Group[i].fio := ' Бадмаев И.П. ';
If group[i].fio = ' Бадмаев И.П. ' then
WriteLn (group[i].progr)
Else writeln ('Нет такой фамилии!');
        №        Фамилия              Оценка
        п/п      имя, отчество        программирование         физика
        1        Бадмаев И.П.         5                        4
        2        Иванов А.Р.          4                        4
        3        Павликова Ю.Т.       5                        3

                              Рис.1. Ведомость успеваемости.
В данном примере фамилия имеет тип STRING, состоящий из 15 элементов, порядковый
номер и оценки по предметам - тип INTEGER.
Длина записи Vedom равна 21 байту.
Объявление ведомости с использованием раздела типов имеет вид:
   TYPE
    vedom = RECORD
           n        : integer;
           fio      : string[15];
           progr,fizika : integer
         END;
   VAR
    v : vedom;
Здесь сначала введен тип с именем VEDOM, а затем указана переменная V, имеющая тип
записи.
Поле записи используется в программе так же, как обычная переменная. Таким образом,
поле записи можно указывать как в левой части оператора присваивания, так и в
выражениях. Над полем записи можно выполнять действия, допустимые для данных его
типа. Если тип поля записи - INTEGER, то выполняются все операции, допустимые для
целых данных.
10.2. Доступ к полям записи
Доступ к полям записи производится с помощью селектора записи, имеющего следующий
вид:
                NAME_Z.NAME_P ,
где NAME_Z - имя переменной комбинированного типа (всей записи);
NAME_P - имя поля.
В практическом программировании такая запись называется уточненным именем данного.
Для переменных, введенных выше, допустимы следующие конструкции:
Vedom.n := 5;
Vedom.fio := 'Иванов А.Р.';
или
V.n := 35;
V.fio := ' Павликова Ю.Т.';
Комбинированные типы можно использовать для построения более сложных структур:
массивов; файлов; вложенных структур с одним или более полей, которые, в свою очередь,
могут быть записью. Например:
VAR
        group : array[1..10] of vedom;
        database : file of vedom;
Для переменных GROUP доступ к полям записей, составляющих этот массив,
производится следующим образом:
        . . .
        Group[i].fio := ' Бадмаев И.П. ';
        If group[i].fio = ' Бадмаев И.П. ' then
        WriteLn (group[i].progr)
        Else writeln ('Нет такой фамилии!');
                                                                                   71