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


Замечания


1. Оператор goto

вносит фактическое безумие в составление программы. Посудите сами, какой человек может идти, идти, а затем без всякой причины повернуться и пойти обратно! У нормального человека всегда должна быть причина, условие

такого поступка.

Оператор goto

может заставить даже без всякой причины, условия нарушить естественный ход выполнения программы и перевести работу на помеченную строку.

Итак, оператор перехода изменяет последовательность выполнения операторов - они выполняются не в том порядке, как написаны в тексте программы. Операторы перехода нарушают связь между структурой выполнения (динамической) и текстовой (статистической) структурой программы.

Из-за этого программа становится менее понятной и труднее определяется ее правильность. Часто это становится гордиевым узлом, о котором программисты могут сказать: "Но все-таки программа работает". Почему и как работает программа, однако, остается секретом из-за оператора goto.

2. Частое использование операторов перехода указывает, что программист еще не научился программировать "структурно", т. е. использовать последовательные, разветвляющиеся и циклические структуры управления.

Оператор перехода рекомендуется использовать только в исключительных случаях. Такой случай может быть, когда цикл прерывается при удовлетворении определенного условия. Именно такой случай есть в нашей программе.

3. Переход внутрь сложного оператора не определен. Ошибок такого рода транслятор может и не обнаружить.

1) if

p then goto 3;

.....................

if q then 3: s;

2) while

i<= 10 do

  begin

      s1;

 3:  s2;

 end;

 .............

 goto 3;

4. Метка в Турбо Паскале - это произвольный идентификатор (может быть обозначен и буквами), позволяющий именовать некоторый оператор программы и таким образом ссылаться на него.

В целях совместимости со стандартным языком Паскаль, в Турбо Паскале допускается в качестве меток использование целых чисел без знака.

Само собой возникает вопрос, можно ли программу примера 4 составить без оператора перехода goto?

Оказывается это возможно, о чем вы узнаете в следующих занятиях.




Начало  Назад  Вперед



Книжный магазин