Arvutiteaduse instituut
  1. Esileht
  2. Teeme ise arvutimänge
EN
Logi sisse

Teeme ise arvutimänge

  • Esileht
  • I RAAMAT
  • II RAAMAT
  • III RAAMAT
  • IV RAAMAT
    • Funktsioonid
      • Funktsiooni välja kutsumine
      • Funktsiooni argumendid
      • Funktsiooni töö tulemuse tagastamine
      • Lokaalsed ja globaalsed muutujad
    • Objektid
      • Objekti loomine
      • Objekti algväärtustamine
      • self
      • Miks on objektid head?
      • Näide
    • Mida õppisid?
  • V RAAMAT
  • VI RAAMAT

Funktsioonid

Suurte programmide, nagu mängud tavaliselt on, kirjutamisel läheb kood suhteliselt kiiresti väga pikaks ja keeruliseks nii oma konstruktsioonide ja valemite poolest kui loetavuse enda mõttes. Sa oled omal nahal seda juba ussimängu koodi ümber kirjutades või oma seiklusmängu luues tunda saanud. Kood läheb aina pikemaks ja segasemaks.

Kõige parem oleks kood organiseerida väiksemateks juppideks, kus igast jupist on programmeerijal hea ülevaade, ta teab mida see jupp teeb ja milline tulemus selle jupi töötamisega kaasneb. Pealegi on ühte juppi kergem programmeerida kui kogu programmi korraga kirjutada.

Mis siis teha?

Võtame kasutusele funktsiooni mõiste. Funktsioon ei olegi mitte midagi muud kui üks jupp koodi suurest programmist, millele on antud oma nimi ja mis oskab tagastada (välja anda) oma töö tulemust. Funktsioone nimetatakse sageli ka alamprogrammideks, sest nad käituvad nagu väikesed iseseisvad programmikesed. Funktsioon on käskude kogumik, mis teeb alati midagi. Funktsioone võib vaadata ka kui ehitusmaterjali maja ehitamisel. Iga materjal on oma otstarbega, oma spetsiifiliste omadustega, oma kujuga jne. Paljudest erinevatest ja ka ühesugustest materjali tükkidest saab oskuslikul kombineerimisel ehitada mistahes ehitisi. Sama lugu on funktsioonidega, neist saab oskuslikul kombineerimisel kokku panna mistahes programmi.

Funktsiooni loomine

Funktsioone luuakse ehk defineeritakse võtmesõna def abil. Def võtmesõna järele kirjutatakse funktsiooni nimi (nime valimisel tuleb lähtuda samadest reeglitest nagu muutujate nimede valimise juures) ning kõige lõpuks sulud. Sulgude sisse võib, aga ei pea midagi kirjutama, oleneb funktsiooni töö eripärast, kuid sellest veidi aja pärast. Praegu aga võta lahti Idle tekstiredaktor ja katseta funktsiooni defineerimist.

Defineerisin funktsiooni ahv. See funktsioon ei tee mitte midagi muud, kui prindib neli rida teksti. Funktsiooni tööle panemiseks tuleb funktsiooni nimepidi kutsuda, seda me teeme antud näite viimasel real, kusjuures üliolulised on just sulud.

Vaata ka sissejuhatavat videot, mis toob väikese näite funktsiooni defineerimisest.

Kuid miks on veel kasulik eraldada grupp käske suurest koodist ja anda sellele käskude grupile ühine nimi? Kas tõesti ainult loetavuse parendamiseks?

  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused