Исправьте ошибки (три) в программе. Корректно ли использование типов переменных в программе? Можно ли ограничиться только одним циклом?



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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!