Вычисление площади треугольника с двумя сторонами и углом между ними, поиск наименьшего угла и косинуса наименьшего угла (Лабораторная работа № 1), страница 2

            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