print *,ugl_v
goto 7
4 if(cos_v.LT.0) call Rmin_cos()
print *,cos_v
goto 7
*_попытка считать пустоту
90 print *,"Treugol'nik eshhjo ne zadan!!!"
goto 7
5 end
*_вводим новый треугольничек
subroutine vvod()
common /treug/a, alfa, beta, pi, s_v, cos_v, ugl_v
logical fl
print *,"\nVvod novogo treugol'nika:"
*_ложь-значит, есть ошибка!
111 fl=.true.
print *,"Vvedite storonu A:"
read *,a
print *,"Vvedite ugol Alfa(protevolezhashhij A):"
read *,alfa
print *,"Vvedite ugol Beta:"
read *,beta
if(a.LE.0.OR.alfa.LE.0.OR.beta.LE.0.OR.
* (alfa+beta).GE.180) fl=.false.
if(fl) return
print *,"Oshibka!!! Poprobujte vvesti drugie dannye!"
goto 111
end
*_вычисление площади
subroutine Rploshad()
common /treug/a, alfa, beta, pi, s_v, cos_v, ugl_v
print *,"!"
s_v=a**2*sin((alfa+beta)*pi)*sin(beta*pi)/(2*sin(alfa*pi))
end
*_вычисление минимального угла
subroutine Rmin_ugl()
common /treug/a, alfa, beta, pi, s_v, cos_v, ugl_v
print *,"!"
ugl_v=180-alfa-beta
if(ugl_v.GT.alfa) ugl_v=alfa
if(ugl_v.GT.beta) ugl_v=beta
end
*_вычисление косинуса минимального угла
subroutine Rmin_cos()
common /treug/a, alfa, beta, pi, s_v, cos_v, ugl_v
print *,"!"
if(ugl_v.LT.0) call Rmin_ugl()
cos_v=cos(ugl_v*pi)
end
5.Набор тестов:
I. Ввод нового треугольник -> A=10, =30,
=-30
Ошибка в исходный данных!
II. Ввод нового треугольник -> A=0, =30,
=30
Ошибка в исходный данных!
III. Косинус минимального угла
Ошибка! Треугольник еще не введен!
VI. Ввод нового треугольник -> A=10, =30,
=60
S= 86.60254
min= 30.00000 cos(min
)=0.8660254
(выч. S=586,602540 cos
(min
)=0,86602540)
V. Ввод нового треугольник -> A=10, =60,
=30
S= 28.86751
min= 30.00000 cos(min
)=0.8660254
(выч. S28,8675134
cos (min
)=0,86602540)
VI. Ввод нового треугольник -> A=0.0001, =0.00001,
=0.00009
S=7.8539815E-14 min=9.9999997E-06 cos(min
)= 1.000000
(выч.
S7.8539816 *10
min
=
cos
(min
)=0,999999999999)
VII. Ввод нового треугольник -> A=79.5341, =89.999,
=89.999
S= 0.1104202
min=1.9989014E-03 cos(min
)= 1.000000
(выч.
S0.1104038 min
=0.002 cos
(min
)=0,9999999993)
VIII. Ввод нового треугольник -> A=79.5341, =89.999,
=89.999
S= 0.1104202
min=1.9989014E-03 cos(min
)= 1.000000
(выч.
S0.1104038 min
=0.002 cos
(min
)=0,9999999993)
IX. Ввод нового треугольник -> A=0.02, =75,
=75
S= 9.9999997E-05 min= 30.00000 cos(min
)= 0.8660254
(выч.
S=0.25*A=0.0001 min
=30
cos (min
)=0,86602540)
X. Ввод нового треугольник -> A=12.3456, =128.901,
=24.444
S= 18.17839 min= 24.44400 cos(min
)= 0.9103662
(выч.
S=18.1789925 min= 24.444 cos
(min
)=0.9103662)
XI. Ввод нового треугольник -> A=321.123, =179.9,
= 0.01
S= 8.099092
min= 9.9999998E-03
cos(min
)= 1.000000
(выч.
S=8.0990251 min= 0.01 cos
(min
)=0,9999999847)
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.