№ |
Сторона а |
cos(α) |
Площадь треугольника S |
109 |
|||
№ |
Сторона а |
cos(α) |
Площадь треугольника S |
1012 |
|||
№ |
Сторона а |
cos(α) |
Площадь треугольника S |
1013 |
|||
№ |
Сторона а |
cos(α) |
Площадь треугольника S |
1015 |
|||
Вывод:
№ |
Сторона а |
cos(α) |
Площадь треугольника S |
1014 |
|||
Исследование 3:
№ |
Число π |
Сторона а |
cos(α) |
Площадь треугольника S |
1 |
3.1415 |
1Е+008 |
0.5000268 |
4.3300497E+015 |
2 |
3.14159 |
1Е+008 |
0.5000008 |
4.3301248E+015 |
3 |
3.141592 |
1Е+008 |
0.5000002 |
4.3301264E+015 |
4 |
3.1415926 |
1Е+008 |
0.5000001 |
4.3301270E+015 |
5 |
3.14159265 |
1Е+008 |
0.5000000 |
4.3301270E+015 |
6 |
3.1415927 |
1Е+008 |
0.5000000 |
4.3301270E+015 |
6. Текст программы
program main
call menu
end
subroutine menu
common/pr/lenght1,lenght2,lenght3
real*8 lenght1,lenght2,lenght3
common/ag/angle1,angle2,angle3,an_min
integer a,i
1 print *, '1-vvod'
2 print *, '2-minangle'
print *, '3-mincos'
print *, '4-square'
print *, '5-exit'
read *,a
if (a.eq.1)call vvod(i)
if (a.eq.2)call minangle
if (a.eq.3)call mincos
if (a.eq.4)call square
if (a.eq.5)call exit
if (a.eq.1.and.i.ne.1) then
print *, 'error'
pause
go to 1
else
go to 2
end if
end
subroutine vvod(i)
common/pr/lenght1,lenght2,lenght3
real*8 lenght1,lenght2,lenght3
common/ag/angle1,angle2,angle3,an_min
common/pi/p
integer i,j
real min_an
print *, 'vvedite 2 storony, ugol i pi'
read *, lenght1,lenght2,angle1,p
call proverka(j)
if (j.ne.0) then
i=1
else
i=0
end if
end
subroutine proverka(j)
common/pr/lenght1,lenght2,lenght3
real*8 lenght1,lenght2,lenght3
common/ag/angle1,angle2,angle3,an_min
common/pi/p
integer j
real rad
j=1
if (lenght1.le.0.or.lenght2.le.0)j=0
if (angle1.le.0.or.angle1.ge.180)j=0
rad=(p*angle1)/180
if ((lenght2*sin(rad)).gt.lenght1)j=0
end
subroutine minangle
common/pr/lenght1,lenght2,lenght3
common/ag/angle1,angle2,angle3,an_min
real*8 lenght1,lenght2,lenght3
common/pi/p
real an_min,rad,sin2
rad=(p*angle1)/180
sin2=(lenght2*sin(rad))/lenght1
rad=asin(sin2)
angle2=(180*rad)/p
angle3=180-angle2-angle1
an_min=min(angle1,angle2,angle3)
print *,'min angle=', an_min
end
subroutine mincos
common/pr/lenght1,lenght2,lenght3
real*8 lenght1,lenght2,lenght3
common/ag/angle1,angle2,angle3,an_min
common/pi/p
real rad,mcos
if (an_min.eq.0) call minangle
rad=(p*an_min)/180
mcos=cos(rad)
print *,'mincos=',mcos
end
subroutine square
common/pr/lenght1,lenght2,lenght3
real*8 lenght1,lenght2,lenght3
common/ag/angle1,angle2,angle3,an_min
common/pi/p
real s,rad
if (an_min.eq.0) call minangle
rad=(p*angle3)/180
s=lenght2*lenght1*sin(rad)/2
print *,'square=',s
end
subroutine exit
stop
end
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.