Advertisement
Heart_Under_Blade

Prog1

Feb 15th, 2022
1,253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.       program main
  2.       implicit none
  3.       real A, B, Alpha, Betta, Gamma, degToRad, RadToDeg, PI
  4.       real area_triangle
  5.       real min_ang
  6.       real cos_min_ang
  7.       integer ch
  8.       common /Global/ Betta, A, B
  9.       common /angles/ Alpha, Gamma
  10.       common /degree/degToRad, RadToDeg
  11.       common /const/PI
  12.       PI = 3.1415926
  13.       degToRad = PI/180
  14.       RadToDeg = 180/PI
  15.    10 write (*,*) '1 Entering a new triangle'
  16.       write (*,*) '2 Calculated a area triangle'
  17.       write (*,*) '3 Calculated the minimum angle in degree'
  18.       write (*,*) '4 Calculating the cosine of the minimum angle'
  19.       write (*,*) '5 Exit'
  20.       read (*,*) ch
  21.       goto (1,2,3,4,5), ch
  22.       write (*,*) 'wrong argument'
  23.       goto 10
  24.     1 call input_p
  25.       goto 10
  26.     2 print *, 'Triangle area is: ', area_triangle()
  27.       goto 10
  28.     3 print *, 'Minimum angle: ', min_ang()
  29.       goto 10
  30.     4 print *, 'Cosine of the minimum angle: ', cos_min_ang()
  31.       goto 10
  32.     5 stop
  33.       end
  34.  
  35.       subroutine input_p
  36.       implicit none
  37.       real A, B, Betta, PI, degToRad, RadToDeg
  38.       common /degree/degToRad, RadToDeg
  39.       common /const/PI
  40.       common /Global/ Betta, A, B
  41.       write (*,*) 'input A'
  42.       read (*,*) A
  43.       write (*,*) 'input B'
  44.       Read (*,*) B
  45.       write (*,*) 'input Betta'
  46.       Read (*,*) Betta
  47.       Betta = Betta*degToRad
  48.       return
  49.       end
  50.  
  51.       real function area_triangle()
  52.       implicit none
  53.       real PI
  54.       real A, B
  55.       real Alpha, Betta, Gamma
  56.       real temp
  57.       common /const/PI
  58.       common /Global/ Betta, A, B
  59.       common /angles/ Alpha, Gamma
  60.       temp=sin(Betta)*A/B
  61.       if(abs(temp).LE.1) then
  62.             Alpha = Asin(temp)
  63.             Gamma = PI - Alpha - Betta
  64.             area_triangle = A*B*sin(Gamma)/2
  65.       else
  66.             area_triangle = 0
  67.       endif
  68.       return
  69.       end
  70.      
  71.       real function min_ang()
  72.       implicit none
  73.       real Alpha, Betta, Gamma, degToRad, RadToDeg
  74.       real A, B
  75.       common /Global/ Betta, A, B
  76.       common /angles/ Alpha, Gamma
  77.       common /degree/degToRad, RadToDeg
  78.       real PI
  79.       common / const/ PI
  80.       if(Alpha.LT.Betta) then
  81.             if(Alpha.LT.Gamma) then
  82.                   min_ang = Alpha/degToRad
  83.             else if(Gamma.LE.Alpha) then
  84.                   min_ang = gamma*RadToDeg
  85.                   endif
  86.       else if(Betta.LE.Alpha) then
  87.             if(Betta.LT.Gamma)then
  88.                   min_ang=Betta*RadToDeg
  89.             else if(Gamma.LE.Betta) then
  90.                   min_ang=gamma*RadToDeg
  91.             endif
  92.       endif
  93.       return
  94.       end
  95.  
  96.       real function cos_min_ang()
  97.       implicit none
  98.       real min_ang
  99.       real PI, degToRad, RadToDeg
  100.       common / degree / degToRad, RadToDeg
  101.       common / const/ PI
  102.       cos_min_ang=cos(min_ang()*degToRad)
  103.       return
  104.       end
  105.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement