Информатика: Сегментация программ. Гурьяшова Р.Н - 63 стр.

UptoLike

CALL PD(X,XS)
CALL PD(Y,YS)
PRINT 3, XS,YS
FORMAT(1X,' ИСК3 ОМАЯ ТОЧКА ( ' &
3.0,' ) ')
BROUTINE PD(Z,REZ)
EN
; P = P*Z(I)
п PD
зов п/п PD
дпрограмма
кл
ение
,F3.0,' ; ',F
END
дпрограмма PD ! По
SU
COMMON /A/ N
REAL :: Z(N),P,REZ
N,K INTEGER :: I,
P = 1 ; K = 0
DO I = 1,N
) TH IF(Z(I) < 0
+ 1 K = K
END IF
END DO
REZ = P/K
TINE END SUBROU
ызов п/В
Вы
Вывод
езультата р
По
Ци
Вычисл
,K P
Примечание. Конструкция
COMMON /A/ N
назы м, где Аимя блока. Fortran не разрешает
и еременные непоименованных общих блоков.
вается именованным общим блоко
нициализировать п
INTEGER :: N = 5
4. Макет печати результатов (по Fortran-программе)
ИСХОДНЫЕ ДАННЫЕ
КОЛИЧЕСТВО ТОЧЕК N = 5
КООРДИНАТЫ ТОЧЕК
4. 0. -2. 5. -2.
-2. )
5. -1. 1. -2. -3.
ИСКОМАЯ ТОЧКА ( 2. ;
63
      CALL PD(X,XS)                                   Вызов п/п PD
      CALL PD(Y,YS)                                   Вызов п/п PD

    PRINT 3, XS,YS                                    Вывод
 3  FORMAT(1X,' ИСКОМАЯ ТОЧКА ( ' &                   результата
       ,F3.0,' ; ',F3.0,' ) ')
 END

 ! Подпрограмма PD
    SUBROUTINE PD(Z,REZ)                              Подпрограмма
       COMMON /A/ N
       REAL :: Z(N),P,REZ
       INTEGER :: I,N,K
       P = 1 ; K = 0
       DO I = 1,N                                     Цикл
          IF(Z(I) < 0) THEN
             K = K + 1 ; P = P*Z(I)                   Вычисление
          END IF                                      P,K
       END DO
       REZ = P/K
    END SUBROUTINE
     П р и м е ч а н и е . Конструкция
 COMMON /A/ N
называется именованным общим блоком, где А – имя блока. Fortran не разрешает
инициализировать переменные непоименованных общих блоков.
 INTEGER :: N = 5


       4. Макет печати результатов (по Fortran-программе)

                         ИСХОДНЫЕ ДАННЫЕ
                       КОЛИЧЕСТВО ТОЧЕК N = 5
                          КООРДИНАТЫ ТОЧЕК
                         4. 0. -2. 5. -2.
                         5. -1. 1. -2. -3.
                       ИСКОМАЯ ТОЧКА (        2. ; -2. )




                                         63