Realizacja algorytmu rozwiązywania równania kwadratowego w Pythonie

 Algorytm rozwiązywania równania kwadratowego

Przykład realizacji algorytmu rozwiązywania równania kwadratowego

import math

def liniowe(a,b):
    if a == 0:
        if b == 0:
            print('Równanie tożsamościowe')
        else:
            print('Równanie sprzeczne')
    else:
        x = -b / a
        print('x = ', x)

a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a == 0:
    liniowe(b,c)
else:
    delta = b * b - 4 * a * c
    if delta < 0:
        print('Brak rozwiązań')
    elif delta == 0:
        x = -b / (2 * a)
        print('Jedno rozwiązanie x = ', x)
    else:
        x1 = (-b + math.sqrt(delta)) / (2 * a)
        x2 = (-b - math.sqrt(delta)) / (2 * a)
        print('x1 = ', x1)
        print('x2 = ', x2)

Linia programu Opis Blok algorytmu
 1 Informujemy środowisko Python, że nasz program będzie wykorzystywał bibliotekę math. Korzystamy z funkcji sqrt() obliczającej pierwiastek kwadratowy, zdefiniowanej w tej bibliotece. -
3 - 11 Deklarujemy i definiujemy funkcję liniowe, realizującą algorytm rozwiązywania równania liniowego. 4
13 - 15 Za pomocą funkcji Input() Wypisujemy na ekranie komunikaty zachęty dla użytkownika i wczytujemy wprowadzone przez niego wartości współczynników a, b i c do odpowiednich zmiennych. Funkcja float() zamienia wprowadzony przez użytkownika tekst na liczbę zmiennoprzecinkową (float). 2
16 Sprawdzamy, czy współczynnik a jest równy 0. Jeśli tak mamy do czynienia z równaniem liniowym. 3
17 W tej linii znajdziemy się tylko wtedy, gdy a = 0, czyli gdy równanie jest równaniem liniowym. Wywołujemy funkcję liniowe(b, c), realizującą algorytm rozwiązywania równania liniowego. Warto zwrócić uwagę, że współczynnik przy pierwszej potędze zmiennej x oznaczony jest symbolem b, a wyraz wolny - c (tradycyjnie w równaniu liniowym używa się odpowiednio a i b). 4
18 else, czyli w przeciwnym przypadku. W tym miejscu rozpoczyna się rozwiązanie równania, gdy a ≠ 0, czyli gdy faktycznie mamy do czynienia z równaniem kwadratowym. -
19 Obliczamy wartość zmiennej delta. 5
20 Sprawdzamy czy delta < 0. 6
21 Gdy delta < 0 wypisujemy odpowiedni komunikat o braku rozwiązań. 7
22 Tutaj rozpoczyna się blok programu realizowany gdy delta nie jest mniejsza od zera, czyli gdy równanie posiada rozwiązania (jedno lub dwa). Jednocześnie sprawdzamy czy delta = 0 - instrukcja elif. 8
23 Obliczamy i zapisujemy w zmiennej x rozwiązanie równania (jedno, podwójne - delta = 0). 9
24 Wyświetlamy obliczony wynik. 10
25 Rozpoczynamy blok programu realizowany w sytuacji gdy nie był spełniony warunek delta = 0 (oraz wcześniejsze delta < 0 i a  ≠ 0). -
26 - 27 Obliczamy rozwiązania i ich wartości przypisujemy do zmiennych x1 i x2. 11
28 - 29 Wyświetlamy obliczony wynik - dwa rozwiązania równania kwadratowego. 12