informatika — algoritmizácia — nadväzuje na "Vývojové diagramy"

Cvičenia s vývojovými diagramami

Tri zadania na precvičenie čítania, ladenia a tvorby vývojových diagramov. Aktivita je navrhnutá na jednu vyučovaciu hodinu (45 minút), kombinuje individuálnu prácu aj prácu v skupinách.

Úloha 1 — Sleduj algoritmus

individuálne · 10 min

Diagram vypočíta cenu vstupenky podľa veku návštevníka. Priraď k jednotlivým vekom správny výsledok — postupuj presne podľa šípok a rozhodnutí.

Štart vstup: vek vek < 6 ? áno nie cena = 0 € vek ≤ 15 ? áno nie cena = 3 € vek ≤ 65 ? áno nie cena = 6 € cena = 4 € Koniec

Úloha 2 — Nájdi a oprav chybu

dvojice / skupiny 3–4 · 12 min

Diagram mal rozhodnúť, či je zadané číslo n kladné, alebo záporné. Niekto sa pri kreslení pomýlil — nájdite chybu a opravte ju.

Štart vstup n n > 0 ? áno nie vypíš "záporné" vypíš "kladné" Koniec

V skupine si vyskúšajte diagram na čísle n = 5 a na čísle n = −3. Zapíšte si, čo diagram vypíše v oboch prípadoch, a porovnajte to so správnym výsledkom.

  • Kde presne vzniká chyba — v symbole rozhodnutia, alebo vo výstupoch?
  • Ako by ste diagram opravili? Nakreslite si opravenú verziu do zošita.
  • Ošetruje diagram aj prípad n = 0? Ak nie, doplňte ho.

Chyba: výstupy sú preskupené (prehodené). Vetva "áno" (n > 0) vypisuje "záporné", hoci má vypisovať "kladné" — a naopak. Diagram tiež neošetruje n = 0, ktoré by malo mať samostatný výstup, napr. "nula".

Úloha 3 — Navrhni vlastný diagram

skupiny 3–4 · 13 min

Trieda sa rozdelí na skupiny. Každá skupina dostane iné zadanie a nakreslí vývojový diagram na papier alebo na tabuľu. Na konci jedna skupina svoj diagram krátko predstaví.

Skupina Aľahšie

Zisti, či je zadaný rok priestupný. Rok je priestupný, ak je deliteľný 4, ale nie 100 — okrem prípadu, keď je deliteľný aj 400.

  • presne 1× Štart a 1× Koniec
  • aspoň 2 kosoštvorce (vnorené rozhodnutia)
  • dva rôzne výstupy: "priestupný" / "nie je priestupný"
Skupina Bstredné

Priraď žiakovi známku podľa percentuálnej úspešnosti testu (1 je najlepšia, 5 najhoršia): 90–100 % → 1, 75–89 % → 2, 60–74 % → 3, 45–59 % → 4, menej → 5.

  • vstup: percentá
  • štyri kosoštvorce zoradené za sebou
  • päť rôznych výstupov (známky 1 až 5)
Skupina Cstredné

Over, či môže osoba viesť osobné auto: musí mať aspoň 18 rokov a zároveň vlastniť vodičský preukaz.

  • dva vstupy: vek, má preukaz (áno/nie)
  • rozhodnutie kombinujúce obe podmienky súčasne
  • dva výstupy: "môže viesť" / "nemôže viesť"
Skupina Dnáročnejšie · rozširujúce

Podľa dĺžok troch strán a, b, c rozhodni, či je trojuholník rovnostranný, rovnoramenný, alebo všeobecný.

  • tri vstupy: a, b, c
  • viacero rozhodnutí porovnávajúcich strany navzájom
  • tri rôzne výstupy podľa typu trojuholníka

Domáce zadanie

individuálne

Nakresli do zošita vývojový diagram pre nasledujúci algoritmus. Diagram odfoť alebo prines na ďalšiu hodinu.

Zadanie: Obchod poskytuje zľavu podľa hodnoty nákupu:

  • Program načíta sumu nákupu v eurách.
  • Ak je suma aspoň 100 €, zľava je 15 %.
  • Ak je suma aspoň 50 € (ale menej ako 100 €), zľava je 8 %.
  • Inak zľava nie je žiadna (0 %).
  • Na záver program vypíše sumu, ktorú zákazník zaplatí po zľave.

Skontroluj si, či tvoj diagram obsahuje: presne jeden Štart a jeden Koniec, symbol vstupu pre sumu, dva kosoštvorce zoradené za sebou, výpočet zľavy v obdĺžniku a výstup s konečnou sumou.

Over si diagram na troch hodnotách: 120 €, 60 € a 30 €. Aké sumy majú vyjsť?

120 € → zľava 15 % → zaplatí 102 €

60 € → zľava 8 % → zaplatí 55,20 €

30 € → zľava 0 % → zaplatí 30 €

Zhrnutie a reflexia

  1. Ktorá časť dnešných cvičení bola najťažšia — trasovanie, hľadanie chyby, alebo tvorba vlastného diagramu?
  2. Prečo je dôležité diagram pred programovaním najprv otestovať na konkrétnych hodnotách (tak ako v Úlohe 1)?
  3. Čo sa stane s programom, ak v diagrame chýba niektorá vetva rozhodnutia (napr. prípad n = 0 v Úlohe 2)?