Megoldott feladatok (Folyamatábrák és pszeudokód)
- VI. osztály -
f01. feladat
Adott az alábbi folyamatábra:
a) Írjuk át ezt a folyamatábrát pszeudokódba.
b) Elemezzük sorról-sorra a program működését abban az esetben, ha a beolvasott érték 7.
Megoldás
a) A folyamatábra pszeudokódba átírva:
beolvas nA (szám)
nB ← 10 * nA
kiír nB
b)
Be: nA |
A beolvasott érték 7; ez az nA változóban tárolódik. |
nB ← 10 * nA |
Kiszámítódik a (10 * nA) kifejezés értéke, ami (10 * 7) = 70. Végül ez a 70-es érték betevődik az nB változóba. |
Ki: nB |
Kiíródik az nB változó értéke, vagyis 70. |
f02. feladat
Adott az alábbi pszeudokód:
beolvas n1, n2 (számok)
n1 ← n1 - 4
n2 ← n2 + n1 / 3
kiír n1, n2
Ha az n1 változónak 19-et, az n2-nek pedig 21-et olvasunk be, elemezzük sorról-sorra, hogy miket számít és miket ír ki az algoritmus.
Megoldás
beolvas n1, n2 |
n1 értéke 19, n2 értéke 21 lesz. |
n1 ← n1 - 4 |
Kiszámítódik (n1 - 4) értéke, ami (19 - 4) = 15. Az n1-be betevődik ez a 15. |
n2 ← n2 + n1 / 3 |
Az osztásnak elsőbbsége van az összeadáshoz képest, így az (n2 + n1 / 3) kifejezés értéke (21 + 15 / 3) = (21 + 5) = 26 lesz. Az n2-be betevődik ez a 26. |
kiír n1, n2 |
Kiíródik n1 és n2 értéke, vagyis 15 és 26. |
f03. feladat
Adott az alábbi Blockly program:
a) Írjuk át ezt a programot pszeudokódba.
b) Készítsük el a program folyamatábráját.
c) Írjuk le egy mondatban a program működését.
Megoldás
a) A program pszeudokódba átírva:
beolvas n (szám)
┌ha n ≠ 0 akkor
│ kiír "Nem nulla"
│különben
│ kiír "Nulla"
└□
b) A program folyamatábrája:
c) Ha a beolvasott szám nullától különböző, akkor ez a program kiírja, hogy Nem nulla, ha pedig a beolvasott érték 0, akkor kiírja, hogy Nulla.
f04. feladat
Adott az alábbi pszeudokód:
beolvas n1, n2 (számok)
┌ha n1 ≥ n2 akkor
│ n2 ← n2 / 2
│ n1 ← n1 + n2
└□
kiír n1
a) Készítsük el a program folyamatábráját.
b) Ha az n1 változónak 4 értéket, az n2 változónak pedig 15 értéket olvasunk be, állapítsuk meg, hogy mit ír ki a program. Írjuk le minden számításunkat!
c) Ha az n1 változónak 20 értéket, az n2 változónak pedig 6 értéket olvasunk be, elemezzük, hogy miket számít és mit ír ki a program.
Megoldás
a) A HA parancsnak hiányzik a KÜLÖNBEN ága, ezért az ábrán a HAMIS ághoz nem kell beírnunk semmit. A program folyamatábrája:
b)
beolvas n1, n2 |
n1 értéke 4, n2 értéke 15 lesz. |
ha n1 ≥ n2 akkor |
A feltétel (4 ≥ 15) lesz, ami HAMIS. Ezért a végrehajtás a folyamatábra HAMIS ágán halad végig, ahol nincsenek utasítások. |
kiír n1 |
Kiíródik n1 értéke, vagyis 4. |
c)
beolvas n1, n2 |
n1 értéke 20, n2 értéke 6 lesz. |
ha n1 ≥ n2 akkor |
A feltétel (20 ≥ 6) lesz, ami IGAZ. Ezért végrehajtódik a folyamatábra IGAZ ága, melyben két utasítás van. |
n2 ← n2 / 2 |
Kiszámítódik az (n2 / 2) kifejezés értéke, ami (6 / 2) = 3 lesz. Az n2 megkapja ezt a 3-as értéket. |
n1 ← n1 + n2 |
Az (n1 + n2) értéke (20 + 3) = 23 lesz. Az n1-be betevődik a 23. |
kiír n1 |
Kiíródik n1 értéke, ami 23. |