Исправьте ошибки в программе. Корректно ли использование типов переменных в программе?



Какие подпрограммы-функции используются в программе?

1 2 3 4 5 6 7-72
С   Программа. Максимум и минимум функции
3   WRITE(*,*)’ Введите A,B,C’
            READ(*, *) A,B,C
        WRITE(*,*)’Введите значения Хнач, Хкон, шаг dx’
  READ(*,*) XN,XK,XD       
  N=(XK-XN)/XD+1.
        DX=(XK-XN)/(N-1)
          P=(A-B)/(C-A)
            IF (P.LT.0.) GO TO 3
            FMA=-1.E30
          FMI=1.E30
            DO 4 X=XN , XK , DX
            S = SIN((X-1.)**(1./3.)+EXP(2.*X))**2
            F=SQRT(P*S)
            IF(F.GT.FMA) FMA=F 
            FMI=AMIN1(FMI,F)
      4     IF(F.GT.0.) WRITE(*,*)’ При x=’,X,’ MU=’,F
          PAUSE
            STOP
            END

 


 

Задача №7 Сортировка массива. Одномерный массив А(200) отсортировать по убыванию

Объясните логику программы. Напишите комментарий к каждому оператору программы.

Сколько циклов необходимо сделать для того чтобы отсортировать массив?

Нарисуйте алгоритм программы.

Что надо изменить в программе, чтобы этой программой можно было сделать сортировку по возрастанию?

 

1 2 3 4 5 6 7-72
  REAL A(200)
  WRITE(*,*)’ ’Введите количество элементов массива А и их значения
            READ(*,*) N,(A(I),I=1,N)
        DO 8 J=1,N–1
  DO 7 I=1,N–1
  IF(.NOT.(A(I+1).GT.A(I))) GO TO 7
        B=A(I)
          A(I)=A(I+1)
            A(I+1)=B
        7   CONTINUE
      8   CONTINUE
            WRITE(*,*)’Отсортированный массив:’
            DO 28 I=1,N,2
      2 8   WRITE(*,*) ’A(‘,I,’)=’,A(I),’         A(‘,I+1,’)=’,A(I+1)
          PAUSE
            STOP
            END

 


 

Задача №8Найти минимальное значение массива А и порядковый номер этого элемента.

Восстановите оператор, определяющий логику программы. Дайте комментарий к каждому оператору программы. Изобразите алгоритм программы.

1 2 3 4 5 6 7-72
  DIMENSION A(20)
  READ(*,*)A
            NC=1
        C=A(1)
  DO 4 I=2,20
  IF (A(I).GE.C) GO TO 4
        C=A(I)
          NC=I
        4   CONTINUE
            WRITE(*,*)’ Минимальное значение имеет элемент под номером ',NC
            WRITE(*,*)’Это значение  равно ’,C
          PAUSE
            STOP
            END

 


 

Задача №9Вычислить:    , используя для вычисления суммы и максимального значения массива подпрограммы-функции. Объясните логику программы. Напишите комментарий к каждому оператору программы.

1 2 3 4 5 6 7-72
с Головная программа
DIMENSION A(10),B(20),C(15)
READ (*,*) A,B,C
BET=SUMF(A,10)/FMAX(A,10)-SUMF(B,20)/FMAX(B,20)
* *+2.*SUMF(C,15)/FMAX(C,15)**2
WRITE(*,*)‘Бета =’,BET
PAUSE
STOP
END
С Подпрограмма-функция SUMF
FUNCTION SUMF(X,N)
DIMENSION X(100)
SUMF=0.
DO 2 I=1,N
2 SUMF=SUMF+X(I)
RETURN
END
С Подпрограмма-функция FMAX
FUNCTION FMAX(X,N)
DIMENSION X(N)
FMAX=X(1)
DO 3 I=2,N
3 FMAX=AMAX1(FMAX,X(I))
RETURN
END

 

Задача №10 Найти значение b из выражения . При составлении программы использовать подпрограмму SUBROUTINE для вычисления: максимального элемента массива, минимального элемента массива, суммы квадратов элементов массива. Объясните логику программы. Напишите комментарий к каждому оператору программы.

1 2 3 4 5 6 7-72
с Головная программа
DIMENSION A(10)
READ (*,*) A
CALL MAMIS(A,10,ASUM,AMA,AMI)
BET=SIN(ASUM/(AMA–AMI))
CALL MAMIS(B,20,BSUM,BMA,BMI)
BET=BET+COS(BSUM/(CMA+CMI))**2
WRITE(*,*)‘Бета =’,BET
PAUSE
STOP
END
С Подпрограмма MAMIS
SUBROUTINE MAMIS(A,N,SUM2,MAX,MIN)
REAL MAX,MIN
DIMENSION A(N)
SUM2=A(1)**2
MAX=A(1)
2 MIN=A(1)
DO 3 I=2,N
SUM2=SUM2+A(I)**2
IF(A(I).GT.MAX) MAX=A(I)
MIN=AMIN1(A(I),MIN)
RETURN
END

 


Дата добавления: 2018-02-15; просмотров: 343; Мы поможем в написании вашей работы!

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






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