Complex Numbers

komplexné čísla, štruktúry

Ciele

  1. Tvorba vlastných štruktúr
  2. Osvojiť si základy práce so štruktúrami

Postup

Complex Number Representation

Každé komplexné číslo obsahuje reálnu a imaginárnu zložku. V tomto kroku vytvoríme štruktúru, ktorá bude komplexné čísla reprezentovať.

Úloha 1.1

Vytvorte štruktúru complex, ktorá bude reprezentovať komplexné čísla.

Štruktúra bude mať týchto dvoch členov:

  • real - reálna časť komplexného čísla
  • imag - imaginárna časť komplexného čísla

Reálna aj imaginárna zložka komplexného čísla môže byť reprezentovaná ako číslo s pohyblivou desatinnou čiarkou.

Úloha 1.2

Vytvorte funkciu cplx_real(), ktorá vráti reálnu časť komplexného čísla.

Funkcia bude mať jeden vstupný parameter, ktorý bude typu struct complex.

Úloha 1.3

Vytvorte funkciu cplx_imag(), ktorá vráti imaginárnu časť komplexného čísla.

Funkcia bude mať jeden vstupný parameter, ktorý bude typu struct complex.

Úloha 1.4

Vytvorte funkciu cplx_conj(), ktorá vráti združené komplexné čislo (z angl. complex conjugate) vytvoreného z komplexného čísla odovzdaného ako parameter funkcii.

Funkcia bude mať jeden vstupný parameter, ktorý bude typu struct complex.

Funkcia vráti hodnotu typu struct complex, ktorá bude obsahovať združené komplexné číslo.

Poznámka

Združené komplexné číslo komplexného čísla je také číslo, ktoré vznikne zmenou znamienka imaginárnej časti.

Združené komplexné číslo z čísla 3 – 2i bude komplexné číslo 3 + 2i

Úloha 1.5

Vytvorte funkciu print_cplx(), ktorá vypíše na obrazovku reťazcovú podobu komplexného čísla.

Funkcia bude mať jeden vstupný parameter, ktorý bude typu struct complex. Výsledný reťazec bude v tvare:

REAL + IMAGi

kde:

  • REAL reprezentuje reálnu časť komplexného čísla s presnosťou na 4 desatinné miesta, a
  • IMAG reprezentuje imaginárnu časť komplexného čísla s presnosťou na 4 desatinné miesta.

Basic Operations with Complex Numbers

V tomto kroku sa pokúsime vytvoriť niekoľko základných operácií pre prácu s reálnymi číslami, akými sú napr. súčet, rozdiel a súčin.

Úloha 2.1

Vytvorte funkciu cplx_add(), ktorá vráti súčet dvoch komplexných čísiel.

Poznámka

Príklad súčtu dvoch komplexných čísiel:

(3 – 2i) + (2 – 6i) = 3 – 2i + 2 - 6i = 5 - 8i

Deklarácia funkcie bude vyzerať nasledovne:

Parametre cplx1 a cplx2 sú vstupné parametre, ktoré reprezentujú sčítance súčtu.

Funkcia vráti výsledok súčtu ako hodnotu typu struct complex.

Úloha 2.2

Vytvorte funkciu cplx_sub(), ktorá vráti rozdiel dvoch komplexných čísiel.

Poznámka

Príklad súčtu dvoch komplexných čísiel:

(3 – 2i) – (2 – 6i) = 3 – 2i – 2 + 6i = 1 + 4i

Deklarácia funkcie bude vyzerať nasledovne:

Parametre cplx1 a cplx2 sú vstupné parametre, ktoré reprezentujú operandy operácie rozdiel.

Funkcia vráti výsledok rozdielu ako hodnotu typu struct complex.

Úloha 2.3

Vytvorte funkciu cplx_mul(), ktorá vynásobí dve komplexné čísla.

Deklarácia funkcie bude vyzerať nasledovne:

Parametre cplx1 a cplx2 sú vstupné parametre, ktoré reprezentujú operandy súčinu.

Funkcia vráti výsledok súčinu ako hodnotu typu struct complex.

Poznámka

Pri implementácii funkcie nezabudnite uvažovať všetky tri pr��pady, ktoré môžu nastať:

  1. násobenie komplexného čísla reálnym číslom, napr. 2(3 + 2i) = 6 + 4i
  2. násobenie komplexného čísla imaginárnym číslom, napr. 2i(3 + 2i) = -4 + 6i
  3. násobenie komplexného čísla komplexným číslom, napr. (3 – 2i)(9 + 4i) = 35 – 6i

Použité zdroje