Téma Název Popis
Úvod Kniha 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í.


Složka Algoritmy - Flowgorithm
Algoritmus HelloWorld 
  • Popis: Vývojový diagram výpisu textu "Hello, World!" 
  • Zadání: Zkuste vymyslet, jak byste zaznamenali výpis textu pomocí vývojového diagramu, včetně komentáře, který popisuje, co daná značka výpisu provádí


Algoritmus HelloWorldPromenna 
  • Popis: Vývojový diagram výpisu proměnné s názvem osloveni v níž je uložen text "Hello, World!" 
  • Zadání: Zkuste vymyslet, jak byste zaznamenali výpis hodnoty uložené v proměnné pomocí vývojového diagramu, včetně komentářů, které popisují, co jednotlivé značky zajišťují


Algoritmus HelloWorldNacteni 
  • Popis: Vývojový diagram výpisu proměnné v níž je uložen text zadaný uživatelem
  • Zadání: Zkuste vymyslet, jak byste zaznamenali výpis hodnoty zadané uživatelem uložené v proměnné s názvem osloveni pomocí vývojového diagramu, včetně komentářů, které popisují, co jednotlivé značky zajišťují


Algoritmus PrirozeneCislo 
  • Popis: Vývojový diagram testu na přirozené číslo 
  • Zadání: Rozhodněte, zda uživatelem zadané číslo je přirozené číslo. Pokud je číslo přirozené, vypište uživateli zadanou hodnotu. V opačném případě se nestane nic


Algoritmus Kalkulacka
  • Popis: Vývojový diagram pro řešení aritmetických operací u dvou zadaných čísel 
  • Zadání: Zkuste navrhnout algoritmus, který řeší základní aritmetické operace podle zadaného číselného kódu (1 … sčítání, 2 … odečítání, 3 … násobení a 4 … dělení) u dvou uživatelem zadaných čísel a a b


Algoritmus KalkulackaPodprogramy 
  • Popis: Vývojový diagram pro řešení aritmetických operací u dvou zadaných čísel pomocí podprogramů
  • Zadání: Zkuste navrhnout algoritmus, který řeší základní aritmetické operace podle zadaného číselného kódu (1 … sčítání, 2 … odečítání, 3 … násobení a 4 … dělení) u dvou uživatelem zadaných čísel a a b. Vytvořte funkci ZadejCislo ve které naplníte hodnotu čísla, které je argumentem pro některou z aritmetických operací. Tato funkce má vstupní argument NazevParametru, který je názvem aktuálně zadávaného čísla a je vypsán před načtením hodnoty čísla zadaného uživatelem (aby uživatel věděl, který argument právě zadává). Rozdělte aritmetické operace do následujících podprogramů: SectiParametry, OdectiParametry, NasobParametry a VydelParametry, ve kterých budou prováděny příslušné aritmetické operace. Pro zobrazení výsledku výpočtu deklarujte podprogram ZobrazVysledek


Algoritmus KalkulackaPodprogramyZadejKodOperace 
  • Popis: Vývojový diagram funkce pro zadání číselného kódu operace pomocí cyklu s podmínkou na konci 
  • Zadání: Na základě předchozího algoritmu KalkulackaPodprogramy zkuste navrhnout funkci ZadejKodOperace, která řeší zadání platného číselného kódu podle vypsaného číselníku kódů aritmetických operací pomocí cyklu s podmínkou na konci. Zadání číselného kódu bude probíhat neustále, dokud nebude definován validní (správný) číselný kód aritmetické operace (1 … sčítání, 2 … odečítání, 3 … násobení, 4 … dělení)


Algoritmus KalkulackaPodprogramyVydelParametry
  • Popis: Vývojový diagram funkce pro dělení zadaných čísel pomocí cyklu s podmínkou na začátku 
  • Zadání: Na základě předchozího algoritmu KalkulackaPodprogramy zkuste modifikovat funkci VydelParametry, která provádí aritmetickou operaci dělení dvou zadaných čísel, které jsou vstupními argumenty této funkce (formální parametry). Řešte tento problém pomocí cyklu s podmínkou na začátku. Uvnitř cyklu opakujte zadání hodnoty jmenovatele pomocí funkce ZadejCislo, dokud je jmenovatel nulový


Algoritmus KalkulackaPodprogramyZadejKodOperaceGrafika 
  • Popis: vývojový diagram modifikované funkce pro zadání číselného kódu operace pomocí cyklu s krokem 
  • Zadání: Na základě předchozího algoritmu KalkulackaPodprogramy zkuste modifikovat funkci ZadejKodOperace. Do výpisu informujícího uživatele o možnostech zadání číselného kódu aritmetické operace vložte před výpis a za výpis textu (uloženého v proměnné vyzva) grafický prvek. Tento grafický prvek (uložený v proměnné grafika) představuje znaky hvězdiček, tj. "*" umístěné v řádce za sebou. Jejich počet je roven délce počtu znaků textu výzvy (uložené v proměnné delkaVyzvy). Jednotlivé grafické prvky oddělte od výpisu výzvy novým řádkem (nová řádka, tj. ToChar(10) - znak v ASCII)
