Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
77
Добавлен:
12.04.2015
Размер:
536.58 Кб
Скачать

Условный блочный оператор

Условный блочный оператор имеет следующий общий вид:

IF (ЛВ) THEN

………………

………………

ELSE

……………

……………

……………

END IF

В этом операторе условие разветвления записывается в виде логического выражения (ЛВ), которое может принимать лишь два значения: .TRUE. (ИСТИНА) или .FALSE. (ЛОЖЬ) в зависимости от значений величин, входящих в логическое выражение. Т.е. правила те же, что и в условном логическом операторе. В вычислительных задачах условие чаще всего представляет сравнение числовых величин или арифметических выражений.

Блочный оператор применяется, если по алгоритму задачи требуется разделение вычислений на две ветви. Если ЛВ истинно (или как еще говорят, ЛВ выполняется), то выполняются операторы ветви 1, а операторы ветви 2 пропускаются. Если ЛВ ложно (или как еще говорят, ЛВ не выполняется), то выполняются операторы ветви 2, а операторы ветви 1 пропускаются.

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

IF (ЛВ) THEN

…………

……………

……………

END IF

Перепишем программы примеров 2 и 3 с использованием условного блочного оператора:

Пример 2.

PRINT *, “Vvedite dva chisla” ! поясняющий текст

READ *, A, B ! ввод значений переменных A и B

! начало условного блочного оператора 1 (обход)

IF (A = = B) THEN

PRINT *, “Chisla ravny: A = B !”

EXIT ! досрочное завершение программы

ENDIF ! конец условного блочного оператора 1

! начало условного блочного оператора 2 (разветвление)

IF (A > B) THEN

max=A ! операторы ветви 1

ELSE

max=B ! операторы ветви 2

ENDIF ! конец условного блочного оператора 2

PRINT *, ‘max=’, max ! вывод результата

END ! конец программы

Пример 3.

PROGRAM MINIMUM ! название программы

print *, “Vvod x1, x2, x3” ! поясняющий текст

read *, x1, x2, x3 ! ввод значений переменных

Xmin = x1

if (Xmin > x2) then ! начало 1 ветви условного блочного оператора

Xmin = x2

else ! начало 2 ветви условного блочного оператора

Xmin = x3

endif ! конец условного блочного оператора

print *, “Xmin =”, Xmin ! вывод результата

END ! конец программы

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

Соседние файлы в папке Лекции_фортран_текст