Инструкция if тя има следния формат



Дата13.06.2017
Размер14.62 Kb.
#23466
Логическа инструкция IF

Тя има следния формат:

IF (s) p

Където s е логически израз, a p е изпълнима инструкция, ако s е вярно. Един от видовете логически израз е сравняването на две величини. Общият му вид е:

W1 оператор за сравняване W2;

Операторите за сравняване са следните:

.EQ. - равно;

.LT. - по-малко;

.GT. - по-голямо;

.LE. - по-малко или равно;

.GE. - по-голямо или равно;

.NE. - не е равно;

Логическите изрази могат да се обединяват с логическите оператори .AND., .OR., .NOT., .EQV., .NEQV.

Примери:

IF (A.GT.B) GO TO 100

IF (I.LT.50) I=I+1

IF (A.LT.100.AND.A.GT.50) B=B+A



Структурна инструкция IF

Тя има вида:

IF (L) THEN

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

ELSE IF (L) THEN

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

ELSE

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



END IF

където L е логически израз



Пример:

IF (A.GT.5.2) THEN

B=A**2

ELSE IF (A.LT.5.2) THEN



B=A/3.

ELSE


B=A/2.

END IF


Подпрограма SUBROUTINE и инструкция CALL

Връща повече от едно значение в извикващата я програма. Структурата и е следната:

SUBROUTINE name (argument list)

....


RETURN

....


END
Задача1: Изпълнете долната програма за решаване на квадратно уравнение. Нека коефициентите A,B,C се въвеждат от клавиатурата.

PROGRAM FINDROOTS

REAL A,X1,X2,B,C

CALL ROOTS(10.,19.,5.,X1,X2)

WRITE(*,*) 'X1=', X1, 'X2=', X2

PAUSE


STOP

END
SUBROUTINE ROOTS(A,B,C,X1,X2)

REAL D

D=B**2-4.0*A*C



IF (D.LT.0.0) CALL ERROR

D=SQRT(D)

X1=(-B+D)/(2.*A)

X2=(-B-D)/(2.*A)



RETURN

END
SUBROUTINE ERROR



WRITE (*,*) 'The roots are complex'

END
Задача 2.Напишете програма, в която от клавиатурата се набират три числа. В отделна подпрограма се определя най-голямото число и се извежда на екрана.


Сподели с приятели:




©obuch.info 2024
отнасят до администрацията

    Начална страница