- •Вопрос 1 Типы данных, преобразование типов.
- •Вопрос 2 Массивы, как параметры функций и процедур
- •Вопрос 3. Условный оператор. Логические выражения
- •Вопрос 4. Функции и их использование
- •Вопрос 5. Оператор альтернативного выбора.
- •Вопрос 6 Оператор цикла со счетчиком.
- •Вопрос 7 Оператор цикла с предусловием.
- •Вопрос 8 Оператор цикла с постусловием.
- •Вопрос 9 Логические операторы и логические выражения. Тип Boolean.
- •Вопрос 10 Одномерные и двумерные массивы.
- •Вопрос 11. Условный оператор.
- •Вопрос 12. Процедуры. Глобальные и локальные переменные
- •Вопрос 13. Строковые переменные. Процедуры и функции для работы со строками.
- •Вопрос 14. Двумерные массивы и вложенные циклы.
- •Вопрос 15. Структура программы в языке Pascal Заголовок программы
- •Раздел меток (label)
- •Раздел констант (const)
- •Раздел типов (type)
- •Раздел процедур и функций
- •Раздел действий (операторов)
- •Вопрос 16 Операторы присваивания, ввода, вывода. Соответствие типов.
- •Вопрос 17 Записи. Синтаксис описания записей.
- •Вопрос 18 Сравнение массивов и записей. Работа с полями записей.
- •Вопрос 19 Символьные переменные Операции и функции для работы с ними.
- •Вопрос 20 Арифметические выражения. Стандартные математические функции.
- •Вопрос 21. Типизированные файлы. Процедуры и функции для работы с ними.
- •Вопрос 22. Типы файлов. Процедуры и функции для работы с ними
- •Вопрос 23. Текстовые файлы. Процедуры и функции для работы с ними.
- •Вопрос 24. Арифметические и логические операции и их приоритет
- •Xor логическое «или исключающее»
- •Вопрос 25. Область видимости переменных.
- •Вопрос 26 Механизмы передачи параметров процедурам.
- •Вопрос 27 Запись и чтение файлов. Открытие и закрытие файлов.
- •Вопрос 28 Понятие алгоритма. Линейный, разветвляющийся, циклический алгоритмы.
- •Вопрос 29 Структурированные типы: массивы, строки, записи, файлы.
Вопрос 17 Записи. Синтаксис описания записей.
Запись – это структура данных, состоящая из фиксированного числа компонентов, называемых полями.
Запись и массив схожи в том, что обе эти структуры составлены из ряда отдельных компонент.
В то же время, если компоненты массива должны быть одного типа, записи могут содержать компоненты разных типов.
Каждая компонента записи называется полем.
Для того чтобы обратиться к полю записи, следует написать имя переменной и имя поля. Эти два идентификатора должны разделяться точкой.
Оператор, который присваивает полю LastName значение Alex, выглядит так:
User.LastName:=‘Alex’;
Использование записей с вариантами позволяет образовать структуру, каждый вход которой соответствует содержанию записи. Опишем новый тип, в котором перечислены различные входы:
Type EntryType = (Book, Magazine);
Теперь можно привести скорректированное описание Entry
Type Entry = Record Autor, Title : String; Year : 1..2010; Case EntryType of Book : (Publisher, City : String); Magazine : (MagName : String, Volume, Issue : Integer) End;
Это описание делится на две части: фиксированную и вариантную. Поля Autor, Title, Year составляют фиксированную часть. Оставшаяся часть описания Entry образует вариантную часть, структура которой, может меняться в пределах двух альтернативных определений.
Описание записей в Паскале
При использовании записей они д.б. описаны с использованием раздела описания либо непосредственно в разделе описания переменных
Запись имеет следующую структуру:
IZ = RECORD Где: IZ – имя типа записи; IK1 : T1; IK – имя поля (компоненты); IK2 : T2; T - тип компоненты, м.б. любой стан- . . . дартный либо предварительно IKN :TN; определенный (кроме файлового); END; RECORD – запись; RECORD-END – операторные скобки.
Вопрос 18 Сравнение массивов и записей. Работа с полями записей.
Записи отличаются от массива тем что массив может содержать элементы только одного типа. А в записи каждое поле может задаваться разными типами данных.
Var
User : Record FirstName : String[20]; LastName : String[20]; Sex : (‘m’,’f’);
BirthDay : Date;
End;
Каждая компонента записи называется полем.
Для того чтобы обратиться к полю записи, следует написать имя переменной и имя поля. Эти два идентификатора должны разделяться точкой.
Оператор, который присваивает полю LastName значение Alex, выглядит так:
User.LastName:=‘Alex’;
Type Date = Record Day : 1..31; Month : String[20]; Year : integer;
End;
User = Record FirstName : String[20]; LastName : String[20]; Sex : (‘m’,’f’);
BirthDay : Date;
End;
Var
Student : User;
Begin
Student.FirsName:=‘Ivanov’;
Student.LastName:=‘Ivan’;
Student.Sex:=‘m’;
Student.BirthDay.Day:=13;
Student.BirthDay.Month:=‘January’;
Student.BirthDay.Year:=1992;