Schematy blokowe umożliwiają notację algorytmu w postaci graficznej upraszczając kod do niezbędnego minimum. W takiej notacji nie powinny się znajdować żadne adnotacje programistyczne wskazujące na konkretny język programowania. Zapis powinien być uniwersalny na tyle, aby dowolny programista mógł go zrozumieć i zaimplementować w znanym sobie języku programowania. Dlatego też ilość elementów składowych takiego schematu blokowego ograniczona jest do minimum.

Takie elementy zostały przedstawione na Tab.1. Są nimi bloki w których następuje charakterystyczne dla nich postępowanie wewnątrz tego fragmentu programu, który opisują. Tak więc, są nimi kolejno bloki:
- START – każdy program musi się gdzieś zaczynać. Program może mieć tylko jeden punkt startu.
- DATA – programy zazwyczaj operują na jakiś danych (zmiennych, stałych), wobec czego blok ten służy do wprowadzenia wszystkich niezbędnych danych do algorytmu. Deklarowanie danych istniejących globalnie w programie (przez cały czas działania programu) winna się odbywać na początku algorytmu. Każda inna dana potrzebna do wprowadzenia do algorytmu w późniejszym jego działaniu może być zadeklarowana w takim bloku w innym miejscu programu. Co za tym idzie takich bloków może być więcej.
- PROCESS – jest to blok opisujący jakieś zachodzące działanie w programie np. dodawanie. Takich bloków zazwyczaj jest wiele w algorytmie.
- DECISION – decyzja, warunek – jest to blok, gdzie na podstawie wpisanego warunku następuje ewentualne rozgałęzienie działania programu i zaczyna on posiadać więcej niż jedną możliwą linię przepływu aktywności programu (ang: flow). Może być ich więcej niż jeden.
- DISPLAY – blok w zasadzie ponadnormatywny, dodany w celu umożliwienia zasygnalizowania jakiegoś komunikatu na terminalu wyjściowym komputera (monitorze). Podobnym do niego jest blok wejściowy (klawiatura). Różni się tym, że zamiast wypukłego trójkąta z boku bloku jest on wklęsły – co sugeruje konieczność wprowadzenia danych z klawiatury do algorytmu. Może być ich więcej niż jeden.
- STOP – blok końca algorytmu. Z zasady algorytm powinien się kiedyś skończyć, dlatego też jest to blok wskazujący punkt programu w którym następuje jego zakończenie. Może być takich punktów więcej niż jeden.
Zasadą gremialną tworzenia schematów blokowych jest zachowanie kierunku przepływu aktywności programu analogicznej do zasad pisania w danym języku (naturalnym), tak więc zasadą jest tworzenie algorytmu z góry na dół, a rozgałęzienia bądź symetrycznie, bądź z lewej w prawą. Przyczynia się to do zwiększenia czytelności programu. Jedynym wyjątkiem są zapętlenia powodujące powrót do jakiegoś fragmentu algorytmu powyżej w schemacie blokowym. Kierunek przepływu aktywności programu powinien być zawsze oznaczony strzałką na linii przepływu. Wybory warunkowe powinny być opisane na wyjściach z bloku decyzyjnego (lub na liniach przepływu wychodzących z takiego bloku).
Podsumowując, program MUSI mieć przynajmniej START i jeden punkt STOP. Jest to najprostszy przykład programu, który robi NIC, a wygląda to tak jak na Tab.2. poniżej:

Jak widać na schemacie blokowym program rozpoczynając w START, „przepływa” zgodnie z oznaczoną linią przepływu aktywności w dół i napotyka kolejny blok algorytmu, nakazujący zatrzymanie przetwarzania algorytmu: STOP, gdzie kończy się działanie algorytmu.
Kolejnym przykładem programu jest nieco bardziej zaawansowany przypadek, gdzie dochodzi zagadnienie zmiennej. Zmienną należy rozumieć jako formę przechowującą w sobie jakąś wartość (zależną od wybranego typu zmiennej) i którą możemy się posługiwać używając jej nazwy. Program za każdym razem będzie w tym miejscu używał nie nazwy tej zmiennej (która jest dla człowieka), a wartości w niej przechowanej.
Reasumując możemy przyjąć, że istnieje taka zmienna A do której przypiszemy wartość 10, a odbywa się to poprzez operator przypisania =, tak jak na poniższym przykładzie:
A=10
Ważnym w tym momencie jest zauważenie, że operator przypisania to znak równości: = (równa się!), co jest istotne dlatego, że w programowaniu mamy do czynienia również z warunkami opisanymi jako podwójny znak równości (==), a znaczącymi nie mniej ni więcej tylko: czy równa się? Mylącym może być to, że w schematach blokowych używamy tylko jednego znaku =, ale jego użycie w bloku decyzyjnym jest rozumiane jako: czy równa się?!.
WAŻNE!!! Dodatkową zasadą jest obowiązek przypisywania do lewej, czyli to co stoi po lewej stronie operatora przypisania = (równa się) nabędzie wartość tego co jest umieszczone po jego prawej stronie!
Omawiany powyżej przykład schematu blokowego wygląda tak:

