Advertisement
Heart_Under_Blade

Untitled

Feb 14th, 2022
1,279
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/ Alpha, A, B
  9.       common /angles/ Betta, 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.       real A, B, Alpha, PI, degToRad, RadToDeg
  37.       common /degree/degToRad, RadToDeg
  38.       common /const/PI
  39.       common /Global/ Alpha, A, B
  40.       write (*,*) 'input A'
  41.       read (*,*) A
  42.       write (*,*) 'input B'
  43.       Read (*,*) B
  44.       write (*,*) 'input Alpha'
  45.       Read (*,*) Alpha
  46.       Alpha = Alpha*degToRad
  47.       return
  48.       end
  49.  
  50.       real function area_triangle()
  51.       real PI
  52.       real A, B
  53.       real Alpha, Betta, Gamma
  54.       real temp
  55.       common /const/PI
  56.       common /Global/ Alpha, A, B
  57.       common /angles/ Betta, Gamma
  58.       write (*,*) 'proba'
  59.       temp=sin(Alpha)
  60.       print *, 'proba',temp
  61.       temp=temp*B/A
  62.       print *, '', temp
  63.       print *, '', B/A*temp
  64.       if(abs(temp).LE.1) then
  65.             Betta = Asin(temp)
  66.             Gamma = PI - Alpha - Betta
  67.             area_triangle = A*B*sin(Gamma)/2
  68.       else
  69.             write (*,*) 'incorrect valiabel'
  70.       endif
  71.       return
  72.       end
  73.      
  74.       real function min_ang()
  75.       real Alpha, Betta, Gamma, degToRad, RadToDeg
  76.       real A, B
  77.       common /Global/ Alpha, A, B
  78.       common /angles/ Betta, Gamma
  79.       common /degree/degToRad, RadToDeg
  80.       real PI
  81.       common / const/ PI
  82.       if(Alpha.LT.Betta) then
  83.             if(Alpha.LT.Gamma) then
  84.                   min_ang = Alpha/degToRad
  85.             else if(Gamma.LE.Alpha) then
  86.                   min_ang = gamma*RadToDeg
  87.                   endif
  88.       else if(Betta.LE.Alpha) then
  89.             if(Betta.LT.Gamma)then
  90.                   min_ang=Betta*RadToDeg
  91.             else if(Gamma.LE.Betta) then
  92.                   min_ang=gamma*RadToDeg
  93.             endif
  94.       endif
  95.       return
  96.       end
  97.  
  98.       real function cos_min_ang()
  99.       real min_ang
  100.       real PI, degToRad, RadToDeg
  101.       common / degree / degToRad, RadToDeg
  102.       common / const/ PI
  103.       cos_min_ang=cos(min_ang()*degToRad)
  104.       return
  105.       end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement