11. Évfolyam
Programozás

Python alapok, algoritmusok és saját projektek — az első lépések a szoftverfejlesztés világában.

Python Algoritmusok Változók Ciklusok Függvények Listák
scroll
01
// 01

Programozás

A 11. évfolyamban a programozás volt a fő tantárgy — ezen belül szinte kizárólag a Python nyelvvel foglalkoztunk. A Python az egyik legelterjedtebb és legtanulóbarátabb programozási nyelv, amit ma már szinte mindenhol használnak: webfejlesztéstől az adatelemzésen át egészen a mesterséges intelligenciáig.

Az év folyamán az alapoktól indultunk — változók, típusok, feltételek — és eljutottunk az összetettebb témákig: ciklusok, listák, random modul, saját projektek. A hangsúly a logikus gondolkodáson és a problémamegoldáson volt, nem csupán a szintaxison.

A Python egyik legnagyobb előnye az olvashatósága: a kód szinte olyan, mint egy angol mondat. Ez megkönnyíti a tanulást, és lehetővé teszi, hogy hamar valódi, működő programokat írjunk.

// Tantárgy specs
Évfolyam11. osztály
Fő nyelvPython 3
KörnyezetIDLE / VS Code
TémakörökAlap → Haladó
ProjektekSaját kódok
18+ Python fájl
5 témakör
1 fő projekt
02
// 02

Python Alapok

Az év során ezeket a témákat jártuk végig — az egyszerű változóktól az összetett adatstruktúrákig.

{}
Változók
Adatok tárolása és kezelése — int, float, string, bool típusok. Bemenet kezelése input() függvénnyel.
?
Feltételek
If / elif / else szerkezetek. Összehasonlító operátorok, logikai feltételek kombinálása and / or segítségével.
Ciklusok
While és for ciklusok — ismétlés adott feltételig vagy range() segítségével. Break és continue használata.
[ ]
Listák
Adatok gyűjtése listában. append(), sort(), len(), sum() műveletek. Elemek elérése indexszel.
🎲
Random modul
Véletlenszám-generálás random.randint() segítségével. Játékos feladatok és szimulációk alapja.
Projektek
Önállóan írt programok — számkitalálós játék, snake game, kalkulátor, kvíz és egyéb feladatok.
03
// 03

Kódpéldák

Órai és otthoni feladatok — különböző témakörökből.

// számok.pyVáltozók
1x=5; y=3
2osszeg=x+y
3print(„Az egyik szám 5 a másik 3”)
4print(„Összege:”, osszeg)
5print(„Szorzata:”, x*y)
6print(„Különbsége:”, xy)
7print(„Átlaga:”, osszeg/2)
Alapvető változók és matematikai műveletek — összeadás, szorzás, különbség, átlag.
// teszt.pyInput
1x=int(input(„Első szám: „))
2y=int(input(„Második szám: „))
3osszeg=x+y
4szorzat=x*y
5print(„Összeg:”, osszeg)
6print(„Szorzat:”, szorzat)
Felhasználói bemenet kezelése — két szám bekérése és egyszerű számítások elvégzése.
// WHILE.pyWhile ciklus
1szam=1
2while szam%2==1:
3  szam=int(input(„Kérem a számot:”))
4  if szam%2==1:
5    print(„A szám páratlan”)
6  else:
7    print(„Páros, vége a ciklusnak”)
While ciklus páros/páratlan ellenőrzéssel — addig fut, amíg páratlan számot ad meg a felhasználó.
// whilee.pyVisszaszámláló
1szamlalo=20
2while szamlalo>=1:
3  print(szamlalo)
4  szamlalo=szamlalo1
Visszaszámláló while ciklussal — 20-tól 1-ig kiírja az összes számot csökkenő sorrendben.
// lista.pyListák
1import random
2lista=[]
3for x in range(100):
4  lista.append(random.randint(1,100))
5lista.sort()
6print(sum(lista))
7print(„Legkisebb:”, lista[0])
8print(„Legnagyobb:”, lista[-1])
9print(„Lista hossza:”, len(lista))
100 véletlen szám generálása listába, rendezés, összeg, minimum és maximum kiírása.
// jegyre.pySzámkitalálós
1import random
2gondolt=random.randint(1,10)
3proba=0; tipp=0
4while tipp!=gondolt:
5  tipp=int(input(„Tipped: „))
6  if tipp==gondolt:
7    print(„Eltaláltad!”)
8  elif tipp>gondolt:
9    print(„Kisebb!”); proba+=1
10  else: print(„Nagyobb!”); proba+=1
11print(„Próbák:”, proba)
Számkitalálós játék — a program gondol egy számot 1-10 között, a felhasználó tippelget.
// asd.pyKalkulátor
1import random
2x=random.randint(1,10)
3y=random.randint(1,10)
4print(„X:”,x, „Y:”,y)
5v=int(input(„1=+ 2=- 3=* 4=/”))
6if v==1: print(x+y)
7elif v==2: print(xy)
8elif v==3: print(x*y)
9elif v==4: print(x/y)
Véletlen számokkal dolgozó kalkulátor — a felhasználó választ műveletet, a program elvégzi.
// óra_perc_másodperc.pyKonverzió
1óra=int(input(„Óra: „))
2perc=int(input(„Perc: „))
3mp=int(input(„Másodperc: „))
4összmp=(óra*3600)+(perc*60)+mp
5print(„Összesen”, összmp, „másodperc”)
Időkonverter — óra, perc, másodperc bekérése, majd az összes másodperc kiszámítása.
04
// 04

