Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Consp_p1.rtf
Скачиваний:
12
Добавлен:
22.08.2019
Размер:
7.3 Mб
Скачать

10. If логический

Записывается в виде:

If(логическое выражение) выполняемый оператор

Пример:

IF(A.GT.B) Y=SIN(X) Если А больше В то Y присвоить значение sin(x)

В качестве выполняемых операторов могут быть:

1). Операторы присваивания типа Х=3.5;

2). Операторы ввода – вывода информации READ,WRITE;

3). Оператор перехода GO TO;

4). Оператор вызова подпрограммы CALL;

5). Оператор PAUSE.

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

Операции отношения соответствуют математическим обозначениям:

.GT. >

.GE.

.EQ. =

.NE.

.LE.

.LT. <

Рассмотрим, что значит выражение:

IF(A.GT.B) Y=SIN(X)

Это означает: если А больше В, то Y присваивается синус от Х. Затем после этого оператора будет выполнятся следующий за ним. Если А не больше В, то оператор присваивания Y= игнорируется и выполняется оператор, следующий после IF.

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

Логические операторы:

.AND. – логическое ‘И’

.OR. – логическое ‘ИЛИ’

.NOT. – логическое ‘НЕТ’

Пример:

если a+b≥с>2*sin x, то напечатать a,b,x

IF(A+B.GE.C.AND.C.GT.2.*SIN(X)) WRITE(6, *) A,B,X

IF логический работает следующим образом:

1). Определяется логическое выражение, стоящее в скобках. Это логическое выражение может быть истинно и иметь значение .TRUE. или может быть ложным и иметь логическое значение .FALSE.. Если логическое выражение в скобках истинно, то выполняется выполняемый оператор, стоящий за скобками оператора IF. Если логическое выражение в скобках ложно, то выполняемый оператор не выполняется. Как в первом, так и во втором случае после IF логического выполняется следующий за ним по тексту программы оператор, за исключением случая, когда логическое выражение истинно, а выполняемым оператором является GO TO. (Пример: IF(A.GT.0.) GO TO 7).

Задача: Вычислить значение в зависимости от данных условий.

Преобразуем неравенство x > 2b к виду сравнения с нулем

x – 2b > 0

x = 2b -> x - 2b = 0

x < 2b -> x - 2b < 0

С Программа № 3 с IF арифметическим

REAL LAM

В этой строке переменная LAM описывается как переменная вещественного типа.

Если не сделать этого описания, а использовать в программе переменную LAM, то из-за несоответствия типов (LAM – целого типа, а используется как вещественного) будет возникать ошибка. У этой переменной не может быть дробной части.

WRITE(6,*)’Введите значения x,b

READ(5,*) X,B

IF(X-2.*B) 4,7,8 Сравниваем условие и переходим на одну из меток

8 LAM=SIN(X)

GO TO 10

7 LAM=0.

GO TO 10

4 LAM=COS(X)

10 WRITE(6,*)’Вычисленное значение Лямбда=’,LAM

PAUSE

STOP

END

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]