Algoritmus a vazba na program
Je důležité si uvědomit, že dosud počítače nejsou schopné zcela samostatného myšlení. Pro provádění výpočtů a obecně zpracování dat je třeba vytvořit jasné postupy - algoritmy zpracování.
1. Algoritmus a vazba na program
1.3. Analýza problému
K analýze problému lze využít některé z běžně používaných metod např. Brainstorming – generování co největšího množství nápadů k danému problému za účasti lidí v různých rolích, obousměrné plánování – kombinace přístupů Top-Down (dekompozice cíle v horní úrovni až po rozpracování a konkretizace způsobů jak implementovat cíle v dolní úrovni, které vedou ke splnění cíle v horní úrovni) a Bottom-Up (stanovení cílů a jejich dosažení z pohledu zdola nahoru), kde jsou odchylky průběžně koordinovány a dochází k jejich ladění, atd. Pro začátečníky je vhodné doporučit postup shora dolů, který je názornější.
Jak si lze všimnout, při analýze se používají obecné postupy:
-
Dekompozice – postupné dělení problémů na menší, nebo slovy klasika Divide et impera! – rozděl a panuj. Tento přístup je základním přístupem v informatice, jenž dekomponuje programového řešení problému na sadu samostatných programů a podprogramů. Je známo, že kratší programy se píší a ladí snadněji než dlouhé. Tuto závislost lze odhadnout empiricky zjištěným vzorcem:
N = k* D1.125
kde:
-
- N jsou náklady na program v korunách nebo člověkohodinách
- k je vhodná konstanta
- D je počet řádků v tisících
Závislost je tedy podstatně horší než lineární v neprospěch větších programů
-
Hierarchie – je vhodné najít hierarchické závislosti jednotlivých částí v systému. Popsáním jejich vzájemných vazeb, může vést k výraznému zjednodušení
-
Abstrakce – oddělení podstaty řešeného problému od detailů, tj. ignorace detailů, které nemají žádný významný vliv na řešení problému
Sice existuje řada pravidel, která pomáhají při analýze a plánováni, ale důležitá je také dobrá intuice, dovednosti a tzv. selský rozum.