Sign in Join
Wiki copytemporary

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

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

Title: Basic Pascal Tutorial/Chapter 1/Program Structure/ru

OldNewLine
1+<font size="5">Структура программы</font>
2+
3+Basics 1A - Program Structure (author: Tao Yue, state: changed)
4+
5+Основная структура программы на Pascal имеет вид:
6+
7+``` pascal
8+PROGRAM ProgramName (FileList);
9+
10+CONST
11+ (* Объявления констант *)
12+
13+TYPE
14+ (* Объявления типов *)
15+
16+VAR
17+ (* Объявления перемнных *)
18+
19+(* Определения подпрограмм *)
20+
21+BEGIN
22+ (* Исполняемые операторы *)
23+END.
24+```
25+
26+Использование зарезервированоого слова **PROGRAM** в Free Pascal не является обязательным.
27+
28+Элементы программы должны следовать в правильном порядке, хотя некоторые из них могут быть опущеы, если не нужны. Вот пример программы, которая ничего не делает, но имеет все необходимые элементы:
29+
30+``` pascal
31+program DoNothing;
32+begin
33+end.
34+```
35+
36+Комментарии - это части кода, которые не компилируются и не выполняются. Free Pascal поддерживает два типа комментариев: в свободной форме и строчный. Комментарии в свободной форме либо начинаются с <b>`(*`</b> и заканчиваются <b>`*)`</b>, либо, что используется чаще, начинается с <b>{</b> и завершается <b>}</b>. Вы не можете вкладывать комментарии:
37+
38+``` pascal
39+ (* (* *) *)
40+```
41+
42+это даст ошибку, т.к. компилятор сопоставит первый <b>`(*`</b> с первым <b>`*)`</b>, игнорируюя второй <b>`(*`</b>, который находится между первым набором маркеров комментария. Второй <b>`*)`</b> останется без парного ему <b>`(*`</b>. Эта проблема с начальными/конечными маркерами комментария является одной из причин, почему многие языки используют строчную систему комментирования.
43+
44+Free Pascal также поддержиает **//** как строчный комментарий. Когда встречаются две наклонные черты вне строки в апострофах или комментария свободной формы, оставшаяся часть строки игнорируется.
45+
46+Turbo Pascal и большинство других современных компиляторов поддерживают комментарии свободной формы на основе фигурных скобок, такие, как <b>`{Комментарий}`</b>. Открывающая фигурная скобка означает начало блока комментариев, а закрывающая означает окончание блока комментариев. Комментарии на основе фигурных скобок также используются для директив компилятора.
47+
48+Комментирование делает ваш код более лёгким для понимания. Если вы пишете свой код без комментариев, то может случиться так, что через несколько недель, месяцев или лет вы вернётесь к программе, не имея никакой информации, почему что-то в программе было сделано именно таким образом. В частности, вы можете захотеть задокументировать основной дизайн вашей программы и вставлять комментарии в коде, когда вы отклоняетесь от этого дизайна по уважительным причинам.
49+
50+Кроме того, комментарии часто используются для исключения проблемного кода из работы без его удаления. Помните упоминавшееся ранее ограничение на вложенные комментарии? Просто так случилось, что фигурные скобки <b>{ }</b> имеют приоритет над скобками со звёздочками <b>`(* *)`</b>. Вы не получите ошибку, если сделаете так:
51+
52+``` pascal
53+{ (* Комментарий *) }
54+```
55+
56+Пробельные символы (пробелы, табуляции, переводы строк) игнорируются компилятором Pascal, если они не находятся внутри символьной строки. Однако, чтобы сделать вашу программу читаемой для человека, вы должны делать отступы для операторов и располагать отдельные операторы на отдельной строке. Отступы часто являются выражением идивидуальности программиста, однако в совместных проектах обычно выбирают один общий стиль, чтобы позволить любому продолжить работу с той-же страницы.
57+
58+---
59+*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