- •«Вычислительная техника и программирование»
- •0702 «Прикладная физика»
- •Тема 1. Основы алгоритмизации
- •В вод / Вывод данных Блок вычислений
- •Задания для практических занятий
- •Тема 2. Язык программирования
- •Вопросы для практических занятий
- •Тема 3. Интегрированная система программирования Turbo Pascal
- •Задания для практических занятий
- •Тема 4. Элементы алгоритмического языка Pascal
- •Вопросы и задания для практических занятий
- •Тема 5: Структура программы
- •Задания для практических занятий
- •Раздел 6.1 Линейная алгоритмическая структура
- •Задания к практическим занятиям
- •Раздел 6.2 Алгоритмическая структура – ветвления
- •Где If, then, else – зарезервированные слова
- •Задания к практическим занятиям
- •Задания для практических занятий
- •Раздел 6.3 Алгоритмическая структура - циклы
- •Оператор цикла с постусловием Repeat . . . Until
- •Задание для практических занятий
- •Тема 7. Структурированные типы данных
- •7.1 Массивы
- •Двумерный массив (матрица)
- •Задания для практических занятий
- •7.2 Множества
- •Задания и вопросы к практическим
- •7.3 Записи
- •Вопросы к практическим занятиям
- •Задание к практическим занятиям
- •Задания к практическим занятиям
- •Тема 8. Строки
- •Задания к практическим занятиям
- •Тема 9. Подпрограммы (Процедуры. Функции)
- •Пример:
- •Задания к практическим занятиям
- •Тема 10. Графика
- •В tp принята следующая система координат графического режима.
- •Задание к практическим занятиям
- •Меры длины
- •Линии и точки
- •Процедура SetLineStyle. Устанавливает новый стиль вычерчиваемых линий.
- •Список литературы
- •Пособие для изучения дисциплины «Вычислительная техника и программирование»
- •Специальности 6.070200 «радиофизика и электроника»
7.3 Записи
Запись – это структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. В отличие от массива, компоненты (поля) записи могут быть различного типа. Поля именуются.
<имя типа> = RECORD <сп.полей> END,
где
<имя типа> - правильный идентификатор;
RECORD, END – зарезирвированные слова (запись, конец)
<сп. полей> - список полей представляет собой последовательность разделов записи, между которыми ставится точка с запятой.
Пример: Задание записи.
type
birthday = record
day, month: byte;
year : word
end;
var
a, b : Birthday;
. . . .
birthday – запись с полями day, month, year (день, месяц и год),
переменные a, b – содержат запись типа birthday
Пример: Задание записи – описывающей личную карточку успеваемости студента.
type
string7=string[7];
string20=string[20];
TstudentCard = record
Surname : string20; {фамилия}
Name : string20; {имя }
FatherName : string20; {отчество }
Year : Integer; {год рожд. }
HomeAddress: string; {Дом. адрес }
GroupCode : string7; {шифр группы}
MathAnal : Byte; {Мат. анализ}
Linal : Byte; {Лин.алгебра}
Prog : byte; {Программирование}
Phys : byte; {Физика }
End;
Как и в массиве значения переменных типа запись можно присваивать другим переменным того же типа, например: A: =b; и к каждому из компонентов записи можно получить доступ, если использовать составное имя, т.е. указать имя переменной, точку и имя поля: a.day :=27; b.year:=1987;
В записях могут существовать вложенные поля.
Пример: Уточнение задания вложенных полей.
type
birthday = record
day, month: byte;
year : word
end;
var
с: record
name: string;
bd: birthday
end;
begin
. . .
if c.bd.year=1970 then . . .
end.
Для упрощения работы с записями используют специальный оператор присоединения WITH.
With <переменная> do <оператор>,
где with, do – ключевые слова (с, делать)
<переменная> - имя переменной типа запись, за которой следует список вложенных полей.
<оператор> - любой оператор.
Паскаль разрешает использование записей с вариантными полями:
Пример. Задания записи с вариантными полями.
type
Forma = record
Name : string;
Case byte of
0: (BirthPlace : string [40]);
1: (Country : string [20];
Entryport : string [20];
EntryDate : 1. .31;
ExitDate : 1. . 31)
end;
В примере тип Forma определяет запись с одним фиксированным полем Name и вариантной частью, которая задается предложением Case . . of
Вариантная часть состоит в данном примере из двух вариантов: 0 и 1. Каждый вариант определяется константой выбора за которой следует двоеточие и список полей, заключенные в круглые скобки. В любой записи может быть только одна вариантная часть и располагается она за всеми фиксированными полями. В конце вриантной части не ставится END, как пара к Case . . of. END ставится как пара к record. Ключ выбора определяется, как некоторый стандартный или предварительно объявленный порядковый тип.