Początek, koniec lub przerwanie algorytmu Kierunek przepływu danych Przetwarzanie (obliczanie)- proces Operacja wprowadzania lub wyprowadzania danych Blok decyzyjny Proces uprzednio zdefiniowany Łączenie dróg przepływu danych
Reguły tworzenia schematów blokowych: Każda operacja musi być zapisana w bloku Kolejność wykonywania operacji wskazują linie skierowane łączące bloki Do każdego bloku może dochodzić tylko jedna, zaś wychodzić jedna lub więcej linii Rodzaje algorytmów (schematów blokowych) Liniowy rozgałęziony cykliczny proceduralny rekurencyjny
PRZYKŁAD ALGORYTMU LINIOWEGO POCZĄTEK „PODAJ LICZBĘ”; X Y=X*X*X X & „DO TRZECIEJ POTĘGI = „ ; Y KONIEC PRZYKŁAD ALGORYTMU LINIOWEGO
PRZYKŁAD ALGORYTMU ROZGAŁĘZIONEGO POCZĄTEK „PODAJ LICZBĘ”; A „PODAJ LICZBĘ”; B N T A>B „WIĘKSZA LICZBA=”; A „WIEKSZA LICZBA=”; B KONIEC PRZYKŁAD ALGORYTMU ROZGAŁĘZIONEGO
PRZYKŁAD ALGORYTMU CYKLICZNEGO POCZĄTEK „PODAJ LICZBĘ”; K i = 1 S = 0 T i > K N S = S + i „ILOŚĆ LICZB= „ K SUMA = ”; S i = i + 1 KONIEC PRZYKŁAD ALGORYTMU CYKLICZNEGO
Definiowanie procesu MAX(x,y) x > y MAX = x MAX = y POCZĄTEK „PODAJ LICZBĘ”; A x > y „PODAJ LICZBĘ”; B MAX = x MAX = y m =MAX(A, B) KONIEC „WIĘKSZA LICZBA=”; m Definiowanie procesu KONIEC Algorytm z wywołaniem procesu uprzednio zdefiniowanego
ALGORYTM SUMOWANIA i OBLICZANIA ŚREDNIEJ Z n LICZB POCZĄTEK „PODAJ LICZBĘ”; n i =1 S = 0 Tak i > n Nie M = S / i „PODAJ LICZBĘ:” X „SUMA=„ ; S S = S + X „ŚREDNIA= „ ; M i = i + 1 KONIEC ALGORYTM SUMOWANIA i OBLICZANIA ŚREDNIEJ Z n LICZB
ALGORYTM OBLICZANIA NWD (EUKLIDESA) POCZĄTEK „PODAJ LICZBĘ”; a „PODAJ LICZBĘ”; b Tak a = b Nie „NWD =„ ;a Nie Tak a > b KONIEC b = b - a a =a - b ALGORYTM OBLICZANIA NWD (EUKLIDESA)
ALGORYTM DZIELENIA LICZB CAŁKOWITYCH POCZĄTEK „PODAJ LICZBĘ”; a „PODAJ LICZBĘ”; b iloraz = 0 reszta= a „Iloraz =„ ; iloraz Nie reszta >= b Tak „Reszta =„ ;reszta reszta=reszta-b iloraz=iloraz+1 KONIEC ALGORYTM DZIELENIA LICZB CAŁKOWITYCH
„PODAJ WSPÓŁCZYNNIKI”; a; b; c POCZĄTEK „PODAJ WSPÓŁCZYNNIKI”; a; b; c delta = b*b - 4*a*c Brak rozwiązania Nie delta >= 0 KONIEC Tak delta >= 0 X1=(-b+SQRT(delta))/(2*a) X2=(-b-SQRT(delta))/(2*a) X1=-b/(2*a) „x1 =„ ; x1 „x2 =„ ; x2 „x1=„ ; X1 Trójmian kwadratowy KONIEC
n = 8 i = 1 i > n Max = Tab(i) i= i + 1 POCZĄTEK n = 8 i = 1 Max = Tab(1) Tak i > n Nie „Wartość maksymalna = „ Max Nie Tab(i) > Max Tak Max = Tab(i) KONIEC i= i + 1
i > n j > m i= i + 1 j=1 Max = Tab(i,j) j= j + 1 POCZĄTEK n = 8; m=5 i = 1; j=1 Max = Tab(1,1) Tak i > n Nie Tak j > m „Wartość maksymalna = Max Nie i= i + 1 j=1 Nie Tab(i,j) > Max Tak Max = Tab(i,j) KONIEC j= j + 1
Algorytm rekurencyjny SILNIA(k) Tak Nie k=0 Silnia=1 k*Silnia(k-1) KONIEC Algorytm rekurencyjny
Silnia=1 i = 1 i > k Silnia=Silnia*i i = i+1 Algorytm iteracyjny SILNIA(k) Silnia=1 i = 1 Tak i > k Nie Silnia=Silnia*i KONIEC i = i+1 Algorytm iteracyjny