

**Algorytm** w matematyce, informatyce oraz w życiu potocznym to skończony uporządkowany zupełnie zbiór jasno zdefiniowanych czynności koniecznych do wykonania pewnego zadania w skończonej liczbie kroków. Algorytm potocznie to przepis. Częstym przykładem jest porównanie algorytmu do przepisu kulinarnego. Aby przygotować jakąś potrawę należy mieć składniki, następnie w odpowiednim czasie i kolejności je do siebie dodawać i mieszać.

**Schemat blokowy** - jest jedną z najpopularniejszych form przedstawiania algorytmu. 

Wykorzystuje się w nim między innymi następujące symbole (elementy, bloki):


{{:algorytmy_i_struktury_danych:start_.gif|:algorytmy_i_struktury_danych:start_.gif}}

Początek  sieci działań (schematu). W schemacie może występować tylko jeden taki element.


{{:algorytmy_i_struktury_danych:pisz_.gif|:algorytmy_i_struktury_danych:pisz_.gif}}

Blok wejścia-wyjścia - oznacza czynność wprowadzania danych i przyporządkowywania ich zmiennym używanym w dalszej części programu albo czynność wyprowadzania wyników obliczeń. Napis wewnątrz określa rodzaj czynności (np. czytaj, pisz) oraz nazwy zmiennych i stałych.


{{:algorytmy_i_struktury_danych:licz_.gif|:algorytmy_i_struktury_danych:licz_.gif}}

Element (blok) przetwarzania (obliczeniowy) oznacza wykonanie operacji (lub zbioru operacji). Wewnątrz bloku określa się rodzaj czynności przetwarzania i ich argumenty.


{{:algorytmy_i_struktury_danych:decyz_.gif|:algorytmy_i_struktury_danych:decyz_.gif}}

Blok decyzyjny (warunkowy, alternatywny, przełącznik) - oznacza element wyboru jednego z dwóch wariantów dalszego wykonywania programu. Wybór jest dokonywany na podstawie wyniku sprawdzenia warunku (będącego wyrażeniem logicznym) umieszczonego wewnątrz. Blok ten powinien zawsze posiadać dwa wyjścia opisane "T" (Tak, True) i "N" (Nie, False).


{{:algorytmy_i_struktury_danych:lacznik_.gif|:algorytmy_i_struktury_danych:lacznik_.gif}}

Łącznik wewnątrzstronicowy - służy do łączenia odrębnych części schematu znajdujących się na tym samym arkuszu. Ułatwia zachowanie przejrzystości schematu. Komplementarne elementy oznacza się tym samym symbolem.


{{:algorytmy_i_struktury_danych:stop_.gif|:algorytmy_i_struktury_danych:stop_.gif}}

Zakończenie wykonywania czynności.


Można dodać, że oprócz schematu blokowego istnieją inne możliwości zapisu algorytmu, a są to: opis słowny, pseudokod, język programowania.


Przykładowy algorytm przedstawiony za pomocą schematu blokowego.
Zdefiniujmy iteracyjną wersję silni. Dla przypomnienia: rekurencyjna definicja silni wygląda następująco:

silnia(0)=1

silnia(n)=n*silnia(n-1)

{{:algorytmy_i_struktury_danych:przyklad.gif|:algorytmy_i_struktury_danych:przyklad.gif}}



[[http://oen.dydaktyka.agh.edu.pl/dydaktyka/informatyka/c_algorytmy_i_str_danych/index.php|Żródło opracowania]]

[[http://www.algorytm.org/index.php?option=com_content&task=view&id=66&Itemid=26|Inne źródło informacji]]