Program Demo; //заголовок основной программы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Program Demo; //заголовок основной программы



Var Z: Integer; K: Real; //объявление переменных

Function Step (F:Real, Exp: Integer): Real; //заголовок функции Step

Var C: Integer; T: Real; //объявление переменных функции

Begin T:=F; For C:=2 To Abs(Exp) Do T:=T*F; //цикл умножения

If Exp<0 Then Result:=1/T Else Result:=T; //формирование результата

End; //окончание тела функции

Begin Writeln (Step (2, 3),Step(5,4)) End. //операторы основной программы

Рекурсивные программы в ходе выполнения обращаются сами к себе.

Пример рекурсивной функции Factor вычисления факториала:

Procedure TForm1.Button1Click(Sender: TObject);//основная процедура

Function Factor (A:Integer): Integer; //заголовок функции Factor

Begin If A=1 Then Result:=1 Else Result:=A*Factor(A‑1)End; //функция

Begin Label1.Caption:=IntToStr(Factor(10))end;//основная функция‑вывод10!

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

<заголовок процедуры>; Forward;

Сама процедура будет описана позже без указания параметров.

Модули

Модуль ‑ это автономно компилируемая программная единица, вклю­чающая в себя различные компоненты раздела описаний (типы, констан­ты, переменные, процедуры и функции, классы, операторы).

Модуль имеет структуру:

Unit<имя модуля>; // заголовок модуля

Interface

<интерфейсная часть>

Resourcestring // не обязательный

<строки ресурсов>

Implementation // не обязательный

<исполняемая часть>

Initialization // не обязательный

<инициирующая часть>

Finalization // не обязательный

<завершающая часть>

End. // окончание тела модуля

Заголовок модуля состоит из зарезервированного слова UNIT и следующего за ним имени модуля. Это имя должно совпадать с именем исходного текста. Имя модуля служит для его связи с другими модулями и основной программой. Эта связь устанавливается специальным предложением: Uses<список имен модулей через запятую>.

Имя модуля можно указывать в виде:

<имя модуля> [ In ‘<имя файла с модулем>.pas ’]

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

Строки ресурсов содержат описания строк ресурсов (п.1.3.1.2).

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

Инициирующая часть содержит операторы, которые выполняются до передачи управления основной программе. Например, в них могут инициализироваться переменные, открываться файлы.

Завершающая часть содержит операторы, выполняемые один раз при любом нормальном или аварийном завершении программы. Эта часть запрещена, если отсутствует инициирующая часть.

Пример создания модуля Cmplx с процедурами сложения и вы­чи­тания комплексных чисел:

Unit Сmplx; //имя модуля

Interfac e //интерфейсная часть с объявлением типов и процедур

Type complex = record re, im: real; end; //объявления типа

Procedure ADDC (x, у: сomplex; var z: complex); //объявление процедуры

Procedure SUBC (x, у: сomplex; var z: complex);//объявление процедуры

Implementation //исполнимая часть с текстами процедур

Procedure ADDC; begin z.re: =x.re+y.re; z.im:= x.im+y.im; end;//процедура

Procedure SUBC; begin z.re:= x.re‑y.re; z.im: =x.im‑y.im; end;//процедура

End. //окончание модуля

Компилятор

Общее описание компилятора

Существуют два компилятора: встроенный в интегрированную среду разработки Delphi и автономный Dcc32.Exe.

Автономный компилятор вызывается из командной строки DOS в виде: Dcc32 [<опции>] <имя файла> [<опции>]. Описание опций можно получить на экране, если в командной строке указать только Dcc. Каждая опция начинается с символа «/». Если расширение файла не указано, то предполагается расширение.Dpr или.Pas (при отсутствии файла проекта). Если файл является программой, библиотекой, пакетом или модулем, то создается, соответственно, исполняемый файл.Exe, библиотека.Dll, пакет.Bpl, объектный модуль.Dcu.

Управление компилятором осуществляется директивами. Ди­рек­тива заключается в фигурные скобки и начинается с символа «$». Су­щест­вует три типа директив: ключевые, параметры и условной компи­ля­ции.

Ключевые директивы включают или выключают соответствующие возможности компилятора и имеют две формы записи: сокращенную и длинную. Сокращенная запись директивы состоит из односимвольного имени директивы и знака «+» (включение) или знака «‑«(выключение). Длинная запись состоит из имени директивы и слов «On» (включение) или «Off» (выключение). Пример. {$I+} или {$OICHECKS ON}.

Ключевые директивы могут объединяться в группы через запятые ({SB+,R‑,S‑}). Ключевые директивы, расположенные до начала объявления переменный, являются глобальными и действуют на весь процесс компи­ляции; остальные директивы ‑ локальные.

Директивы параметров определяют значения различных параметров компилятора (например, {$L имя файла}).

Директивы условной компиляции позволяют исключать из компиляции различные фрагменты программы в зависимости от условий.

Настройка умалчиваемых значений ключевых директив осуществля­ет­ся диалоговой командой Project/Options/Compiler.



Поделиться:


Последнее изменение этой страницы: 2017-02-08; просмотров: 276; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.41.214 (0.007 с.)