Esimene praktikum Räägime, mis juhtuma hakkab. Tunni eesmärgid: 1. Mis on algoritm? Kuidas panna arvutit oma soovi kohaselt tegutsema? 2. Olulisemad programmeerimisel ettetulevad mõisted ja nende kasutus ning esinemine programmis: muutuja (nimi, andmetüüp, väärtus), omistamine, aritmeetika- ja loogikaavaldised, tingmus- ehk valikulause, tsükkel / tsüklilause. 3. Mis on nende mõistete taga - proovime lahendada lihtsaid ülesandeid. Alustame keskkonnast Scratch (link tundude tabeli all). Kui juba kasutaja seal olemas, saab sellega sisse logida. Aga kasutajat ei pea tingimata tegema. Sel juhul tuleb siiski meeles pidada, et enne uue projekti alustamist vana enda arvutisse ära salvestada. Vali ülalt menüüst Fail -> Salvesta oma arvutisse (File -> Save to your computer) Kiisuke on laval - keskpunkt 0,0. Laval on x ja y koordinaadid, nagu kunagi matemaatika tunnis õpitud sai. Proovime kõigepealt teha midagi hästi nähtavat - liigutame kiisuke Scratchi (või kedagi teist) Vajalikud plokid: Liikumine: liigu, pööra, mine, ... (Motion: move, turn, go to, ...) Sündmused: kui klõpsata rohelisel lipul, kui spraiti klõpsata (Events: when lipuke clicked, when sprite clicked) Laseme kõigepealt kiisukesel lihtsalt liikuda. Nüüd proovime panna ta süstemaatilisemalt liikuma - näiteks mööda kasti külgi. Sama tegevuse kordamiseks (kus on siin korduv tegevus?) saab kasutada kordamise plokki. Vajalikud plokid: Juhtimine: korda 10 korda, korda kuni (Control: repeat 10, reapeat until ) Laseme programmi kasutajal otsustada, kui pikad küljed on kastil ehk muutuja ja andmete sisestus. Kasutaja sisestus. Vajalikud plokid: Andurid: küsi, vastus (Sensing: ask, answer) Muutujate tegemine, väärtuse omistamine ja kasutamine. Vajalikud plokid: Muutujad: Loo muutuja, võta, muuda, .. (Variables: Make a Variable, set to, change by, ..) Vajalikud järgmiste ülesannete juures: Tehted ja avaldised, sh ka juhusliku arvu tegemine: Tehted (Operators) Valik / tingimus / otsustamine. Juhtimine: kui ... siis (Control: if ... then) Vastus ekraanile. Välimus: ütle (Looks: say) Edasi mõned ülesanded tavapärasest programmeerimisest. Ülesanne 1. Tädi Maali lillekast Tädi Maali tahab terassi nurka (mis on täisnurkne) ehitada kolmnurkse lillekasti. Ta paneb paika piki terassi serva jooksvate külgede pikkused (et ikka endale ka terassil ruumi jääks), samuti kasti kõrguse. Ja nüüd tahab ta teada, kui pikki laudu on tal vaja kasti kolmanda külje jaoks. Ning kui palju on vaja osta mulda. Kõigepealt tuleb mõelda läbi, kuidas ülesannet lahendada ehk koostada algoritm: a) millised on algandmed? b) milliseid tulemusi saada tahetakse? c) kuidas algandmetest tulemuseni jõuda? Ülesanne 2. Arvu arvamise mäng Tavaliselt üks mängija mõtleb arvu etteantud piirides ja teine katsub seda ära arvata. Meie ülesandes - Kiisuke Scratch (või keegi teine) mõtleb arvu ja Sina hakkad arvama. Kiisuke (või keegi teine) vastab igale arvamisele ja täpsustab, kas pakutud arv on liiga suur või liiga väike. Lihtsamal juhul lõpetatakse mäng siis, kui arv ära arvatakse. Keerulisemal juhul loendatakse pakkumiste arvu ja kui see liiga suureks kasvab, siis programm teatab, et nii rumal ikka olla ei saa, et nii kaua ühte arvu arvama peaks. Mitme pakkumisega peaks vahemikus 1 .. 100 oleva arvu ära arvama? Kuidas seda leida? Täiendada saab programmi veel sellega, et terve mäng korduma panna, küsides kasutajalt, kas ta soovib veel mängida. See tähendab uue tsükli lisamist mängutsükli ümber.