Блок 4
Вывод графиков действующих значений Ud=F(Q) и Id=F(Q)
2.5 Распечатка головного модуля программы, подпрограммы вычисления интеграла INTEGRAL и подпрограммы построения графиков GRAFIK
! ================================================
! |Курсовой проект по дисциплине "ИНФОРМАТИКА" |
! |Программу для расчета электрической цепи |
! |составил студент группы 106117 Минюк А.Г. |
! |Руководитель проекта: к.т.н., доцент Булат В.А. |
! ================================================
! описание переменных и массивов
complex z1,zbc,z2,z3,zcd,zp,z,z4,z5
integer l,k,b
real r2,r3,r4,r5,l1,l3,c1,c2,c4,umad,f,q1,q2,w
real xl1,xc1,xc2,xl3,xc4
real z1d,z1m,zbcd,zbcm,z2d,z2m,z3d,z3m,zcdd,zcdm,
*zpd,zpm,zd,zm,z4d,z4m,z5d,z5m
real zz1,zzbc,zz2,zz3,zzcd,zzp,zz,zz4,zz5
real im1,imbc,im2,im3,imcd,imad,uml3,umc2
real id1,idbc,id2,id3,idcd,idad,udad,udc2,udl3
real fiad,fi1,fi2,fibc,fi3,ficd
real mi1,mibc,mi2,mi3,micd,miad,muad,muc2,mul3
real iidl3,iidc2,uudc2,uudl3,iidad
dimension mi1(200),mibc(200),mi2(200),mi3(200),micd(200),
*miad(200),muad(200),muc2(200),mul3(200),uudad(200),uumad(200)
dimension iidc2(200),iidl3(200),uudc2(200),uudl3(200),iid2(200)
! считывание исходных данных из файла proekt.in
open(unit=1,file='proekt.in',status='old')
read(1,*)r2,r3,r4,r5,l1,l3,c1,c2,c4,umad,f,q1,q2
close(unit=1)
k=0
data b,pi/0,3.14159/
1 w=2.*pi*f
t=1./f
! расчет сопротивлений реактивных элементов цепи
xl1=w*l1*1.e-3
xl3=w*l3*1.e-3
xc1=1./(w*c1*1.e-6)
xc2=1./(w*c2*1.e-6)
xc4=1./(w*c4*1.e-6)
! поочередное нахождение полного сопротивления цепи
z1=cmplx(r2,xl1)
zbc=cmplx(r3,-xc1)
z2=cmplx(r4,-xc2)
z3=cmplx(r5,0.)
z4=cmplx(0.,xl3)
z5=cmplx(0.,-xc4)
zcd=z4+z5
zp=(z1*zbc*z2*z3)/(zbc*z2*z3+z1*z2*z3+z1*zbc*z3+z1*zbc*z2)
z=zp+zcd
! действительные и мнимые части сопротивлений ветвей
z1d=real(z1)
z1m=aimag(z1)
zbcd=real(zbc)
zbcm=aimag(zbc)
z2d=real(z2)
z2m=aimag(z2)
z3d=real(z3)
z3m=aimag(z3)
z4d=real(z4)
z4m=aimag(z4)
z5d=real(z5)
z5m=aimag(z5)
zcdd=real(zcd)
zcdm=aimag(zcd)
zpd=real(zp)
zpm=aimag(zp)
zd=real(z)
zm=aimag(z)
! рассчитаем сдвиг фаз между током и напряжением
fiad=atan(zm/zd)
fi1=atan(z1m/z1d)
fibc=atan(zbcm/zbcd)
fi2=atan(z2m/z2d)
fi3=0
ficd=atan(zcdm/zcdd)
! сопротивление отдельных участков цепи
zz1=sqrt(z1d**2+z1m**2)
zzbc=sqrt(zbcd**2+zbcm**2)
zz2=sqrt(z2d**2+z2m**2)
zz3=sqrt(z3d**2+z3m**2)
zz4=sqrt(z4d**2+z4m**2)
zz5=sqrt(z5d**2+z5m**2)
zzcd=sqrt(zcdd**2+zcdm**2)
zzp=sqrt(zpd**2+zpm**2)
zz=sqrt(zd**2+zm**2)
! расчет и вывод амплитудных и действующих значений токов
! в ветвях схемы
imad=umad/zz
imcd=imad
umcd=imcd*zzcd
ump=imad*zzp
im1=ump/zz1
imbc=ump/zzbc
im2=ump/zz2
im3=ump/zz3
uml3=imad*zz4
umc2=im2*zz5
data tt,dt/0,0/
do 2 l=1,60
t=1./f
dt=t/60.
tt=tt+dt
miad(l)=imad*sin(w*tt+fiad)
mi1(l)=im1*sin(w*tt+fi1)
mibc(l)=imbc*sin(w*tt+fibc)
mi2(l)=im2*sin(w*tt+fi2)
mi3(l)=im3*sin(w*tt+fi3)
2 micd(l)=imcd*sin(w*tt+ficd)
call integral(miad,t,60,td)
idad=td
call integral(mi1,t,60,td)
id1=td
call integral(mibc,t,60,td)
idbc=td
call integral(mi2,t,60,td)
id2=td
call integral(mi3,t,60,td)
id3=td
call integral(micd,t,60,td)
idcd=td
if(k.ne.0)go to 12
open(unit=1,file='sas1.res')
write(1,3)
3 format(///,' программу составил студент группы 106117 минюк а.г.
*. ',////,' вывод исходных данных ' )
write(1,4)
4 format(//,2x,71('*'))
write(1,*)' i r2 i r3 i r4 i r5 i c1 i c2 i c4 i l1 i l3 i uad
*i f i q1 i q2 i'
write(1,5)
5 format(2x,71('*'))
write(1,*)' i îì i îì i îì i îì i ìêô i ìêô i ìêô i ìãí i ìãí i b
*i ãö i b i b i'
write(1,6)
6 format(2x,71('*'))
write(1,*)' i 15 i 500 i 85 i 500 i 8000 i 400 i 530 i 7 i 17
*i 111 i 640 i 990 i'
write(1,7)
7 format(2x,71('*'))
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.