Текст програми (на алгоритмічній мові високого рівня Turbo Pascal) до розрахункової роботи №1 з курсу^ «Методи і засоби комп’ютерних інформаційних технологій» (частина 1) Program mzktroz; uses crt; label 1, 2; const E1=3; E2=2; tau1=2; tau2=1; tau3=3; T=7.0; C0=0; B0=0; A0=0; n=20; Ut0=0; var fajl : Text; omega, dt, te : real; C, B, A, fi, Ut, f : array[1..n] of real; z1, z2, z3, z4, Wser : real; i, k : integer; Begin clrscr; writeln('************************************************'); writeln(' N.B.: PLEASE, create next directory: "D:\Docs"'); writeln('************************************************'); Assign(fajl, 'D:\Docs\mzktrozr.txt'); rewrite(fajl); for i:=1 to n do f[i]:=i/T; for k:=1 to n do begin z1:=6*pi*(1+cos(4*pi*k/7)); z2:=sqr(pi)-16*sqr(pi)*sqr(k)/49; z3:=6*pi*cos(6*pi*k/7)+6*pi*cos(2*6*pi*k/7); z4:=sqr(pi)-36*sqr(pi)*sqr(k)/49; C[k]:=z1/z2-z3/z4 end; for k:=1 to n do begin z1:=3*4*k*2*pi/7*sin(4*pi*k/7); z2:=16*sqr(pi)*sqr(k)/49-sqr(pi); z3:=6*pi*(sin(6*pi*k/7)+sin(12*pi*k/7)); z4:=36*sqr(pi)*sqr(k)/49-sqr(pi); B[k]:=2.0/7.0*(z1/z2+z3/z4) end; for k:=1 to n do begin A[k]:=sqrt(sqr(C[k])+sqr(B[k])); fi[k]:=arctan(B[k]/C[k]) end; {Zapus rezyl6tativ y fajl} writeln('MZKIT calculation work'); writeln(' Made by student Andrew P., gr.KN-313, SAP'); writeln('You can find results here: "D:\Docs\mzktrozr.txt"'); writeln(fajl,'************************************'); writeln(fajl,' This is calculation work in MZKIT,'); writeln(fajl,' made by AndrewP'); writeln(fajl,'************************************'); writeln(fajl,''); writeln(fajl,' R E S U L T S:'); Wser:=0; for k:=1 to n do Wser:=Wser+A[k]; Wser:=1.0/2.0*Wser; writeln(fajl,'C0=0, B0=0, A0=0, fi0=arctan(0/0) U(t=0)=0'); writeln(fajl,''); for i:=1 to n do writeln(fajl, i, 'f=',f[i]); writeln(fajl, ''); for k:=1 to n do writeln(fajl,'C',k,'=',C[k]); writeln(fajl,''); for k:=1 to n do writeln(fajl,'B',k,'=',B[k]); writeln(fajl,''); for k:=1 to n do writeln(fajl, 'A',k,'=',A[k]); writeln(fajl,''); for k:=1 to n do writeln(fajl, 'fi',k,'=',fi[k]); writeln(fajl,''); writeln(fajl,' Wser=',Wser); omega:=2*pi/T; dt:=1.0*T/n; te:=0; k:=1; 1: te:=te+dt; if te>T then goto 2; Ut[k]:=0; for i:=1 to n do Ut[k]:=Ut[k]+C[i]*cos(i*omega*te)+B[i]*sin(i*omega*te); k:=k+1; goto 1; 2: writeln(fajl,''); te:=0; for i:=1 to n do begin te:=te+dt; writeln(fajl,'U(t=',te:4:2,')= ',Ut[i]) end; writeln(fajl,''); writeln(fajl,' END'); close(fajl) end. Результатти роботи програми. вміст файлу (D:\Docs\mzktrozr.txt) із результатами ************************************ This is calculation work in MZKIT, made by AndrewP ************************************ R E S U L T S: C0=0, B0=0, A0=0, fi0=arctan(0/0) U(t=0)=0 1f= 1.4285714286E-01 2f= 2.8571428571E-01 3f= 4.2857142857E-01 4f= 5.7142857143E-01 5f= 7.1428571429E-01 6f= 8.5714285714E-01 7f= 1.0000000000E+00 8f= 1.1428571429E+00 9f= 1.2857142857E+00 10f= 1.4285714286E+00 11f= 1.5714285714E+00 12f= 1.7142857143E+00 13f= 1.8571428571E+00 14f= 2.0000000000E+00 15f= 2.1428571429E+00 16f= 2.2857142857E+00 17f= 2.4285714286E+00 18f= 2.5714285714E+00 19f= 2.7142857143E+00 20f= 2.8571428571E+00 C1= 4.2023040337E+00 C2=-2.2285418201E-01 C3=-1.9816020480E+00 C4=-9.3347324923E-01 C5= 1.7690368401E-02 C6=-1.5888630041E-01 C7=-1.4551309083E-01 C8=-8.6139975126E-02 C9= 5.6562654897E-03 C10=-1.2756541018E-01 C11=-1.0492603518E-01 C12= 3.1976618629E-03 C13=-3.1707277013E-02 C14=-3.3919135391E-02 C15=-2.3715052281E-02 C16= 1.8033661398E-03 C17=-4.3362526376E-02 C18=-3.8639443485E-02 C19= 1.2800342222E-03 C20=-1.3265736879E-02 B1= 2.6426111041E-01 B2=-1.3783458127E+00 B3=-3.2462118480E-01 B4= 2.0338043717E-01 B5= 1.4963041094E-01 B6=-1.6213100966E-01 B7= 0.0000000000E+00 B8= 1.1809626616E-01 B9=-6.4229242788E-02 B10=-7.2944175615E-02 B11= 6.6275810957E-02 B12= 4.4425108463E-02 B13=-7.1394546321E-02 B14= 0.0000000000E+00 B15= 6.1766717751E-02 B16=-3.1333127418E-02 B17=-4.2990619063E-02 B18= 4.0627743279E-02 B19= 2.5621382445E-02 B20=-4.6260244304E-02 A1= 4.2106048409E+00 A2= 1.3962453817E+00 A3= 2.0080153361E+00 A4= 9.5537213130E-01 A5= 1.5067252242E-01 A6= 2.2700511173E-01 A7= 1.4551309083E-01 A8= 1.4617394910E-01 A9= 6.4477817647E-02 A10= 1.4694824474E-01 A11= 1.2410461706E-01 A12= 4.4540041573E-02 A13= 7.8118708770E-02 A14= 3.3919135391E-02 A15= 6.6162913528E-02 A16= 3.1384980536E-02 A17= 6.1061461014E-02 A18= 5.6067995476E-02 A19= 2.5653337522E-02 A20= 4.8124733537E-02 fi1= 6.2802118145E-02 fi2= 1.4105011454E+00 fi3= 1.6237528583E-01 fi4=-2.1452245732E-01 fi5= 1.4531155059E+00 fi6= 7.9550540267E-01 fi7= 0.0000000000E+00 fi8=-9.4060700901E-01 fi9=-1.4829592132E+00 fi10= 5.1943950365E-01 fi11=-5.6336215265E-01 fi12= 1.4989415405E+00 fi13= 1.1528484434E+00 fi14= 0.0000000000E+00 fi15=-1.2042061980E+00 fi16=-1.5133051346E+00 fi17= 7.8109137166E-01 fi18=-8.1047642127E-01 fi19= 1.5208782225E+00 fi20= 1.2915271620E+00 Wser= 5.0100831755E+00 U(t=0,35)= 1,9771831779
U(t=0,7)= 3,3643501426
U(t=1,05)= 3,6662231796
U(t=1,4)= 2,1380289619
U(t=1,75)= -0,039779074944
U(t=2,1)= -0,14401851574
U(t=2,45)= -0,22624600783
U(t=2,8)= -0,22769842175
U(t=3,15)= -1,5917399993
U(t=3,5)= -2,0058470769
U(t=3,85)= -2,3375668602
U(t=4,2)= -2,4121064549
U(t=4,55)= -2,7760083998
U(t=)=4,9 -2,0668985024
U(t=5,25)= -0,85224784877
U(t=5,6)= 0,35304202883
U(t=5,95)= 0,64411611286
U(t=6,3)= 0,59745482783
U(t=6,65)= 0,35182315082
U(t=7)= 0,28636226754
END Графіки, побудовані за результатами виконання програми. C, В С=F(?) ?, Гц B,В B=F(?) ?, Гц A, B A=F(?) – АЧХ ?, Гц ?, В ?=F(?) – ФЧХ ?, Гц Форма побудованого сигналу (з компонентами до 20-ої гармоніки включно) U,B t, сек