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_vyvojovydiagram

Tabulka – značky vývojového diagramu

Způsob zpracování programu v jazyce C:

program_compiler

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