С Программа № 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
70% ошибок у программистов возникает из-за несоответствия типов переменных!.
Ошибки вроде и пустяковые, но из-за них может не заработать даже абсолютно правильно составленная программа. И на устранение ошибки может уйти достаточно много времени. Обратите внимание!
Как и все программы, эта программа может быть составлена большим количеством разных способов. Приведём другой способ решения этой же задачи.
С Программа № 4 с использованием IF логического
REAL LAMВместо описания имена LAM как вещественного типа можно задать другое имя, которое не будет начинаться на буквы I,J,K,L,M,N, например ALAM
WRITE(6,*)’Введите значения x,b’
READ(5,*) X,B
IF(X.GT.2.*B) LAM=SIN(X)
IF(X.EQ.2.*B) LAM=0.
IF(X.LT.2.*B) LAM=COS(X)
WRITE(6,*)’Вычисленное значение Лямбда=’,LAM
PAUSE
STOP
END
Лучше ещё ввести новую переменную и присвоить ей выражение 2.*В и далее использовать эту переменную:
……….
A=2.*B
IF(X.GT.A) LAM=SIN(X)
Кстати, вместо первого оператора IF(X.GT.2.*B) LAM=SIN(X)можно просто записатьLAM=SIN(X). Проанализируйте программу и убедитесь, что она будет работать правильно. Проанализируйте, что произойдет, если таким же образом заменить последний оператор IF.
Дата добавления: 2015-06-10; просмотров: 824;