По первому тесту выполнил дважды задания. Результат получается правильный (проверял калькулятором). Пишет, что "Задание не проверено" и предлагает повторить. |
Общие сведения о языке программирования 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.