← Zpět na obsah

Kapitola 7: Formulace úlohy, vstup, výstup, podmínky řešení

Vstup a výstup - co vložíme, to zpracujeme
Vstup a výstup - co vložíme, to zpracujeme

1. Úvod: Jak řešíme problémy?

Každý den řešíme spoustu úkolů a problémů. Od jednoduchých, jako je uvaření čaje, až po složitější, jako je naplánování výletu. Abychom jakýkoli problém vyřešili, musíme si ho nejdřív pořádně promyslet. V informatice je to stejné. Než počítač něco udělá, musíme mu přesně říct, co má dělat. A k tomu nám pomáhají pojmy jako formulace úlohy, vstup, výstup a podmínky řešení.

2. Formulace úlohy: Co vlastně chceme?

První a nejdůležitější krok je přesně si říct, co je naším cílem. Co chceme, aby počítač (nebo my sami) udělal?

Definice: Formulace úlohy

Formulace úlohy je jasné a přesné popsání toho, co chceme vyřešit nebo čeho chceme dosáhnout.

Proč je to důležité?

Když nevíš, co chceš, nemůžeš to najít. Když si přesně neřekneme, co je úkolem, můžeme dělat něco úplně jiného, než je potřeba.

Příklad: Uvaření čaje
Špatná formulace: "Udělej něco s vodou a sáčkem." (Co s tím? Uvařit? Vylít?)
Správná formulace: "Uvař čaj." (Jasné, co se má stát.)

3. Vstup: Co k tomu potřebujeme?

Když víme, co chceme udělat, musíme zjistit, co k tomu budeme potřebovat. To jsou naše vstupy.

Definice: Vstup

Vstup jsou všechna data, informace nebo suroviny, které potřebujeme k tomu, abychom mohli úlohu začít řešit.

Proč je to důležité?

Bez správných vstupů nemůžeme začít. Kuchař bez ingrediencí neuvaří. Počítač bez dat nic nespočítá.

Příklad: Uvaření čaje
Vstup: Voda, konvice, čajový sáček, hrnek, cukr (pokud ho chceš).

4. Výstup: Co z toho dostaneme?

Když úlohu vyřešíme, dostaneme nějaký výsledek. To je náš výstup.

Definice: Výstup

Výstup je výsledek, který získáme po dokončení úlohy nebo po zpracování vstupů.

Proč je to důležité?

Výstup je to, co jsme chtěli získat. Je to hotová polévka, vypočítaný příklad, nebo hotový referát.

Příklad: Uvaření čaje
Výstup: Horký čaj v hrnku.

5. Podmínky řešení: Jak to máme udělat?

Někdy nestačí jen vědět, co chceme a co k tomu potřebujeme. Musíme také vědět, jaké jsou pravidla nebo omezení. To jsou podmínky řešení.

Definice: Podmínky řešení

Podmínky řešení jsou pravidla, omezení nebo požadavky, které musíme dodržet při řešení úlohy.

Proč je to důležité?

Podmínky nám říkají, jak má být výsledek přesný, jak rychle se má něco udělat, nebo jaké nástroje můžeme použít.

Příklad: Uvaření čaje
Podmínky:

6. Všechno dohromady: Příklad z počítačového světa

Pojďme si to ukázat na příkladu, který by mohl řešit počítač.

Kalkulačka - vstup čísel, výstup výsledku
Kalkulačka - vstup čísel, výstup výsledku
Úloha: Sečíst dvě čísla
Když počítači řekneme všechny tyto věci, může začít pracovat.

Člověk a digitální svět

Schopnost jasně formulovat úlohy, identifikovat vstupy, výstupy a podmínky je základem nejen pro programování, ale i pro efektivní komunikaci a řešení problémů v digitálním světě. Pomáhá nám to lépe se domluvit s počítačem i s lidmi, vyhnout se nedorozuměním a dosáhnout požadovaných výsledků.

Otázky k zamyšlení

Úkoly pro praxi

  1. Plánování snídaně: Vyber si svou oblíbenou snídani (např. míchaná vajíčka). Popiš:
    • Formulace úlohy: Co je tvým cílem?
    • Vstup: Jaké suroviny a nástroje potřebuješ?
    • Výstup: Jak bude vypadat hotová snídaně?
    • Podmínky řešení: Jaké jsou pravidla (např. nesmíš použít mikrovlnku, musí to být hotové do 10 minut)?
  2. Hledání cesty: Představ si, že jsi v neznámém městě a chceš se dostat na nádraží. Popiš:
    • Formulace úlohy: Co je tvým cílem?
    • Vstup: Jaké informace máš k dispozici (např. mapa, mobil s GPS, zeptáš se kolemjdoucích)?
    • Výstup: Co je výsledkem tvého snažení?
    • Podmínky řešení: Jaké jsou omezení (např. nesmíš použít taxi, musíš tam být do 30 minut)?

