Написание программы, реализующей на языке ФОРТРАН ввод нового треугольника, вычисление минимального угла в градусах (Лабораторная работа № 1. Вариант 6), страница 2

c------------------------------------------------------------------------------------------------------------------------------------   

      subroutine ugol(x1,y1,x2,y2,x3,y3,c,d)

      common /rez/s,a,cosa

      cosa=((x1-x2)*(x3-x2)+(y1-y2)*(y3-y2))/(c*d)

      end

c------------------------------------------------------------------------------------------------------------------------------------

c   основная процедура вычисления косинуса угла:сравнением длин сторон треугольника

c   находится наименьший угол и для него вызывается вспомогательная процедура  

c------------------------------------------------------------------------------------------------------------------------------------  

      subroutine cos

      common /tre/x1,x2,x3,y1,y2,y3

      common /rez/s,a,cosa

      b=sqrt((x1-x3)**2+(y1-y3)**2)

      c=sqrt((x3-x2)**2+(y3-y2)**2)

      d=sqrt((x1-x2)**2+(y1-y2)**2)

       if (b.lt.c)then

        if(b.lt.d) then

         call ugol(x1,y1,x2,y2,x3,y3,c,d)

         else

          call ugol(x1,y1,x3,y3,x2,y2,b,c)

         end if

      else

            if (c.lt.d)then

            call ugol(x3,y3,x1,y1,x2,y2,d,b)

            else

            call ugol(x1,y1,x3,y3,x2,y2,b,c)

            end if

      end if   

      end

c------------------------------------------------------------------------------------------------------------------------------------

c   процедура вычисления наименьшего угла использует функции арккосинуса и основную

c   процедуру вычисления косинуса искомого угла, значение угла вычисляется в градусах

c------------------------------------------------------------------------------------------------------------------------------------     

      subroutine minugol

      common /rez/s,a,cosa

      parameter(pi=3.1415927)

      a=acos(cosa)

      a=((a*180)/pi)

      print *,a

      end

c------------------------------------------------------------------------------------------------------------------------------------

c   основная программа

c--------------------------------------------------------------------------------------------------------------------------------------     

      program main

      common /tre/x1,x2,x3,y1,y2,y3

      common /rez/s,a,cosa

        i=0

        j=0

c------------------------------------------------------------------------------------------------------------------------------------

c   меню пользователя

c------------------------------------------------------------------------------------------------------------------------------------      

      while(i.lt.5)do

      print *,'Menu:  1-Enter the new triangle;'

      print *, '2-the square;'             

      print *, '3-the minimal corner;'

      print *, '4-the cosinus of the minimal corner;'

      print *, '5-the output;'

      read *,i

      select case(i)

      case(1)

      call vvod (j)

      case(4)

      if (j.eq.2)then

      print *,cosa

      else

            if(j.eq.1)then