Programmeerimise põhimõisted![]() Arvuti, programm, andmed
Programmi (rakenduse) kasutajaliides sisaldab vahendeid, mille abil kasutaja saab suhelda antud programmiga: näha tulemusi, muuta, kui on ettenähtud, algandmeid, anda vajalike korraldusi jm. Kasutajaliides tavaliselt tehakse programmi loomise faasis. Programmeerimissüsteemid sisaldavad spetsiaalseid vahendeid liideste loomiseks.
Tänapäeva arvutid saavad täita programme, mis on esitatud antud arvutitüübi jaoks ettenähtud masinakeeles. See koosneb kahendsüsteemis esitatud elementaarsetes käskudest. Programmide tõlkimiseks masinakeelde kasutatakse spetsiaalseid programme, mida nimetatakse translaatoriteks. On kahte liiki kompilaatorid ja interpretaatorid. Kompilaator tõlgib (transleeerib) terve programmi masinakeelde enne täitmist. Iterpretaator tõlgib programmi täitmise ajal. Millist transleerimise viisi kasutatakse sõltub keelest. Translaator on programmeerimissüsteemi üheks peamiseks osaks. Programmeerimissüsteem on reeglina orienteeritud kindlale programmeerimiskeelele ja arvuti arhitektuurile (protsessori tüübile). Lisaks translaatorile sisaldab see tavaliselt spetsiallset redaktorit, mille abil sisestatakse ja redigeeritakse programme, vahendeid kasutajaliideste loomiseks, silumise ja testimise vahendeid jm.
Märkandmed võivad olla programmis kasutusel üksikväärtustena ehk skalaarandmetena (konstandid ja muutujad) või neist moodustatakse mitmesuguseid andmekogumike: tabelid, massiivid, dokumendid, failid, andmebaasid jm. Tänapäeva rakendusprogrammides andmed tüüpiliselt kujutavad endast nö integreeritud andmekogumike, mida tavaliselt nimetatakse dokumentideks. Näiteks teksti-, tabeli- ja joonestamisprogrammide dokumendid aga ka lugeja ees olev nn veebi dokument. Ühes dokumendis on reeglina kasutusel erinevat liiki (tekst, arvud, graafika jne) ja organisatsiooniga (tabelid, massiivid jne) andmed. Dokumente säilitakse failides. Paljude rakendusprogrammide juurde kuuluvad arendusvahendid, mille abil saab manipuleerida dokumentidega ja nende osadega. Järgnevalt üritame süvendada ja laiendada teadmisi põhimõistetest, tuginedes näidetele, mis on esitatud erinevates programmeerimiskeeltes. Näide "Kolmnurk". Scratch ja Visual BasicÜldised põhimõtted. Ülesande püstitus Vaatame kõigepealt paralleelselt Scratch'i ja Visual Basic'u programme. Hiljem on vaadeldud sama ülesande realisatsioone VBA abil Excelis ja Word'is ning JavaScripti abil. Scratch'i aplett
Visual Basic on ettenähtud autonoomsete (stand alone) ptogrammide loomiseks. Taoline programm on transleeritud masinakeelde ja selle kasutamiseks pole enam vaja Visual Basic'ut. Klõpsatest järgnevat linki VB programm, saate allaladida programmi nn EXE-failina ja käivitada selle. Allpool on toodud ka kasutajaliidese pilt juhuks, kui näiteks mingil põhjusel ei õnnestu programmi laadida alla. Scratch'i kasutajaliides
|
![]() |
![]() |
|
|
Allpool on toodud Visual Basicu programmi muutujate deklareerimise lause (Dim) ning protseduurid algandmete lugemiseks tekstiboksidest (Loe_alg), arvutusteks (Arvuta) ja tulemuste kirjutamiseks tekstiboksidesse (Kir_tul). Protseduure käivitab peaprotseduur Kolmnurk Call-lausete abil.
Märk # muutuja nime järel näitab, et selle väärtused salvetatakse mälus topelttäpsusega reaaalavudena (nn ujupunktarvude vormingus), märk % määrab, et muutuja väärtused on täisarvud. Tüüpide määramiseks võib VB's kasutada ka spetsiaalseid võtmesõnu: Double, Integer jm, kuid praegu see ei ole oluline.
Muutujate tüübi määramine, millest sõltub arvmuutujate väärtuste diapasoon ja täpsus, ei ole Visual Basic'us kohustulik. Paljudes keeltes (C, C++, C#, Java, Pascal jm) on see tingimata vajalik. Scratch'is arvude tüüpe üldse ei eristata.
Muutujad on siin globaalsed: ühised kõikide protseduuride jaoks, nagu, muide ka Scrtch'i programmi muutujad. Sellise staatuse VB's tagab asjaolu, et deklareerimise lause on väljaspool protseduure. VBs saab kasutada ka lokaalseid (protseduurisiseseid) muutujaid, kui Dim lause panna protseduuri sisse. Ka Scrtatch'is saab kasutada lokaalseid muutujaid, mis kehtivad ainult ühe spraidi (objekti) skriptide jaoks.
Protseduur Arvuta on sisuliselt täiesti analoogiline ülaltoodud Scratch'i skriptiga, ainult esitusviis on erinev. Ka see koosneb omistuslausete jadast, mis leiavad järjest muutujate väärtusi ja salvestavad need vastavates pesades.
Dim a#, b#, c#, r#, P#, S#, m% | |||||||
|
|
|
|
Tekstibokse, nagu ka teisi vormil asuvaid ohjureid ja graafilisi kujundeid, käsitletakse VB's, nagu ka teistes objektorienteeritud süsteemides, objektidena. Igal objektitüübil (objekti klassil) on kindel valik omadusi. Omadusteks on näiteks nimi, mõõtmed, asukoht jm. Igal omadusel on kindel nimi: Name, Width, Left jm. Tekstiboksi üheks olulisemaks omaduseks on Text: boksis olev (kuvatav) tekst. Olgu märgitud, et antud juhul arve käsitletakse teksti erijuhuna: arvud on esitatud tekstivormingus.
Programm saab lugeda ja muuta omaduste väärtusi. Viit omadusele VB's esitatakse kujul: objekt.omadus, kus objekt esitatakse nime abil. Vaadeldavas programmis on tekstibokside nimedeks: ta, tb, ... tS.
Omistuslausete erijuhte: muutuja = objekt.omadus ja objekt.omadus = avaldis, kasutatakse vastavalt omaduse väärtuse lugemiseks ja muutmiseks.
Näiteks lause a = ta.Text loeb tekstiboksi ta omaduse Text vääruse ja omistab selle muutujale a. Praktiliselt on tegemist muutuja väärtuse lugemisega tekstiboksist.
Lause tS.Text = S määratleb vastupidise tegevuse: muutuja S väärtus kirjutakse tekstiboksi tS, so muudetakse boksi omaduse Text väärtust.
Graafika kasutamisel programmides võib eristada kolme põhivarianti:
Passiivsete graafikaobjektidega programmi täitmise ajal mingeid tegevusi ei täideta. Need paigutatakse kasutajaliidesesse sobivatesse kohtadesse programmi loomise ajal.
Vaadeldavas Scratch'i rakenduses on neli passiivset objekti: mikrofon ja kolm teksiklipi - võiks öelda, kasutamisjuhendi elemendid. Rõhutame, et viimaste näol ei ole tegemist tekstandmetega vaid piltidega. Tegemist on spraitidega, mis imporditakse, lavale kas olemasolevast spraitide kogumist või muust graafikafailist, või valmistatakse graafikaredaktori abil, nagu näiteks tekstiklipid.
Tegelikult rakenduses on veel üks passsiivne graafikaobjekt: taustapilt - ruuduline "vihikuleht", mis muide kujutab endast Exceli töölehe fragmendi ekraanitõmmist.
Visual Basic'u rakenduses on 10 passiivset graafikaobjekti: tekstikast juhendiga, kaks kujundid (ring ja ruut) Krapsi ja Juku all ja 7 tekstibokside tähist: a, b, ... S. Viimased kujutavad endast nn märgiseid (labels), mille loomise vahendid kuuluvad vormiredaktori koosseisu. Muide, tekstikast ei kujuta siin pilti (nagu oli Scratch'is). Kastis olevat teksti saab näiteks osaliselt või tervikuna kustutada või kopeerida mingisse teisse rakendusse.
Kasutatavad objektid lisatakse kasutajaaliidesesse selle loomise ajal või imporditakse graafikafailidest programmi täitmise ajal. Viimane võimalus on keerulisem ja näiteks Scratch'is seda kasutada ei saa.
Tänapäeva programmeerimissüsteemides, sh ka Scratch'is ja VB's, on vahendid, mille abil programm saab muuta graafikaobjektide omadusi: suurust, asukohta, värvust jmt, ja määrata ka muid tegevusi nendega. Objektid saab panna sujuvalt liikuma, pöörlema, hüppama jne. Scratch'i jaoks ongi see, võiks öelda, peamine mängude ja animatsioonide loomisel. Spraidid ju ei ole midagi muud, kui graafikaobjektid, mille käitumist saab määrata skriptide abil.
Antud näites on Scratch'i programmis kolm aktiivset graafikaobjekti: Juku, Kraps ja pliiats, Visual Basic'us - kaks: Juku ja Kraps. Peale rasket vaimset ja füüsilist tööd peavad nad väikese sou. Tegevused Scratch'is ja VB's ei ole päris samad, kuid neis on palju sarnasust.
Nende tegevuste kaudu tutvume ka lihtsamate võimalustega korduste kirjeldamiseks nii Scratch'is kui ka Visual Basicus. Viimase jaoks tutvume ka põgusalt parameetrite ja argumentide kasutamisega andmevahetuseks protseduuride vahel.
Graafikaobjektide asukoha ja mõõtmete määramisel ja muutmisel peab arvestama süsteemis kasutatava koordinaatsüsteemiga ja mõõtühikutega.
Scratch'is asub koordinaatide nullpunkt lava keskel. Horisontaalne (x) telg on suunatud paremale, vertikaalne (y) - ülesse. Pikkuse jaoks kasutatakse tingühikuid, mida siin nimetame piksliteks või punktideks. Horisontaalsuunas on kordinaatide (x) väärtused vahemikus -240 kuni 240, vertikaalsuunas (y) -180 kuni 180. Spraidi (objekti) nullpunkt on selle keskpunktis. Näiteks käsuga mine x: 100 y: -50 viiakse just kujundi keskpunkt määratud punkti.
Visual Basic'us, nagu ka paljudes teistes süsteemides, asub koordinaatide nö globaalne nullpunkt vormi ülemises vasakpoolses servas. Horisontaalne telg (x) on suunatud paremale, vertikaalne (y) - alla. Liidese looja saab selle suhtes määrata suvalistele ristkülikukujulistele aladele omaette lokaalseid koordinaatsüsteeme. Pikkuse jaoks saab valida erinevaid ühikuid: twip - 1/1440 tolli, point - 1/72 tolli, toll, aga ka mm ja cm. Kujundi nullkoht on ülemises vasakpoolses nurgas. Kujuni asukoha määramisel ja muutmisel kasutakse kujundi omadusi Left ja Top.
Scratch'is kasutatakse Juku ja Krapsu tegevuste määramiseks eraldi, võrdlemisi sarnaseid, skripte, mis töötavad paralleelselt. Scriptid käivituvad, kui saabub teade valmis, mille saadab pliiatsi ringi joonestamise skript, kui lõpetab töö. Olgu märgitud, et kui heli on sisselülitatud, toimib samaaegselt ka heliefekte tekitav skript.
Juku liigub käsu: liigu 0.5 sek. x: m*r y: 25, toimel sujuvalt ringi sisse: keskele alla. Kolmnurga joonestamisel paigutatakse selle täisnurk alati punkti (0, 0). Siin avaldis m*r (r ringi raadius pikselites, m - maastabi tegur: pikselite arv pikkuse ühikus) määrab Juku x-koordinaadi ja konstant 25 - vertikaalse. Peale o,2 sekundilist pausi (käsk oota 0.2) teeb Juku kolm hüppet. Käsk korda 3, määrab, et selle sees olevaid käske täidetakse (korratakse) kolm korda. Igal kordamisel kõigepealt suurendatakse Juku y-koordinaati 20 pikseli võrra (liikumine ülesse), siis tekitakse paus 0.1 sekundit ning y-koordinaati vähendatakse samuti 20 pikseli võrra (liikumine alla) ja tehakse jälle paus.
Scratch'i jaoks on korda 5 määratud viis hüppet, kõrgusega 10 pikselit. Lisaks y-koordinaadi muutmisele, vahetakse siin igal kordamisel ka kostüümi, imiteerides midagi tantsu taolist. Enne hüpete algust suurendatakse Krapsu mõõtmeid, peale hüppeid - vähendatakse algseisu. Krapsi paigutamisel lavale, on tema suurust vähedatud 35%-ks originaalsuurusest failis. Seega käsk võta suuruseks 50% suurendab mõõtmeid, sest protsent määratakse originaalsuuruse suhtes.
![]() |
![]() |
|
Viimase käsuga väljastab skript teate koju. Selle võtab vastu Juku skript, mis viib selle algseisu: lava ülemisse parempoolsesse nurka.
Visual Basic'u programmi korra, peale joonistuse tegemist, paneb protseduur Hyppa() järjestikusel täitmisel Juku hüppama kaks korda ja Krapsu neli korda, juhul kui klõpsatakse nuppu Tee ja on sisselülitatud vastav märkeruut (vt. töötavat programmi). Kuna vertikaalne telg on suunatud alla, on ülesse liikumisel kõrgus miinus märgiga: kuju.Top = kuju.Top - h, ja alla plus märgiga. Juku ja Kraps hüppavad siin järjestikku. Mitme objekti paralleelset tegevust on VB's mõnevõrra tülikam realiseerida kui Scratch'is. Praegu sellel ei peatu.
Vaatleme nüüd parameetritega protseduuride kasutamist andmevahetuseks protseduuride vahel. Taolisi asju, analoogilisel kujul, kasutatakse väga palju pea kõikides programmeerimiskeeltes. Scratch'is neid, kahjuks (?), kasutada ei saa.
Ülalpool on toodud VB protseduur: Sub Hyppa(kuju, n, h, pp). Siin protseduuri nime järel sulgudes on parameetrid. Nende kaudu toimub andmevahetus teiste protseduuridega, mis pöörduvad antud protseduuri poole. Parameetrite tähendus on järgmine: kuju - objekt, mis peab hüppama, n -hüppete arv, h - hüppe kõrgus, pp - pausi pikkus.
Parameetrid (öeldakse ka formaalsed parameetrid) kujutavad endast nö tinglike tähistusi ehk muutujaid. Neid kasutatakse protseduuri poolt täidetavate tegevuste kirjeldamiseks. Parameetritele vastavad tegelikud objektid ja väärtused, esitatakse pöördumislauses (Basic'us Call-lause) argumentide (öeldakse ka tegelikud parameetrid) abil.
Pöördumine protseduuri Hyppa poole toimub protseduurist Command1_Click (käivitub kui klõpsatakse nuppu Tee) kaks korda. Esimesel pöördumisel vastavad parameetritele: kuju, n, h ja pp, argumendid: Juku, 2, 15 ja 0.1, ning teisel: Kraps, 4, 20 ja 0.1. Argumentide arv ja järjekord peab alati vastama parameetritele.
Paneme tähele, et protseduurist Hyppa toimub omakorda pöördumine protseduuri paus poole, mis tekitab etteantud pikkusega pausi. Argument on siin esitatud parameetri pp abil! Tegemist on omamoodi vahendamisega. Parameeter pp saab väärtused (0.2 ja 0.1) protseduurilt Command1_Click ja need väärtused antakse üle protseduurile paus. Viimase teksti siin vaatlema ei hakka, märgime ainult, et see vastab nö üks ühele Scratch'i käsule oota x sek.
Juhime tähelepanu ajaolule, et Scratch'i käskudes kasutatavad väärtused, näiteks o.2 ja 0.1 käsus oota; 1, 220 ja 150 käsus liigu jne, sisuliselt kujutavad endast samuti argumente, mida kasutatakse vastava käsu täitmisel. Viimastele tegelikult vastavad valmis protseduurid.
|
If-laused siin kontrollivad, kas vastav märkeruut (Check1 ja Check2) on lülitatud sisse. Kui jah (omadus Value on tõene), käivitatakse protseduur Hyppa.
See on üldiselt kõige keerulisem variant graafika programmeerimisel. Võrreldes eelmiste variantidega, siin tuleb rohkem teha tegemist erinevate koordinaatsüsteemidega, mõõtühikutega, mõõtkavadega ja üleminekutega ühest süsteemist teisse jm. Tavaliselt eristatakse vähemalt kahte kooordinaadisüsteemi:
füüsiline ehk arvuti (öeldakse ka ekraani) koordinaadisüsteem ja
loogiline ehk kasutaja koordinaaadisüsteem.
Ülalpool vaadeldut koordinaatsüsteemid olid just Scratch'i ja Visual Basic'u füüsilised koordinaadisüsteemid. Allpool on toodud nimetatud füüsilised koordinaadid ja võimalikud loogilised koordinaatsüsteemid. Viimastes arvestatakse kasutajale sobiva telgede suunaga ja mõõtühikutega. Sageli tuleb arvestada mingi mastaabiga kas või selleks, et joonis mahuks ära ekraani antud piirkonnas. Kuna
Koordinaadisüsteemid
![]() |
![]() |
(järgneb)
Allpool on toodud Scratch'i skript kolmnurga joonestamiseks ning Visual Basic'u protseduur kolmnurga ja ringi joonestamiseks
![]() |
|
Proovige slaiderite abil muuta algandmeid ja vaadake kuidas programm toimib. Programmi käivitamiseks võib klõpsata rohelist lippu või vajutada tühiku klahvi. .
|
(järgneb)
Ruutvõrrand ja ruutparabool. Programmi saate laadida ka oma arvutisse, kui klõpsate linki |
Scratch'i programmi üldistatud tegevusdiagramm
(järgneb)
Jäärgnevalt vaatleme lühidalt vaadeldava näite realisatiooni VBAga Excelis. Exceli faili saate kuvada siit: Exceli töövihik.
Kasutajaliides saab siin luua Exceli töölehel, kasutades algandmete ja tulemuste jaoks töölehe lahtreid. Töölehele saa lihtsalt kolmnurga ja ringi. Samuti saab siin kasutada erinevaid ohjureid. Olgu märgitud, liidese loomine töölehel on tunduvalt lihtsam ja kiirem, kui vormil. Allpool on toodud Exceli töölehel asuv liidese pilt.
Ka VBAs saab kasutada liidese jaoks vorme. Sageli ei oma mõted, sest see on tunduvalt aeganõudev.
Põhimõistetega tutvumiseks vaatleme näiteks ühe mängutaaolise asja programme, mis on tehtud kahes erinevas keeles: Scratch ja VBA. Põhitähelepanu on pööratud Scratch'ile. VBA on toodud peasjalikult võrdluseks ja selgitused on siin võrdlemisi üldisel kujul. Scratch'i programme vaatleme põhjalikumalt, kuid ka siin päris kõike detaile ei puuduta.
Scratch'i programmi tööd võite näha kõrvaloleval appletil. Selle saab käivitada, klõpsates nuppu Start, peatada saab nupuga Stopp või punase nupuga ülemises servas. Programmi saate laadida ka oma arvutisse, kui klõpsate linki |
![]() |
VBA programmi kasutajaliides Excelis näeb välja sarnaselt. Kui Teie arvutis on olemas Excel, võite vaadata ka VBA programmi tööd, klõpsates linki |
Imiteeritakse sellist stseenaariumi. Juku ja Kraps loobivad palli, püüdes tabada väljaku keskel asuvat, ütleme, liivakasti. Programm loendab visete arvu, tabamuste ja mööda läinud visete arvu. Kui pall tabab kasti, muudab see korraks värvi. Kraps ja Juku teevad mõned hüpped, Kraps kräunub ja Juku "ütleb" "Tubli". Scratch'is on kasutajaliidese põhiosaks lava (stage), VBA's - Exceli tööleht (worksheet).
Mõlemas programmis kasutatakse mitut objekti. Põhiobjektideks on neli graafilist kujundid: pall (ring), kast (ristülik), Kraps ja Juku (pildid). Omaette objektide liigiks on käsunupud Start ja Stopp, mida kasutatakse programmide käivitamiseks ja seiskamiseks.
Scratch'i aknas on kuvatud nn näidikud ehk monitoorid (monitor), mis peegeldavad muutujate (viskeid, sees, mööda) jooksvaid väärtusi: iga "viske" järel muutub ühe võrra muutuja viskeid ja kas muutuja sees või mööda väärtus. Muutujate väärtusi säilitatakse ja muudetakse skripti poolt arvuti mälu pesades.
VBA's kasutatakse loendurite väärtuste kuvamiseks Exceli töölehe lahtreid. Need kujutavad endast ka objekte. Protseduur muudab täitmise ajal vastavate lahtrite
omadust väärtus (value), tänu millele muutub vastav väärtus ka ekraanil.
Allpool on kõrvuti toodud Scratch'i skript ja VBA protseduur. Need muudavad palli asukohta, muutes selle koordinaate x ja y juhuslike arvude abil, kontrollivad kas pall sattus kasti ning muudavad vastavate loendurite väärtusi.
Vaatleme kõigepealt Scratch'i peamist skripti. Iga skript on alati seotud kindla spraidi või lavaga. Praegu on tegemist spraidi pall skriptiga. Oma skriptid on ka teistel spraitidel. Ühel spraidil voib olla mitu skripti ning nende käivitamiseks saab kasutada erinevaid viise.
Vaadeldav skript käivitub siis, kui saabub teade nimega start, viimase saadab spraidi (nupu) Start skript käsuga teavita (broadcast).
Kõigepealt käskudega võta (set), võetakse muutujate viskeid, sees ja mööda värtuseks 0. Seejärel algab lõputu kordus, mis on määratud käsuga (plokiga) lõputult (forever): kõikide selle ploki sees olevaid plokke (käske) täidetakse jälle ja jälle. Peatada saab täitmise, klõpsates nuppu Stopp või punast nuppu lava ülemises servas. Ploki igal täitmisel kõigepealt uuendatakse käsuga muuda (change) muutuja viskeid ühe võrra ning muudetakse palli koordinaate (x ja y) juhuarvude abil. Tuletame meelde, et lava vasak serv on -240, parem 240, alumine -180 ja ülemine 180 tingühikut.
Seejärei käsu kui...muidu (if...else) abil kontrollitakse, kas pall puudutab kasti või mitte. Kui spraitidel on ühisosa tagastab viiteplokk puudutab kast? (touching kast?), mille abil on siin esitatud tingimus, väärtuse tõene (true), vastupidisel juhul - väär (false).
Kui pall tabas kasti täidetakse kui-harus olevad plokid (käsud): käsuga mine (go to) viiakse pall kasti keskkohta, suurendatakse muutuja sees väärtust ühe võrra ning täidetakse käsk teavita tabas ja oota (broadcast tabas and wait), vastupidisel juhul täidetakse muidu-harus olev käsk muuda, mis suurendab muutuja mööda väärtust ühe võrra.
Käsu teavita ... ja oota täitmisel, peatatakse antud skripti töö ja käivitatakse kõik skriptid, mis algavad päiseplokiga kui saabub teade tabas. Kui taolisi skripte on mitu (näiteks praegu on neid 3, vt allpool), täidetakse neid paralleelselt. Peale seda, kui need kõik on täidetud, antakse täitmisjärg tagasi skriptile, kust toimus väljakutse. Selle täitmist jätkatakse käsust, mis järgneb pöördumiskäsule. Antud juhul on selleks käsk oota 0.5, mis järgneb kui...muidu-plokile, see tekitab pausi pikkusega 0,5 sekundit (et "visked" ei toimuks liiga tihti).
Muide, on olemas ka käsk (plokk) teavita teade (broadcast teade), mis käivitab selle teatega algavad skriptid ja kohe jätkatakse antud skripti täitmist ning tagasipöördumist ei toimu.
Pall. Tegevuste skript, kui teade "start"![]() |
|
Nüüd aga tutvume VBA peaprotseduuriga Lenda, millest algab programmi täitmine. Lisaks sellele, on kasutusel mitu nn alamprotseduuri. Kui võrrelda Scratch'i skripti ja VBA protseduuri, võib märgata üsna suurt sarnanust, vaatamata erinevatele esitusviisidele.
Märgime aga kohe ära olulised erinevused. Kõigepealt VBA ühes protseduuris, erinevalt Scratch'i skriptist, saab määrata tegevusi mitme objektiga (kas või kõikidega), kusjuures objektideks, näiteks Excel'is, on ka töölehed ja nende lahtrid, töövihikud jm. Siit tekkib ka vajadus omada vahendeid viitamiseks erinevatele objektidele.
Graafikaobjektidele, mis on Scratch'i spraitide analoogideks, saab viidata taolise konstruktsiooniga Shapes("nimi"). Kus nimi on objekti nimi, mis enamasti esitatakse programmis tekstkonstandina. Näiteks: Shapes("pall"), Shapes("Juku") jne.
Lihtsamaks viisiks viitamiseks Exceli lahtrile on nurksulgudes paigutatud lahtri nimi: [viskeid], [sees] jmt.
Lausega Set, saab siduda objekti muutujaga ja edaspidi kasutada viitamiseks objektile muutuja nime. See lihtsalt võimaldadab lühendada programmi teksti. Näiteks vaadeldavas protseduuris kasutatakse kahte Set-lauset:
Set pall = Shapes("pall"): Set kast = Shapes("kast"),
mis seovad objektid pall ja kast, millele viidatakse protseduuris korduvalt, vastavate muutujatega.
Kuna Scratch on orienteeritud animatsioonide ja mängude loomisele, kus suurel määral kasutatakse graafikat ja liikumist, on siin olemas ka spetsiaalsed käsud (plokid) vastavate tegevuste määramiseks. Näiteks võib tuua grupi Liikumine (Motion) plokid, mis koos grupide Jutimine (Control) ja Andurid (Sensing) plokidega võimaldavad lühidalt ja lihtsalt kirjeldada taolisi asju.
VBA on üldotstarbeline programmeerimisvahend ning sellepärast siin sellist rikkalikku eriotstarbeliste käskude (lausete) valikut ei ole. Kuid siin, nagu ka teistes nö tavalistes programmeerimiskeeltes, on võimalus luua erineva otstarbega, suhteliselt universaalseid protseduure, funktsioone või klasse, mida saab kasutada korduvalt erinevates programmides. Taoliste asjade kasutamiseks tavaliselt ei pea teadma, kuidas näiteks kasutatav protseduur voi funktsioon on tehtud ja töötab.
Peab teadma mida see teeb, milline on nimi ja, ka väga sageli, milised on vajalikud argumendid: väärtused voi objektid, mida kasutab protseduur.
Argumente kasutatakse ka mitmetes Scratch'i plokides, näiteks plokis on 13 argument, mille ruutuur leitakse, selle asemele voib panna teise väärtuse, sellel kohal voib olla ka muutuja voi avaldis. Plokis
on argumendiks konstant 0.5, plokis
on argumendiks konstant 10, ka neis voib kasutada suvalisi väärtusi, muutujaid voi avaldisi. Plokis
on kaks argumenti: x ja y väärtused, mis voivad olla esitatud konstantide, muutujate ja avaliste abil. Plokis
on argumendiks objekt kast (täpsemalt objekti nimi).
Kraps. Tegevused, kui saabub teade "tabas" |
Juku. Tegevused, kui saabub teade "tabas" |
Kast. Tegevused, kui saabub Neid skripte täidetakse samaaegselt (paralleelselt). Peale viimase töö loppu, antakse täitmisjärg tagasi spraidi pall skriptile, kust toimus pöördumine. |
|||||||||
|