Sign in Join
Wiki copytemporary

Basic Pascal Tutorial/Chapter 1/Program Structure/ru: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-<font size="5">Структура программы</font>
1+Структура программы
22
33Basics 1A - Program Structure (author: Tao Yue, state: changed)
44
55Основная структура программы на Pascal имеет вид:
66
77``` pascal
88PROGRAM ProgramName (FileList);
99
1010CONST
1111 (* Объявления констант *)
1212
1313TYPE
1414 (* Объявления типов *)
1515
1616VAR
1717 (* Объявления перемнных *)
1818
1919(* Определения подпрограмм *)
2020
2121BEGIN
2222 (* Исполняемые операторы *)
2323END.
2424```
2525
2626Использование зарезервированоого слова **PROGRAM** в Free Pascal не является обязательным.
2727
2828Элементы программы должны следовать в правильном порядке, хотя некоторые из них могут быть опущеы, если не нужны. Вот пример программы, которая ничего не делает, но имеет все необходимые элементы:
2929
3030``` pascal
3131program DoNothing;
3232begin
3333end.
3434```
3535
36-Комментарии - это части кода, которые не компилируются и не выполняются. Free Pascal поддерживает два типа комментариев: в свободной форме и строчный. Комментарии в свободной форме либо начинаются с <b>`(*`</b> и заканчиваются <b>`*)`</b>, либо, что используется чаще, начинается с <b>{</b> и завершается <b>}</b>. Вы не можете вкладывать комментарии:
36+Комментарии - это части кода, которые не компилируются и не выполняются. Free Pascal поддерживает два типа комментариев: в свободной форме и строчный. Комментарии в свободной форме либо начинаются с `(*` и заканчиваются `*)`, либо, что используется чаще, начинается с { и завершается }. Вы не можете вкладывать комментарии:
3737
3838``` pascal
3939 (* (* *) *)
4040```
4141
42-это даст ошибку, т.к. компилятор сопоставит первый <b>`(*`</b> с первым <b>`*)`</b>, игнорируюя второй <b>`(*`</b>, который находится между первым набором маркеров комментария. Второй <b>`*)`</b> останется без парного ему <b>`(*`</b>. Эта проблема с начальными/конечными маркерами комментария является одной из причин, почему многие языки используют строчную систему комментирования.
42+это даст ошибку, т.к. компилятор сопоставит первый `(*` с первым `*)`, игнорируюя второй `(*`, который находится между первым набором маркеров комментария. Второй `*)` останется без парного ему `(*`. Эта проблема с начальными/конечными маркерами комментария является одной из причин, почему многие языки используют строчную систему комментирования.
4343
4444Free Pascal также поддержиает **//** как строчный комментарий. Когда встречаются две наклонные черты вне строки в апострофах или комментария свободной формы, оставшаяся часть строки игнорируется.
4545
46-Turbo Pascal и большинство других современных компиляторов поддерживают комментарии свободной формы на основе фигурных скобок, такие, как <b>`{Комментарий}`</b>. Открывающая фигурная скобка означает начало блока комментариев, а закрывающая означает окончание блока комментариев. Комментарии на основе фигурных скобок также используются для директив компилятора.
46+Turbo Pascal и большинство других современных компиляторов поддерживают комментарии свободной формы на основе фигурных скобок, такие, как `{Комментарий}`. Открывающая фигурная скобка означает начало блока комментариев, а закрывающая означает окончание блока комментариев. Комментарии на основе фигурных скобок также используются для директив компилятора.
4747
4848Комментирование делает ваш код более лёгким для понимания. Если вы пишете свой код без комментариев, то может случиться так, что через несколько недель, месяцев или лет вы вернётесь к программе, не имея никакой информации, почему что-то в программе было сделано именно таким образом. В частности, вы можете захотеть задокументировать основной дизайн вашей программы и вставлять комментарии в коде, когда вы отклоняетесь от этого дизайна по уважительным причинам.
4949
50-Кроме того, комментарии часто используются для исключения проблемного кода из работы без его удаления. Помните упоминавшееся ранее ограничение на вложенные комментарии? Просто так случилось, что фигурные скобки <b>{ }</b> имеют приоритет над скобками со звёздочками <b>`(* *)`</b>. Вы не получите ошибку, если сделаете так:
50+Кроме того, комментарии часто используются для исключения проблемного кода из работы без его удаления. Помните упоминавшееся ранее ограничение на вложенные комментарии? Просто так случилось, что фигурные скобки { } имеют приоритет над скобками со звёздочками `(* *)`. Вы не получите ошибку, если сделаете так:
5151
5252``` pascal
5353{ (* Комментарий *) }
5454```
5555
5656Пробельные символы (пробелы, табуляции, переводы строк) игнорируются компилятором Pascal, если они не находятся внутри символьной строки. Однако, чтобы сделать вашу программу читаемой для человека, вы должны делать отступы для операторов и располагать отдельные операторы на отдельной строке. Отступы часто являются выражением идивидуальности программиста, однако в совместных проектах обычно выбирают один общий стиль, чтобы позволить любому продолжить работу с той-же страницы.
5757
5858---
5959*From the Free Pascal wiki, page "Basic Pascal Tutorial/Chapter 1/Program Structure/ru", as it stood on 2022-08-20 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history