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)
nB10 * 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)
n1n1 - 4
n2n2 + 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
│   n2n2 / 2n1n1 + 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 (415) 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 (206) 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.