Файл PROJECT1. RES изначально содержит иконку для проекта. Создается автоматически. Имеет одноименное название с названием проекта. Файл PROJECT1. DSK содержит информацию о состоянии рабочего пространства. Состояние окон во время разработки приложения. Исполняемый EXE файл, который создается в процессе компиляции проекта. Разумеется, если сохранить проект под другим именем, то изменят название и файлы с расширением RES и DSK. После компиляции программы получаются файлы с расширениями: DCU - скомпилированные модули PAS для последующей быстрой компиляции некоторые файлы не перезаписываются. EXE исполняемый файл, ~PA, ~DP - backup файлы редактора. Автоматически создаются и содержат информацию, перед последним сохранением.
И так, любая программа всегда состоит из уже знакомого нам файла проекта (такой файл имеет расширение . dpr) и одного или нескольких модулей (файлы с расширением . pas) Файл проекта не предназначен для редактирования пользователем и создаётся автоматически самой системой программирования Delphi [7, С. 35]. .
Для того, чтобы увидеть содержимое файла проекта, необходимо выполнить команду Project View Source. Содержимое файла проекта может быть, например, следующим:
program Project1;usesForms, Unit1 in 'Unit1. pas' {Form1};{$R *. res}beginApplication. Initialize;Application. CreateForm(TForm1, Form1);Application. Run;end. |
Файл проекта(главный модуль) начинается словом program, за которым следует имя программы, совпадающее с именем проекта. Далее за словом uses следуют имена используемых модулей: стандартного модуля Forms и модуля формы Unit1.
Похожая на комментарий директива {$R *. RES} указывает компилятору, что нужно использовать файл ресурсов, который содержит описание ресурсов приложения, например, пиктограммы. Звездочка указывает, что имя файла ресурсов такое же, как и у файла проекта, но с расширением . res.
Исполняемая часть главного модуля находится между операторными скобками begin…end. Операторы исполняемой части обеспечивают инициализацию приложения и вывод на экран стартового окна. Помимо главного модуля каждая программа включает как минимум один модуль формы, который содержит описание стартовой формы приложения и поддерживающих ее работу процедур. В Delphi каждой форме соответствует свой модуль. Для переключения между формой и окном редактора кода, содержащего соответствующий модуль, следует нажать на клавишу F12. Модули - это программные единицы, служащие для размещения фрагментов программ. При помощи содержащихся в них текстов программ и реализуется решаемая пользователем задача.
2. СИНТАКСИС И СЕМАНТИКА ЯЗЫКА ПРОГРАММИРОВАНИЯ DELPHI
Описание каждого элемента языка задается его синтаксисом и семантикой. Синтаксические определения устанавливают правила построения элементов языка. Семантика определяет смысл и правила использования тех элементов языка, для которых были даны синтаксические определения.
2.1 Алфавит языка
Алфавит - это совокупность допустимых в языке символов [2, С. 15]. Алфавит Турбо Паскаль включает следующий набор основных символов:
· строчные и прописные латинские буквы:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
· пробел
· подчеркивание: _
· арабские цифры:
0 1 2 3 4 5 6 7 8 9
· знаки операций:
+ - * / = <> < > <= >= := @
· ограничители:
. , ' ( ) [ ] (. . ) { } (* *) . . : ;
· спецификаторы:
^ # $
· служебные (зарезервированные) слова:
ABSOLUTE | EXPORTS | LIBRARY | SET |
ASSEMBLER | EXTERNAL | MOD | SHL |
AND | FAR | NAME | SHR |
ARRAY | FILE | NIL | STRING |
ASM | FOR | NEAR | THEN |
ASSEMBLER | FORWARD | NOT | TO |
BEGIN | FUNCTION | OBJECT | TYPE |
CASE | GOTO | OF | UNIT |
CONST | IF | OR | UNTIL |
CONSTRUCTOR | IMPLEMENTATION | PACKED | USES |
DESTRUCTOR | IN | PRIVATE | VAR |
DIV | INDEX | PROCEDURE | VIRTUAL |
DO | INHERITED | PROGRAM | WHILE |
DOWNTO | INLINE | PUBLIC | WITH |
ELSE | INTERFACE | RECORD | XOR |
END | INTERRUPT | REPEAT | |
EXPORT | LABEL | RESIDENT |
2.2 Элементарные конструкции
Элементарные конструкции языка Паскаль включают в себя имена, числа и строки.
Имена (идентификаторы) называют элементы языка - константы, метки, типы, переменные, процедуры, функции, модули, объекты. Идентификатор в Турбо Паскале может включать в себя:
- буквы латинского алфавита,
- цифры
- символ подчеркивания.
Строчные и прописные буквы не различаются (например, NAME, Name и name будет означать одно и то же). Цифра не может стоять на первом месте в идентификаторе, а символ подчеркивания может находиться в любой позиции (например, name1 и name2item являются допустимыми идентификаторами, а 5name - нет; _name, name_, name_item - тоже допустимые названия). Длина идентификатора может быть любой, но значимыми являются только первые 63 символа. В качестве имен не допускается использовать служебные слова.
Для отделения друг от друга идентификаторов, чисел, зарезервированных слов используются разделители. В качестве них можно использовать:
- пробел и табуляцию;
- перевод строки;
- комментарий.
В любом месте программы, где можно поместить один разделитель, их можно поместить любое количество и в любом сочетании, что позволяет наглядно представить структуру программы.
Комментарии заключаются либо в скобки { . . . }, либо в скобки вида (* . . . *) и могут занимать любое число строк. Так же для записи комментария используется //… , после // может записать только одну строку.
Числа в языке Паскаль обычно записываются в десятичной системе счисления. Они могут быть целыми и действительными. Положительный знак числа может быть опущен. Целые числа записываются в форме без десятичной точки, например:
217 -45 8954 +483
Действительные числа записываются в форме с десятичной точкой:
28. 6 0. 65 -0. 018 4. 0
Возможна также запись с использованием десятичного порядка, который изображается буквой Е:
5Е12 -1. 72Е9 73. 1Е-16
В "переводе" такую запись следует понимать соответственно как:
5x1012 -1. 72x109 73. 1x10-16
Паскаль допускает запись целых чисел и фрагментов действительных чисел в форме с порядком в шестнадцатиричной системе счисления:
$7F $40 $ABC0
Строки в языке Паскаль - это последовательность символов, записанная между апострофами. Если в строке в качестве содержательного символа необходимо употребить сам апостроф, то следует записать два апострофа.
2.3 Переменные, константы и операторы
Переменная - это область памяти, содержащая значение определённого типа и позволяющая изменить текущее значение на новое. При определении переменной должен указываться тип данных. Переменная определяется в разделе var. Пример:
vari: Integer;s: String; |
Если есть несколько переменных одного типа, то их можно перечислить через запятую, а в конце указать тип данных. Пример:
vars, a, t: String; //встилес++ |
Константа - это область памяти содержащая определённое значение, но значение остаётся на весь период существования константы. При определении константы тип данных не указывается. Константа определяется в разделе const. Пример:
constname: 'vasya'; |
VAR и CONST определяются до тела проги или процедуры!
Пример:
Procedure Name;varname: String;beginname:='Vasya';end; |
Операторы используются для того чтобы присвоить значение переменной.
:= Единственный оператор присвоения в Delphi/Паскаль
Арифметические операторы.
+ - сложение
- - вычитание
* - умножение
/ - деление
DIV - целочисленное деление
MOD - деление по модулю
Операторы сравнения.
= - равно
<> - не равно
< - меньше
> - больше
<= - меньше либо равно
>= - больше либо равно
Условные операторы IF. . THEN - позволяет определить выполняются ли некоторые условия и в зависимости выполнить тот или иной код.
IF -> выражение -> THEN -> оператор -> ELSE -> оператор -> END;
Это читается так:
ЕСЛИ -> выражение -> ТО -> оператор -> ИНАЧЕ -> оператор -> END;
Пример:
IF i=0 THEN i:=1 ELSE i:=i+1; |
Выражение - это условие содержащее один или более операторов сравнения. Операторы сравнения перечисляются следующим образом:
IF (a=0) AND (b=1) AND (c=0) THEN. . . - проверяетсячтобы a=0 И b=1 И c=0
IF (a=0) OR (b=1) OR (c=0) THEN. . . - проверяетсяИЛИ a=0 ИЛИ b=1 ИЛИ c=0
ELSE - не обязательный оператор, его можно не писать.
Пример:
IF i=0 THEN i:=1; |
Операторов может быть несколько, их только надо взять в begin и end.
Пример:
IF i=0 THENbegini:=1;b:=2;c:=3;end; |
Когда после END стоит ELSE, то знак «;» ставить не надо.
Пример:
IF i=0 THENbegini:=1;b:=2;c:=3;end ELSEc:=5; |
3. СРАВНИТЕЛЬНЫЙ АНАЛИЗ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
Рождение новых подходов к программированию обуславливается прежде всего стремлением к повышению производительности труда программиста. Разработчики нововведений стремятся облегчить разработку крупномасштабных программных проектов, в которых задействовано большое число программистов, прежде всего за счет более удобных средств расчленения задачи на отдельные составляющие, а также за счет более продуктивных методов защиты от ошибок в программах - их верификации, ужесточения синтаксических требований и т. д. Наиболее важными нововведениями последних лет стали объектное и событийное программирование, а также развивающийся в последнее время визуальный подход к программированию.