Loeng 4: if valikuavaldis, rekursiivne funktsioon, kõrgemat järku funktsioon, anonüümne funktsioon ja lausend lambda, operaatorid and ja or ning andmetüübi objekti triviaalsus¶

Viimati uuendatud 7.10.2025.

Lisa 1: Ruutvõrrandi lahend¶

Ruutvõrrand on antud kujul:

$$a x^2 + b x + c = 0,$$

kus $x$ on tundmatu, $a$, $b$ ja $c$ on etteantud koefitsendid. Ruutvõrrandi üldlahend on antud kujul:

$$x_\pm = \frac{-b \pm \sqrt{D}}{2 a},$$

kus lahendi käitumine sõltub diskriminandi

$$D = b^2 - 4ac$$

väärtusest. Lahendi sõltuvus diskriminandist $D$ ja kordajatest $a$, $b$, $c$ on järgmine:

  1. Kui $a = 0$ siis pole tegu ruutvõrrandiga.

  2. Kui $D > 0$ eksisteerivad reaalsed lahendid: $$x_\pm = \frac{-b \pm \sqrt{D}}{2a}.$$

  3. Kui $D = 0$ siis eksisteerib üks reaalne lahend: $$x_+ = x_- = -\frac{b}{2a}.$$

  4. Kui $D < 0$ siis eksisteerivad kompleksarvulised lahendid kujul: $$x_{\pm} = -\frac{b}{2a} \pm \frac{\sqrt{-D}}{2a}{\rm i},$$ kus ${\rm i}$ on imaginaarühik.

Lahendi käitumine on illustreeritud Joonisel 4.

No description has been provided for this image
Joonis 4: Ruutvõrrandi vasaku poolega määratud parabooli ja reaalsete lahendi juurte sõltuvus diskriminandist $D$.

Eelmine nädal lõime funktsiooni mis lahendab ruutvõrrandit. Funktsioon omas järgmist kuju:

In [1]:
def sol(a, b, c):
    d = (b**2 - 4*a*c)**0.5
    x1 = (-b + d) / (2 * a)  # Üldlahend.
    x2 = (-b - d) / (2 * a)
    return x1, x2

sol(-1, 2, 3)
Out[1]:
(-1.0, 3.0)

















☻   ☻   ☻