Лабораторный практикум по информатике. Гурьяшова Р.Н - 14 стр.

UptoLike

14
4.
Макет печати (по C-программе)
Как видно, результаты ручного и машинного расчётов совпадают.
5. Листинг Fortran-программы
Программный код
!
Разветвленный алгоритм
PROGRAM
VETVI3
REAL
:: A,B,C,Z ! Объявление типа данных
! Ввод данных по запросу с экрана
PRINT
*,' Введите A,B,C ?'
READ
(*,*)A,B,C
IF
(C > B)THEN ! Если C > B
!
Вычисление Z = MIN(A,B*MAX(2*A,C**2))
Z = C ** 2
IF(2*A > Z) Z = 2*A
Z = B * Z
IF(A < Z) Z = A
ELSE
! Иначе если C <= B
! Вычисление
Z = C + MIN(A,B)
IF(A /= 1)THEN ! Если A 1
Z = B
IF(A < Z) Z = A
Z = C + Z
ELSE ! Иначе, если A = 1
! Вычисление
Z = C*MAX(2*B,%
|
8
|
)
Z = SQRT(ABS(A))
IF(2*B > Z) Z = 2*B
Z = C * Z
ENDIF
ENDIF
!
Вывод данных A, B, C и результата Z
WRITE
(*, 3) A,B,C,Z
3 FORMAT
(2X,' A = ',F3.0,' B = ',F3.0, &
' C = ',F3.0/ ' РЕЗУЛЬТАТ Z = ',F3.0)
END
Результаты приведены в макете печати в п.4.
             4. Макет печати (по C-программе)




  Как видно, результаты ручного и машинного расчётов совпадают.
                5. Листинг Fortran-программы
                       Программный код
! Разветвленный алгоритм
PROGRAM VETVI3
REAL :: A,B,C,Z ! Объявление типа данных
! Ввод данных по запросу с экрана
! числа при вводе разделяются пробелом
PRINT *,' Введите A,B,C ?'
READ(*,*)A,B,C
IF(C > B)THEN         ! Если C > B
! Вычисление Z = MIN(A,B*MAX(2*A,C**2))
    Z = C ** 2
   IF(2*A > Z) Z = 2*A
   Z = B * Z
    IF(A < Z) Z = A
ELSE                  ! Иначе если C <= B
! Вычисление Z = C + MIN(A,B)
      IF(A /= 1)THEN ! Если A ≠ 1
         Z = B
         IF(A < Z) Z = A
         Z = C + Z

! Вычисление Z = C*MAX(2*B, %|8|)
      ELSE            ! Иначе, если A = 1

         Z = SQRT(ABS(A))
         IF(2*B > Z) Z = 2*B
         Z = C * Z
      ENDIF
ENDIF
! Вывод данных A, B, C и результата Z
WRITE (*, 3) A,B,C,Z
3 FORMAT(2X,' A = ',F3.0,' B = ',F3.0,             &
    ' C = ',F3.0/ ' РЕЗУЛЬТАТ Z = ',F3.0)
END
  Результаты приведены в макете печати в п.4.
                             14