Programování (1) Algoritmus a tvorba programu
Postup při řešení problému:
1. analýza problému
2. stanovení podmínek, za kterých má program fungovat (druh počítače, vstupní data)
3. sestavení algoritmu – vytvoření postupu řešení – algoritmizace
4. sestavení programu – přepis algoritmu do zvoleného programovacího jazyka
5. testování (odladění) programu
Algoritmus:
- jednoznačně určený postup řešení určitého problému
- je obecnější než zvolený programovací jazyk
Vyjádření algoritmu:
- slovně
- graficky (vývojové diagramy, strukturogramy) – je obecná, nezávislá na programovacím jazyku
- pomocí programovacího jazyku
- matematicky
Vlastnosti algoritmu:
- konečnost – každý krok algoritmu se provede konečný počet krát
- elementárnost – skládá se z elementárních – základních prvků (větvení, vstup, apod.)
- determinovanost – v každé fázi zpracování musí být určen další postup
- rezultativnost – od libovolných vstupních hodnot musíme dospět k požadovaným výsledkům
- hromadnost – algoritmus musí být použitelný pro všechny úlohy stejného typu
Sekvence:
- sled příkazů, které následují za sebou
- odělují se středníkem
- uzavírají se do počátečních a ukončovacích značek {}

Tabulka – značky vývojového diagramu
Způsob zpracování programu v jazyce C:

Diagram – zpracování programu v jazyce C
Editor:
- píšeme v něm zdrojový kód
Preprocesor:
- součást překladače
- předzpracovává zdrojový kód (rozvíjí makra, vkládá hlavičkové soubory (*.h), odstraní komentáře, provádí podmíněný překlad)
- výsledkem je textový soubor
Compiler (překladač, kompilátor)
- převádí zdrojový kód do relativního (objektového) kódu počítače (*.obj)
- relativní kód je téměř hotový program, ale nejsou známy adresy proměnných a funkcí
- soubor *.lis je protokol o překladu, ve kterém je uložena informace o chybách nalezených překladačem
Linker (sestavovací program):
- spojí soubory *.obj s knihovnami do jednoho spustitelného souboru
- přidělí relativním adresám adresy absolutní
- výsledkem je spustitelný program (*.exe)
Debugger (ladící program):
- je určený pro krokování programu a hledání chyb
- umožňuje sledovat běh programu, hodnoty proměnných, míst v paměti