Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы и ответы к письм. мод. по Делфи.doc
Скачиваний:
4
Добавлен:
18.07.2019
Размер:
271.36 Кб
Скачать

Расскажите об использовании вариантных переменных в Delphi

Ответ: Вариантные переменные не имеют конкретного типа данных на этапе компиляции, а в процессе выполнения программы могут хранить данные разных типов. Описываются такие переменные в обычном порядке с типом данных Variant.

Во время выполнения программы в вариантных переменных могут храниться данные любого типа, за исключением: структурных: записей и статических массивов, однако поддерживаются специальные вариантные массивы; ссылочных: типизированных и не типизированных указателей, а также указателей на экземпляры классов; множественных типов данных.

Опишите преимущества и недостатки вариантных переменных по сравнению с обычными типами данных

Ответ: Преимуществом использования вариантных переменных является удобство работы, которое проявляется в случаях, когда на этапе разработки программы неизвестны типы некоторых переменных. Еще одним плюсом является множество вспомогательных операций, выполняемых системой с вариантными переменными, например, автоматическое приведение типов.

Недостатками вариантов являются больший объем к занимаемой памяти и медленное выполнение операций с участием таких переменных. В качестве еще одного недостатка можно назвать отсутствие во время компиляции проверки на совместимость типов, что может вызывать ошибки времени выполнения программы. Причем такие ошибки носят динамический характер — они могут проявляться редко и при трудно определяемых условиях, что еще больше усугубляется оптимизатором компиляции Delphi.

Использовании вариантных массивов

Ответ: Вариантный массив — это один из видов вариантной переменной, информация в которой представляется в виде набора элементов и имеет индексный механизм доступа. Для создания вариантного массива используется функция-конструктор VarArrayCreate, в которой задается размерность массива, интервалы индексации и тип элементов. Элементы массива могут иметь любой вариантный тип, в том числе и являться вариантными массивами. Таким образом, в Delphi возможно построение многомерных массивов непрямоугольной формы и даже, неоднородных массивов, элементы которых имеют разные типы данных.

Использовании процедурных переменных

Ответ: Процедурные переменные — это переменные, являющиеся ссылками на подпрограммы. Описание процедурного типа определяет:

процедурой или функцией является подпрограмма, на которую указывает переменная;

является ли подпрограмма, на которую указывает ссылка, методом объекта;

сколько параметров должно быть указано при вызове подпрограммы из процедурной переменной, и какого они типа;

какое значение возвращает подпрограмма, если она является функцией.

Соответственно, процедурной переменной можно присвоить ссылку толь-

ко на ту подпрограмму, которая соответствует типу переменной по всем

этим параметрам.

Назовите структурные операторы, применяемые в Object Pascal, и их особенности

Ответ. В Object Pascal применяются следующие структурные операторы

(операторы, управляющие структурой программы):

* условный оператор if. .Then. . Else (возможно использование сокращенной формы if. .Then), предназначенный для выполнения фрагмента программы при истинности условия, или другого фрагмента программы в противном случае;

условный оператор множественного выбора Case. .Of. .Else (с сокращенной формой без секции Else), предназначенный для выполнения фрагмента программы из заданного набора при истинности одного из условий из заданного набора условий, или какого-либо фрагмента программы в случае ложности всех условий набора. Условиями в данном случае совпадение значения заданной в заголовке переменной с одним из значений заданного списка;

• оператор зацикливания со счетчиком циклов For. . То. . Do (с декрементной модификацией For. .DownTo. .Do), предназначенный для многократного повторения фрагмента программы, расположенного после ключевого слова DO;

условный оператор зацикливания с предусловием while. . Do, предназначенный для многократного повторения фрагмента программы, указанного после ключевого слова DO, пока является истинным условие, указанное в заголовке оператора;

условный оператор зацикливания с постусловием Repeat. .Until; предназначенный для многократного повторения фрагмента программы, пока

не станет истинным условие, указанное после ключевого слова until;

В качестве фрагментов программы, зацикливаемых при использовании операторов зацикливания, или выполняемых при истинности условий в условных операторах и условных операторах зацикливания, может применяться одна команда языка или вызов одной подпрограммы. Для выполнения нескольких команд применяются составные операторы — набор команд, заключенных в ключевые слова begin, .end.

Для досрочного прерывания зацикленного фрагмента программы используется оператор break. В этом случае управление передается команде,

следующей за прерванным оператором зацикливания.

Использовании подпрограмм в Object Pascal и их разновидности

Ответ: Подпрограмма — это логически законченная часть программы, описываемая отдельно от раздела описания логики программы и вызываемая по имени, уникальному в некоторой области видимости. Подпрограммы, так

же как и программы, имеют сложную структуру, включающую в себя разделы описания переменных, констант, типов и так далее (все они называются локальными, так как их область видимости ограничена процедурой). Подпрограммы в Object Pascal, представлены процедурами и функциями. Процедура является обычной подпрограммой, то есть фрагментом программы, имеющим параметры и выполняющим некоторый набор команд языка.

Функция, в отличие от процедуры, может возвращать значение (результат

работы) в подпрограмму, вызвавшую ее.

Опишите правила (синтаксис) описания параметров в подпрограммах

Ответ: Описание параметров подпрограмм происходит в их заголовках после имени и имеет следующий вид:

Procedure <Имя> (<Параметр 1>: <Тип параметра 1>; . . .;

<Параметр 2>: <Тип параметра 2>);

или для функций:

Function <Имя> (<Список параметров>): <Тип значения>;

Расскажите об использовании параметров по умолчанию

Ответ: В Object Pascal предусмотрена возможность использования параметров по умолчанию. Такие параметры находятся в конце списка параметров и их описания имеют следующий вид:

<Параметр>: <Тип параметра> = Значение по умолчанию>

Подпрограммы, использующие параметры по умолчанию вызываются либо с полным набором параметров, либо набором обязательных параметров и одним или несколькими параметрами, имеющими значения по умолчанию. Для того, чтобы передать некоторый параметр, задаваемый умолчанием, следует передать все параметры, находящиеся в списке параметров заголовка подпрограммы перед ним.