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

Funktsiooni välja kutsumine

Vastan eelmise peatüki viimase rea küsimusele: ei, kindlasti ei ole funktsioonid ainult selleks, et pealkirjastada erinevaid koodijuppe umbes nagu pannakse raamatu peatükkidele pealkirju, ei. Funktsioonidel on palju, palju mõistlikum rakendus.

Tänu funktsioonidele võin ma kirjutada ühte koodijuppi ainult ühe korra ning kui mul on seda juppi vaja mitmes erinevas kohas, siis saan vaid viidata juba olemasolevale osale programmis. Seda võimaldab funktsiooni nimi. Võin funktsiooni välja kutsuda mistahes teises programmi osas ja nii mitu korda kui vaja, ilma et oleks pidanud uuesti ja uuesti sama koodijuppi kirjutama.

Vaatame ühte lihtsat näidet:

Siin näites ma defineerin kaks funktsiooni, kiitus ja laitus. Need funktsioonid ma kutsun välja kahes erinevas if-lauses, kord kahe arvu summa kontrolli juures, kord kahe arvu vahe kontrolli juures. Kuigi mu funktsioonid on väga väikesed ja ei tee suurt midagi, on aja kokkuhoid aga juba märgatav.

Jah, ma oleksin võinud ka need paar lauset kopeerida mõlemasse if-lausesse, kuid see muudab koodi kirjumaks ja loetamatumaks. Pealegi üldjuhul on funktsioonide sisu märksa keerulisem, kui lihtsalt print käsk.

Veel üks oluline punkt, miks kasutada funktsioone. Kui ma pean mitu korda ühte ja sama koodijuppi mitmes eri kohas kasutama, oletame et ma olen juba need jõudnud ära kirjutada ja ma ei kasuta funktsioone. Mingi aja pärast aga avastan, et olen selles programmijupis teinud olulise vea, siis nüüd pean vea parandamiseks terve programmi uuesti läbi käima (ütleme nii 10-100 kohas), siis on see üks väga tüütu asi. Funktsioonide korral oleks mul piisanud vaid funktsiooni sees ühe korra muutus teha ja see oleks funktsiooni nime kaudu kui viida kaudu kõikidesse väljakutsutavatesse kohtadesse mõjunud.

  • 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