
- •Lesson 2 Ветвления и циклы
- •Блок-схемы алгоритмов
- •Управляющие операторы
- •Операторы перехода
- •Условный оператор If
- •Оператор If...Then
- •Оператор If...Then...Else
- •Оператор If с тремя и более блоками
- •Переключатель Select
- •Безусловный переход GoTo
- •Операторы Stop и Return
- •Операторы цикла
- •Операторы Exit и Cycle
- •Цикл по переменной
- •Количество повторений цикла по переменной
- •Подробная блок-схема цикла по переменной
- •Цикл Do while
- •Бесконечный цикл
- •Вложенные циклы
- •Неявные циклы
Управляющие операторы
В более сложных программах для управления порядком выполнения операторов служат управляющие операторы. Они дают возможность повторить группу операторов несколько раз, пропустить какую-то группу операторов и т.д.
Операторы, состоящие из одной строки, называются простыми операторами. Операторы, включающие в себя блоки, называютсясоставными операторами
Необязательное имя может быть назначено любому составному оператору и должно быть правильным уникальным именем Фортрана, составленным по его правилам. Если имя оператора назначено, оно обязательно должно быть указано в его завершающей строке. Примеры использования имен будут приведены при описании операторов.
Основные виды управляющих операторов – операторы перехода и операторы циклов.
Операторы перехода
Операторы перехода изменяют порядок выполнения операций по сравнению с порядком, установленным в тексте программы. Условные операторы позволяют выбирать одно из нескольких возможных продолжений процесса выполнения программы. Они реализуют второй тип базовых конструкций – ветвление.
Условный оператор If
Наиболее употребительным условным оператором является оператор Ifи его разновидности. В оператореIfусловие выбора задается в виде логического выражения. Это логическое выражение должно быть заключено в скобки.
Оператор If–простойоператор, он пишется в одной строке, если нет символа переноса. ОператорIfпредставляет собой случай простейшего ветвления – выполнение одного действия по условию. Этот оператор имеет вид:
If (логическое выражение)действие
Здесь действие – исполняемыйпростойоператор, который будет выполнен при условии истинностилогического выражения.
Блок-схема оператора If.
Пример:
If(x > 0) write(*,*) ’x is positive'
Оператор If...Then
Оператор применяется, если при выполнении условия нужно выполнить несколько операторов.
[имя:] If (логическое выражение) then
Блок действий
Endif [имя]
Ключевое слово thenпишется в той же строке, что и логическое выражение.
Изображение данного оператора на блок-схеме:
Блок действий может содержать произвольное число любых исполняемых операторов (простых и составных), кроме оператораEnd. Этот блок будет выполняться, еслилогическое выражениеистинно, и не будет выполняться, если оно ложно.
Пример:
Обмен значениями переменных xиyприx < y.
replace: If(x < y)then
t = x
x = y
y = t
Endif replace
Обратите внимание на использование имени оператора.
Оператор If...Then...Else
Если необходимо выполнить альтернативные действия, конструкция If...thenможет быть расширена блоком else:
If(логическое выражение)then
Блок true
Else
Блок false
Endif
Внимание! Ключевое словоthenпишется в той же строке, что и логическое выражение, ключевое словоelse– в отдельной строке. Если нет «блока false», то иelseлучше не писать.
Изображение данного оператора на блок-схеме:
В такой конструкции при выполнении условия, заданного логическим выражением, выполняетсяБлок true, если условие не выполняется –Блок false.
Пример:
If(x>=0)then
y = sqrt(x)
Write(*,*)’x= ’, x, ’ y= ’, y
Else
Write(*,*)’x= ’, x, ’ x<0, y не определен’
Endif