Ágazati alapvizsga (Programozás)
Első programozási gyakorlatok:
Programozási
feladatok
- Az Ön feladata az alábbiakban olvasható
leírás alapján három program elkészítése.
- A három Python-feladat elvégzésére
összesen kb. 60 perc áll rendelkezésre.
- A programokat a (megadott hely)-re kell
mentenie.
- A programok elkészítése során a
felhasználó által megadott adatok helyességét nem kell ellenőriznie – ha
például a program egy 1 és 5 közé eső szám megadását kéri a
felhasználótól, akkor feltételezheti, hogy a felhasználó számot, és a
megadott feltételeknek megfelelő számot ad meg.
- Törekedjen arra, hogy a tanult
programozási elveknek megfelelő adatszerkezeteket, vezérlési szerkezeteket
alkalmazzon!
- Munkáját rendszeresen mentse! Amennyiben
a vizsga során a számítógép nem megfelelő működését tapasztalja, jelezze a
felügyelő tanárnak!
Első feladat
– 8 pont
Írjon programot nagyobb.py néven! A program kérjen be két
számot a felhasználótól, majd írja ki, hogy melyik a nagyobb! A program
üzeneteinek megfogalmazásában kövesse az alábbi példát! Azokat a részeket,
amiket a felhasználó gépel be, a mintában vastagított és döntött betűkkel
emeltük ki.
C:\Users\raerek\programok>nagyobb.py
Adj meg egy számot! 1
Adj meg egy másik számot! 17
A nagyobb érték 17
C:\Users\raerek\programok>nagyobb.py
Adj meg egy számot! 28
Adj meg egy másik számot! -2
A nagyobb érték: 28
C:\Users\raerek\programok>nagyobb.py
Adj meg egy számot! 999
Adj meg egy másik számot! 999
A két szám egyenlő
Pontozás – minden teljesülő feltétel egy-egy pontot ér
- Létrehoz
programot nagyobb.py néven, a program hibaüzenet nélkül lefut.
- Bekéri a
felhasználótól az egyik számot, és tárolja.
- A bekért
számot szám típusúvá alakítja.
- Az előző
két lépést a második számmal is elvégzi.
- Elágazást
használ a különböző esetek kezelésére.
- Ha a két
szám nem egyenlő, helyesen állapítja meg és írja ki, hogy melyik a nagyobb.
- Helyesen
állapítja meg, és írja ki, ha a két szám egyenlő.
- A kiírt üzenetek helyesek (pl.: nincs benne elgépelés, helyesen jelennek meg a szóközök).
Második
feladat – 14 pont
A program vizsgázók nevét és pontszámát kéri be. Eldönti és
kiírja, hogy a vizsgázó sikeresen vizsgázott-e. A vizsga sikeres, ha legalább
48 pontot ért el a vizsgázó.
Írjon programot vizsga.py néven!
Kérje be a vizsgázók nevét és az elért pontszámokat! Írja meg azt
a függvényt, ami eldönti, hogy a vizsga sikeres-e! A függvény paramétere a
vizsgázó által elért pontszám, a visszatérési értéke logikai érték: igaz, ha a
vizsga sikeres, hamis, ha sikertelen. Ezt a függvényt használja fel a
programjában!
A program kérdezgesse addig újabb és újabb vizsgázó nevét és
pontszámát, amíg a vizsgázó nevének megadásakor üres bemenetet nem kap! Ilyen
akkor történik, ha a felhasználó egyszerűen Entert nyom, anélkül hogy bármit is
begépelne.
A program üzeneteinek megfogalmazásában kövesse az alábbi példát!
Azokat a részeket, amiket a felhasználó gépel be, a mintában vastagított és
döntött betűkkel emeltük ki.
C:\Users\raerek\programok>vizsga.py
Add meg a vizsgázó nevét! Linus Torvalds
Add meg a pontszámát! 121
Linus Torvalds vizsgája sikeres.
Add meg a vizsgázó nevét! Dennis Ritchie
Add meg a pontszámát! 119
Dennis Ritchie vizsgája sikeres.
Add meg a vizsgázó nevét! Steve Ballmer
Add meg a pontszámát! 27
Steve Ballmer vizsgája sikertelen.
Add meg a vizsgázó nevét!
C:\Users\raerek\programok>
Pontozás –
minden teljesülő feltétel egy-egy pontot ér
- Létrehoz
programot vizsga.py néven, a program hibaüzenet nélkül lefut.
- Bekér
egy nevet és tárolja.
- Bekér
egy pontszámot.
- Egy
bekért számot szám típusúvá alakít.
- Egy
pontszám alapján helyesen állapítja meg, hogy a vizsga sikeres-e vagy sem.
- Egy
esetben helyesen jelenít meg üzenetet vizsga eredményességéről. Az üzenet
a vizsgázó nevét is feltünteti.
- Ciklust
szervez a nevek és a pontszámok bekérésére, illetve a vizsga
sikerességének kiírására.
- A ciklus
futása véget ér, ha a név megadásakor üres bemenetet kap a program.
- Függvényt
hozott létre a vizsga sikerességének eldöntésére.
- A
függvény paramétere a vizsga pontszáma.
- A
függvényt helyesen hívja.
- A
függvény visszatérési értéke alapján a főprogram (vagy az annak megfelelő
függvény) írja ki a vizsga eredményességét.
- A
függvényhívás a ciklusmagba kerül.
- A kiírt
üzenetek helyesek (pl.: nincs benne elgépelés, helyesen jelennek meg a
szóközök).
Harmadik
feladat – 18 pont
Az elkészítendő program bekéri három híres nő nevét,
foglalkozását, illetve nemzetiségét, amely angol vagy német lehet. Ezt a három
adatot minden esetben egy-egy objektumban tárolja. Az adatok megadását követően
a program a mintának megfelelően, a nemzetiségtől függően Ms. (angolok) vagy
Frau (németek) előtaggal együtt kiírja az objektumokban tárolt neveket és
foglalkozásokat.
a) Írjon
programot hiresek.py néven!
b) Az adatok
tárolására használt objektumok alapját képező osztályt a hiresek_alap.py fájl
tartalmazza részben elkészítve. Egészítse ki az osztálydefiníciót úgy, hogy az
objektumok alkalmasak legyenek a nemzetiség tárolására is!
c) Bővítse az
osztályt egy olyan tagfüggvénnyel, amely a tárolt nemzetiségtől függően „Ms.”
vagy „Frau” értékkel tér vissza!
d) Kérje be a
felhasználótól az adatokat és tárolja őket! Az adatbekérést követően írja ki a
megadott emberek nevének előtagját, a nevet és a foglalkozást!
A program üzeneteinek megfogalmazásában kövesse az alábbi példát!
Azokat a részeket, amiket a felhasználó gépel be, a mintában vastagított és
döntött betűkkel emeltük ki.
C:\Users\raerek\programok>hiresek.py
Add meg egy híres nő nevét! Katarina Witt
Add meg a foglalkozását! műkorcsolyázó
Add meg a nemzetiségét (a/n)! n
Add meg egy híres nő nevét! Ada Lovelace
Add meg a foglalkozását! informatikus
Add meg a nemzetiségét (a/n)! a
Add meg egy híres nő nevét! Diana Frances Spencer
Add meg a foglalkozását! hercegnő
Add meg a nemzetiségét (a/n)! a
Frau Katarina Witt egy híres műkorcsolyázó
Ms. Ada Lovelace egy híres informatikus
Ms. Diana Frances Spencer egy híres hercegnő
Pontozás – minden teljesülő feltétel egy-egy pontot ér
- Létrehoz
programot hiresek.py néven, a program hibaüzenet nélkül lefut.
- Adatszerkezetet
hoz létre a három HíresNő osztályú objektum tárolására.
- Bekéri
egy nő nevét.
- Bekéri
egy nő foglalkozását.
- A név és
a foglalkozás felhasználásával HíresNő osztályú objektumot hoz létre.
- Egy
HíresNő osztályú objektumot elhelyez a létrehozott adatszerkezetben.
- Három
bekért név és foglalkozás alapján három objektumot hoz létre.
- Mindhárom
objektumot elhelyezi az adatszerkezetben.
- Az
adatszerkezetben tárolt objektumok alapján megjelenít egy objektumot a NÉV
egy híres FOGLALKOZÁS formában.
- Mindhárom
objektumot megjeleníti.
- Az
osztály módosításával alkalmassá teszi az objektumokat a nemzetiség
tárolásra.
- A
módosítást úgy végzi el, hogy a nemzetiséget az objektum létrejöttekor
kelljen megadni.
- Az
osztályban előtag() néven tagfüggvényt hoz létre.
- Az
előtag() tagfüggvény a tárolt nemzetiség alapján az angoloknál a Ms.,
németeknél a Frau értéket adja vissza.
- A
program adatbekérő része a nemzetiséget is megkérdezi mindhárom esetben.
- A
létrehozott objektumok tárolják a nemzetiséget.
- Az
objektumok megjelenítésekor az előtag() tagfüggvény kimenetét helyesen
használja, azaz az angol nemzetiségűek Ms. NÉV egy híres FOGLALKOZÁS, a
németek Frau NÉV egy híres FOGLALKOZÁS formában íródnak ki.
- A kiírt
üzenetek helyesek (pl.: nincs benne elgépelés, helyesen jelennek meg a
szóközök).
A feladatok megoldása során vegye
figyelembe a következőket:
1. A képernyőre írást igénylő részfeladatok
eredményének megjelenítése előtt írja a képernyőre a feladat sorszámát és címét
(például: 2. feladat: Kisebb-nagyobb meghatározása)!
2. Az egyes feladatokban a kiírásokat a minta
szerint készítse el!
3. A harmadik feladat megoldásakor az
állományban lévő adatok helyes szerkezetét nem kell ellenőriznie,
feltételezheti, hogy a rendelkezésre álló adatok a leírtaknak megfelelnek!
4. A harmadik feladat megoldását úgy készítse
el, hogy az azonos szerkezetű, de tetszőleges bemeneti adatok mellett is helyes
eredményt adjon!
1. Kisebb-nagyobb meghatározása
8
pont
Kérjen be a felhasználótól két
egész számot és tárolja őket! Írja ki, hogy melyik a nagyobb és melyik a kisebb
szám! Ha a két szám egyenlő, akkor azt is jelezze!
2. Szökőévek 14
pont
Kérjen be a felhasználótól két évszámot és tárolja el!
Határozza meg és írja ki a képernyőre az évszámok közötti szökőéveket! A
vizsgált tartományba kerüljenek bele a felhasználótól bekért évszámok is! A
szökőév meghatározásához készítsen saját függvényt! Szökőév minden 400-al
osztható év, illetve a 4-el osztható, de 100-al nem osztható évek. Ha a
megadott évszámok között nem található szökőév, akkor a "Nincs szökőév a megadott tartományban!"
szöveget jelenítse meg!
3. Európa legmagasabb épületei 18
pont
Az UTF-8 kódolású legmagasabb.txt állomány Európa legmagasabb
épületeinek adatait tartalmazza a következő minta szerint (forrás:
wikipedia.org):
Az épület nevét, városát és országát az épület magassága
(méter, valós szám), az emeletek száma és az épület építésének éve követi. Az
adatokat pontosvessző választja el.
3.1 Olvassa be az UTF-8 kódolású legmagasabb.txt
állományban lévő adatokat és tárolja el egy saját osztály (Épület)
típusú listában! Ügyeljen rá, hogy az állomány első sora az adatok fejlécét
tartalmazza! A magasság érték tárolása (konvertálása) előtt cserélje le a
szöveges típusú adatban a vesszőt pontra!
3.2 Határozza meg és írja ki a képernyőre, hogy hány épület
található a forrásállományban!
3.3 Határozza meg és írja ki a
képernyőre az állományba található épületek emeleteinek az összegét!
3.4 Határozza meg és írja ki a képernyőre
a minta szerint, a legmagasabb épület adatait! Feltételezheti, hogy nem alakult
ki holtverseny!
3.5 Döntse
el, hogy az adatok között található-e olasz épület! A keresését ne folytassa,
ha a választ meg tudja adni!
Megjegyzések
Megjegyzés küldése