opracowała: Anna Mikuć PRZYKŁADY ALGORYTMÓW Z ROZGAŁĘZIENIAMI opracowała: Anna Mikuć
ALGORYTM W matematyce oraz informatyce to skończony uporządkowany zbiór jasno zdefiniowanych czynności koniecznych do wykonania pewnego zadania w skończonej liczbie kroków. Ma on przeprowadzić system z pewnego stanu początkowego do pożądanego stanu końcowego. Potocznie – jest to schemat postępowania, dokładny opis sposobu rozwiązania problemu, uwzględniający: opis danych wejściowych, wyniku oraz procedur, które prowadzą od danych do wyniku. Sposoby zapisu algorytmu: opis słowny lista kroków schemat blokowy pseudokod (pośredni między językiem potocznym a językiem programowania)
Algorytmy z rozgałęzieniami Występują w nich alternatywne ciągi działań. Wybór jednego z nich następuje w zależności od spełnienia bądź niespełnienia określonego warunku. WYBIERZ PRZYKŁAD RÓWNANIE LINIOWE RÓWNANIE KWADRATOWE UKŁAD RÓWNAŃ LINIOWYCH KONIEC
RÓWNANIE LINIOWE Wybierz rodzaj zapisu algorytmu OPIS SŁOWNY LISTA KROKÓW SCHEMAT BLOKOWY Wybierz rodzaj zapisu algorytmu MENU
Równanie liniowe z jedną niewiadomą ax + b = 0 Równanie liniowe ax + b = 0 posiada rozwiązania w zależności od współczynników a i b. Jeśli a = 0 i b = 0 to równanie ma nieskończenie wiele rozwiązań. Jeśli a = 0 i b ≠ 0 to równanie nie ma rozwiązania. Jeśli a ≠ 0 to równanie ma jedno rozwiązanie x0 = . Specyfikacja: Dane: a, b R Wynik : x o R
Równanie liniowe z jedną niewiadomą ax + b = 0 1) Wczytaj współczynniki a i b równania liniowego. Jeśli a = 0 i b = 0, to wypisz wynik „nieskończenie wiele rozwiązań”. STOP 3) Jeśli a = 0 i b ≠ 0, to wypisz wynik równanie sprzeczne”. STOP 4) Jeśli a ≠ 0 i b ≠ 0, to xo : = 5) Wypisz wynik xo. STOP Złożoność obliczeniowa algorytmu: rzędu jedności.
Równanie liniowe z jedną niewiadomą ax + b = 0 START Wczytaj współczynniki a, b T a=0 N T b=0 N x0 : = Wypisz: „nieskończenie wiele pierwiastków” Wypisz: „równanie sprzeczne” Wypisz x0 STOP
RÓWNANIE KWADRATOWE Wybierz rodzaj zapisu algorytmu OPIS SŁOWNY LISTA KROKÓW SCHEMAT BLOKOWY Wybierz rodzaj zapisu algorytmu MENU
Równanie kwadratowe ax2 + bx + c = 0 Równanie kwadratowe ax2 + bx + c = 0 można rozwiązać stosując wyróżnik (tzw. deltę). W algorytmie oznaczony jest literą D. D := b2 – 4ac W zależności od wartości tego wyróżnika można rozpatrywać następujące sytuacje: Jeśli D > 0, to równanie posiada dwa pierwiastki x1 i x2. x1 := x2 := Jeśli D = 0, wtedy równanie posiada jeden pierwiastek x1 := Jeśli D < 0, to wówczas równanie nie posiada rozwiązań rzeczywistych. Algorytm wyklucza sytuację, że a = 0 w równaniu kwadratowym. Specyfikacja: Dane: a, b, c R Zmienna pomocnicza: D R Wynik : x1, x2 R
Równanie kwadratowe ax2 + bx + c = 0 1) Wczytaj współczynnik a równania kwadratowego (różny od zera) oraz współczynniki b i c. 2) Oblicz wyróżnik równania D := b 2 – 4ac 3) Jeśli D = 0, to oblicz x1 := i wypisz wynik: x1. STOP 4) Jeśli D < 0, to wypisz wynik „równanie nie ma pierwiastków”. STOP 5) Jeśli D > 0, to oblicz: x1 := x2 := 6) Wypisz wynik: x1, x2. STOP Złożoność obliczeniowa algorytmu: rzędu jedności.
Wczytaj współczynniki b, c START T Wczytaj współczynnik a N a=0 Wczytaj współczynniki b, c Równanie kwadratowe ax2 + bx + c = 0 D := b2 – 4ac T N D=0 T N x1 := D < 0 x1:= x2:= Wypisz „brak pierwiastków” Wypisz x1 Wypisz x1, x2 STOP
UKŁAD RÓWNAŃ LINIOWYCH OPIS SŁOWNY LISTA KROKÓW SCHEMAT BLOKOWY Wybierz rodzaj zapisu algorytmu MENU
Układ równań liniowych Układ równań liniowych a1 x + b1 y = c1 można rozwiązać obliczając wyznaczniki. a2 x + b2 y = c2 W zależności od wartości wyznaczników W, Wx i Wy można rozpatrywać następujące sytuacje: Jeśli W <> 0 to układ równań posiada rozwiązanie x = i y = Jeśli W = 0 i Wx <> 0 lub Wy <> 0 wtedy układ nie posiada rozwiązań (układ sprzeczny). Jeśli W = 0 i Wx = 0 i Wy = 0 to układ równań posiada nieskończenie wiele rozwiązań. Specyfikacja: Dane: a1, b1, c1, a2, b2, c2 R Zmienne pomocnicze: W, Wx, Wy R Wynik : x, y R
Układ równań liniowych Wczytaj współczynniki a1, b1, c1 pierwszego równania oraz a2, b2, c2 drugiego równania. Oblicz wyznacznik główny W := a1b2 – a2b1 oraz Wx := c1b2 – c2b1 i Wy := a1c2 – a2c1 Jeżeli W = 0 i Wx = 0 i Wy = 0, to wypisz wynik „nieskończenie wiele rozwiązań”. STOP 4) Jeżeli W = 0 i Wx ≠ 0 lub Wy ≠ 0, to wypisz wynik „układ sprzeczny”. STOP Jeżeli W ≠ 0 i Wx ≠ 0 i Wy ≠ 0, to oblicz x := i y := 6) Wypisz wynik (x, y). STOP Złożoność obliczeniowa algorytmu: rzędu jedności.
Wczytaj współczynniki START Układ równań liniowych Wczytaj współczynniki a1, b1, c1, a2, b2, c2 W := a1b2 – a2b1 Wx := c1b2 – c2b1 Wy := a1c2 – a2c1 T N W=0 Wx=0 Wy=0 x := Wx/W y := Wy/W T N Wypisz „nieskończenie wiele rozwiązań” Wypisz „układ równań sprzecznych” Wypisz x, y STOP