l=((b**2)+(c**2)-(2.0*b*c*cos(w)))**(0.5)
write(*,*) l
a=l
if(b.le.a) a=b
if(c.lt.a) a=c
a=sin(w)*a/l
a=asin(a)
a=a*180.0/3.1415926
end
!вычисляем косинус минимального угола
subroutine co
common/abc/ b,c,w,a
call minW
a=3.1415926*a/180.0
a=cos(a)
write(*,*) a
end
5.Иследование
1) Для обнаружения ситуации переполнения мы вычисляли площадь равностороннего треугольника. Переполнение возникло при длине стороны а = 10. Программа выдала сообщение “Infinity”. При уменьшении длины стороны треугольника до 10 возникла другая особая ситуация. При длине стороны 10 площадь стала равной нулю.
a |
S |
1019 |
4,3301266E+37 |
1020 |
Infinity |
1021 |
Infinity |
a |
S |
10-22 |
4.2038954E-45 |
10-23 |
0 |
10-24 |
0 |
2) Исчезновение порядка не примере вычисления площади, минимального угла и косинус минимального угла прямоугольного треугольника.
a |
b |
S |
α |
cosα |
108 |
108 |
5.0000001E + 15 |
45 |
0.7071068 |
108 |
107 |
4.9999999E + 14 |
5.710594 |
0.9950372 |
108 |
106 |
5.0000000E + 13 |
0.5729387 |
0.9999500 |
108 |
105 |
4.9999999E + 12 |
5.7295758E – 02 |
0.9999995 |
108 |
104 |
5.0000000E + 11 |
5.7295780E - 03 |
1 |
108 |
103 |
4.9999999E + 10 |
5.7295780E – 04 |
1 |
108 |
102 |
5.0000000E + 09 |
5.7295783E – 05 |
1 |
108 |
10 |
5.0000000E + 08 |
5.7295783E – 06 |
1 |
a |
b |
S |
α |
cosα |
10 |
10 |
4.9999999E + 17 |
45 |
0.7071067 |
10 |
10 |
4.9999999E + 16 |
5.710594 |
0.9950372 |
10 |
10 |
5.0000001E + 15 |
0.5729387 |
0.9999500 |
10 |
10 |
4.9999999E + 14 |
5.7295758E – 02 |
0.9999995 |
10 |
10 |
4.9999999E + 13 |
5.7295780E - 03 |
1 |
10 |
10 |
4.9999999E + 12 |
5.7295780E – 04 |
1 |
10 |
10 |
5.0000000E + 11 |
5.7295783E – 05 |
1 |
10 |
10 |
4.9999999E + 10 |
5.7295783E – 06 |
1 |
10 |
10 |
5.0000000E + 09 |
5.7295784E – 07 |
1 |
a |
b |
S |
α |
cosα |
1013 |
1013 |
4.9999997E + 25 |
45 |
0.7071068 |
1013 |
1012 |
4.9999998E + 24 |
5.710593 |
0.9950372 |
1013 |
1011 |
4.9999997E + 23 |
0.5729387 |
0.999950 |
1013 |
1010 |
4.9999999E + 22 |
5.7295758E – 02 |
0.9999995 |
1013 |
109 |
4.9999999E + 21 |
5.7295784E – 03 |
1 |
1013 |
108 |
4.9999997E + 20 |
5.7295780E – 04 |
1 |
1013 |
107 |
5.0000001E + 19 |
5.7295783E – 05 |
1 |
1013 |
106 |
5.0000000E + 18 |
5.7295783E – 06 |
1 |
1013 |
105 |
4.9999999E + 17 |
5.7295784E - 07 |
1 |
1013 |
104 |
4.9999999E + 16 |
5.7295782E – 08 |
1 |
1013 |
103 |
5.0000001E + 15 |
5.7295781E – 09 |
1 |
1013 |
102 |
4.9999999E + 14 |
5.7295785E –10 |
1 |
1013 |
10 |
5.0000000E + 13 |
5.7295783E –11 |
1 |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.