Паскаль. Основы программирования


В программе очень удобно помещать


В программе очень удобно помещать комментарии, чтобы при последующем прочтении она была понятна другим пользователям и программистам.
Комментарии - это тексты, объясняющие программу, но не влияющие на ее исполнение. Это различные объяснения, заголовки отдельных частей программы и т.д. Компьютер печатает комментарии вместе с текстом программы, но, выполняя программу, игнорирует их. Программа выполняется так, словно комментариев нет.
В нашей программе комментариев нет и это делает ее непонятной для других. Паскаль предусматривает располагать комментарии между фигурными скобками { ... } или между круглыми скобками со звездочками (* ... *). Всё, что находится в скобках, при выполнении программы игнорируется, но сохраняется в программе.
Почему допускается два способа записи комментариев?
Представьте себе ситуацию, когда внутри одного комментария надо разместить еще комментарий. Если внутри фигурных скобок будут размещены такие же скобки
В программе очень удобно помещать
 то будет выдана ошибка, тоже произойдет и при такой записи:
В программе очень удобно помещать
, т. е. запись комментария в комментарии с помощью одинаковых обозначений комментария  недопустима.
Зато совершенно свободно вы можете сделать запись комментария в комментарии с помощью разных обозначений, например:
{ ... (* ... *) ... } или так (* ... { ... } ... *).
Правил для написания комментариев не существует. Однако, можно дать некоторые
рекомендации

по использованию комментариев в различных частях программы.
Вот несколько характерных случаев, когда комментарии желательны.
1. В начале программы сразу после заголовка целесообразно указать назначение программы, автора, дату написания и другие данные о программе, например:
Program
bid;
         {Программа определения большего из двух чисел}
         {автор программы Иванов Александр Петрович}
         {программа составлена 12.10.1993}
         {программа доработана 20.10.1993}
         {программа протестирована 20.10.1993}
2. В описаниях переменных указывается назначение переменных:
var
     a,{первое число}


     b,{второе число}
     c,{их наибольший общий делитель} ...
 
3. Объясняются действия, смысл и назначение которых непонятны:
c := a mod
b {остаток от деления a на b}
d := b*b - 4*a*c {вычисление дискриминанта квад. ур-я}
В программе желательны короткие и ясные комментарии. В противном случае текст программы может затеряться среди комментариев и программа станет еще менее ясной.
Составим программу для первого примера на основе второго способа.
Он основан на применении двух операций с целыми числами - деления (div) и нахождения остатка от деления (mod).
Посмотрите на примере, в чём состоит математика этого способа.
Находим цифру единиц:        342 mod 10 = 2.
Делим заданное число на 10, при этом уже найденная цифра единиц "отбрасывается":                                                      342 div 10 = 34.
Находим цифру десятков:       34 mod 10 = 4.
Делим, оставшееся число 34 на 10, при этом цифра десятков "отбрасывается", а результатом будет цифра сотен:
34 div 10 = 3.
Дальнейшие операции такие же, как и в первом способе.
Программа
Program Problem;
     uses WinCrt;
     var
        a, c, s, d, e, b, r : integer;
     begin
         write('Введите трехзначное число '); readln(a);
         c := a;   {Запоминается первоначальное число}
         e := a mod 10; (* Цифра единиц *)
         a := a div 10;
         d := a mod 10; (* Цифра десятков *)
         s := a div 10; (* Цифра сотен *)
         b := e*100 + d*10 + s;
         (* Число, записан. в обратном пор. *)
         r := c - b; (* Разность чисел *)
         writeln('Искомая разность равна ', r)
     end.

ВЫВОДЫ
В программе можно использовать комментарии, которые записываются в фигурных скобках { ... } или в круглых скобках со звездочкой (* ... *). Повторная запись одних и тех же скобок недопустима. При записи комментария в комментарии надо использовать разные скобки.
Операция a mod
b выдает остаток от деления a на b. Если деление происходит нацело, то результат операции равен нулю.

Содержание раздела