Widać początek i koniec programu, oraz linię przepływu aktywności, gdzie w bloku danych wprowadzamy rzeczoną zmienną A nadając jej wartość 10. Novum tutaj jest blok procesu, gdzie nastąpiło przeliczenie wartości zmiennej A. Zgodnie ze wspomnianą powyżej notacją, gdzie:
lewa strona równania nabywa wartość wyliczoną z prawej części równania
należy zrozumieć, że NOWA wartość zmiennej A, to STARA wartość zmiennej A pomniejszona o 1 (A-1). Skoro wiemy, że A miało w sobie wartość 10, to operacja 10-1 daje wartość 9 i owa wyliczona prawą stroną równania wartość zostaje przypisana do NOWEJ wartości zmiennej A (tej umieszczonej po lewej stronie znaku =).
Novum, ale myślę, że czytelnym jest w tym algorytmie również blok wypisania wartości zmiennej A na ekranie monitora, dzięki czemu „dowiadujemy się” o nowej wartości zmiennej A, bo na ekran zostanie wypisana liczba 9. W następnym, już ostatnim kroku napotykamy terminator STOP i program kończy działanie.
Modyfikacją powyższego algorytmu będzie schemat blokowy realizujący program odliczania od 60 do 0, a wykorzystujący blok decyzji (warunku).

Opublikowany wyżej schemat blokowy realizuje algorytm odliczania od 60 do 0 i kończy się w momencie uzyskania tej wartości zmiennej A. Jego działanie można opisać jako:
- START – rozpocznij działanie programu,
- nadaj zmiennej A wartość 60,
- odejmij od zmiennej A wartość 1,
- jeśli wartość A jest większa od 0 to wróć do punktu 3, jeśli nie jest większa od 0 to przejdź dalej,
- wyświetl komunikat „Koniec odliczania”,
- STOP – zakończ program.
Aby unaocznić sens takiego algorytmu dodajmy jeszcze jeden blok do już poznanych bloków składowych. Nazwijmy go blokiem akcji. Tak zmodyfikowany schemat blokowy jest uwidoczniony poniżej na rycinie Tab.5.

Teraz czytając taki schemat blokowy widzimy, że nasz algorytm to nic innego jak odliczanie 60s, czyli po prostu Timer.
Przygotowanie schematu blokowego PRZED przystąpieniem do programowania umożliwia wychwycenie podstawowych błędów logicznych i założeniowych zanim staną się one faktem w źle napisanym programie. Oczywiście, nabycie pewnej wprawy programistycznej, umożliwia tworzenie takich diagramów niejako „w głowie” programisty. Tak czy inaczej na początku drogi dobrze jest zapoznać się z nimi i uzyskać wprawę w ich tworzeniu, to ewidentnie przyniesie zysk w dalszej karierze programisty. Należy zwrócić uwagę na estetykę i porządek w tworzeniu schematów blokowych. Zachowywanie zasad ich tworzenia sprzyja łatwemu zrozumieniu tak opisanego programu nie tylko twórcy schematu, ale i też innym osobom, które np. mają na podstawie tego schematu napisać program.
Zadanie do samodzielnego wykonania: Przygotuj 4 różne algorytmy realizujących poniżej wymienione zadania:
– liczenia od 1 do 100;
– sumowania dwu liczb i wyświetlenia tej wartości;
– odejmowania od siebie dwu liczb i podawania wyniku w postaci komunikatu czy jest on mniejszy, równy, czy większy od zera;
– dzielenia przez siebie dwu liczb ze sprawdzeniem, czy przypadkiem dzielnik nie jest 0.