Olulised mõisted ja sissejuhatus
Olulised mõisted
Nüüd kui oled natuke juba "oma loodud" mängu mängida saanud, siis tahaks ju teada täpsemalt, kuidas ise analoogset programmi teha?
Kiirustada aga ei tasu. Enne kui sulle selgitama hakkan iga rea tähendust eelmises mängus, tuleb kõigepealt selgeks saada mõned väga olulised mõisted. Need on arvuti mälu, sisend, sisendi töötlemine, väljund ja muutujad.
Sisend, sisendi töötlemine ja väljund
Sinu päris esimesel programmil puudus sisend ja väljundiks oli ka vaid programmi sisse kirjutatud tekstid, sellepärast see programm ei olnudki just väga huvitav.
Teises programmis (arvu arvamine) olid olemas aga kõik kolm komponenti, mis tegid programmi koheselt palju lõbusamaks.
- Sisend (ehk input) olid arvu arvamise katsed (arvamus) või mängija nimi
- Sisendi töötlemine toimus siis, kui programm kontrollis, kas arv on võrdne mõeldud arvuga
- Väljundiks (ehk print) olid teated arvamise õnnestumisest või ebaõnnestumisest.
Selge on see, et üks korralik programm vajab sisendit, kuid kuidas jätab arvuti sisendi meelde? Kuidas mingi Python saab arvutile öelda, et jäta nüüd see teade meelde, aga seda ära jäta?
Loomulikult sa tead, et arvutil on olemas mälu. Mälu võib vaadelda kui tohutu suurt pesade hulka, mis seisavad ühes kindlas olekus seni, kuni sa neid muudad. Olek tähendab kahendkoodis infot, mis on sellesse mälupessa salvestatud. Sellist struktuuri võibki piltlikult nimetada nö meelde jätmiseks. Iga pesa fikseeritakse kahendkoodiga teatud olekusse ja ta jääb sellesse seniks, kuni toimub taas muutus. Seega alati saab kas muuta mälupesa (programmeerida mälupesa ümber) või ainult lugeda mälupesast seal olevat kahendkoodis infot ilma muutmata.
Kuidas siis Python või mis iganes programmeerimiskeel mälupesi muudab? Ja kui ta on ühe pesa sisu muutnud, kuidas programmeerimiskeel selle pesa uuesti üles leiab?
Programmeerides, kui sa tahad, et arvuti jätaks mingi olulise info meelde, siis tuleb sellele infole anda alati nimi. Kohe kui nimi on antud, saab Python aru, et nüüd on vaja arvutimälu poole pöörduda ja see info (olgu see üksainus arv, sõna, lause, pilt või muusika) mällu salvestada. Python kinnitab nime külge arvuti mälupesa aadressi, mille kaudu saabki ta alati nime kasutades nime taga oleva info arvuti mälust kätte. Nii lihtne see ongi.
Nii tehti ka arvu arvamise mängus. Kui programmis küsiti mängijalt arvu, siis sellele arvule (ehk siis info, mis tuli meeles pidada), tuli anda nimi, mis aitas arvu arvutimällu salvestada. Selleks nimeks oli antud programmis arvamus ja info seoti temaga võrdusmärgi abil.
