Исправьте ошибки (три) в программе. Корректно ли использование типов переменных в программе? Можно ли ограничиться тольк о одним циклом?
Задачи с ошибками ФОРТРАН
Задача №1а
Вычислить следующие выражения, используя оператор-функцию:
В какой последовательности вычисляются значения выражений F и Q . Найдите ошибки в программе, если они есть. Представьте алгоритм программы.
1 | 2 | 3 | 4 | 5 | 6 | 7-72 |
C | оператор-функция FOP ( Z , T ) | |||||
FOP(Z,T)=SQRT(Z*Z+T*T) | ||||||
RETURN | ||||||
END | ||||||
С | Основная программа | |||||
WRITE(*,*)'Введите исходные данные' | ||||||
READ(*,*) A,B,X,Y | ||||||
D=FOP(A,B) | ||||||
E=FOP(A,D)+FOP(D,B)*2. | ||||||
F=FOP(A,3.5*FOP(E,A)) | ||||||
Q= FOP(F,FOP(SIN(X),COS(Y))) . | ||||||
WRITE(*,*)'D=',D,' E=',E,' F=',F,' Q=',Q | ||||||
PAUSE | ||||||
STOP | ||||||
END |
Задача №1б
Вычислить следующие выражения, используя оператор-функцию:
В какой последовательности вычисляются значения выражений F и Q . Найдите ошибки в программе, если они есть. Представьте алгоритм программы.
1 | 2 | 3 | 4 | 5 | 6 | 7-72 |
FOP(Z,T)=SQRT(Z*Z+T*T) | ||||||
4 | WRITE(*,*)'Введите исходные данные' | |||||
READ(*,*) A,B,X,Y | ||||||
D=FOP(A,B) | ||||||
2 | 0 | E=FOP(A,D)+2FOP(D,B). | ||||
2 | 1 | F=FOP(A,3.5*FOP(E,A)) | ||||
2 | 2 | Q= FOP(F,FOP(SIN(X),COS(Y))) . | ||||
WRITE(*,*)'D=',D,' E=',E,' F=',F,' Q=',Q | ||||||
PAUSE | ||||||
8 | STOP | |||||
END |
|
|
Задача №1в
Вычислить следующие выражения, используя оператор-функцию:
В какой последовательности вычисляется значение выражений F . Правильно ли записана строка вычисления Q . Запишите строку вычисления Q с помощью оператора-функции FOP ( Z , T ).Найдите ошибки в программе, если они есть. Представьте алгоритм программы.
1 | 2 | 3 | 4 | 5 | 6 | 7-72 |
FOP(Z,T)=SQRT(Z*Z+T*T) | ||||||
WRITE(*,*) Введите исходные данные | ||||||
READ(*,*) A,B,X,Y | ||||||
D=FOP(A,B) | ||||||
E=FOP(A,D)+FOP(D,B)*2. | ||||||
F=FOP(A,3.5*FOP(E,D)) | ||||||
Q= SQRT(F*F+SIN(X)**2+COS(Y)**2). | ||||||
WRITE(*,*)'D=',D,' E=',E,' F=',F,' Q=',Q | ||||||
PAUSE | ||||||
8 | STOP | |||||
END |
Задача № 2 Программа, в которой при помощи IF арифметического проверяется условие: если самая длинная сторона больше чем полупериметр, то треугольник не существует.
|
|
Найдите ошибки в программе, если они есть. Какая теорема используется в программе. Какие подпрограммы-функции используются в программе. Представьте алгоритм программы.
1 | 2 | 3 | 4 | 5 | 6 | 7-72 |
С | Программа – Вычисление площади треугольника. При помощи IF арифметического проверяется условие существования треугольника | |||||
4 | WRITE (*,*)’ Введите значения сторон треугольника A , B , C ’ | |||||
READ(*, *) A,B,C | ||||||
IF ( A ) 4,4,20 | ||||||
2 | 0 | IF ( B ) 4,4, 22 | ||||
2 | 1 | IF ( C ) 4,4,22 | ||||
2 | 2 | P=(A+B+C)/2. | ||||
IF(AMAX1 (A,B,C)–P) 6,8,9 | ||||||
8 | WRITE (*,*)’ Площадь треугольника равна нулю’ | |||||
GO TO 4 | ||||||
6 | S=SQRT(P*(P-A)*(P-B)*( С -P)) | |||||
WRITE(*,*)’ Площадь S=’, S | ||||||
PAUSE | ||||||
GO TO 4 | ||||||
9 | WRITE (*,*)’ Такой треугольник не существует’ | |||||
STOP | ||||||
END |
|
|
Задача №3: Вычислить значение в зависимости от данных условий
Исправьте ошибки в программе
1 | 2 | 3 | 4 | 5 | 6 | 7-72 |
С | Программа с IF | |||||
Integer x , b | ||||||
WRITE (*,*)’Введите значения x , b ’ | ||||||
READ (*,*) 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 (*,*)’Вычисленное значение Лямбда=’, LAM | |||||
PAUSE | ||||||
STOP | ||||||
END |
Задача №4:
Вычислить и напечатать все значения функции:
f = sinx 2 - excos 2 x ,
если x изменяется в пределах от а до b с шагом dx.
Исправьте ошибки в программе. Объясните необходимость корректировки шага
Нарисуйте алгоритм программы.
1 | 2 | 3 | 4 | 5 | 6 | 7-72 |
С | Программа. Цикл с оператором IF. | |||||
WRITE (*,*)’Введите X нач , X кон , шаг цикла DX ’ | ||||||
READ(*, *) XN , XK , DX | ||||||
С | Блок корректировки шага | |||||
N=( XK- XN)/ DX+1 | ||||||
DX=( XK- XN)/( N-1)) | ||||||
X = XN | ||||||
1 | 1 | F=SIN(X)**2–EXP(X)*COS(X)**2. | ||||
WRITE (*,*)’При Х=’, X ,’ значение функции равно’, F | ||||||
X = X + DX | ||||||
IF(X.LE. XN) GO TO 11 | ||||||
WRITE(*,*)’ Площадь S=’, S | ||||||
PAUSE | ||||||
STOP | ||||||
END |
|
|
Задача №5 По введенному значению n вычислить n! (факториал от n) и вычислить сумму квадратов, используя оператор цикла DO.
Исправьте ошибки (три) в программе. Корректно ли использование типов переменных в программе? Можно ли ограничиться тольк о одним циклом?
1 | 2 | 3 | 4 | 5 | 6 | 7-72 |
С | Программа. Вычисление суммы и факториала от N | |||||
WRITE (*,*)’ Введите N ’ | ||||||
READ(*, *) N | ||||||
DO 2 I=1,N,1 | ||||||
S=S+I**2 | ||||||
2 | CONTINUE | |||||
P=N | ||||||
DO 3 I = N , 1 , -1 | ||||||
3 | P = P * I | |||||
WRITE(*,*)’ Сумма S=’,S,’ факториал =’,P | ||||||
PAUSE | ||||||
STOP | ||||||
END |
Задача№6: Найти все значения функции ,если x изменяется в пределах: X= XH XK c шагом dx. Определить максимальное и минимальное значения.
Дата добавления: 2022-12-03; просмотров: 105; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!