{************************************************************************} { Moodul Kompleks sisaldab kahe komleksarvu sisestuse, v„ljastuse, } { summa, vahe, korrutise ja jagatise arvutamise protseduure. } { N.Vendt R.Sune } {************************************************************************} unit kompleks; interface type kompleksarv=record Re:real; Im:real; end; var z1,z2,kompsumma,kompvahe,kompkorrutis,kompjagatis:kompleksarv; procedure SisKomp; procedure ValKomp; procedure KompSum; procedure KomplVahe; procedure KompKorru; procedure KompJaga; implementation procedure SisKomp; begin writeln('Sisesta kompleksarvud Z1 ja Z2 :'); write('Z1 reaalosa:');readln(z1.Re); write('Z1 imaginaarosa:');readln(z1.Im); write('Z2 reaalosa:');readln(z2.Re); write('Z2 imaginaarosa:');readln(z2.Im); end; procedure ValKomp; begin write('Z1=',z1.Re:8:3); if z1.Im>0 then write('+'); writeln(z1.Im:6:2,'i'); write('Z2=',z2.Re:8:3); if z2.Im>0 then write('+'); writeln(z2.Im:6:2,'i'); end; procedure KompSum; var lahend:kompleksarv; begin lahend.Re:=z1.Re+z2.Re; lahend.Im:=z1.Im+z2.Im; kompsumma:=lahend; end; procedure KomplVahe; var lahend:kompleksarv; begin lahend.Re:=z1.Re-z2.Re; lahend.Im:=z1.im-z2.Im; kompvahe:=lahend; end; procedure KompKorru; var lahend:kompleksarv; begin lahend.Re:=z1.Re*z2.Re-z1.Im*z2.Im; lahend.Im:=z1.Re*z2.Im+z1.Im*z2.Re; kompkorrutis:=lahend; end; procedure KompJaga; var lahend:kompleksarv; begin lahend.Re:=(z1.Re*z2.Re+z1.Im*z2.Im)/(sqr(z2.Re)+sqr(z2.Im)); lahend.Im:=(z1.Im*z2.Re-z1.Re*z2.Im)/(sqr(z2.Re)+sqr(z2.Im)); kompjagatis:=lahend; end; end.