Algoritmizace a programování


Programátoři se shodují na tomto:  „Uživatel neví, co chce, ale běda, když to nedostane.“


Počítač je stroj na zpracování informací, je to „blbec“ na třídění nul a jedniček. Pročítač si nic nedomyslí, je to "hloupý" stroj.
Hloupý stroj a chytrý program vypadá navenek jako chytrý stroj.


Algoritmus je konečná posloupnost kroků, která vede k požadovanému cíli (obdoba pracovního postupu).
Program je algoritmus napsaný v nějakém programovacím jazyku, je to posloupnost příkazů. Vytváření programů je programování.

Strojový jazyk počítače je pro nás složitý a nepohodlný. Naučit počítač naši řeč je za daného stavu vědy a techniky nedosažitelné.
Řešením (kompromisem) je programovací jazyk. Programátor se naučí programovací jazyk, napíše v něm program (zdrojový text).
Překladač (kompilátor) přeloží zdrojový text do strojového jazyka (kompilace).

Zdrojový text je možné napsat v libovolném textovém editoru (třeba i v poznámkovém bloku), ale je "nespustitelný".
Teprve kompilátor vytvoří spustitelnou verzi.

Důležité součásti jazyka (také programovacího) je syntaxe (pravopis) a sémantika (význam).
Když projde kompilace (po vychytání všech syntaktických chyb), je možno program spustit.
Procesor provede vykonání algoritmu. Procesor je hlavní část počítače, provádí veškeré úkony.
Může se stát, že program dělá něco jiného, než si programátor původně představoval.
Správná syntaxe je pouze nutná, nikoli postačující podmínka pro běh programu.


Program může běhat bez programátora, ale nemůže se bez programátora udělat.


Postup programátora je následující:

  1. Zjistit, co přesně uživatel požaduje (nejnáročnější činnost programátorů).
  2. Vymyslet postup (algoritmus), jak danou úlohu řešit (algoritmizace).
  3. Převést algoritmus do vhodného programovacího jazyka (programování).

Kdosi prohlásil:   Počítač je kolo (bicykl) pro náš mozek, na kole se dojede dál než pěšky.


V následujících odkazech jsou základní příkazové konstrukce a ukázky jednoduchých programů v programovacím jazyku PASCAL.
Je tam také odpovídající vývojový diagram.