Опубликован: 10.04.2015 | Уровень: для всех | Доступ: свободно | ВУЗ: Компания ALT Linux
Лекция 2:

Общие сведения о языке программирования Free Pascal

Аннотация: В этой главе читатель познакомится со структурой проекта в среде Lazarus и основными элементами языка программирования Free Pascal: переменными, константами, их типами, основными операциями и функциями языка.

2.1 Структура проекта Lazarus

Любой проект в Lazarus — это совокупность файлов, из которых создаётся единый выполняемый файл. В простейшем случае список файлов проекта имеет вид:

  • файл описания проекта (.lpi);
  • файл проекта (.lpr);
  • файл ресурсов (.lrs);
  • модуль формы (.lfm);
  • программный модуль (.pas);

После компиляции программы из всех файлов проекта создаётся единый выполняемый файл с расширением.exe, имя этого файла совпадает с именем проекта.

Программный модуль, или просто модуль — это отдельно компилируемая программная единица, которая представляет собой набор типов данных, констант, переменных, процедур и функций. Любой модуль имеет следующую структуру:

	
unit имя_модуля; //Заголовок модуля.
interface
//Раздел описаний.
implementation
//Раздел реализаций.
end. //Конец модуля.

Заголовок модуля — это зарезервированное слово unit, за которым следует имя модуля и точка с запятой. В разделе описаний, который открывается служебным словом interface, описывают программные элементы — типы, классы, процедуры и функции:

	
interface
uses список_модулей;
type список_типов;
const список_констант;
var список_переменных;
procedure имя_процедуры;
...
function имя_функции;
...

Раздел implementation содержит программный код, реализующий механизм работы описанных программных элементов (тексты процедур обработки событий, процедуры и функции, созданные программистом). Процедуры и функции в Lazarus также построены по модульному принципу1Подробно о процедурах и функциях см. в главе 4..

Наряду с визуальными приложениями, Lazarus позволяет разрабатывать и обычные консольные приложения, которые также могут быть созданы в оболочке Free Pascal и в текстовом редакторе Geany. Авторы настоятельно рекомендуют начинать изучение программирования именно с создания консольных приложений. Поэтому рассмотрим подробно структуру консольного приложения.

2.2 Структура консольного приложения

Структура консольного приложения имеет вид:

заголовок программы;

uses modul1, modul2,..., moduln;

раздел описаний;

тело программы.

Заголовок программы состоит из служебного слова program, имени программы, образованного по правилам использования идентификаторов (см. п. 2.3), и точки с запятой, например:

	
program my_prog001;

Предложение uses modul1, modul2,..., moduln предназначено для подключения модулей. В модулях находятся функции и процедуры языка. Для использования функций и процедур, находящихся в модуле, необходимо в тексте программы подключить их с помощью предложения uses.

Раздел описаний включает следующие подразделы:

  • раздел описания констант;
  • раздел описания типов;
  • раздел описания переменных;
  • раздел описания процедур и функций.

В языке Free Pascal должны быть описаны все переменные, типы, константы, которые будут использоваться программой. В стандартном языке Pascal поря-док следования разделов в программе жёстко установлен, во Free Pascal такого строгого требования нет. В программе может быть несколько разделов описания констант, переменных и т. д. Более подробно структуру консольной программы на языке Free Pascal можно представить следующим образом:

	
program имя_программы;
uses modul1, modul2,..., moduln;
const описания_констант;
type описания_типов;
var описания_переменных;
begin
операторы_языка;
end.

Тело программы начинается со слова begin, затем следуют операторы языка Pascal, реализующие алгоритм решаемой задачи. Операторы в языке Pascal отделяются друг от друга точкой с запятой и могут располагаться в одну строчку или начинаться с новой строки (в этом случае их также необходимо разделять точкой с запятой). Особо отметим символ ";" — он служит для отделения одного оператора от другого. Можно сказать, что ";" ставится между операторами. Тело программы заканчивается служебным словом end; Несмотря на то что операторы могут располагаться в строке как угодно, рекомендуется размещать их по одному в строке, а в случае сложных операторов отводить для каждого несколько строк.

Рассмотрим более подробно структуру программы:

	
program имя_программы;
uses modul1, modul2,..., moduln;
const описания_констант;
type описания_типов;
var описания_переменных;
begin
оператор_1;
оператор_2;
...
оператор_n
end.

Приведём пример текста программы на Free Pascal:

	
program one;
const
a =7;
var
b, c : real;
begin
c :=a +2; b:=c-a * sin ( a )
end.
Юрий Шутиков
Юрий Шутиков

По первому тесту выполнил дважды задания. Результат получается правильный (проверял калькулятором). Пишет, что "Задание не проверено" и предлагает повторить. 
 

Евгений Силуков
Евгений Силуков

Еще в декабре выполнил тест №1, а его все так и не проверили.

Юрий Макушин
Юрий Макушин
Россия, Москва, РЭА им. Плеханова, 2004