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).
Ссылка на скачивание - внизу страницы.