Gyakorló zárthelyi

Czirkos Zoltán, Ress Sándor · 2024.10.02.

Post Covid rövidített, három példából álló minta zárthelyi

Figyelem!

  1. Nem minden évben ugyanakkor van a NZH, nem minden évben pont ugyanaddig terjedt a NZH anyaga; ezzel kapcsolatban lásd az aktuális évi előadásanyagokat és az ütemtervet.

  2. Minden zárthelyi egyedi és általában a következőképp épül fel:

    • az első feladatban egymásba ágyazott ciklusokat
    • a második feladatban szöveges adatok feldolgozását
    • a harmadik feladatban pedig a probléma függvényekre bontását kérjük számon.

    A pontszámok a megoldás objektív (kódsorok száma) és szubjektív (nehézségét) tükrözik, és szintén változhatnak, csak az összeg állandó.

1. Karaktertábla (10p)

Az előadásanyagban szerepel egy táblázat az ASCII karakterkódokkal. A feladat egy olyan programot írni, amely kirajzolja azt, fejlécekkel együtt. (ciklus nélküli megoldás érvénytelen) Csak a 32-127 közé eső ASCII kódokat kell kiírni.

    0123456789

 30   ␣!"#$%&'
 40 ()*+,-./01
 50 23456789:;
 60 <=>?@ABCDE
 70 FGHIJKLMNO
 80 PQRSTUVWXY
 90 Z[\]^_`abc
100 defghijklm
110 nopqrstuvw
120 xyz{|}~

2. ZH statisztika (12p)

Egy oktató statisztikát szeretne készíteni a megírt ZH-król. A ZH-ban három feladat van, ezek pontszáma nemnegatív egész szám, egyenként max. 10 pont, így az egész max. 30 pontos lehet.

Írj programot, mely a szabványos bemenetéről olvassa be soronként a ZH-k pontszámait. Az adatsort üres sor zárja. Írja ki ezután a szabványos kimenetre, hány 0 pontos, hány 1 pontos, … és hány 30 pontos megoldás lett. Ha adott pontszámú dolgozat nem született, a sort ne írja ki.

Legyen hibatűrő a megvalósítás, a hibás sorokat hagyja figyelmen kívül!

Egy lehetséges be és kimenet:

Példa bemenet:

8 10 7
4 3 5
10 10 9
10 9 10

Példa kimenet:

12 pontos: 1 db
25 pontos: 1 db
29 pontos: 2 db

3. Armstrong számok (18p)

Készíts programot, mely Armstrong-számokat keres, és a találtakat megjeleníti a képernyőn! N-jegyű Armstrong számoknak nevezzük azokat a számokat, melyek számjegyei N-dik hatványainak összege éppen a számot adja. Például: egy négyjegyű Armstrong-szám a 1634, mivel: 1634=1⁴+6⁴+3⁴+4⁴ A program kérje be a számjegyek számát, majd listázza ki az ahhoz tartozó összes Armstrong számot!

Használj top-down tervezést és függvényeket!

  • Írj függvényt, ami egy számot tízes számrendszerben számjegyekre bont és visszaadja egy listában!
  • Írj egy másik függvényt, ami megmondja, Armstrong-szám-e a megadott szám!
  • Írj egy harmadik függvényt, ami a megfelelő határok között egy ciklusban kilistázza az Armstrong számokat!
  • Írj egy main függvényt, ami bekéri a határokat és meghívja az előző függvényt!

Példa:

Hány jegyű számok között? 3
153
370
371
407