6. Alamprogramm
Milleks alamprogrammid? Vaatame üle peamised põhjused, miks on App Inventori alamprogrammid kasulikud.
DRY-printsiip
Kogenud programmeerijad mainivad tihti nn DRY-printsiipi – see tuleb ingliskeelsest väljendist “Don’t repeat yourself”, millega tahetakse öelda, et sarnase koodi mitmekordset kirjapanekut tuleks vältida.
Põhiline viis DRY-printsiibi rakendamiseks on uue alamprogrammi defineerimine – selle asemel, et sarnast koodi kirjutada erinevatesse kohtadesse, saab selle esitada alamprogrammina ning edaspidi piisab selle kasutamiseks vaid alamprogrammi nime mainimisest. Kui midagi on vaja muuta, siis tehakse muudatus vaid alamprogrammis ja see mõjub igalpool, kus alamprogrammi on kasutatud.
Näiteks kui soovime pidevalt teed teha, siis tuleks pidevalt korrata sama tegevust:
- tuleb vesi keema panna;
- lasta teel tõmmata kaks minutit;
- valada valmis jook nelja tassi.
Kui sellist tegevust päevas kogu aeg korrata, siis oleks mõistlik tegevus panna alamprogrammi.
Teeme näite ka App Inventoriga. Oletame, et me tahame alamprogrammi nimega tervitus, mis saab tekstina nime ja tagastab tekstina "Tere, nimi!".
![](https://courses.cs.ut.ee/t/appinventor/Main/Alamprogramm?action=download&upname=alamprogramm1.png)
Teeme alamprogrammi nimega tervitus, mis saab ette ühe sõne nimega x.
Nüüd tagastame selle sõnega koos tervituse "Tere, x!"), kus x on siis alamprogrammile antav nimi:
![](https://courses.cs.ut.ee/t/appinventor/Main/Alamprogramm?action=download&upname=alamprogramm2.png)
Alamprogrammi käivitamine käib selle nime järgi:
![](https://courses.cs.ut.ee/t/appinventor/Main/Alamprogramm?action=download&upname=alamprogramm3.png)
Aga proovime!
Teeme:
- Tekstikasti, kuhu saab sisestada enda nime;
- Nupu, mida vajutades tervitatakse;
- Sildi, kuhu tuleb tervituse kiri.
![](https://courses.cs.ut.ee/t/appinventor/Main/Alamprogramm?action=download&upname=alamprogramm4.png)
Ja nüüd blokkide vaates programmeerime, et alamprogrammi tervitus kasutades näidatakse sildil tervitust.
![](https://courses.cs.ut.ee/t/appinventor/Main/Alamprogramm?action=download&upname=alamprogramm5.png)
Kokkuvõte
Alamprogrammidele võib anda ette veelgi rohkem parameetreid. Antud näide oli ainult teksti jaoks. Samuti võib alamprogramm väljastada erinevaid asju või üldse mitte midagi väljastada.
Ülesanne
- Koosta alamprogramm, mis saab sünniaasta ja tagastab inimese vanuse.
Creative Commons litsentsiga Autorile viitamine + Mitteäriline eesmärk 3.0 Eesti (CC BY-NC 3.0 EE) - https://creativecommons.org/licenses/by-nc/3.0/ee/
![](https://courses.cs.ut.ee/t/appinventor/Main/Alamprogramm?action=download&upname=progetiiger.png)
![](https://courses.cs.ut.ee/t/appinventor/Main/Alamprogramm?action=download&upname=hitsa.png)