Komplexe Zahlen in Pascal berechnen: Programmcode & Anleitung
Eingeordnet in Physik
Geschrieben am in
Deutsch mit einer Größe von 5,29 KB
Komplexe Zahlen in Pascal berechnen
Program NosComp;
uses crt;
type
record number =
real: real;
imag: real;
end;
var
n1, n2: number;
resp: char;
procedure LeerDatos;
begin
writeln('Realteil der ersten Zahl:');
readln(n1.real);
writeln('Imaginärteil der ersten Zahl:');
readln(n1.imag);
writeln('Realteil der zweiten Zahl:');
readln(n2.real);
writeln('Imaginärteil der zweiten Zahl:');
readln(n2.imag);
end;
procedure sum;
begin
write('Das Ergebnis der Addition ist: ');
if (n1.imag + n2.imag) >= 0 then
writeln((n1.real + n2.real):2:2, '+', (n1.imag + n2.imag):2:2, 'i')
else
writeln((n1.real + n2.real):2:2, '-', abs(n1.imag + n2.imag):2:2, 'i');
end; (sum)
procedure Subtraktion;
begin
write('Das Ergebnis der Subtraktion ist: ');
if (n1.imag - n2.imag) >= 0 then
writeln((n1.real - n2.real):2:2, '+', (n1.imag - n2.imag):2:2, 'i')
else
writeln((n1.real - n2.real):2:2, '-', abs(n1.imag - n2.imag):2:2, 'i');
end; (Subtraktion)
procedure Produkt;
begin
write('Das Produkt ist: ');
if ((n1.real * n2.imag) + (n1.imag * n2.real)) >= 0 then
begin
write(((n1.real * n2.real) - (n1.imag * n2.imag)):2:2);
write('+');
writeln(((n1.real * n2.imag) + (n1.imag * n2.real)):2:2, 'i');
end
else
begin
write(((n1.real * n2.real) - (n1.imag * n2.imag)):2:2);
write('-');
writeln(abs(((n1.real * n2.imag) + (n1.imag * n2.real))):2:2, 'i');
end;
end;
procedure Operation;
var
oper: char;
begin
write('Geben Sie die gewünschte Operation (+, -, *): ');
readln(oper);
writeln;
case oper of
'+': sum;
'-': Subtraktion;
'*': Produkt;
else
writeln('Sie haben einen falschen Operator eingegeben.');
end;
end;
begin
ClrScr;
repeat
writeln('Bitte geben Sie zwei komplexe Zahlen ein:');
writeln;
LeerDatos;
repeat
Operation;
write('Wollen Sie eine andere Operation durchführen? (N/n): ');
readln(resp);
writeln;
until (resp = 'N') or (resp = 'n');
writeln('Wollen Sie andere Zahlen eingeben? (N/n): ');
readln(resp);
until (resp = 'N') or (resp = 'n');
end.