- •Билет 1 Алфавит и зарезервированные слова делфи
- •Билет 2 Арифметические операции и выражения
- •Билет 3 Логические операции и выражения
- •Билет 4 Простые типы данных
- •Билет 5 Структурированные типы данных
- •Билет 6 Строковые типы данных
- •Билет 7 Комбинированные типы данных
- •Билет 8 Принципы объектно-ориентированного програмирования
- •Билет 9 Виды подпрограмм
- •Билет 12(типы формальных параметров)
- •Билет 13 Процедурные типы
- •Билет 14 Типы формальных параметров
- •Билет 15(оператор присвоения и безусловного перехода)
- •Билет 26
- •Билет 27(графические методы Delphi)
- •Билет 28
- •Билет 18
- •Билет 17
- •Билет 16
- •If, then, else - ключевые слова (если, то, иначе);
- •Билет 25(Данные типа массив)
- •Билет 29(Динамические библиотеки)
- •Билет 20(Структура класса Делфи)
- •Билет 21(обработка исключительных ситуаций в делфи)
- •Билет 30(файловые типы)
Билет 12(типы формальных параметров)
Параметры-значения передаются в подпрограмму через стек в виде их копий. Поэтому любые изменения таких параметров в теле процедуры ни как не отражаются на значениях внешних переменных. Параметры-значения используются для передачи в подпрограмму исходных данных, используемых для расчета. Такие параметры при описании подпрограммы не предваряются никакими зарезервированными словами. Для каждой из них указывается соответствующий тип данных.
Параметры-переменные указываются в описании подпрограммы после зарезервированного слова var. Действие зарезервированного слова var имеет силу до ближайшей точки с запятой. При вызове подпрограммы на месте параметра-переменной в качестве фактического параметра указывается переменная того же типа. При использовании параметра-переменной в подпрограмму передается сама переменная. Это позволяет вернуть в точку вызова подпрограммы измененные значения внешних переменных, которые были указаны в качестве параметров. Иными словами, изменения значений параметров-переменных в теле подпрограммы приводит также к изменению значений внешних переменных, указанных в качестве параметров при вызове подпрограммы.
Параметры-константы используются в подпрограммах. Если подпрограмма не должна менять передаваемое значение. В этом случае параметр передается в виде адреса той области памяти, в которой располагается константа. При передаче параметра-константы как параметра-значения (что, в принципе, возможно) быстродействие программы уменьшается. Перед именем параметра-константы указывается зарезервированное слово const, действие которого также распространяется до ближайшей точки с запятой.
Билет 13 Процедурные типы
Основное назначение процедурных типов - дать программисту гибкие средства передачи функций и процедур в качестве фактических параметров обращения к другим процедурам и функциям.
Для объявления процедурного типа используется заголовок процедуры (функции), в котором опускается ее имя, например:
type
Proc1 = procedure(a, b, с: Real; var d: Real);
Proc2 = procedure(var a, b);
РгосЗ = procedure;
Func1 = function: string;
Func2 = function(var s: string): Real;
Как видно из приведенных примеров, существует два процедурных типа: тип-процедура и тип-функция.
Процедурные типы данных.
- должны быть описаны в разделе описаний.
Type
Func=Function(a,b:integer-список формальных параметров):integer;
Var
F1,F2:Func;
Function Add(c,d:integer):integer;
Begin
Add:=c+d;
End;
Begin
F1:=Add;
Write (Add(1,2));
Write(F1(2,3));
End;
InLine диррективы
Interrupt
{$F+} {$F-}
Билет 14 Типы формальных параметров
Структура модуля
Логически обособленные группы процедур и функций чрезвычайно удобно объединять в специализированные библиотеки — модули. Для этого язык Delphi предлагает специальные средства и доступную каждому технологию. Приведем общую структуру программного модуля:
Заголовок модуля unit <имя модуля>; Директивы компилятора {$<директивы>}
Интерфейсная часть interface Подключение модулей uses <имя>, ..., <имя>; Константы const ... ; Типы данных type ... ; Переменные var ... ; Заголовки процедур procedure <имя> (<параметры>); Заголовки функций function <имя> (<параметры>): <тип>;
Часть реализации implementation Подключение модулей uses <имя>, ..., <имя>; Константы const ... ; Типы данных type ... ; Переменные var ... ; Реализация процедур procedure <имя>; begin ... end; Реализация функций function <имя>; begin ... end;
Код инициализации initialization <операторы> Код завершения finalization <операторы> end. |
После слова unit записывается имя модуля. Оно должно совпадать с именем файла, в котором находится исходный текст модуля. Например, если файл называется MathLib.pas, то модуль должен иметь имя MathLib. Заголовок модуля формируется автоматически при сохранении файла на диске, поэтому его не следует изменять вручную. Чтобы дать модулю другой заголовок, просто сохраните его на диске под другим именем.
В разделе interface описываются глобальные данные, процедуры и функции, доступные для использования в основной программе и других модулях.
В разделе implementation реализуется программный код глобальных процедур и функций и описываются локальные данные, процедуры и функции, недоступные основной программе и другим модулям.
Блок initialization является необязательным. Он состоит из операторов и выполняется автоматически непосредственно перед запуском основной программы. Блоки инициализации подключенных к программе модулей выполняются в том порядке, в котором они упоминаются в секции uses.
Блок finalization тоже является необязательным. Он состоит из операторов и выполняется автоматически непосредственно после завершения основной программы. Блоки завершения подключенных к программе модулей выполняются в порядке, обратном порядку подключения модулей в секции uses.