Úvod do programování Vyučující: Mgr. Vítězslav Jersák E-mail: vitezslav.jersak@gmail.com Web: xjv.webnode.cz
Základní pojmy Algoritmus = jednoznačný a konečný popis postupu řešení; Př? Processor = objekt, který vykonává algoritmem popisovanou činnost (stroj nebo člověk) – z anglického „to process“ Programovací jazyk – způsob zápisu syntaxe (zápis), sémantika (význam)
Etapy řešení problému (tvorba programu) Specifikace problému - vstupy a požadavky na výstupy problému – Př? (zákazník a analytik) Analýza problému - volba vhodné metody řešení (softwarový analytik) Programování – zápis v programovacím jazyce Testování – ověření správnosti návrhu programu
Zápis algoritmu Přirozený jazyk (slovní popis) Grafické znázornění (vývojový diagram) Pseudokód (popis nezávislý na syntaxi programovacího jazyka) Programovací jazyk (např. C#) Strojový kód – převod z programovacího jazyka převádí operační systém
Slovní popis – algoritmus sčítání Je potřeba načíst 2 čísla (od uživatele) Čísla musíme sečíst (processor) Nakonec je potřeba výsledek předat zpět uživateli (displey kalkulačky, monitor počítače, tiskárna atd..)
Vývojový diagram – sčítání
Pseudokód – algoritmus sčítání
Programovací jazyk C# – sčítání
Strojový kód
Vlastnosti algoritmu Hromadnost – měnitelné vstupní údaje Determinovanost – každý krok algoritmu je jednoznačně definován Konečnost – pro zadané vstupní údaje dojde k požadovaným výsledkům (ošetření chyb)
Zápis VD - základní značky Začátek algoritmu Konec algoritmu Blok zpracování (co se má provést) Blok rozhodování (podmínka) Blok vstupu nebo výstupu
Příklad - Algoritmus zatloukání hřebíků Formulace problému Zatluč hřebík do desky. Analýza úlohy Vstupní údaje: kladivo, hřebík, deska Výstupní údaje: hřebík zatlučen do desky Analýza: tlouct tak dlouho, dokud není hřebík zatlučen až po hlavičku zjisti po každém úderu stav
Příklad - Algoritmus zatloukání hřebíků Sestavení algoritmu - Slovní popis: Vezmi kladivo a hřebík Přilož hřebík k desce Uhoď kladivem na hlavičku Je hřebík zatlučen? ANO - pokračuj bodem 5 NE - vrať se na bod 3 Ukonči činnost a odlož kladivo
Příklad2- výpočet obsahu kruhu
Příklad2 – vývojový diagram (VD)
Společné příklady - VD VD alg., který zjistí objem kvádru VD alg. Který zjistí obsah obdélníka VD alg., který zjistí zda je číslo kladné záporné nebo rovno 0 VD alg. Přechodu křižovatky se semaforem
Shrnutí - pojmy Algoritmus a jeho vlastnosti Tvorba programu (specifikace, analýza atd.) Analýza problému (metoda řešení problému) Vývojový diagram (grafický zápis) Programování (psaní zdrojového kódu) Programovací jazyk – způsob zápisu alg. v PC (C#, C, Java, Basic, Pascal)
Příklady k procvičení Nakreslete VD algoritmu zatloukání hřebíků Nakreslete VD, který zjistí zda je číslo kladné nebo záporné (víme že není rovno 0) Vymyslete postup (algoritmus) vaření čaje – nejdříve napište slovní zápis a potom nakreslete vývojový diagram Sestavte algoritmus výpočtu obvodu čtverce (berte v úvahu možnost zadání záporných čísel) a přikreslete VD
Rozšiřující úkoly Napište VD algoritmu výměny žárovky cíl (výstup) – vyměnit žárovku problematické otázky – svítí žárovka? Je žárovka připojena na zdroj el. energie? Zkuste vymyslet postup algoritmu, který hledá největšího společného dělitele 2 čísel nsd(a,b) dokreslete vývojový diagram