Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка-ТП-С++.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
661.5 Кб
Скачать

And do else fi for goto if od set then through to while

Если с этих слов начинается предложение, начальные буквы — за­главные, например

Set, Do, If.

Чтобы отличить имена переменных и логические операции от слов языка операторов, имена переменных и логические операции пишутся полностью заглавными буквами. Обращаем внимание на разницу между AND и and в следующем примере:

If I<10 AND J<10 then set II+1; and set JJ + l fi.

Операторы присваивания. Операторы присваивания записываются с помощью стрелки (←). Слово set необязательно; например,

Set ←1 или

Set ←1; J ←2; and /←3.

Операторы If. Операторы if могут быть двух видов, а именно:

If I<J then set II+1 fi или

If I<J then set II+1

else set JJ-1 fi.

После then и else могут появляться заключенные в скобки пред­ложения, если они улучшают или понимание, или читаемость, или и то и другое; например,

If I<J then [исключаем вершину] set II+1

else [сдвигаем указатель] set PTR ←LEFT (PTR) fi.

Обычно рекомендуется ставить fi в конце оператора if, особенно когда его отсутствие может повлечь двусмысленность или непра­вильность оператора.

Рассмотрим оператор

If I<J then set II+1

else set JJ+l; K← 1.

Он может быть интерпретирован одним из двух способов:

If I<J then set II+1

else set JJ+l; K← 1 fi.

или

If I<J then set II+1

else set JJ+l fi; set K← 1.

В первом операторе К полагается равным 1, если только I не меньше J; во втором операторе К. полагается равным 1 независимо от значения I или J.

Операторы цикла. Операторы цикла появляются в разных формах; например,

1. Шаг i. [ ] Do шаг i+l while I≤M od.

Шаг i+1[ ] If COST(I, J) ≤ MIN

then set MIN←COST(I, J); and I←I+1 fi.

2. Шаг i. [ ] Do through шаг iwhile J>0 od.

Шаг i+l. [ ] Операторы.

Шаг i+2. [ ]Операторы.

Шаг i+3. [ ]Операторы.

Шаг i +4. [ ] Операторы.

Порядок выполнения цикла 2 следующий: выполняются шаги i+1, i +2 и i +З, затем проводится проверка, положительно ли J: J>0; если J≤0, то следующим выполняется шаг i+4; если J>0, то выполняются опять шаги i+l, i+2 и i+3 и J еще раз сравнивается с нулем и т. д. Предполагается, что где-то в пределах шагов i+l, i+2 или i+З значение J меняется; в противном случае существует возможность бесконечного цикла.

3. Шаг i. [ ] While PTR>0 do PTR ←LEFT (PTR) od.

4. Шаг i. [ ] While J >0 do through шаг i+2 od.

Шаг i+l. [ ] Операторы.

Шаг i+2. [ ] Операторы.

Шаг i+З. [ ] Операторы.

Выполнение цикла while-do отличается от выполнения цикла do-while только тем, что в одной форме проверка осуществляется перед первым выполнением шага (шагов), предписанного оператором do, а не после. Использование od, как в форме 3, служит для опре­деления конца действия do; его применение идентично применению fi.

5. Шаг i. [ ] For I ←1 to N do шаг i+1 od.

Цель формы 5 — допустить выполнение типичного DO- или FOR-цикла с приращением, равным 1, вместо того, чтобы инициализиро­вать индексную переменную I и увеличивать ее внутри цикла do-while или while-do.

Операторы goto. Хотя принципы структурного программирования исключают потребность в операторах goto, иногда встречаются си­туации, когда goto кажется подходящим и естественным средством. В таких случаях алгоритмы бывают обычно очень короткими, и при­менение операторов goto не мешает пониманию логики алгоритма. Поэтому мы умеренно используем операторы goto.