keyboard_arrow_up

Programozási tételek (Flowgorithm)

Algoritmusok és adatok az iskolában 1. 2025.11.03

Előszó

Programozási tételekkel Programozási alapismeretek órán már találkozghattunk. Bár Algadaton kevésbé sematikus feladatokat oldunk meg, érdemes lehet legalább futólagosan megvizsgálni, hogy az egyes tételek hogyan is néznének ki Flowgorithmben.

Előljáróban három megjegyzést kell megejtenem:

  1. A FELTÉTEL és MŰVELET helyettesítő szövegként működnek. Ezek tartalma feladatonként változik.
  2. 1-től indexelünk, de a tömbök továbbra is 0-tól indexelődnek, ezért
    • egy tömb i. elemére való rákérdezésének ökölszabálya, hogy az i-1-edik elemre hivatkozunk
  3. A Flowgorithm nem lusta kiértékeléssel dolgozik (helyette egy feltétel minden eleméről eldönti, hogy igaz-e), emiatt
    • egy sima eldöntésnél például, ha az utolsó elem ami megfelelő, akkor hibával tér vissza a program, mivel az utolsó elemnél i = i + 1, majd a ciklus vizsgálná, hogy erre az i + 1. elemre igaz-e a feltétel, azonban nincs ilyen indexű elem, kimentünk a tömbből
    • ennek orvoslására a ciklusainkat i <= n helyett i < n-ig futtatjuk,
      • emiatt viszont az utolsó elemet nem vizsgáljuk meg, ennek orvoslására
    • az i és n kapcsolat vizsgálata helyett a feltételt kérdezzük meg

Összegzés

Összegzés függvény Flowgorithmben
Algoritmus

        Változó
            i: Egész
        össz := 0
        Ciklus i=1-től elemszám-ig
            össz := össz + elemek[i]
        Ciklus vége
    

Megszámolás

Megszámolás függvény Flowgorithmben
Algoritmus

        Változó
            i: Egész
        db := 0
        Ciklus i=1-től elemszám-ig
            Ha T(elemek[i]) akkor db := db + 1
        Ciklus vége
    

Maximumkiválasztás

Maximumkiválasztás függvény Flowgorithmben
Algoritmus

        Változó
            i: Egész
        maxind := 1
        Ciklus i=2-től elemszám-ig
            Ha elemek[i] > elemek[maxind] akkor
                maxind := i
            Elágazás vége
        Ciklus vége
    

Eldöntés

Eldöntés függvény Flowgorithmben
Algoritmus

        Változó
            i: Egész
        i := 1
        Ciklus amíg i <= elemszám és nem T(elemek[i])
            i := i + 1
        Ciklus vége
        van := i <= elemszám
    

Mind eldöntés

Mind eldöntés függvény Flowgorithmben
Algoritmus

        Változó
            i: Egész
        i := 1
        Ciklus amíg i <= elemszám és T(elemek[i])
            i := i + 1
        Ciklus vége
        mind := i > elemszám
    

Kiválasztás

Kiválasztás függvény Flowgorithmben
Algoritmus

        ind := 1
        Ciklus amíg nem T(elemek[ind])
            ind := ind + 1
        Ciklus vége
    
Keresés függvény Flowgorithmben
Algoritmus

        ind := 1
        Ciklus amíg ind <= elemszám és nem T(elemek[ind])
            ind := ind + 1
        Ciklus vége
        van := ind <= elemszám
    

Másolás

Másolás függvény Flowgorithmben
Algoritmus

        Változó
            i: Egész
        Ciklus i=1-től elemszám-ig
            fvelemek[i] := f(elemek[i])
        Ciklus vége
    

Kiválogatás

Kiválogatás függvény Flowgorithmben
Algoritmus

        Változó
            i: Egész
        db := 0
        Ciklus i=1-től elemszám-ig
            Ha T(elemek[i]) akkor
                db := db + 1
                kivindexek[db] := i
            Elágazás vége
        Ciklus vége
    

További linkek

Programozási tételek áttekintése (Progalap)