Kniha Úvod k cvičením
Základní příklady Kniha Hello World
Kniha Teorie: Popis základních kontrolek na WPF formuláři

(Dílčí příklady jsou převzaty z https://wpf-tutorial.com/ )

Jakým způsobem se pracuje s jednotlivými kontrolkami bylo vysvětleno u prvního příkladu v rámci cvičení. Doporučujeme se nejprve podívat na tento příklad.


Kniha Převod sekund
Kniha Povrch a objem koule
Složka Flowgorithm

HelloWorld
  • Popis: Algoritmus výpisu zprávy Hello, World! na obrazovku
  • Zadání: Vytvořte algoritmus pro konzolovou aplikaci, který vypíše na obrazovku zprávu Hello, World!

PrevodSekund
  • Popis: Algoritmus převodu celkového počtu sekund na celé hodiny, minuty a sekundy
  • Zadání: Vytvořte algoritmus výpočtu počtu hodin, minut a sekund ze zadaného celkového počtu sekund. Výpočet a výpis bude proveden v hlavní metodě

PovrchAObjemKoule
  • Popis: Algoritmus výpočtu povrchu a objemu koule pomocí funkcí, procedur a bez využití podprogramu
  • Zadání: Vytvořte algoritmus výpočtu objemu a povrchu koule o zadaném poloměru uživatelem. Vypočtené hodnoty povrchu a objemu koule vypište v hlavním programu


Kniha Základní pojmy

Při programování je třeba si uvědomit, že různé datové typy mají také různé rozsahy hodnot, tzn. různé dolní a horní meze. Při překročení rozsahu během aritmetických výpočtů mohou nastat různé problémy. Uvidíme, že reálná čísla jsou ukládána jen přibližně, což může mít vliv zejména na přesnost opakovaných výpočtů.


Složka Algoritmy - Flowgorithm
Algoritmus BinarniPrevodPodprogramValidace 
  • Popis: Vývojový diagram převodu čísla z desítkové do dvojkové soustavy zobrazené v 1 Bytu 
  • Zadání: Zkuste vymyslet algoritmus, který převede číslo z intervalu 0 až 255 zadané v desítkové soustavě do dvojkové soustavy


Algoritmus DecimalniPrevodPodprogramValidace 
  • Popis: Vývojový diagram převodu čísla ze dvojkové soustavy na 1 B zpět do desítkové soustavy 
  • Zadání: Zkuste vymyslet algoritmus, který převede binární hodnotu (8 bitů ve dvojkové soustavě) na číslo v desítkové soustavě. Po načtení binární hodnoty proveďte validaci zadané hodnoty – hodnota musí být na 8 bitech a nesmí obsahovat jiný než 0 nebo 1


Algoritmus HexadecimalniPrevodPodprogramValidaceZnakNaPoziciASCIIPoziceZnakuASCII 
  • Popis: vývojový diagram převodu čísla z desítkové do šestnáctkové soustavy zobrazené v 1 Bytu 
  • Zadání: Zkuste vymyslet algoritmus, který převede číslo z intervalu 0 až 255 zadané v desítkové soustavě do šestnáctkové soustavy včetně funkce Validace zadaného čísla. Dále specifikujte funkci pro určení znaku na určité pozici v ASCII - ZnakNaPoziciASCII - na číslo a obráceně, tj. navrácení pozice určitého znaku - PoziceZnakuASCII


Algoritmus NepresneZobrazeni
  • Popis: vývojový diagram nepřesnosti zobrazení reálného čísla
  • Zadání: Vymyslete algoritmus, který poukáže na nepřesnost zobrazení reálného čísla v závislosti na zvoleném datovém typu. Pro reálné číslo uložené v proměnné x zvolte datový typ float a pro proměnnou y zvolte datový typ double. Pro ilustraci nepřesnosti zvolte hodnotu výrazu x = (n+1) * x – 1. V každé iteraci pro jednotlivá n bude do výrazu vložena hodnota proměnné x, která odpovídá výrazu x = 1/n. Zvolte dva cykly s krokem, kde vnořený cyklus proběhne 30-krát pro každou hodnotu n. Tento vnořený cyklus bude zaznamenávat číslo iterace pomocí proměnné iterace. Ve vnějším cyklu bude postupně nastavena hodnota proměnné n od 1 do 10. Výsledek umístěný na řádku pro každou iteraci bude obsahovat aktuální hodnotu proměnných n; iterace; x; y. U výpisu výsledků za každou 10 řádku vložte prázdnou řádku


Příklady s podmíněnými příkazy Kniha Největší číslo


Kniha Kvadratická rovnice


Složka Flowgorithm

NejvetsiZe2Cisel
  • Popis: Algoritmus pro získání větší hodnoty ze dvou zadaných čísel
  • Zadání: Vytvořte algoritmus pro konzolovou aplikaci, který porovná dvě zadaná celá čísla a vypíše na obrazovku větší z nich

NejvetsiZe2CiselVcetneRovnosti
  • Popis: Algoritmus pro porovnání dvou zadaných celých čísel včetně porovnání jejich možné rovnosti
  • Zadání: Vytvořte algoritmus pro porovnání dvou zadaných celých čísel, včetně porovnání jejich možné rovnosti, provedeného v hlavním programu a zároveň pomocí podprogramu. V programu se bude testovat, zda je možné provést konverzi číslic na celé číslo. Vypište v konzoli největší hodnotu z těchto zadaných čísel včetně identifikátoru proměnné, ve které je největší hodnota uložena

NejvetsiZe3Cisel
  • Popis: Algoritmus pro porovnání tří zadaných čísel včetně porovnání jejich možné rovnosti
  • Zadání: Vytvořte algoritmus pro porovnání tří zadaných celých čísel, včetně porovnání jejich možné rovnosti, provedeného pomocí podprogramů. Pomocí prvních tří podprogramů se v jejich tělech vypíší identifikátory (názvy) proměnných, ve kterých se nachází největší hodnota i včetně výpisu této hodnoty, zbývající dva podprogramy vypíší největší hodnotu ze zadaných čísel

KvadratickaRovnice
  • Popis: Algoritmus pro výpočet kořenů kvadratické rovnice 
  • Zadání: Vytvořte algoritmus pro výpočet kořenů kvadratické rovnice. Koeficienty v rovnici jsou zadány uživatelem v konzolové aplikaci


Kniha Představení jazyka C#

V následujících kapitolách se seznámíme se základní konstrukcí jazyka C#, základními pojmy a principy, které jsme již poznali v předchozích kapitolách týkající se algoritmizace. Tyto a další principy implementujeme pomocí tohoto programovacího jazyka.

Kniha Metody
Kniha Rozhodování
Kniha Cykly
Kniha Zpracování chyb a výjimek
Stránka HelloWorldNacteni_Main

Program pro výpis proměnné v níž je uložen text zadaný uživatelem 

Stránka VolaniMetod_Main

Program navracející součet hodnot dvou lokálních proměnných 

Stránka KalkulackaVicenasobneVetveni_Main

Program pro řešení aritmetických operací u dvou zadaných čísel - vícenásobné větvení

Stránka KalkulackaVyjimka_Main

Program s ošetřením výjimky chyby na vstupu

Stránka KalkulackaTypyVyjimek_Main

Program pro ošetření více typů výjimek

Stránka KalkulackaVyvolaniVyjimky_Main

Program pro řešení aritmetických operací u dvou zadaných čísel - vyvolání výjimky

Příklady s cykly Kniha Výpis řady čísel
Kniha Faktoriál
Kniha Prvočísla
Složka Flowgorithm

VypisRady
  • Popis: Algoritmus pro výpis řady čísel pomocí cyklů
  • Zadání: Vytvořte algoritmus pro konzolovou aplikaci pro výpis řady čísel pomocí jednotlivých podprogramů: 

    • Cyklus s pevným krokem - čísla od 1 do 10 
    • Cyklus s podmínkou na začátku - čísla od 11 do 20 
    • Cyklus s podmínkou na konci - čísla od 21 do 30 
    • Bez cyklu -  čísla od 31 do 40 
Faktorial
  • Popis: Algoritmus pro výpočet faktoriálu
  • Zadání: Vytvořte algoritmus pro konzolovou aplikaci pro výpočet faktoriálu:
    • Pomocí cyklu s podmínkou na začátku
    • Pomocí cyklu s podmínkou na konci
    • Pomocí cyklu s krokem
    • Pomocí rekurze


Kniha Hodnotové typy
Kniha Referenční typy - pole
Kniha Referenční typy - třída
Stránka VyctovyTyp_Main

Program s deklarací výčtového typu, deklarací proměnné tohoto typu, přiřazení hodnoty a výpisu jejího obsahu

Stránka VyctovyTypIndex_Main

Program s deklarací výčtového typu, asociace s datovým typem short, deklarace proměnné výčtového typu, přiřazení hodnoty konstantě výčtového typu a aritmetická operace nad položkami výčtového typu

Stránka StrukturaCas_Main

Program s deklarací struktury, která obsahuje datové složky, konstruktor a metody  

Stránka PoleLidiVypisVyjimka_Main

Výpis obsahu prvku jednorozměrného pole obsahujícího celá čísla s testem konverze a ošetřením výjimky

Stránka PoleStrukturCas_Main

Deklarace jednorozměrného pole obsahující jednotlivé struktury, výpis datových složek jednotlivých prvků pole

Stránka VytvorVypisPole_Main

Přetížené metody pro vytvoření jednorozměrného pole, metoda pro výpis obsahů všech celočíselných prvků jednorozměrného pole

Stránka MaticeVedlejsiDiagonala_Main

Deklarace dvourozměrného pole, velikost pole, instance pole, vedlejší diagonála

Stránka Auto_Main

Deklarace nestatické třídy, nestatických a statických datových složek, deklarace veřejných metod, deklarace soukromé metody, vytvoření instance třídy

Stránka AnonymniTrida_Main

Deklarace anonymní třídy, vytvoření instance, výpis datových složek

Příklady s jednorozměrnými poli Stránka Citovaná literatura
1_mikrotest Stránka Poděkování projektům