Programozás Alapjai · 鴨騎士
鴨騎士 · ポートフォリオ
Főoldal 11. Évfolyam Programozás Alapjai
11. ÉVFOLYAM · 第十一学年

Programozás Alapjai

Algoritmusok, vezérlési szerkezetek és alapvető programozási feladatok – 11. évfolyam összefoglalója.

Vissza a főoldalra

Tantárgy áttekintése

A programozás alapjai tantárgy célja az algoritmikus gondolkodás és az alapvető programozási technikák elsajátítása. A tantárgy keretében megismerkedtünk a strukturált programozás elveivel és a Python nyelv alapjaival.

Főbb témakörök

  • Algoritmusok tervezése és folyamatábrák készítése
  • Változók, adattípusok, konstansok
  • Szekvencia, szelekció, iteráció – vezérlési szerkezetek
  • Listák és szótárak használata
  • Függvények, paraméterátadás
  • Fájlkezelés alapjai

Adattípusok és változók

Pythonban a változók típusát nem kell előre megadni – a típus automatikusan meghatározódik az értékadáskor. Ez dinamikus típusozást jelent.

AdattípusKulcsszóPélda értékPélda változó
Egész számint19, -5, 100kor, darab
Lebegőpontosfloat178.5, 3.14magassag, ar
LogikaiboolTrue / Falseaktiv, beleptetve
Szövegstr‘Richárd’nev, cim
Listalist[1, 2, 3]szamok, nevek
Szótárdict{‘nev’: ‘Ricsi’}jatekos, adat

Változók Pythonban

PYTHON · Változók deklarálása
# Változók – típusmegjelölés nélkül
nev    = 'Faragó Richárd'
kor    = 19
magass = 178.5
aktiv  = True

print(f'Név: {nev}, Kor: {kor}')

Vezérlési szerkezetek

Szelekció – if / elif / else

A feltételes elágazás lehetővé teszi, hogy a program különböző utasítások végrehajtásával reagáljon különböző feltételekre.

PYTHON · if-elif-else
if kor >= 18:
    print('Nagykorú')
elif kor >= 14:
    print('Tini')
else:
    print('Kiskorú')

Iteráció – ciklusok

CiklusMikor használjuk
forIsmert lépésszám, lista bejárása
whileFeltételtől függ, akár 0-szor is fut
PYTHON · Ciklusok
# FOR ciklus: 1-től 10-ig összegzés
osszeg = 0
for i in range(1, 11):
    osszeg += i

# WHILE ciklus: pozitív szám bekérése
szam = 0
while szam <= 0:
    szam = int(input('Adj meg pozitív számot: '))

Listák és rendezés

A lista azonos vagy vegyes típusú elemek sorozata, amelyeket indexeléssel érhetünk el. Pythonban a lista dinamikus – mérete futás közben változhat.

Buborékrendezés (Bubble Sort)

PYTHON · Buborékrendezés
a = [5, 3, 8, 1, 9, 2]
n = len(a)

# Rendezés növekvő sorrendbe
for i in range(n):
    for j in range(0, n - i - 1):
        if a[j] > a[j + 1]:
            a[j], a[j + 1] = a[j + 1], a[j]
💡 A buborékrendezés időbonyolultsága O(n²), ezért nagy listák esetén hatékonyabb algoritmusokat (pl. sorted()) érdemes használni.

Függvények

A függvények lehetővé teszik a kód újrafelhasználását és az átlátható programszerkezet kialakítását. Pythonban a def kulcsszóval definiálunk függvényt.

PYTHON · Függvények
# Egyszerű függvény – üdvözlés
def udvozles(nev):
    print(f'Üdvözöllek, {nev}!')

# Visszatérési értékkel – faktoriális
def faktorial(n):
    if n <= 1:
        return 1
    return n * faktorial(n - 1)

# Használat
udvozles('Richárd')
print(f'5! = {faktorial(5)}')

Projektfeladat

A projekt feladatot Python nyelven írtam meg. A feladat célja, hogy egy válogatott játékosunk beírása után az adott játékosról kapunk információt – mint például melyik poszton szerepel, melyik klubban játszik, hány gólt rúgott, illetve hányszoros válogatott.

Mivel a projektfeladat a 2022/23-as tanévben készült el, az abban szereplő adatok azóta megváltozhattak.

PYTHON · PROJEKT

txt fájl

Program futása
PYTHON · PROJEKT

Kód

Kód részlet
PYTHON · PROJEKT
Ikk
PYTHON · FORRÁSKÓD
jatekosok=[]
with open("Válogatott Játékosok.txt") as forrásfájl:
     for sor in forrásfájl:
          sor = sor.strip().split()
          sor[2] = int(sor[2])
          sor[3] = int(sor[3])
          jatekosok.append(sor)
def MENU():
    print("""
         ********************MENÜ********************
         *1, Játékosok Megtekintése                 *
         *2, Játékos statisztika                    *
         *3, Kilépés                                *
         ********************************************
         A programban szereplő adatok 2024 márciusig érvényesek """)
    valasztas=int(input("Kérem a menü számát:"))
    return valasztas
#-------------------------------------------------------------------------------
def statisztika():
     i=0
     keresett_nev=input("Kérem a keresett játékost:")
     while i<(len(jatekosok)) and jatekosok[i][0]!=keresett_nev:
               i=i+1
     if i<(len(jatekosok)):
          print("A játékos szerepel")
          print("A játékos a",jatekosok[i][4],"klubban szerepel")
          print("A játékos",jatekosok[i][2],"szeres/szoros/szörös válogatott játékos")
          print("A játékos",jatekosok[i][3]," gólt rúgott")
          print("A játékos posztja",jatekosok[i][1],)
          input("A folytatáshoz nyomja meg az Entert")
     else:
          print("A játékos nem szerepel")
          input("A folytatáshoz nyomja meg az Entert")
while True:
    valasztas = MENU()
    if valasztas == 1:
        for jatekos in jatekosok:
            print(jatekos[0])
        input("A folytatáshoz nyomja meg az Entert")
    elif valasztas == 2:
        statisztika()
    elif valasztas == 3:
        print("Viszlát!")
        break
    else:
        print("Nincs ilyen menüpont.")