- •Ответы на устные вопросы экзамена по программированию 3 «г».
- •Вопрос 1. Язык программирования t. P.
- •Вопрос 2. Типы данных в t. P. Основные функции и выражения.
- •Вопрос 3. Структура программы на языке программирования t. P.
- •Вопрос 4. Оператор присваивания. Команда ввода информации.
- •Вопрос 5. Команда вывода информации.
- •Вопрос 6. Организация программ линейной структуры в t. P.
- •Вопрос 7. Разветвляющиеся вычислительные процессы. Операторы условного перехода.
- •2. Формат записи не полного условного оператора (краткая форма):
- •Вопрос 8. Разветвляющиеся вычислительные процессы. Вложенный условный оператор.
- •Вопрос 9. Оператор выбора в t. P.
- •Вопрос 10. Циклические вычислительные процессы и операторы цикла в t. P..
- •Вопрос 11. Оператор цикла с параметром.
- •Вопрос 12. Оператор цикла с предусловием.
- •Вопрос 13. Оператор цикла с постусловием.
- •Вопрос 14. Вложенные циклы в t. P.
- •Вопрос 15. Одномерные массивы. Объявление одномерного массива в программе.
- •Вопрос 16. Многомерные массивы. Работа с многомерными массивами.
- •Вопрос 17. Сортировка элементов массива. Алгоритмы пузырьковой сортировки.
- •Вопрос 18. Подпрограммы. Процедуры.
- •Вопрос 19. Подпрограммы. Функции в t. P.
- •Вопрос 20. Глобальные и локальные, фактические и формальные параметры.
- •Вопрос 21. Символьные величины. Операции над символьными величинами.
- •Вопрос 22. Процедуры для работы с символьными величинами.
- •Вопрос 23. Понятие «множество». Описание множеств в программе.
- •Вопрос 24. Основные процедуры для работы с множествами.
- •Вопрос 25. Записи. Описание записей в программе.
- •Вопрос 26. Операторы для работы с записями в программе.
- •Вопрос 27. Файлы. Виды файлов в t. P.
- •Вопрос 28. Процедуры для работы с файлами в t. P. Стандартные процедуры для работы с типизированными файлами.
- •Вопрос 29. Текстовые файлы в t. P. Процедуры для работы с текстовыми файлами.
- •Вопрос 30. Работа с диагональными элементами в квадратной матрице.
- •Вопрос 31. Задачи перестановок и вставки элементов в массиве.
- •Вопрос 32. Работа над множествами в программе.
- •Вопрос 33. Задачи поиска максимального и минимального элементов массива.
- •Вопрос 34. Основные функции для работы с символьными величинами.
Вопрос 25. Записи. Описание записей в программе.
Record - структура, состоящая из фиксированного числа компонент различного типа. Каждая строка такой структуры (информация о студенте) есть запись. Данную структуру можно представить в следующем виде:
Имя записи student. Имена компонентов: fio, k, gr, n_z, stip. Наглядно запись можно представить в виде перевернутого дерева. В Паскале часто встречаются вложенные записи (одна запись выступает элементом другой записи).
Объявление записи в языке программирования ТР:
1). Туре
«имя типа» = record
«имя поля 1» : тип поля 1;
«имя поля 2»: тип поля 2;
«имя поля 3»: тип поля 3;
end;
var имя записи: имя типа:
2). Var имя записи: record
имя поля 1: тип поля 1;
имя поля 2: тип поля 2;
имя поля 3: тип поля 3;
end;
Например:
Туре
stud_rec = record
fio:string [15];
k: 1..5;
n_z: integer;
stip: integer;
end;
var student: studrec;
var student: record fio: string [15]; к: 1..5; n_z: integer; stip: integer; end;
Обращение к записи:
Выполняется с помощью точечной нотации. Формат обращения к полям записи в программе:
«имя записи». «имя поля».
При использовании вложенных записей необходимо указать полный маршрут: имя записей от высшего к данному уровню, ведущий к нужному полю, при этом каждая разделяющая точка определяет определенный уровень вложенности записи. В обращении к полю записи указывается имя переменной записи или поля, но не их тип. Например: student.fio, student.n_z
Вопрос 26. Операторы для работы с записями в программе.
Поле записи используется в программе как и обычная переменная. Поэтому поле записи можно указывать как в левой, так и в правой части оператора присваивания. Над полями записи можно выполнять только те действия, которые допускаются типом поля. Полям, как и простым переменным можно присваивать новое значение, выводить их на экран.
Например: read(student.fio); read(student. Stip); student.k:=3; student.n_z:=990945; writeln(student.fio, student.k);
Обращение к записи в целом, а не только к ее полям выполняется только оператором присваивания. Слева и справа должны использоваться имена записей одинакового типа. Если в программе использовался оператор sl:=s2, то в результате выполнения все поля записи s2 получат значение полей si соответственно.
Оператор присоединения
Используя «точечную» нотацию при обращении к полям записи, приходится выписывать всю цепочку имен, начиная с высшего уровня до имени конкретного объекта (или поля), к которому шло обращение. Оператор присоединения позволяет упростить обращение к полю записи-. Имя записи выносится в заголовок оператора присоединения, а в теле оператора используются только имена полей записи.
Формат оператора присоединения:
with <имя записи-переменной> do
<оператор>;
Если после do стоят несколько операторов (составной оператор), то их заключают в операторные скобки, и оператор присоединения имеет формат:
with <имя записи-переменной> do
begin
<оператор 1>;
<оператор 2>;…
<оператор п>;
end;
Имя записи-переменной, указанное в заголовке оператора присоединения, автоматически присоединяется ко всем именам полей, упомянутым в теле оператора with.