* Rozšíření pro pokročilé

Specifikace požadavků

V profesionální praxi se formulace úlohy nazývá specifikace požadavků. Obsahuje:

Datové typy vstupů a výstupů

V programování musíme přesně specifikovat, jaký typ dat očekáváme:

Validace vstupů

Program by měl ověřit, že vstupy jsou správné, než s nimi začne pracovat:

Struktura programu - vstup, zpracování, výstup
Struktura programu - vstup, zpracování, výstup

* Úkoly pro pokročilé

  1. Word – Specifikace požadavků: Vytvoř dokument "Specifikace" pro jednoduchou aplikaci (např. kalkulačka). Rozděl na sekce: Účel, Funkční požadavky (sčítání, odčítání...), Vstupy, Výstupy, Omezení.
  2. Excel – Validační pravidla: Vytvoř tabulku pro registraci uživatele. Sloupce: Jméno, E-mail, Věk, Heslo. Použij Ověření dat (Data → Ověření) pro omezení: Věk 13-100, Heslo min. 8 znaků.
  3. Scratch – Validace vstupu: Vytvoř program, který se zeptá na věk uživatele. Pokud je věk menší než 0 nebo větší než 150, zobraz chybovou zprávu "Neplatný věk!". Jinak zobraz "Tvůj věk je [věk] let."
  4. Scratch – Kalkulačka: Vytvoř ve Scratchi jednoduchou kalkulačku: zeptej se na dvě čísla a operaci (+, -, *, /). Zobraz výsledek. Ošetři dělení nulou!

** Rozšíření pro maturitní obory

Úvod do nástroje Flowgorithm

Flowgorithm je bezplatný program pro tvorbu vývojových diagramů (flowcharts). Je ideální pro učení algoritmizace, protože:

Jak začít s Flowgorithm

  1. Stáhni a nainstaluj: Navštiv www.flowgorithm.org a stáhni program (je zdarma).
  2. Spusť program: Po spuštění uvidíš prázdný diagram se symbolem START a END.
  3. Přidej bloky: Klikni na šipku mezi START a END a vyber typ bloku:
    • Declare: Vytvoření proměnné (např. celé číslo, text).
    • Input: Načtení vstupu od uživatele.
    • Output: Zobrazení výstupu.
    • Assign: Přiřazení hodnoty do proměnné.
    • If: Větvení (podmínka).
    • While/For: Cyklus (opakování).
  4. Spusť: Klikni na tlačítko "Play" (▶) a sleduj, jak program běží.

Příklad: Kontrola věku

Vytvoříme algoritmus, který zkontroluje, zda je uživatel plnoletý:

Postup ve Flowgorithm:
1. Declare → proměnná "vek" typu Integer
2. Output → "Zadej svůj věk:"
3. Input → vek
4. If → podmínka: vek >= 18
   → True: Output "Jsi plnoletý!"
   → False: Output "Nejsi plnoletý."
5. END
Funkce jako černá skříňka - abstrakce
Funkce jako černá skříňka - abstrakce

Podrobně: Specifikace požadavků

V praxi se používá strukturovaný dokument zvaný SRS (Software Requirements Specification):

** Úkoly pro maturitní obory

  1. Flowgorithm – První algoritmus: Nainstaluj Flowgorithm. Vytvoř algoritmus, který se zeptá na jméno uživatele a pozdraví ho: "Ahoj, [jméno]!". Spusť a otestuj.
  2. Flowgorithm – Kontrola věku: Vytvoř algoritmus podle příkladu výše (kontrola plnoletosti). Přidej ještě výpis: "Za X let budeš plnoletý" pro neplnoleté.
  3. Flowgorithm – Kalkulačka: Vytvoř algoritmus kalkulačky: načti dvě čísla a operaci (+, -, *, /). Pomocí If rozpoznej operaci a vypočítej výsledek. Ošetři dělení nulou!
  4. Word – SRS dokument: Napiš profesionální dokument "Specifikace požadavků" pro mobilní aplikaci počasí. Zahrň: účel, uživatele, 5 funkčních požadavků, 3 nefunkční požadavky, náčrt rozhraní.
  5. PowerPoint – Prezentace: Vytvoř prezentaci "Jak správně formulovat úlohu" (8-10 snímků). Vysvětli pojmy: vstup, výstup, podmínky, specifikace. Použij příklady.
  6. Canva – Plakát: Vytvoř v Canvě plakát "5 kroků k dobrému algoritmu" pro učebnu. Použij ikony a krátké texty.

