informatika — algoritmizálás — a "Folyamatábrák" folytatása

Gyakorlatok folyamatábrákkal

Három feladat a folyamatábrák olvasásának, hibakeresésének és megalkotásának gyakorlására. A tevékenység egy tanórára (45 perc) készült, és egyéni és csoportos munkát is ötvöz.

1. feladat — Kövesd az algoritmust

egyéni · 10 perc

A folyamatábra a látogató életkora alapján számítja ki a belépőjegy árát. Rendeld hozzá az egyes életkorokhoz a helyes eredményt — haladj pontosan a nyilak és az elágazások mentén.

Kezdés bemenet: kor kor < 6 ? igen nem ár = 0 € kor ≤ 15 ? igen nem ár = 3 € kor ≤ 65 ? igen nem ár = 6 € ár = 4 € Vége

2. feladat — Keresd meg és javítsd a hibát

párok / 3–4 fős csoportok · 12 perc

A folyamatábrának el kellett volna döntenie, hogy a megadott n szám pozitív vagy negatív. Valaki elrontotta a rajzolásnál — keressétek meg a hibát és javítsátok ki.

Kezdés bemenet n n > 0 ? igen nem kiír "negatív" kiír "pozitív" Vége

A csoportban próbáljátok ki a folyamatábrát az n = 5 és az n = −3 számon. Írjátok fel, mit ír ki az ábra mindkét esetben, és hasonlítsátok össze a helyes eredménnyel.

  • Hol pontosan keletkezik a hiba — az elágazás szimbólumában vagy a kimenetekben?
  • Hogyan javítanátok ki az ábrát? Rajzoljátok le a javított változatot a füzetbe.
  • Kezeli az ábra az n = 0 esetet is? Ha nem, egészítsétek ki.

Hiba: a kimenetek fel vannak cserélve. Az "igen" ág (n > 0) a "negatív" szöveget írja ki, holott a "pozitív"-at kellene — és fordítva. Az ábra ráadásul nem kezeli az n = 0 esetet, amelynek külön kimenetet kellene kapnia, pl. "nulla".

3. feladat — Tervezz saját folyamatábrát

3–4 fős csoportok · 13 perc

Az osztály csoportokra oszlik. Minden csoport más feladatot kap, és papírra vagy táblára rajzolja a folyamatábrát. A végén egy csoport röviden bemutatja a saját ábráját.

A csoportkönnyebb

Döntsd el, hogy a megadott év szökőév-e. Az év szökőév, ha osztható 4-gyel, de nem 100-zal — kivéve, ha 400-zal is osztható.

  • pontosan 1× Kezdés és 1× Vége
  • legalább 2 rombusz (egymásba ágyazott elágazások)
  • két különböző kimenet: "szökőév" / "nem szökőév"
B csoportközepes

Adj a tanulónak osztályzatot a teszt százalékos eredménye alapján (1 a legjobb, 5 a legrosszabb): 90–100 % → 1, 75–89 % → 2, 60–74 % → 3, 45–59 % → 4, kevesebb → 5.

  • bemenet: százalék
  • négy egymás utáni rombusz
  • öt különböző kimenet (1-től 5-ig terjedő osztályzatok)
C csoportközepes

Ellenőrizd, vezethet-e valaki személygépkocsit: legalább 18 évesnek kell lennie és egyúttal jogosítvánnyal kell rendelkeznie.

  • két bemenet: kor, van jogosítvány (igen/nem)
  • elágazás, amely egyszerre kombinálja mindkét feltételt
  • két kimenet: "vezethet" / "nem vezethet"
D csoportnehezebb · kiegészítő

A három oldal, a, b, c hossza alapján döntsd el, hogy a háromszög egyenlő oldalú, egyenlő szárú vagy általános.

  • három bemenet: a, b, c
  • több elágazás, amely az oldalakat páronként hasonlítja össze
  • három különböző kimenet a háromszög típusa szerint

Házi feladat

egyéni

Rajzold le a füzetbe a következő algoritmus folyamatábráját. Az ábrát fényképezd le, vagy hozd magaddal a következő órára.

Feladat: Egy üzlet a vásárlás értéke alapján ad kedvezményt:

  • A program beolvassa a vásárlás összegét euróban.
  • Ha az összeg legalább 100 €, a kedvezmény 15 %.
  • Ha az összeg legalább 50 € (de kevesebb mint 100 €), a kedvezmény 8 %.
  • Egyébként nincs kedvezmény (0 %).
  • Végül a program kiírja az összeget, amelyet a vásárló a kedvezmény után fizet.

Ellenőrizd, hogy az ábrád tartalmazza-e: pontosan egy Kezdést és egy Véget, bemeneti szimbólumot az összeghez, két egymás utáni rombuszt, a kedvezmény kiszámítását egy téglalapban, és a végösszeg kimenetét.

Ellenőrizd az ábrát három értéken: 120 €, 60 € és 30 €. Milyen összegeknek kell kijönniük?

120 € → 15 % kedvezmény → fizet 102 €

60 € → 8 % kedvezmény → fizet 55,20 €

30 € → 0 % kedvezmény → fizet 30 €

Összefoglalás és reflexió

  1. A mai gyakorlatok melyik része volt a legnehezebb — a nyomon követés, a hibakeresés vagy a saját ábra megalkotása?
  2. Miért fontos, hogy az ábrát a programozás előtt először konkrét értékeken teszteljük (mint az 1. feladatban)?
  3. Mi történik a programmal, ha az ábrából hiányzik az elágazás valamelyik ága (pl. az n = 0 eset a 2. feladatban)?