Stewdent.eu
▾

Funkcia

Funkcia je pomenovaný, opakovane použiteľný blok kódu, ktorý vykonáva konkrétnu úlohu a možno ho volať viackrát.

Posledná aktualizácia: 3. januára 2026

★☆☆☆☆ Stupeň 1computingglossaryprogrammingfunction3 min čítania

Nahlásiť chybu

Definícia

Funkcia je samostatný, pomenovaný blok kódu navrhnutý na vykonávanie jedinej, dobre definovanej úlohy. Namiesto opakovaného písania tej istej logiky na rôznych miestach programu ju raz definuješ ako funkciu a potom ju voláš (spúšťaš) vždy, keď ju potrebuješ.

Funkcie sú jedným z najdôležitejších nástrojov na písanie čistého a udržiavateľného kódu.

Definícia a volanie funkcie

DEFINUJ pozdrav(menoOsoby):
    VYPIS "Ahoj, " + menoOsoby + "!"

pozdrav("Alica")   # Výstup: Ahoj, Alica!
pozdrav("Bob")     # Výstup: Ahoj, Bob!

Kľúčové slovo DEFINUJ uvádza funkciu. Všetko odsadené pod ním je telo funkcie — kód, ktorý sa vykoná pri každom volaní. Meno v zátvorkách (menoOsoby) je parameter.

Parametre a návratové hodnoty

Parametre sú premenné uvedené v definícii funkcie, ktoré pri volaní funkcie dostanú vstupné hodnoty. Skutočné hodnoty, ktoré sa odovzdajú pri volaní, sa nazývajú argumenty.

Návratové hodnoty sú hodnoty, ktoré funkcia odošle späť kódu, ktorý ju zavolal.

DEFINUJ sucet(a, b):
    vysledok = a + b
    VRAT vysledok

celkom = sucet(3, 5)    # celkom je 8
celkom = sucet(10, 20)  # celkom je 30

Funkcia nemusí vracať hodnotu — niektoré funkcie len vykonajú akciu (napríklad vypíšu správu) bez toho, aby produkovali výsledok.

Poznámka

Pojmy „parameter" a „argument" sa v bežnej reči často používajú zameniteľne, ale v prísnom zmysle: parameter je premenná v definícii funkcie, kým argument je skutočná hodnota odovzdaná pri volaní funkcie.

Prečo funkcie znižujú opakovanie

Predstav si program, ktorý musí vypočítať obsah obdĺžnika na piatich rôznych miestach. Bez funkcií:

obsah1 = 4 * 7
obsah2 = 10 * 3
obsah3 = 6 * 6
# ... a tak ďalej, s rovnakým vzorcom opakovaným stále znovu

S funkciou:

DEFINUJ obsahObdlznika(sirka, vyska):
    VRAT sirka * vyska

obsah1 = obsahObdlznika(4, 7)
obsah2 = obsahObdlznika(10, 3)
obsah3 = obsahObdlznika(6, 6)

Teraz vzorec existuje na presne jedinom mieste. Ak potrebuješ zmeniť logiku, zmeníš ju raz a oprava sa prejaví všade.

Tento princíp — písať každý kúsok logiky len raz — sa nazýva DRY (Don't Repeat Yourself — Neopakuj sa).

Tip

Dobre napísaná funkcia by mala robiť presne jednu vec. Ak sa ocitneš pomenovávať funkciu niečím ako vypocitajAVypisAUloz, je to signál, že by sa pravdepodobne mala rozdeliť na tri samostatné funkcie.

Cvičné príklady

Aký je rozdiel medzi parametrom a argumentom?

Zobraziť odpoveď
Parameter je premenná — zástupca v definícii funkcie. Argument je skutočná hodnota, ktorú odovzdáš pri volaní funkcie.

Čo robí príkaz return (vrátiť)?

Zobraziť odpoveď
Odošle hodnotu späť z funkcie kódu, ktorý ju zavolal, a ukončí vykonávanie funkcie na tomto mieste.