Fő Projekt: F1 Adatbázis

Az éves záró projekt egy Forma 1-es nagydíj győzteseket kezelő adatbázis program. Az összes F1-es versenyző, aki valaha nagydíjat nyert, benne van — a neve, nemzetisége, győzelmeinek száma, az első és az utolsó győzelme.

Az adatokat egy formula.txt fájl tárolja pontosvesszővel elválasztva. A Python program beolvassa, feldolgozza, majd egy menün keresztül különböző lekérdezéseket tesz lehetővé — keresés, rendezés, maximum/minimum kimutatás.

A projekt tartalmaz felhasználói és fejlesztői dokumentációt is — leírva a program funkcióit, a futtatás feltételeit és a kód működési logikáját.

// Projekt specs
NyelvPython 3
Adatforrásformula.txt (CSV-szerű)
Elválasztópontosvessző ( ; )
Rekordok100+ F1 versenyző
InterfészKonzol menürendszer
DokumentációFelhasználói + Fejlesztői
// Menüpontok
1. ListaÖsszes versenyző kiírása
2. NemzetiségSzűrés ország alapján
3. GyőzelmekKeresés győzelmek száma alapján
4. MaximumLegtöbb győzelem → versenyző
5. MinimumLegkevesebb győzelem → versenyző
6. KilépésProgram befejezése
// projekt.py — teljes forráskód
// projekt.pyPython — F1 adatbázis
f1=[];
 
with open(‘formula.txt’, encoding=‘utf-8’) as forrásfájl:
  for sor in forrásfájl:
    sor=sor.strip().split(„;”)
    sor[2]=int(sor[2])
    f1.append(sor)
 
hossz=len(f1)
print(„—-Forma 1—-„)
 
while True:
  print(„””—Menü—
1. Lista kiíratása
2. Keresés nemzetiség alapján
3. Keresés győzelem alapján
4. Legtöbb győzelem
5. Legkevesebb győzelem
6. Kilépés”””)
  kerdes=int(input(„Válassz: „))
 
  if kerdes==1: // Lista kiírás
    for a in range(hossz):
      print(f1[a])
 
  elif kerdes==2: // Nemzetiség keresés
    nem=input(„Nemzetiség: „)
    talalatok=[]
    for sor in f1:
      if sor[1]==nem:
        talalatok.append(sor[0])
    if talalatok:
      for nev in talalatok: print(nev)
    else: print(„Nincs találat!”)
 
  elif kerdes==3: // Győzelmek keresés
    gy=int(input(„Győzelmek száma: „))
    talalatok=[]
    for sor in f1:
      if sor[2]==gy:
        talalatok.append(sor[0])
    if talalatok:
      for nev in talalatok: print(nev)
    else: print(„Nincs találat!”)
 
  elif kerdes==4: // Maximum
    max_gy=max(sor[2] for sor in f1)
    for sor in f1:
      if sor[2]==max_gy: print(sor[0])
 
  elif kerdes==5: // Minimum
    min_gy=min(sor[2] for sor in f1)
    for sor in f1:
      if sor[2]==min_gy: print(sor[0])
 
  elif kerdes==6:
    print(„Viszlát!”); break
// Adatszerkezet
// formula.txt felépítése
[0] NévLewis Hamilton
[1] NemzetiségBrit
[2] Győzelmek103 (int)
[3] Első győzelem2007 kanadai nagydíj
[4] Utolsó győzelem2021 szaúd-arábiai nagydíj
// Top 5 legtöbb győzelem
Lewis Hamilton103 győzelem
Michael Schumacher91 győzelem
Max Verstappen56 győzelem
Sebastian Vettel53 győzelem
Alain Prost51 győzelem
// Hogyan működik?

A program indításkor beolvassa a formula.txt fájlt — minden sor egy versenyző, pontosvesszővel elválasztva. A győzelmek számát egésszé (int) alakítja, hogy keresni és összehasonlítani lehessen. Ezután egy végtelen while True ciklus fut — a felhasználó menüpontot választ, a program végrehajtja, majd visszatér a menüre.

// Dokumentáció

A projekthez felhasználói és fejlesztői dokumentáció is készült. A felhasználói leírja a program indítását és a menüpontok használatát. A fejlesztői dokumentáció tartalmazza a kód logikáját, a fájlszerkezetet és a felhasznált Python függvényeket (open(), input(), max(), min()).

100+F1 versenyző
5menüpont
103max győzelem
// További témák
// Vissza 13. Évfolyam Gyűjtőoldal → // Témakör 9-10. Évfolyam Megnyitás → // Témakör 12. Évfolyam Megnyitás →