real*8 R(14)/1.,1.06,1.11,1.145,1.2,1.21,1.225,1.24,1.16,
* 1.15,1.07,.95,.815,.72/
real*8 alf,bett,q,t,Ln,Lk,ref,fin,sh,dfi,r1ef,r2ef,fif,
* Myx(5),Mzx(5),L,Pyc(5),Pxc(5),Pzc(5),P(5),Xc(5),Xcc(5),xt,pi
write(*,*) 'Введите начальное значение угла Fi'
read(6,*) fin
write(*,*) 'Введите конечное значение угла Fi'
read(6,*) fi
write(6,*) 'Введите начальную Xотн'
read(6,*) Ln
write(6,*) 'Введите конечную Xотн'
read(6,*) Lk
write(*,*) 'Введите значение угла BETTA'
read(*,*) bett
write(*,*) 'Введите значение угла ALFA'
read(*,*) alf
write(*,*) 'Введите значение q'
read(*,*) q
pi=4*datan(1)
fi=fi*pi/180.
fin=fin*pi/180.
alf=alf*pi/180.
bett=bett*pi/180.
L=5.6
sh=.003
dfi=2.*pi/1257.
xt=Ln
do 4 i=1,13
if(xt.lt.x(i)) goto 5
4 continue
5 i=i-1
do 103 ik=1,5
Pyc(ik)=0.
Pzc(ik)=0.
Pxc(ik)=0.
Myx(ik)=0.
Mzx(ik)=0.
Xc(ik)=0.
103 Xcc(ik)=0.
write(*,*) 'Номеручастка',i
gamm(i)=gamm(i)*pi/180.
do 1 t=Ln,Lk,sh
if(xt.gt.x(i+1)) then
i=i+1
write(*,*) 'Номеручастка',i
gamm(i)=gamm(i)*pi/180.
endif
do 2 fif=fin,fi,dfi
c write(*,*) fif*180./pi,xt,r(i)
c Учетпилона **********************************
C if((xt.gt.x(5).and.xt.lt.x(6)).and.
C * (fif.lt.1.449.or.fif.gt.1.693)) goto 6
C if((xt.gt.x(6).and.xt.lt.x(7)).and.
C * (fif.lt.1.344.or.fif.gt.1.798)) goto 6
C if(xt.gt.0.1103.and.(fif.gt.1.2915.and.fif.lt.1.85))
C * goto 3
6 continue
r1ef=dcos(fif+dfi/2.)
r2ef=dcos(fif+dfi/2.)
if(xt.gt.0.1103.and.(fif.gt.0..and.fif.le.pi/2.))then
r1ef=1.
r2ef=1.
c write(*,*) '1 *********',fif
c pause
endif
if(xt.gt.0.1103.and.(fif.gt.pi/2.and.fif.le.pi))then
r1ef=-1.
r2ef=-1.
c write(*,*) '2 *********',fif
c pause
endif
c write(*,*) fif*180./pi,xt,r1ef,r2ef
c PAUSE' '
P(1)=(Po(i)+Py(i)*alf*dsin(fif+dfi/2.)+Pza(i)*alf*r1ef
* -Pzb(i)*bett*r2ef)*q*L*dfi*R(i)*sh
c write(*,*) P/(sh*L*R(i)*dfi),xt,fif
c pause
P(2)=Po(i)*q*L*dfi*R(i)*sh
P(3)=Py(i)*alf*dsin(fif+dfi/2.)*q*L*dfi*R(i)*sh
P(4)=Pza(i)*alf*r1ef*q*L*dfi*R(i)*sh
P(5)=-Pzb(i)*bett*r2ef*q*L*dfi*R(i)*sh
do 1000 ik=1,5
Pyc(ik)=Pyc(ik)+P(ik)*dsin(fif+dfi/2.)
Pzc(ik)=Pzc(ik)+P(ik)*dcos(fif+dfi/2.)
Myx(ik)=Myx(ik)+P(ik)*dsin(fif+dfi/2.)*xt
Mzx(ik)=Mzx(ik)+P(ik)*dcos(fif+dfi/2.)*xt
Pxc(ik)=Pxc(ik)+P(ik)*dtan(gamm(i))
1000 continue
3 continue
2 continue
xt=xt+sh
R(i)=R(i)+sh*L*dtan(gamm(i))
1 continue
do 100 ik=1,5
if(dabs(Pyc(ik)).gt.1.d-10) then
Xc(ik)=Myx(ik)/Pyc(ik)
else
write(*,*)ik,'Myx=',Myx(ik)
endif
if(dabs(Pzc(ik)).gt.1.d-10) then
Xcc(ik)=Mzx(ik)/Pzc(ik)
else
write(*,*)ik,'Mzx=',Mzx(ik)
endif
write(*,*) 'Значения аэр. сил в Ц.Д.'
100 write(*,12) Pxc(ik),Pyc(ik),Pzc(ik),Xc(ik)*L,Xcc(ik)*L
12 format(1x,'Pxc=',f10.2,/,1x,'Pyc=',f10.2/,1x,'Pzc=',f10.2/,
* 1x,'Xyc=',f15.7,/,1x,'Xzc=',f15.7)
open(1,file='aer.res')
write(1,*) 'Начальноезначениеугла Fi'
write(1,*) fin*180./pi
write(1,*) 'Конечное значение угла Fi'
write(1,*) fi*180./pi
write(1,*) 'Начальная Xнач'
write(1,*) Ln*5.6
write(1,*) 'Конечная Xкон'
write(1,*) Lk*5.6
write(1,*) 'Значениеугла BETTA'
write(1,*) bett*180./pi
write(1,*) 'Значениеугла ALFA'
write(1,*) alf*180./pi
write(1,*) 'Значение q'
write(1,*) q
write(1,*) 'Значения аэр. сил в Ц.Д.'
do 102 ik=1,5
102 write(1,12) Pxc(ik),Pyc(ik),Pzc(ik),Xc(ik)*L,Xcc(ik)*L
close(1)
stop' '
end_