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

UptoLike

72
. . .
Рассмотрим случай, когда в составе записи содержатся поля, имеющие тип записи. Пусть
для комбинированного типа VEDOM необходимо хранить информацию о дате сдачи
экзамена. Эту информацию можно представить в виде трех полей: месяц, день, год,
дополняющих предыдущий состав типа VEDOM. Однако, логичнее дату сдачи экзамена
определить как отдельный тип. Это позволит использовать тип DATE в описании других
типов и переменных:
TYPE
Date = RECORD
Mounth : (jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec);
Day : 1..31;
Year : 1900..2000
END;
Теперь тип DATE можно использовать в записи VEDOM:
TYPE
Vedom = RECORD
N : integer;
Fio : string[15];
Progr,Fizika : integer;
D_exem : date
END;
Доступ к полям D_EXEM осуществляется по общим правилам, т.е. при записи селектора
слева от символа 'точка ' всегда должна находиться переменная типа запись, а справа
идентификатор поля этой записи, например:
V.D_exem.Mounth := jan;
V.D_exem.Day := 25;
Комбинированный тип может употребляться для спецификации параметров подпрограмм.
Например, можно определить специальный тип для представления комплексных чисел как
пары вещественных переменных (действительную и мнимую части комплексного числа):
ТYPE
Complex = RECORD
Re,Im : real
END;
Далее можно с помощью процедур определить операции над комплексными числами
(сложение, умножение, деление):
Procedure Addc( c1,c2: complex; var R: complex);
Procedure Mulc( c1,c2: complex; var R: complex);
Procedure Divc( c1,c2: complex; var R: complex);
10.3. Записи с вариантами
Часто в зависимости от конкретного значения некоторого поля возникает необходимость в
пределах одной записи иметь различную информацию. В таких случаях используются
записи с вариантами.
Рассмотрим тип PERSON, содержащий информацию о человеке.
Если поле POL имеет значение М (мужской), то пусть необходимо предусмотреть такие
поля:
- служил в армии или нет;
- если служил, то дату последних военных сборов.
Если поле POL имеет значение W (женский), то необходима информация о цвете глаз.
Запись с вариантами типа PERSON имеет вид:
Type
Date = Record
Mounth : (jan,feb,mar,apr,may,jun,jul,aug,
       . . .
Рассмотрим случай, когда в составе записи содержатся поля, имеющие тип записи. Пусть
для комбинированного типа VEDOM необходимо хранить информацию о дате сдачи
экзамена. Эту информацию можно представить в виде трех полей: месяц, день, год,
дополняющих предыдущий состав типа VEDOM. Однако, логичнее дату сдачи экзамена
определить как отдельный тип. Это позволит использовать тип DATE в описании других
типов и переменных:
TYPE
       Date = RECORD
              Mounth : (jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec);
              Day : 1..31;
              Year : 1900..2000
       END;
Теперь тип DATE можно использовать в записи VEDOM:
TYPE
       Vedom = RECORD
              N        : integer;
              Fio       : string[15];
              Progr,Fizika : integer;
              D_exem        : date
       END;
Доступ к полям D_EXEM осуществляется по общим правилам, т.е. при записи селектора
слева от символа 'точка ' всегда должна находиться переменная типа запись, а справа
идентификатор поля этой записи, например:
       V.D_exem.Mounth := jan;
       V.D_exem.Day := 25;
Комбинированный тип может употребляться для спецификации параметров подпрограмм.
Например, можно определить специальный тип для представления комплексных чисел как
пары вещественных переменных (действительную и мнимую части комплексного числа):
ТYPE
       Complex = RECORD
              Re,Im : real
       END;
Далее можно с помощью процедур определить операции над комплексными числами
(сложение, умножение, деление):
   Procedure Addc( c1,c2: complex; var R: complex);
   Procedure Mulc( c1,c2: complex; var R: complex);
   Procedure Divc( c1,c2: complex; var R: complex);
10.3. Записи с вариантами
Часто в зависимости от конкретного значения некоторого поля возникает необходимость в
пределах одной записи иметь различную информацию. В таких случаях используются
записи с вариантами.
Рассмотрим тип PERSON, содержащий информацию о человеке.
Если поле POL имеет значение М (мужской), то пусть необходимо предусмотреть такие
поля:
   - служил в армии или нет;
   - если служил, то дату последних военных сборов.
Если поле POL имеет значение W (женский), то необходима информация о цвете глаз.
Запись с вариантами типа PERSON имеет вид:
Type
     Date = Record
             Mounth : (jan,feb,mar,apr,may,jun,jul,aug,

                                                                                  72