Komplexní kvadratická rovnice

3. 2. 2014 00:00
Komplexní kvadratická rovnice. Rozšíření klasické kvadratické rovnice o řešení i záporného diskriminantu. Záporný diskriminant je tvořen číslem x a písmenem i, přičemž i2 = -1 (i označuje prostor -> řešení v 2D prostoru). Tím se tedy dostáváme k tomu, že diskriminant je 2 mocnina určitého čísla. Pokud nám tedy vychází záporný diskriminant, dostali jsme tvar x2i2. Při řešení v programu však nelze odmocnit zápor -> číslo převedeme do kladných čísel ("odmocnění i") a poté odmocníme. Program jako řešení získá 3 čísla -> 1 reálné číslo (pro oba kořeny stejné) a 2 imaginární čísla
Program kvadkomp;
 
Uses CRT;
Var a, b, c:integer;
    k1, k2, ki1, ki2, dis: real;
 
begin
 
clrscr;
 
write('Zadejte 1. cislo (ax^2): ');
readln(a);
write('Zadejte 2. cislo (bx): ');
readln(b);
write('Zadejte 3. cislo (c): ');
readln(c);
 
dis:=(b*b) - 4*a*c;
if (dis < 0)
   then
   begin
      writeln('Rovnici budeme resit v komplexnich cislach. No, spise jen ja budu resit.');
      writeln('Dobre pojdme na to.');
      k1:= -b/2*a;
      k2:= k1;
      dis:= sqrt(-dis);
      ki1:= dis/2*a;
      ki2:= -dis/2*a;
      writeln('Koreny teto kvadraticke rovnice, jak uz vite, jsou imaginarni.');
      writeln('Koreny rovnice jsou: koren 1.: ', k1:5:5, ' a ', ki1:5:5,'i');
      writeln('                     koren 2.: ', k2:5:5, ' a ', ki2:5:5,'i');
   end
   else
   begin
      k1:= (-b + sqrt(dis)) / 2*a;
      k2:= (-b - sqrt(dis)) / 2*a; 
 
   writeln(k1:5:5);
   writeln(k2:5:5);
   writeln('Vysledny vzorec: (x+', -k1:5:5, ')*(x+', -k2:5:5,')');  
   end;
   
   readln;   
end.

Co se týká matematického základu, je to vše, co jsem vám chtěl předat. Získali jste mírný náhled do učiva střední školy, kdy už jste schopni řešit základní algoritmy v jakémkoli jazyce. V další lekci probereme podprogramy, důležité části jazyka, které nám pomůžou neopakovat stejný kód několikrát.