Programozási feladatok - alapok, vezérlési szerkezetek¶
Nehézségi fokozat
Minden feladatnál látható egy (vagy több) csillagjel, ami a feladat nehézségi fokozatát jelzi. Az alábbiak szerint osztályoztuk a feladatokat:
- ⭐ - könnyű
- ⭐⭐ - közepes
- ⭐⭐⭐ - nehéz
- ⭐⭐⭐⭐ - nagyon nehéz
- ⭐⭐⭐⭐⭐ - extrém
Összefűzés¶
Nehézségi fokozat: ⭐
Írj programot, amely beolvas a standard bemenetről két szöveget és rendre összefűzi azokat! Az összefűzés eredményeképpen kapott szöveget írasd ki a konzolra!
Áremelés¶
Nehézségi fokozat: ⭐⭐
Dávid, a kereskedő számítógép alkatrészeket ad el. Mivel mostanság megnőtt a vásárlói igény az alkatrészekre, ezért Dávid úgy dönt, hogy felemeli az árait.
Írj programot, amely beolvassa a standard bemenetről egy adott alkatrész jelenlegi árát (egész szám), valamint az áremelés mértékét százalékban (valós szám)! Írasd ki a konzolra, hogy mennyi lesz az alkatrész ára, miután azt az adott százalékkal megnöveljük!
Százalékszámítás segédlet
A fenti példán végigvezetve a következő módon kaphatjuk meg az eredményt:
- A bemenő értéket (17500) elosztjuk 100-al, így megkapjuk, hogy 1% hány forintnak felel meg: \(\frac{17500}{100} = 175 \)
- 100-hoz hozzáadjuk a megemelt százalékot, ezzel megkapjuk, hogy hány százalékkal kell szoroznunk: \(100 + 8.7 = 108.7 \)
- Az 1%-os összeget megszorozzuk a 2. pontban kapott értékkel: \(175 \times 108.7 = 19022.5\) Ft.
A képlet tehát a következő:
Ha csökkenteni kellene az értéket pl.: számoljuk, ki, hogy mennyi a 20%-kal csökkentett ár, akkor azt is hasonló módon kaphatjuk meg: \(1\% \times (100 - 20)\). A csökkentett összeg képlete a következő:
Árcsökkentés¶
Nehézségi fokozat: ⭐⭐
Dávid, a kereskedő számítógép alkatrészeket ad el. Mivel mostanság csökkent a vásárlói igény az alkatrészekre, ezért Dávid úgy dönt, hogy csökkenti az árait.
Írj programot, amely beolvassa a standard bemenetről egy adott alkatrész jelenlegi árát (egész szám), valamint az árcsökkentés mértékét százalékban (valós szám)! Írasd ki a konzolra, hogy mennyi lesz az alkatrész ára, miután azt az adott százalékkal csökkentjük!
Laci¶
Nehézségi fokozat: ⭐
A gimnazista Laci informatikaórán odafigyelés helyett mémeket nézegetett, ezért az informatikatanártól azt a régimódi büntetést kapta, hogy le kell írnia a nevét 100-szor. Írj programot, amely kiírja a konzolra a Laci szöveget 100 alkalommal! Az egyes kiíratások után szerepeljen sortörés is!
Megjegyzés
Pythonban a feladat akár egyetlen print()
utasítással is megoldható.
Kiegészítés¶
Nehézségi fokozat: ⭐⭐
Egészítsd ki úgy az előző programot, hogy a program beolvasson a standard bemenetről egy szöveget, majd kérdezze meg a felhasználótól, hogy hány alkalommal szeretné kiíratni a beolvasott szöveget! Az egyes kiíratások után szerepeljen sortörés is!
Négyzetgyök¶
Nehézségi fokozat: ⭐⭐
Írj programot, amely beolvas a standard bemenetről egy egész számot, és kiírja annak a négyzetgyökét! Amennyiben a beolvasott szám negatív, akkor a Negativ szambol nem vonunk negyzetgyokot!
szöveget írasd ki!
Tip
Használd a matematikai függvénykönyvtárat!
Páros számok összege¶
Nehézségi fokozat: ⭐⭐
Írj programot, amely beolvas a standard bemenetről két egész számot: rendre egy zárt intervallum alsó és felső végpontját! A program írja ki a konzolra az intervallumban található páros számok összegét! A beolvasott alsó és felső végpontok még részei az intervallumnak. Hibakezeléssel nem kell foglalkoznod.
Az intervallum also vegpontja: 42
Az intervallum felso vegpontja: 100
A(z) [42; 100] intervallumba eso paros szamok osszege: 2130
Szóbeli vizsga¶
Nehézségi fokozat: ⭐⭐⭐⭐⭐
A kedvenc tantárgyunkból a szóbeli vizsga a következőképpen zajlik: egyszerre bemegy valamennyi hallgató egy terembe, és sorban helyet foglalnak a teremben lévő, 1-től kezdődően sorszámozott székeken. A teremben pontosan annyi szék van, mint ahány hallgató vizsgázik. Az oktató a vizsgán kiválaszt egy adott sorszámú széken ülő hallgatót, feltesz neki egy kérdést, majd ezután az 1-gyel nagyobb sorszámú széken ülő hallgatótól kérdez. A legutolsó széken ülő hallgató után az első széken ülő hallgatóval folytatódik a sor. Az oktató utolsó kérdése mindig egy egyszerűbb "bónusz kérdés".
Írj programot, amely beolvas 3 egész számot: rendre a vizsgázó hallgatók számát, az oktató által feltett kérdések számát és azon hallgató székének sorszámát, aki az első kérdést kapja! A szkript írja ki a konzolra, hogy hányas széken ülő hallgató fogja kapni az utolsó, "bónusz" kérdést! Hibakezeléssel nem kell foglalkoznod, feltesszük, hogy az input minden esetben helyes.
Vizsgazok szama: 5
Feltett kerdesek szama: 8
Az elso kerdest kapo hallgato szekszama: 2
A(z) 4. szeken ulo hallgato kapja a bonusz kerdest.
Vizsgazok szama: 10
Feltett kerdesek szama: 22
Az elso kerdest kapo hallgato szekszama: 5
A(z) 6. szeken ulo hallgato kapja a bonusz kerdest.
Príma nyereményjáték¶
Nehézségi fokozat: ⭐⭐⭐
Jónás, a csokigyáros úgy döntött, hogy nyereményjátékot hirdet: néhány legyártott csokoládéba egy aranyszelvényt helyez, és a szelvények szerencsés megtalálói egy különleges látogatást tehetnek a csokigyárban. Minden csokihoz tartozik egy gyártási sorszám, és Jónás azokba a csokikba tesz aranyszelvényt, amelyek gyártási sorszáma prímszám.
Írj programot, amely beolvassa a konzolról egy csoki gyártási sorszámát (egész szám)! Ha a beolvasott szám prímszám, akkor írasd ki a Gratulalok, nyertel!, ellenkező esetben pedig a Sajnos nem nyert! szöveget a konzolra!
Emlékeztető
Egy számot akkor nevezünk prímszámnak, ha csak 1-gyel és önmagával osztható.
Gyakorlati jegy¶
Nehézségi fokozat: ⭐⭐
A Python gyakorlat osztályozása a következő ponthatárok alapján történik:
Ponthatárok | Érdemjegy |
---|---|
89 - 100 pont | Jeles (5) |
76 - 88 pont | Jó (4) |
63 - 75 pont | Közepes (3) |
50 - 62 pont | Elégséges (2) |
0 - 49 pont | Elégtelen (1) |
Írj programot, amely beolvassa egy hallgató gyakorlaton elért pontszámát (egész szám), és kiírja a pontszámnak megfelelő érdemjegyet! Amennyiben a pontszám 0-nál kisebb vagy 100-nál nagyobb, írasd ki az Ervenytelen ertek! hibaüzenetet a konzolra! (Eltekintünk a gyakorlaton szerezhető plusz pontoktól.)
Szorzótábla¶
Nehézségi fokozat: ⭐⭐⭐
Írj programot, amely kiírja a konzolra a szorzótáblát 1-től 10-ig, ciklusok használatával!
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
Számológép¶
Nehézségi fokozat: ⭐⭐⭐
Pomeló Zoltán egy zöldségesboltot üzemeltet. Ahhoz, hogy az árakat könnyebben tudja számolni, szüksége van egy számológépre. Írj Pythonban egy egyszerű számológépet, amely a négy alapműveletet (összeadás, kivonás, szorzás, osztás) tudja értelmezni!
- Olvass be a standard bemenetről két valós számot és egy műveleti jelet (string)!
- Ha a műveleti jel helyes (tehát a
+
,-
,*
,/
szimbólumok valamelyike), akkor végezd el a műveletet és írasd ki az eredményt a konzolra! - A felsorolt 4 jeltől eltérő műveleti jel esetén írasd ki a
Hibas muveleti jel!
üzenetet a konzolra! - Kezeld le a nullával való osztás esetét is: ha nullával szeretnénk osztani, akkor írasd ki a konzolra az
Ejnye, nullaval nem osztunk!
hibaüzenetet!
Python pontatlanság
A Python a valós számokat nem pontosan ábrázolja, ezért a rajtuk végzett aritmetikai műveletek "különös" eredményeket produkálhatnak (pl. 0.1 + 0.2 eredménye 0.30000000000000004). Ennek kiküszöböléséhez kerekítsük 2 tizedesjegyre a kiszámolt eredményt: round(szám, 2)
!
Ösztöndíj¶
Nehézségi fokozat: ⭐⭐
Egy kisváros ösztöndíjat hirdet azoknak az egyetemi hallgatóknak, akiknek a tanulmányi átlaguk legalább négyes. Írj programot, amely először beolvassa, hogy hány jegyet kapott az adott egyetemi hallgató a félévben (egész szám), majd ezt követően beolvas ennyi darab érdemjegyet (egész számok)! A szkript számítsa ki a jegyek átlagát, és döntse el, hogy a hallgató jogosult-e az ösztöndíjra vagy sem (tehát legalább 4.0 az átlaga vagy sem)!
Emlékeztető
Az átlagot a jegyek összegének és darabszámának hányadosaként kapjuk meg.
Hallgato jegyeinek szama: 5
A jegyek:
3
5
5
4
5
A jegyek atlaga: 4.4
A hallgato osztondijra jogosult!
Hallgato jegyeinek szama: 3
A jegyek:
3
1
5
A jegyek atlaga: 3.0
A hallgato nem jogosult osztondijra!
Heti profit¶
Nehézségi fokozat: ⭐⭐⭐
A csokigyáros Jónás nyereményjátéka nagy sikert aratott a vásárlók körében. A statisztikák alapján a csokigyár mindennap kétszer annyi csokit ad el, mint az előző napon. Jónás ki szeretné számolni, hogy egy héten várhatóan mennyi csokit fog eladni.
Írj programot, amely beolvassa a hétfőn eladott csokik számát (egész szám), majd kiszámítja, hogy 7 nap alatt összesen mennyi csokit fog eladni Jónás, ha mindennap kétszer annyi csokit ad el, mint az előző napon! (Tehát pl. ha hétfőn 500 csokit ad el, akkor kedden 1000-et, szerdán 2000-et stb., ezeket az értékeket kell összeadogatni.)
Időkülönbség¶
Nehézségi fokozat: ⭐⭐⭐
Zhang miniszter az idő megszállottja: minden napjának időbeosztását előre megtervezi a lehető legnagyobb precizitással. Sajnos Zhang nem jó fejszámolásban, így sokszor bajban van, amikor egy megbeszélésének az időtartamát kell kiszámolni a megbeszélés kezdetének és végének az időpontja alapján.
Írj programot, amely kiszámítja egy nap két időpontja közötti időkülönbséget! Olvasd be a két időpontot (óra és perc, mindketten egész számok) a példában látható formátumban, majd írasd ki a köztük lévő időkülönbséget (óra és perc)! Előfordulhat, hogy az első időpont a későbbi (lásd: második példa)! Egyéb hibakezeléssel nem kell foglalkoznod.
A feladat megoldása során ne használj semmilyen beépített vagy külső Python csomagot!
Elso idopont (ora): 8
Elso idopont (perc): 15
Masodik idopont (ora): 16
Masodik idopont (perc): 0
A ket idopont kozott 7 ora es 45 perc telt el.
Elso idopont (ora): 10
Elso idopont (perc): 30
Masodik idopont (ora): 8
Masodik idopont (perc): 30
A ket idopont kozott 2 ora es 0 perc telt el.
Menekülés¶
Nehézségi fokozat: ⭐⭐⭐
Józsi a koronavírus-járvány miatti kijárási korlátozások idején egy házibuliban vesz részt. Sajnos ezt a rendőrök is megtudták, és rajtaütöttek az önfeledten bulizókon, ezért a házibuli résztvevői pánikolva próbálnak elmenekülni a rend éber őrei elől.
Írj programot, amely beolvas két egész számot: rendre a házibuliban résztvevők számát és a rendőrök számát! A rendőrök úgy kapják el a bulizókat, hogy az első rendőr elkap 1 bulizót, majd minden további rendőr 1-gyel többet kap el, mint az előző (tehát az első rendőr 1, a második rendőr 2, a harmadik rendőr 3 bulizót kap el és így tovább).
Ha senkit nem kaptak el a rendőrök, akkor írasd ki a Minden bulizo megmenekult! szöveget a konzolra! Ha mindenkit elkaptak a rendőrök, akkor az Ajaj, mindenkit elkaptak! szöveget írasd ki! Minden egyéb esetben a következő szöveget jelenítsd meg a konzolon: {elkapottak szama} bulizot elkaptak, {elmenekultek szama} pedig elmenekult. (a kapcsos zárójelek helyére értelemszerűen a megfelelő értékek legyenek behelyettesítve)!
A hazibuliban resztvevok szama: 8
A rendorok szama: 3
6 bulizot elkaptak, 2 pedig elmenekult.
Gondoltam egy számra¶
Nehézségi fokozat: ⭐⭐⭐
Készíts egy egyszerű számkitalálós játékot Python nyelven! A gép "gondol" egy számra 1 és 1000 között (az 1 és az 1000 is még beletartozik a lehetséges számok intervallumába), és a felhasználó ezt a számot próbálja meg minél kevesebb próbálkozással kitalálni. A felhasználónak a játék elején 20 élete (próbálkozása) van.
- Hozz létre egy változót a felhasználó életeinek számára! Ennek értéke kezdetben legyen 20!
- Hozz létre egy változót a gondolt számnak! Ez lehet fix szám vagy véletlenszerűen generált érték.
- A játék során minden körben olvasd be a felhasználó aktuális tippjét a konzolról (egész szám)!
- Ha a felhasználó nem találja el a gondolt számot, akkor írasd ki, hogy a gondolt szám kisebb-e vagy nagyobb-e a felhasználó tippjénél! Csökkentsd a felhasználó életeinek számát 1-gyel!
- Ha a felhasználó eltalálja a gondolt számot, akkor a játéknak vége, és a felhasználó nyert. Ebben az esetben írasd ki a Gratulalok, nyertel! szöveget, a gondolt számot és a megmaradt életek számát!
- Ha elfogynak a felhasználó életei, akkor a játéknak vége, és a felhasználó veszít. Ebben az esetben írasd ki a Sajnos nem nyertel! szöveget és a gondolt számot!