Programozási alapismeretek
Algoritmusok fogalma
Az előző részben megnéztük, mi is az az algoritmus, honnan ered a szó, és hogyan találkozunk vele a hétköznapokban. Most itt az ideje, hogy kicsit közelebb menjünk a programozás világához, és megtanuljuk az alapfogalmakat, amelyek nélkül nem tudunk algoritmust írni.
Ezek elsőre talán ijesztően hangzanak – változó, konstans, értékadás –, de ha belegondolsz, mindennapi dolgokat fednek le.
Egy változó olyan, mint a bögréd: ma teát töltesz bele, holnap kakaót – a tartalma változik, de maga a bögre ugyanaz marad.
Egy konstans olyan, mint a hét napjai: mindig ugyanaz a sorrend, hétfő után kedd jön, ezen nem tudsz változtatni.
Az értékadás pedig olyan, mint amikor beállítod az ébresztőt a telefonodon: kiválasztasz egy számot (mondjuk 6:30), és onnantól kezdve a telefon ehhez tartja magát.
Ebben a fejezetben tehát sorra vesszük:
-
hogyan írhatunk le egy algoritmust mondatszerűen,
-
mik azok az adatok, amelyeket a számítógép kezel,
-
mit jelent a Be és Ki utasítás,
-
hogyan működik az értékadás,
-
és miért fontos a műveleti sorrend és a logika.
A végére tisztább lesz a kép, és meglátod: az algoritmusok világa sokkal barátságosabb, mint amilyennek elsőre tűnik. 😉
Mondatszerű leírás
Az algoritmus lépéseit természetes nyelven írjuk le. Akkor jó, ha pontosan meghatározza:
-
mit kap (BE – bemenet)
-
mit ad vissza (KI – kimenet)
-
milyen lépésekben halad végig
Példa:
„Kérj be két számot, add össze, és írd ki az eredményt.”
Ez egy mondatszerű leírás, ami gyorsan és könnyen érthető.
Előnye: egyszerű, bárki számára érthető, nem kell hozzá programozói tudás.
Hátránya: könnyű homályosan fogalmazni („számolj ki valamit” → de mit is pontosan?). Ezért a programozásban rövid, egyértelmű, utasító mondatokat és fix formátumot használunk.
👉 Példa a homályos vs. pontos megfogalmazásra:
-
Homályos: „Számítsd ki a diák átlagát.”
-
Pontos: „Olvasd be a három jegyet, add össze, oszd el hárommal, és írd ki az eredményt.”
Milyen egy jó adatleírás?
Amikor programot írunk, fontos pontosan meghatározni, hogy milyen adatokkal dolgozunk. Ez segít a számítógépnek abban, hogy értse, mit szeretnénk vele számoltatni vagy feldolgoztatni.
Van egy változója – olyan memóriahely, melynek értéke változhat a program futása közben. Formája: Név : típus
Példa:
szám : egész
átlag : valós
név : szöveg
siker : logikai // igaz vagy hamis
Van egy konstans értéke – Olyan adat, amihez nem nyúlunk hozzá: értéke a program futása alatt nem változhat. Olyan, mint a hét napjai száma (mindig 7), vagy a pi értéke.
Példa:
napokHet : egész(7)
PI : valós(3.14159)
Meghatározott típusa van – milyen fajta adat lehet
Meghatározza, milyen értéket tárolhatunk és milyen műveletek értelmesek rajta.
Alapok: egész, valós, szöveg, logikai
Összetett típusok: tömb (lista), rekord (adatcsomag)
Formája: Típus típusNév = (struktúra).
Példa:
Típus Diak = Rekord {nev : szöveg, eletkor: egész, atlag: valós}
Típus SzamLista = Tömb(1..10 : egész) //10 elemű egész lista
Tipp:
- Adj típust minden változónak
- Konstans értéket nem módosítunk
- Tömbnél figyelj az indextartományra (1..10)
- A változónév legyen beszédes: jegyek, pontok
Beolvasó (BE) és kiíró (KI) utasítások
A számítógép önmagában nem tudja, honnan vegyen adatokat, és mit kezdjen velük. Ezért kell BE és KI utasításokat használnunk.
Mit jelentenek?
BE: kérünk/olvasunk értéket és eltesszük változókba
KI: kiírunk szöveget vagy számolt értéket a képernyőre
Formájuk:
BE: változók felsorolása
KI: kifejezések felsorolása
Változók = amibe olvassuk (pl. a, b, nev)
Kifejezések = amit kiírunk (pl. Összeg: )
Példa:
Két szám összege
BE: a, b
KI: „Összeg: „, a+b
Üdvözlő szöveg
BE: nev
KI: „Szia, „, nev, „!„
Értékadó utasítás (assignment)
Mit jelent?
Az értékadás azt jelenti, hogy egy változó felveszi egy kifejezés pillanatnyi értékét.
Formája:
változó := kifejezés
Bal oldalon mindig változó (vagy tömb-elem, pl. jegyek), jobb oldalon mindig valami számolható áll: a+b, max(a,b) stb.
Fontos különbség:
:= (értékadás) nem ugyanat, mint = (egyenlőség vizsgálat a feltételekben)
-
:=→ értékadás (új értéket teszünk a változóba) -
=→ összehasonlítás (pl. „egyenlő-e két szám?” – ezt a feltételekben használjuk)
Például:
-
x := 5→ a változó mostantól az 5 értéket tárolja. -
x = 5→ logikai vizsgálat, igaz vagy hamis választ ad.
Példa – átlag 3 jegyből
BE: J1, J2, J3
osszeg := J1 + J2 + J3
atlag := osszeg / 3
KI: „Átlag:”, atlag
Ha a beolvasott jegyek: 4, 5, 3, akkor:
-
osszeg := 4+5+3 = 12 -
atlag := 12 / 3 = 4 -
KI: „Átlag: 4”
Műveleti sorrend
Amikor a számítógépnek több műveletet kell elvégeznie, mindig tudnia kell, melyikkel kezdje. Ha nem tartanánk be a sorrendet, teljesen más eredményeket kapnánk.
Alapszabály: balról jobbra haladunk, kivéve, ha a zárójelek mást mondanak.
👉 Ha bizonytalan vagy, inkább zárójelezz!
Sorrend:
Függvények – pl. abs(x), max(a,b), round(x)
Egyoperandusú (unáris) műveletek – pl. -x (előjeles mínusz), nem x (logikai negálás)
Kétoperandusú (bináris) műveletek – pl. *, /, div, mod, +, -
Relációk (összehasonlítások) – pl. =, <, >, ≠, ≤, ≥
Logikai műveletek sorrendje:nem → erősebb, mint az és, ami erősebb, mint a vagy.
Példák:
Szorzás előbb van, mint az összeadás
KI: 2+3*4 //3*4 = 12, majd 2+12 -> 14
KI: (2+3)*4 //zárójel előbb: 5*4 -> 20
Unáris mínusz vs zárójel
KI: -(3+1) //előbb 3+1=4, majd unáris mínusz -> -4
Függvény előbb, mint művelet
KI: max(3, 7) -2 //max ->7, majd 7-2 -> 5
Relációk a legvégén
BE: a, b
KI: a+2 > b //előbb a+2, utána hasonlítunk b-hez -> igaz/hamis
példa: a=5, b=7 -> a+2=7 -> 7>7? -> hamis
Logika
Általános gyakorlat: a nem erősebb, mint az és, ami erősebb, mint a vagy

