Исправьте ошибки (три) в программе. Корректно ли использование типов переменных в программе? Можно ли ограничиться только одним циклом?
Nbsp;
Задачи с ошибками ФОРТРАН
Задача №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=sinx2-excos2x,
если 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. Определить максимальное и минимальное значения.
Дата добавления: 2018-02-15; просмотров: 387; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!