*** Rozšíření pro IT obory

Jako budoucí IT specialista se naučíš programovat v jazyce Python. Tato kapitola je tvůj první krok – instalace, spuštění a základní příkazy.

Co je Python?

Python je jeden z nejpopulárnějších programovacích jazyků na světě. Je ideální pro začátečníky díky čitelné syntaxi.

Instalace Pythonu

Windows

  1. Jdi na python.org/downloads
  2. Stáhni nejnovější verzi (např. Python 3.12)
  3. Důležité: Při instalaci zaškrtni "Add Python to PATH"!
  4. Klikni "Install Now"
  5. Po instalaci otevři Příkazový řádek (cmd) a napiš: python --version

macOS

  1. Otevři Terminál
  2. Nainstaluj Homebrew (pokud nemáš): /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  3. Nainstaluj Python: brew install python

Linux (Ubuntu/Debian)

sudo apt update
sudo apt install python3 python3-pip
        

Vývojová prostředí (IDE)

Nástroj Popis Pro koho
IDLE Součást Pythonu, základní Úplní začátečníci
VS Code Zdarma, rozšiřitelný, populární Doporučeno!
PyCharm Profesionální, Community zdarma Pokročilejší
Thonny Jednoduché, pro výuku Začátečníci
Google Colab Online, bez instalace Datová věda, ML

První program – Hello World

Vytvoř soubor hello.py a napiš:

# Můj první program v Pythonu
print("Ahoj, světe!")
        

Spusť v terminálu: python hello.py

Základní příkazy Pythonu

# VÝSTUP - zobrazení textu
print("Ahoj!")
print("Mám", 15, "let")

# VSTUP - načtení od uživatele
jmeno = input("Jak se jmenuješ? ")
print("Ahoj,", jmeno)

# PROMĚNNÉ - uložení hodnoty
vek = 15                    # celé číslo (int)
vyska = 175.5               # desetinné číslo (float)
jmeno = "Jan"               # text (string)
je_student = True           # pravda/nepravda (boolean)

# MATEMATICKÉ OPERACE
soucet = 5 + 3              # 8
rozdil = 10 - 4             # 6
soucin = 6 * 7              # 42
podil = 20 / 4              # 5.0
celociselny_podil = 20 // 3 # 6
zbytek = 20 % 3             # 2
mocnina = 2 ** 10           # 1024

# KOMENTÁŘE - poznámky v kódu
# Jednořádkový komentář

"""
Víceřádkový
komentář
"""
        

Podmínky (if/else)

vek = int(input("Kolik ti je let? "))

if vek >= 18:
    print("Jsi dospělý.")
elif vek >= 15:
    print("Jsi mladistvý.")
else:
    print("Jsi dítě.")
        

Cykly (for/while)

# FOR cyklus - opakuj n-krát
for i in range(5):
    print(f"Opakování číslo {i}")

# FOR cyklus - procházení seznamu
jmena = ["Anna", "Bob", "Cyril"]
for jmeno in jmena:
    print(f"Ahoj, {jmeno}!")

# WHILE cyklus - opakuj dokud platí podmínka
cislo = 1
while cislo <= 10:
    print(cislo)
    cislo = cislo + 1
        

*** Praktické úkoly pro IT obory

  1. Instalace: Nainstaluj Python a VS Code na svůj počítač. Vytvoř první program "hello.py", který vypíše tvé jméno.
  2. Kalkulačka: Napiš program, který načte dvě čísla a vypíše jejich součet, rozdíl, součin a podíl.
  3. Pozdrav: Napiš program, který se zeptá na jméno a věk. Pak vypíše personalizovaný pozdrav a kolik let zbývá do plnoletosti.
  4. Násobilka: Napiš program, který pomocí cyklu for vytiskne celou násobilku zvoleného čísla (1×N až 10×N).
  5. Hádání: Napiš jednoduchý program, kde si uživatel myslí číslo a počítač hádá (nebo naopak).
← Zpět na obsah