Ohjelmointia Scratchin kanssa
|
|
- Markus Honkanen
- 5 vuotta sitten
- Katselukertoja:
Transkriptio
1 Ohjelmointia Scratchin kanssa β eta Matti Nelimarkka Noora Vainio Nyyti Kinnunen 2011
2 2 MateriaalionkäytössäCreativeCommons Nimeä4Tarttuva3.0MuokkaamatonCC BY4SA)lisenssillä. Setarkoittaa,ettävoitjakaajamuokata tätämateriaalia,kunhanmainitsetlähteen. Lisäksimahdollisetmuutoksettuleejakaa samallalisenssillä. Lisätietoalisenssistäsaatavillaverkosta sa/3.0/deed.fi Hahmotjaanimointi Toistorakenteet Kuulemmemielellämmemielipiteitäsi materiaalista.mitävoisimmeparantaa, mitenasiatvoisiilmaistaselkeämmin mihinitsekäytättätämateriaalia. Lähetäpalautteestisähköpostitse Työnvalmistumistaovattukeneet: Multimedia Ehtorakenteet Muuttujatjaloogisetoperaatiot Kynä Tapahtumapohjainenohjelmointi
3 3 Perusopetuksenvuoden2004opetussuunnitelmassa yhtenäaihekokonaisuutenaonihminen&ja&teknologia. Tämänoppiainekokonaisuudenkeskeisenäsisältönä ontietotekniikan&käyttäminenjateknologian& ymmärtäminen.lisäksikannustetaankehittämään& välineiden,&laitteiden&ja&koneiden&toimintaperiaatteiden& ymmärtämistä.opetussuunitelmassaeikuitenkaan painotetatietokoneidentoimintaa.tämätarkoittaasitä, etteivätoppilaatvälttämättäosaavastatakeskeiseen kysymykseenmiten&tietokoneet&toimivat. Onluonnollista,ettätietotekniikankäyttöonnostettuesiin myösopetussuunnitelmassa.tietotekniikkaonjonyt merkittäväosayhteiskuntaa,jasenroolituleekasvamaan. Käytämmesitänykyisinmyöshuomaamattamme4sinunkin taskustasivoilöytyätietokone. Oppilaidentulisimielestämmeperinteisentietotekniikan käytönlisäksimyösymmärtääjotainsentoiminnasta. Muttamitätietotekniikkaoikeastaanon?PeterJ.Denningin 2003)mukaanseonesimerkiksitietokantoja, tietorakenteitajakäyttöliittymiensuunnittelua. Käytännössänäidenteemojenkanssapäädytäänusein käytännöntoteutuksenkysymyksiin,joissaalgoritmien suunnittelujaniidentoteutuseliohjelmointionkeskeistä. Tietokoneetovatenemmänkuinvalmiitavälineitä, jollaisinanetavallisestiesitetään.pyrimmetämän materiaalinavullatuomaanesilletoisennäkökulman tietokoneidenkäyttöön.haluammekorostaa,että tietotekniikkavoiollamyösongelmanratkaisun.väline. Tokimyösvalmiitohjelmat,kutentaulukkolaskenta, tarjoavatvälineitätähän. Esipuhe Kuitenkin,ohjelmoinninavullaonmahdollistaratkaista erilaisiaongelmiasekäkehittääongelmanratkaisun ajattelutaitojasystemaattisimmiksi. Toisinkuinihmiset,tietokoneeteivätosaatehdäpäätelmiä taimuuttaaongelmanratkaisustrategiaansakeskenohjelman suorituksen.siksiongelmanratkaisustrategiatuleeesittää täsmällisemmin,käyttäenformaalia,etukäteenmääriteltyä kieltä.tätähyödyntäentietotekniikkavoiauttaa ongelmanratkaisutaitojenkehityksessä. TyövälineeksitässämateriaalissaolemmevalinneetScratch4 nimisenohjelmointiympäristön.scratchonmit4yliopistolla kehitettylapsillesuunnattuohjelma,jonkaavullavoitutustua algoritmiseenajatteluuninnostavallatavalla.innostusta auttaaesimerkiksivisuaalisetkäyttöliittymäelementit,jotka rohkaisevatlapsiakokeilemaanjalisäävätohjelmoinnin mielekkyyttä.lisäksiscratchilläoppiiperusteetnopeasti, minkäjälkeenonhelpompaasiirtyäkäyttämään kehittyneempiäohjelmointikieliä. Lopuksionmyössyytämuistaa,ettäohjelmointionväline myösluovuuteen,eivainongelmienratkaisemiseen.tämä tuleepitäämielessämyöskerhontoiminnassa,vaikka olemmemateriaalissakorostaneetongelmanratkaisun keskeistäroolia.luovantoiminnanjaonnistumisen kokemuksienkauttasyntyyomahaluoppiaenemmän.lisäksi arkipäiväistymisenmyötätietotekniikkaonmuuttunut vähemmänvakavaksi4sevoiollamyöshauskaa.
4 4 Alkuun Scrachin kanssa VoitladataScratchinosoitteesta: koneelle,tarkistakieli.tämäopasonsuunniteltu englanninkielistäscratchiakäyttäville.kielenvoit vaihtaaohjelmanyläreunassaolevastamaapallon kuvasta.mikääneisiisestäsinuaopettamasta suomeksi. Scratch4ikkunamuodostuukäytännössäneljästäeri alueesta.vasemmanpuoleisinlaatikkosisältää kaikkikomennot.keskelläonaluejohonvalitut komennotraahataan.komennotraahataanhiiren osoittimellavalikoistakoodialueelle. Josklikkaathiirenoikeallanäppäimellä keskialuetta,saatvalikonjostavoittyhjentääkoko alueen,tallentaakuvanohjelmasikoodistatailisätä koodiaselittävänkommentin.kommenttien lisääminenonkannattavaa,josohjelmaon monimutkainen. Klikkaamallahiirenoikeallanäppäimelläyksittäistä koodilohkoa,saatvalikon,jostasaatohjeitatätä lohkoakoskien,voitpoistaaosantaitehdäkopion osasta.voitpoistaakoodiamyössiirtämälläsenpois keskialueelta.koodikäynnistetään tuplaklikkaamallasitä. Oikeallayläreunassaonnäyttämöelistage,josta näetohjelmasisuorituksen.senalapuolellaon hahmo4valikko,jostanäetluomasihahmotjavoit luodauusihahmoja. Kielenvaihtaminen Tiedostojenavaaminenja tallentaminen Näyttämö Komennot Koodialue Hahmot Ohjelman käynnistäminenja sammuttaminen
5 5 Hahmot ja animointi TässäkappaleessaluodaanpohjaatulevalleScrach4 ohjelmoinnille.ensiksikäsitelläänhahmoja muokkaustajalisäämistäscratchiin.lisäksi esitetäänyksinkertainenhahmojenliikutus. Tärkeääonymmärtää,ettäyksittäisetScracth4 hahmotovattoisistaanriippumattomia. Scratchissakaikkiohjelmatperustuvathahmoihinja niidentoimintaan.yhdessäohjelmassavoiollauseita hahmojajahahmotvoivatmyöskommunikoida keskenään. Jokaisellahahmollaonomatohjelmakoodista scripts),joidenmukaannekäyttäytyvättoistaan välittämättä.hahmotvoivatmyöskommunikoida keskenäänjaniidentoimintaanvoivaikuttaa esimerkiksitoistenhahmojensijainnit. Hahmojavoidaananimoidaluomallaniille ohjelmakoodeja,jotkaliikkuttelevatniitäjamuuttavat niidenulkonäköä.hahmojenliikuttamiseen komentojalöytyymotion4valikosta.hahmojen ulkonäköönliittyviäkomentojalöytyylooks7valikosta. Luodessasiuudenprojektin,siihenlisätäänautomaattisestiyksi kissa4hahmo.tämänhahmonvoikuitenkinpoistaapainamalla hiirenoikeallanäppäimellänäyttämönalapuolellaolevaahahmon kuvakettajavalitsemalladelete.& & UudenhahmonvoitluodajokovalitsemallajonkinScratchin valmiistahahmoistataipiirtämälläkokonaanuudenhahmon.voit myösvalitasatunnaisenhahmon,jokalisätäänprojektiisi. Myösvalmiitahahmojavoimuokata.Valitsemallahahmonvalikosta costumes4osionvoitmuokatahahmonasua.täällävoitmyöslisätä hahmolleuusiaasuja.uusiaasujalisätäänjokopiirtämälläkokonaan uusiasutaituomallavalmiitaasuja.nämäasuteivätoleuusia hahmoja,vaanhahmosivoimuuttaaulkonäköäänswitch&to&costume7& tainext&costume7komennolla. Piirräitseomahahmo Avaatallennettuhahmo Satunnainenuusihahmo
6 6 Voitmyösmuokatataustaajasillevoidaanluodaomia ohjelmakoodeja.taustaapääsetmuokkaamaan klikkaamallapienoiskuvaataustastahahmo4valikossa. Taustanohjelmakoodeillavoitmuokatataustaa,joko jatkuvastitaisiihenvoivatvaikuttaaesimerkiksi hahmojensijaintienperusteellatainäppäin4ja hiirikomentojenavulla. Samoinkuinhahmoille,taustallekinvoidaanluoda uusiaasuja.nämäasuttoimivatsamoinkuinhahmojen asut,eliniitävoidaanohjelmanajonedetessävaihtaa. Scratch4ohjelmointiperustuuerilaisiinhahmoihin. Hahmojavoiluodayhteenohjelmaanuseitajane toimivatoletuksenatoisistaanriippumatta.hahmot voivatmyöskommunikoidakeskenääntaimuutoin vaikuttaatoisiinsa. Hahmojavoiliikuttaajaniidenulkoasuavoi muokata.myöstaustaavoimuokatajasillevoi luodatoiminnallisuuksia.
7 7 Toistorakenteet Oppimistavoitetämänkappaleenosaltaonosoittaa, kuinkaohjelmanrakenteitavoitoistaamuutenkin kuinkopioimalla.tähäntarkoitukseenesitetäänkaksi erilaistatoistorakennetta,for4jawhile4rakenteet. Oppimistavoitteenaonymmärtää,milloinfor4 rakennettatuleekäyttääjamillointaaswhile4rakenne onoikea.tämäntakiakannattaavalitatehtäviäsiten, ettänepakottavatpohtimaanjatekemäänvalintoja näidenkahdenrakenteenvälillä. Joskustarvitsemmeuseankopionsamastapaperista.Sen sijaan,ettäpainammekopiointinappulaahyvinmonta kertaakerrommekopiokoneelle,ettätarvitsemmenäin montakopiota.ohjelmointikielissäkinonjoskustarpeen toistaatiettyärakennetta,jatämäntakiakielissäon yleisestitoistorakenteita. Ensimmäinentoistorakenne,jotakutsutaan.for2 rakenteeksi,toimiiitilanteessa,jossatiedätetukäteen kuinkamontakertaatoistontuleetapahtua.scratch4 ympäristössärakennelöytyycontrol4valikonaltarepeat4 rakenteena.rakenteellekerrotaan,kuinkamontakertaa toistontulisitapahtua. Sivussaonselvästitoistettutiettyä rakennettauseammankerran.tämän takiasevoidaanilmaista yksinkertaisemminkäyttäenfor4 rakennetta. = Toistorakenteenkäyttöselkeyttääselvästiohjelman koodia.koodionlyhyempijailmaiseeselkeämminmitäse tekeeverrattunaoikeanpuoleiseenesimerkkiin. Tehtävä:&Kissa&syö&kissanminttua,&mutta&voi&pahoin&tämän& jälkeen.&pahoinvoivana&kissa&vaihtaa&väriään&kymmenen& kertaa.& Koskatiedetäänetukäteenvarmasti,kuinkamontatoistoa tuleetapahtumaan,for4rakenneonoikeavälinetämän ongelmanratkaisemiseksi:
8 8 Josetetukäteentiedä,kuinkamontakertaarakennetta tulisitoistaa,tarvitsemmeerilaisenrakenteen.tätä rakennettakutsutaanwhile2rakenteeksi.scratchissä while4rakennelöytyycontrol4valikostakomentona repeatuntil. While4rakenteensisälleasetetaantotuusarvonsaava ehto.totuusarvoistaolennaistaon,ettäseonkaikissa tilanteissajokotositaiepätosi.josseontosi,while4 rakenteensuoritustajatketaan,josseonepätosi jatketaanmuunohjelmansuoritusta.esimerkiksi Sensing4valikostalöytyytotuusarvojapalauttaviaehtoja. Esimerkiksisielläonpalikka,jokakertookoskeeko hahmoreunaavaiei.senarvosiisontosi,kunhahmo koskettaareunaajakunhahmoeikosketareunaa,sen arvoonepätosi. Tehtävä:&Tee&ohjelma,&jossa&kissa&liikkuu&kunnes&se&koskee& seinää.& Ohjelmansuoritustajatketaankunneskissakoskee seinään.etukäteeneitiedetä,kuinkamontaliikuttamista tähänvaaditaan,jonkatakiatarvitaanwhile4rakennetta. Tehtävä:&Kaksi&kissaa&rakastavat&toisiaan&ja&haluavat&olla& toistensa&kanssa& &valitettavasti&niiden&suunnistustaidot& ovat&heikot,&joten&he&vain&kääntyvät&ympäriinsä&ja&menevät& eteenpäin.&jos&he&pääsevät&toistensa&lähellä,&niin&he& pysähtyvät.& Nyttehtävässätarvitaankaksierihahmoa,mutta molemmilletuleesamanlainenkoodi.etukäteeneitiedetä kuinkakaukanakissatovat,jotentoistojenmäärääei tunneta.siksionsyytäkäyttääwhile4rakennetta.while4 rakenteenlopetusehtonaonse,ettätoistakissaa kosketetaan. Kolmaserikoistyyppitoistorakenteestaonloputontoisto. Käytännössätämäonwhile4rakennesellaisessa tapauksessa,jossaehtoonainatosi tällöintoistettavaa rakennettatoistetaankunnesohjelmansuoritus keskeytetään.scrath4ympäristössätätäkutsutaan forever4rakenteksi.huomaa,ettävoitkeskeyttää ohjelmansuorittamisenoikeanyläkulmanpunaisella kahdeksankulmiolla.
9 9 Tehtävä:&Kissa&vartioi&linnaa&ja&kiertää&sen&ympäri&puolen& minuutin&välein.& Tässätehtävässäyhdistetäänkaksierilaista toistorakennetta.sisempifor4rakennesiirtääkissaa linnanympärikuntaasulompitoistaatätäkiertoliikettä puolenminuutinvälein.tässätuleeollaerityisen tarkkaavainensiinä,mitkäelementitkuuluvatmihinkin toistorakenteeseen.ensiksikannattaaratkaistaosa4 ongelmana kierretäänlinnanympäri jatämänjälkeen ratkaistawhile4rakennettasenympärille. Ohjelmoinnissaonuseintarpeentoistaasamaa rakennettauseammankerran.leikkaa4liimaa4kopio ontokitehokaskeinotähän,muttajohtaalopulta vaikeastiylläpidettäviinohjelmiinjaturhaan toistoon.tämänvälttämiseksionolemassakaksieri rakennetta: For2rakenneontarkoitettukäytettäväksisilloinkun tiedetääntäsmälleen,kuinkamontakertaaasia halutaantoistaa. While2rakenneontarkoitettutilanteisiin,jossaei etukäteentiedetätoistokertojenmäärää. Toisinkuinfor4rakenne,while4rakennetarvitsee ainaehdonkuinkakauanrakennettatoistetaan. Tämäehtoontotuusarvo,eliainajokotositai epätosi.josseontosi,suoritustajatketaanjajosse onepätosi,suorituskeskeytetään.
10 10 Ehtorakenteet Kappaleenoppimistavoitteenaonymmärtää ehtolauseidenmerkitysohjelmoinnissa.oppilaanon havaittava,ettätietytsuorituksetovatvaihtoehtoisiatai netehdäänvaintietynehdontäyttyessä.tuleesiis ymmärtäätotuuslauseidenperusteetjavaihtoehtoiset suoritustavat. Arkielämässämmeuseinteemmepäätöksienehtojenavulla. Menemmetienylijosautojaeitule,muutoinodotamme, ettäautotohittavattien.tai,menemmeulosjoseisada, muutoinjäämmesisälle. Ohjelmoinnissaonuseintarpeenasettaaohjelmalleehtoja joidenmukaansetoimii.esimerkiksihahmonkoskettaessa reunaasesaatetaanhalutapalauttaatakaisinkeskelletai vaihtoehtoisestipysäyttäähahmonliike.tämätoteutetaan ehtolauseilla. Ehtorakenteetovattärkeäosaohjelmointia.Niidenavulla voidaanjaksottaaohjelmankulkuajajakaaohjelmankulku eriosiintilanteestariippuen.ehtorakenteetovatif4lauseja else4lause.scratchissaehtorakenteetlöytyvätcontrol4 valikonalta. Tehtävä:&Kissa&haluaa&valvoa&näyttämöä.&Tee&ohjelma,& jolla&kissa&käy&mahdollisimman&suuren&alueen&kentästä& läpi.& Toistetaanloputtomastiseuraavaaohjetta:jos kosketetaanseinään,käännykymmenenastetta,muutoin liikukymmenenaskeltasuuntaan,jonneosoitan.näin kissakäyhitaasti,muttavarmastikokonäyttämönläpi. Ainaseinäntullessavastaansekääntyyjamuutoinse liikkuueteenpäin. Ehtolauseidenavullaohjelmansuoritustavoidaan jakaaosiin.osatsuoritetaanehtojentoteutuessa. If2lauseensisälläolevaosasuoritetaanif4lauseen ehdontoteutuessa,else2lauseensisälläolevaosa suoritetaanjosjavainjosif4lauseenehtoeitoteudu. If4lausevoiesiintyäjokoelse4lauseenkanssataiilman sitä.
11 11 Multimedia Tämäkappaleesittääperusteetäänenliittämisestä Scratch4ohjelmaan.Tavoiteon,ettätämänkappaleen myötäoppilasosaisiliittääyksinkertaisiaääniäosaksi ohjelmaansa.äänenliittämisenkauttaonmyös mahdollistasaavuttaauusiailmaisunmuotoja. Esimerkiksionmahdollistaäänittäärytmejätai tunnettujalaulujajaohjelmoidaniihinsopivaanimaatio. Tehtävä:&Kun&kissa&törmää&seinään,&niin&sitä&sattuu&ja&se& sanoo&mau.& Ehtolauseensisällelaitetaannytkomento,jokatoistaaääntä. Maailmammehavainnotperustuvatuseisiinerilaisiin aisteihin.esimerkiksitelevisio4ohjelmissaäänionvähintään yhtätärkeäosakokemustakuinnäköaistiinperustuva kokemus.myöstietokonepeleissäsekäyhäenemmän muissakinohjelmissamusiikkijaäänetovatkeskeinenosa käyttökokemusta. MyösScratchissäonmahdollistaliittääääniätapahtumiin. TämätapahtuuSound4valikonkautta.Yksinkertaisimmillaan äänentoistaminenonvalmiiksiannetunäänitiedoston toistamista.oppilasvoimyösnauhoittaaomanäänensä tähänvalitsemallarecordsoitettavienäänienvalikoimasta. Matalammantasonäänenkäsittelystäesimerkkinätoimii seuraavamusiikkiesitys.kunvihreäälippuapainetaan,niin toistuuyksinkertainenrytmi. Onmyösmahdollistatehdäyksinkertaisempiayksittäisistä äänistäkoostuviasoitoksia.tähänauttavatyksittäisten tahtiensoittamiseentarkoitetutkomennot Audiovisuaalinenkokemusvoiollamielekäsjaparantaa ohjelmankäytettävyyttäjakäyttökokemusta.scratchissä voisoittaaääntäkahdellaeritavalla:korkeallatasolla suoraanäänitiedostojenkauttataimatalammallatasolla yksittäisiänuottejakäyttäen.
12 12 Muuttujat Kappaleenkannaltatärkeintäon,ettäoppilasymmärtää muuttujienkäsitteen.lisäksitavoitteenaonoppia käyttämäänmuuttujiajasoveltaaniitäerilaisissa tilanteissa.käyttösisältäämyösoperaatiot,joita muuttujillevoidaantehdä.lisäksiharjoitellaanlistojen käyttöä Koskamuuttujatovatvarattujamuistipaikkoja,einiille kerranannettuarvoolelopullinenvaanmuistipaikassa olevaarvovoidaankorvatauudella.näinvoidaanluoda esimerkiksilaskureita.muuttujallavoiollavainyksi arvokerrallaan.mikälivanhaaarvoamuutetaantai siihensijoitetaanuusiarvo, korvautuuvanhaarvouudella. 3 Useinohjelmoinnissatuleetarvetallentaatietoaohjelman käyttöön,esimerkiksipisteenlaskuavarten. Ohjelmoinnissatämäontoteutettumuuttujienavulla. Muuttujatovattietokoneenmuististavarattuja muistipaikkoja,joihinpäästääntämännimenkautta. Niihinvoidaantallentaaniinsanojakuinlukujakin. Koskamuuttujatovattiettyjämuistipaikkojatietokoneen muistissa,onjokainenmuuttujanimettävä.näintietokone tietää,minkämuuttujanarvoahalutaankäyttää.tästä syystäkahdellamuuttujallaeivoiollasamaanimeä,sillä muutentietokoneeitietäisi,kumpaamuuttujaaon käytettävä.muuttujatkannattaanimetämuuttujien käyttötarkoituksiakuvaaviksi.esimerkiksijosmuuttuja kuvaayhteenlaskunvastausta,onsejärkeväänimetä summaksieikäesimerkiksimaksalaatikoksi.kun muuttujienmääräkasvaa,onjärjettömästinimettyjen muuttujienhallitseminenhyvinvaikeaajavirhealtista. Muuttujan&nimi&ja&muuttujan&arvo& ovat&kaksi&eri&asiaa.muuttujan nimeäeivoimuuttaasenluomisen jälkeen.muuttujanarvosensijaan tarkoittaalukuataisanaa,jonka muuttujasisältää.viereisessä koodissamuuttujan variable arvoksiasetetaan5.tämänjälkeen ohjelmaakäsketään sanoa variable.kunohjelma ajetaan,kissasanoo5eikä variable,sillämuuttujanarvoon
13 13 ScratchissamuuttujaluodaanVariables4valikosta löytyvästämake&a&variable4painikkeesta.muuttujalleon annettavanimi,minkäjälkeenseilmestyyvalikkoon. Muuttujaanimetessävoitvalitavoivatkomuuttujaa käyttääkaikkihahmotvaivainsillähetkellävalittuhahmo. Muuttujanluonninjälkeensenäkyymyösnäyttämön ylälaidassa. Muuttujalleasetetaanarvolisäämälläohjelmaanset&to4 palikka.keskelläolevastavalikostavoitvalitamuuttujan, jonkaarvoamuutetaan.muuttujanarvoavoidaanmuuttaa montakertaa,jolloinviimeisinmuutosjäävoimaan. Muuttujanarvoavoidaanmuuttaamyösniin,ettäsen arvoakasvatetaantaipienennetääntietynverran.tähän käytetäänchange&by4palikkaa.tämäonkätevääsilloin, kunmuuttujanarvoamuutetaanusein,eikämuuttujan arvoatiedetätaisitähalutaasettaatiettyynarvoon esimerkiksilaskureissa. Tehtävä:&Kissa&kehrää&kun&sitä&silittää&välilyöntiä& painamalla).&kun&kissaa&on&silittänyt&kymmenen&kertaa,&se& menee&nukkumaan.&&nukuttuaan&kissa&on&taas&valmis& kehräämään.& & Tehtävässäpitäälaskea,montakokertaavälilyöntiäon painettu.tätävartenluodaanmuuttujakehräys,joka kasvaayhdelläaina,kunvälilyöntiäpainetaan.kun välilyöntiäonpainettu10kertaa elikunmuuttujan kehräysarvoonkymmenen4kissameneenukkumaan.
14 Listat Joskusohjelmoinnissatuleetarvetallentaauseitaarvoja, jotkaliittyvätsamaanasiaan.tällöineiolejärkeväätehdä useitamuuttujia,silläniitävoitaisiinjoutualuomaan useitakymmeniä.tämäonratkaistuohjelmoinnissa listojenavulla.esimerkiksivoiollasamaanasiaan liittyviäkäyttäjänvastauksia.tällöinsensijaan,ettäniistä tehtäisiinjokaisestaomamuuttujansa,onmielekkäämpää, ettäneovatyhdessälistassa. Listoissatietoalaitetaanperäkkäin.Niitävoiajatella jonoina,joissajokaisellaalkiollaonjärjestysnumero. Numerointialkaaykkösestäjajatkuualkioidenmäärän verran.mikälilistaonviidenalkionpituinen,eilistan kohtaan15voilisätämitään,vaanseaiheuttaavirheen, jokailmeneeskriptinpunaisenaympäröintinä. Listaanvoidaanlisätäalkioadd&& palikalla.tällöin lisättyasiameneelistanperällejalistankokokasvaa yhdellä.listaanvoilisätänumeroita,merkkijonojaja muuttujia. Kutenmuuttujia,myöslistanalkioidenarvojavoi muuttaareplace&item4palikanavulla.tällöinalkion vanhaarvokorvataanuudella. 14 ListaluodaanVariables4valikostalöytyvästäMake&a&list4 painikkeesta.listalleonannettavanimi,minkäjälkeense ilmestyyvalikkoon.listaanimetessävoivalitavoivatko listaakäyttääkaikkispritetvaivainsillähetkellävalittu. Listanluonninjälkeensenäkyystagenylälaidassa. Alkiotavoidaanmyöspoistaalistasta.Tällöinvalittu alkiopoistetaanjakaikkiensenallaolevienalkioiden järjestyslukupieneneeyhdellä,jolloinmyöslistan pituuspieneneeyhdellä. Myöslistankeskellevoilisätäuudenalkion.Tällöin valittuunkohtaansijoitetaanuusihaluttuarvoja kaikkiensenalapuolellaolevienalkioiden järjestyslukukasvaayhdellä,jolloinmyöslistanpituus kasvaayhdellä.
15 15 Muuttujien ja listojen operaatiot Sellaisinaanmuuttujattoimivatlähinnätiedon säilyttämisessä.tilanneonsamanlainenkuinkirja,jonka voilukea,muttasaatuatietoaeivoisoveltaamihinkään. Mikälimuuttujiavoitaisiinkäyttäävaintiedon tallentamiseen,eilaskutoimitustensuorittaminenolisi mahdollista. Varsinuseatpelitvaativatesimerkiksiyhteenlaskua pisteidenlaskemiseen.tämäntakiaohjelmoinnissaon käytössäkaikkiperusmatemaattisetoperaatiot:yhteen4, vähennys,kerto4jajakolaskusekämoduloeli jakojäännös. Voitoperaattorienavullalaskeamuuttujienarvoilla peruslaskujaniinettätoinen,molemmattaiei kumpikaanluvuistaonmuuttuja.operaattorejavoi myösyhdistääkeskenään. Operators4valikosta&löytyymyöstoimintoja merkkijonojenyhdistämiseen,läpikäymiseensekä pituudenselvittämiseen. Joinyhdistääsilleannetutmerkkijonotyhdeksi merkkijonoksi.yhdistettymerkkijonoeitallennu mihinkäänautomaattisesti,vaansepitäämuistaa tallentaamuuttujaan. & Letter&n&ofpalauttaasilleannetunsanann:nen kirjaimenjalengthofpalauttaasilleannetunsanan pituuden. Tehtävä:&Kissa&on&kerännyt&kaupasta&ostettavat&asiat& listaan.&tee&ohjelma,&jolla&kissa&kertaa,&mitä&hän&aikoo& ostaa&kaupasta.& Koskalistassaonuseitaalkioita,joillekaikille halutaantehdäsamatoiminto,kannattaakäyttää toistorakennetta. Koskalistanpituuseiolevakiokäytetääntoistojen määränälength&of4palikkaa,jokapalauttaalistan pituuden.näinjokainenlistanalkiokäydäänkerran läpi.item&of& palikkapalauttaaalkionarvon,tässä tapauksessasanotaanainaalkiokohdassai,joka kasvaajokaisellatoistokerrallayhdellä. Tämänlisäksimuuttujillatoimivatpienempääkuin, suurempaakuinjayhtäsuurtakuinoperaatio,joihin tutustutaanseuraavassaluvussa. LisäksiScratchissaonpalikka,jokasisältää monimutkaisempiamatemaattisiaoperaatioita,kuten sini,tangentti,neliöjuurijalogaritmi.roundpyöristää silleannetunluvunnormaalienpyöristyssääntöjen mukaan.nelöytyvätoperators4valikonalta.
16 Muuttujatmahdollistavatmonimutkaisteohjelmien tekemisen.muuttujinpystytääntallentamaanohjelma tilaajaniitäpystytäänmuuttamaanohjelman suorituksenaikana. Muuttujiaonkahdenlaisia:yksittäisiämuuttujiaja muuttujienkokonaisuuksia,listoja. Muuttujillevoidaansuorittaaperusoperaatioita,kuten yhteen44javähennyslaskuataisanastatutkia,mikäon senn:nneskirjain. 16
17 Loogiset operaatiot Kappaleessakäsitelläänloogisiaehtolausekkeita, kutenpienempääkuinjayhtäsuuri.lisäksi käsitelläänloogistenehtolausekkeidenyhdistämistä operaattoreillajalauseidenkäyttöäohjelmoinnissa. Loogisetoperaattoritsaattavatkuulostaavierailta, vaikkatodellisuudessaniitäkäytetäänjokapäivä. Tekemisellesaatetaanasettaauseitatoisistaan riippumattomiaehtojakäyttäensanojaja,taijaei. Esimerkiksi Lähdenillallaelokuviinjossaan siivottuajatehtyäläksyt.jokuvoisikuitenkinlähteä elokuviinjokunonjokosiivottutaitehtyläksyt.myös ohjelmoinnissaontarpeellistaasettaajoidenkin koodinpätkiensuorittamiselleehtoja,joihinliittyy useampiamuuttujia. Ohjelmoinnissaonuseintarpeellistavertaillaasioita jatehdäasioitavain,jostiettyehtotäyttyy.useinyksi ehtoeikuitenkaanriitähalutunlopputuloksen saamiseksitairiittääettätoinenehdoistatäyttyy. Esimerkiksihalutaan,ettähahmokääntyy,mikälisekoskee vaaleanpunaistareunaa.liikkumisensuorittamiseksitarvitaansiis kaksiehtoa.ohjelmanvoisitoteuttaalaittamallakaksiif4lausetta sisäkkäin,muttakunehtojenmääräkasvaatulisikoodista vaikealukuistajakoodikasvaahuomattavasti. Tämäongelmavoidaanratkaistaloogistenoperaattorienavulla. Niillävoidaanyhdistääjavertaillaerillisiäehtojajamuodostaaniistä kokonaisuus,jollaonvainyksitotuusarvo.kunehdoistamuodostuu yksitotuusarvo,voidaanselaittaasellaisenaanesimerkiksiif4 lauseenehdoksi.allaand4operaattoriakäyttävätoteutusyllä olevastaif4lause4hirviöstä. 17 Loogistenoperaattorienavullavoidaanmuodostaa kokonaisuuksia,jotkakoostuvatpienemmistäosista, lausekkeista.lausekkeetvoivatollamuuttujia,niiden arvontutkimista,hahmoihinliittyviätotuuksiatai muitaloogistenoperaattoreidenavullamuodostettuja lauseita.muodostuneetkokonaisuudetvoivatsiis toimiamyöslausekkeina. Scratchistalöytyykuusierilaistaloogistaoperaattoria: Yhtäsuurikuin Pienempääkuin Suurempaakuin Ei Tai Ja
18 18 Pienempääkuin,suurempaakuinjayhtäsuurtakuinovat monellevarmastiennestääntuttujaala4asteen matematiikasta.ohjelmoinnissavertailuoperaattorit toimivatsamallatavalla. Allaolevassataulukossaonesimerkkivertailujajaniiden palauttamattotuusarvot.yleensävertailuoperaattoreja käytettäessäainakintoinenvertailtavistaonmuuttuja, jonkaarvomuuttuuohjelmansuorituksenaikana. Ei4operaattorinarvoonsensisällelaitetunlausekkeen totuusarvonvasta4arvon.elimikälisisällelaitettulauseke ontosi,onlauseentotuusarvoepätosijapäinvastoin. A. not.a. Tosi Epätosi Epätosi Tosi 2<5 Tosi 5>9 Epätosi 4=2 Epätosi 3=3 Tosi 5<muuttuja Riippuumuuttujanarvosta And4operaattorijaor4operaattorieivättodennäköisesti oleennestääntuttuja,muttaniidentoimintaonhelppo ymmärtää. And4operaattorion tosi,mikälimolemmatvertailtavat lauseetovattosia. Or4operaattorion tosi,mikälivähintääntoinen vertailtavistalauseistaontosi.tosipalautetaansiismyös, kunmolemmatlausekkeetovattosia. A. B. A.and.B. A.or.B. Tosi Tosi Tosi Tosi Tosi Epätosi Epätosi Tosi Epätosi Tosi Epätosi Tosi Epätosi Epätosi Epätosi Epätosi Kutenalussamainittiin,loogisiaoperaattorejakäytetään useinehtolauseidentaitoistorakenteidenehtoina. If4lauseidentoistamisensijastakäytetäänand4orsekänot, mikäliehtojaonuseampia.näinvältetäänturhaatoistoaja selvennetäänohjelmantoimintaa.
19 19 Tehtävä& Kissa&haluaisi&pelata&lautapeliä.&Hän&ei&voi&kuitenkaan&pelata&sitä& yksin,&joten&hän&tarvitsee&molemmat&lähellä&asuvat&ystävänsä&miisun& ja&monnin.&kissan&ystävät&ovat&arvaamattomalla&tuulella&ja&heidän& vastauksensa&vaihtelevat.&kissan&onkin&suostuteltava&molemmat& kaverinsa&pelaamaan&kanssaan. Tehtävässäonkaksimuuttujaa,MiisunsuostuminenjaMonnin suostuminen,kunmolemmatmuuttujatovattosia,voidaan lautapeliäalkaapelata.miisunjamonninmuuttuvatmielipiteet saadaanaikaanrandom4luvunavulla. Mikälirandomonväliltä143vastausonmyönteinenjaväliltä4410 kielteinen.kissanystävätasuvatvastakkaisillapuolilla,joten kysyäkseenkissanonjuostavanäyttämöäedestakaisin. MonnillajaMiisullaonmolemmillaomatskriptinsä,jonkaavullane vastaavatkissalle,neovatmuuttujannimiälukuunottamatta samanlaisia.kissallapitääollaskriptiliikkumiseenjamiisunja Monninmielipiteenseuraamiseen. Loogisetoperaattorittarjoavatmahdollisuudenvertaillaja muodostaaehtolauseitamuuttujienarvoihinliittyen.%loogisia% operaattoreitaovatpienempääkuin,suurempaakuinjayhtäsuuri kuin,jotkamahdollistavatarvojenvertailun. Lisäksi&loogiset&operaatiot&ja,&tai&sekä&ei&mahdollistavat& täsmennetyntoiminnanloogisienlauseidenosalta.esimerkiksi pienempää'tai!yhtäsuurta)kuin)kolme)muodostuu)kahdesta)eri) lauseesta:pienempääkuinsekäyhtäsuurtakuin.
20 20 Kynä Luvunoppimistavoiteonoppiakäyttämään suorempaapiirtotoiminnallisuutta.piirtäminen tapahtuuhahmonliikutuksenavulla, määrittelemälläerikseenollaankonytpiirtotilassa vaiei. Sellaisenaanpiirto4toiminnallisuudensovellukset ovatvarsinvähäisiä..sekuitenkinmahdollistaa aiemminopittujentoisto4jaehtorakenteiden käytönuudellatavalla,minkätakiatätäosuutta voikinkäyttäähyvinaiemminopittujenkäsitteden kertaamiseen. Piirretäänsuoraviiva käyttäenscractchiä. Ensiksiasetetaanviivalle värijakoko,tämän jälkeenliikkuessaan hahmonperässäon sininenviiva. Tähänmennessäolemmekäyttäneetleimasinta, valmiitakuvioitajoitaliikkuvat.kuitenkinscratch tarjoaamahdollisuudenyksityiskohtaisempaanja tarkempaanpiirtämiseenpen4valikonkautta.kynän kokoajaväriävoimuuttaa: Kynäseuraaainahahmoa.Kynävoiollamyösirti piirtopinnastataikiinnisiinä.piirtopinnassakiinni ollessaansepiirtää,irtiollessaaneipiirrä. Nytpiirretään sisäkkäisiäisoja ympyröitä,joidenväri vaihtuu.huomaa,että koonvaihtamiseenarvo voiollamyös negatiivinen.
21 21 Piirretäänkatkoviiva.Nytajatuson,ettäjokatoisella askeleellakynäotetaanirtipinnastajaaskelotetaan jonkajälkeenkynälaitetaantakaisinpinnalle.huomaa kuinkamuuttujaaonkäytettylaskemaanaskelmäärää. Scratchissäonmahdollistapiirtääpinnallesuoraan käyttäenkynä4toiminnallisuutta.kynällevoimäärittää senkoonjavärin. Kynäpiirtääsilloinkunseonkiinnipinnassajaeipiirrä kunseeiolekiinnipinnassa.
22 22 Tapahtumapohjainen ohjelmointi Tässäkappaleessatarkoitusonoppiamuodostamaan riippuvuussuhteitaohjelmienvälillä. Riippuvuussuhteidenmuodostaminenhelpottaa ohjelmienluomistajaylläpitämistä.lisäksise mahdollistaauudetinteraktiivisetmuodot. Keskeinenopetettavaajattelutapaonsignaalinja slotinkäyttötapahtumienabstraktoimisessa.tavoite on,ettäoppilasosaakappaleenlopussaaiheuttaa tapahtumansignaalillajaottaatapahtumanvastaan jonkuntoisenhahmotslot4rakenteella. Useinarkielämässäensimmäinentapahtumaaiheuttaa toisentapahtuman.esimerkiksiihminenylittääautotien kunhänhuomaavalonolevanvihreä.tarkemminsiis, vihreävaloaiheuttaasen,ettäihminenylittäätien, muutoinhänolisivainpysähtyneenä. Monimutkaistenohjelmientapauksessasaatetaanpäätyä samanlaiseentilanteeseen:jokutoimintoaiheuttaajotain muutatapahtuvaksiohjelmassa.esimerkiksitallenna4 napinpainaminenaiheuttaaohjelmantallentamisen. Kutsummetätätapahtumapohjaiseksiohjelmoinniksi. Yksinkertaisimmattapauksettapahtumapohjaisesta ohjelmoinnistaonjoesitettyaiemmin.esimerkiksilipun painaminenjavälilyöntiovattapahtumaanperustuvia toimintoja.kunlippuapainetaan,niinsuoritetaansiihen liittyväohjelma.kunvälilyöntiäpainetaan,niin suoritetaansiihenliittyväohjelma. Kutsummeaiheuttavaatapahtumaasignaali4termilläja tapatumastaaiheutuvaarakennettaslot4termillä. Esimerkissäsignaalejaolisivatlipuntaivälilyönnin painaminenjaslotolisiscratchissätähänsignaaliin kytkettykoodi. Nämätokiolivatyksinkertaisiaesimerkkejä, mielenkiintoisempaaonkunhahmotvoivatviestiä keskenään.tämätapahtuulähettämälläsignaalija kirjottamallasenvastaanottavaslot.nämälöytyvät Control4valikosta. broadcast komentolähettääsignaalin. Signaalilletuleevalitanimi,jollasetunnistetaan. Vastaavastion whenireceive onslot4komento,johon liitetäänslottiinkuuluvatoiminto.
23 23 Tehtävä:&Kaksi&kissaa&pelaavat&hippaa.&Aina&kun&kissa&saa& toisen&kissan&kiinni,&niin&kiinni&saatu&kissa&sanoo& Hippa. & & Esimerkissätoinenkissaetsiikissaajakunsesaakissan kiinni,niinlähettääviestin hippa.toinenkissaottaatämän viestinvastaanjasanoo Olenhippa. Onoikeastaanolemassakahdenlaisiasignaaleja,synkroonisiaja asynkroonisia.asynkrooniset.signaaliteivätkeskeytä ohjelmansuoritustaslotinkäsittelynajaksi,kuntaas synkrooniset.singaalitodottavatettäslotsaadaansuoritettua jajatkavatsittensuoritusta. Vasemmanpuoleinenkoodionasynkrooninensuoritus,eli Hmmm tulostuunäytöllehetikuntaasoikeanpuoleisessa koodissatulostusodottaa,ettäjotaintapahtuu4slotonsaatu käsiteltyä. Tehtävä:&Kissat&pelaavat&viestiä,&jossa&seuraava&kissa&saa& juosta&vasta&kun&edellinen&kissa&on&päässyt&perille.& Koskaemmeetukäteentiedä,kauankokissallamenee juoksemiseen,niinjoudutaankäyttämään tapahtumapohjaistaohjelmointia. Ohjelmoinnissaontarpeenjoskusesittää seuraussuhteitahahmojenvälillä.tätämekaniikkaa kutsutaansignaaliksijaslotiksi. Signaalilähettääviestin.ViestionScratch4kielessäsiis vainjokuilmiötäkuvaavasanatailause. Slotottaaviestinvastaan.Slot4osuuteenkytketän,mitä hahmossatulisitapahtuasignaalinvastaanottamisen jälkeen.
24 24 Seuraavaksi Tämämateriaalionollutpintapuoleinenjohdanto Scratch4ympäristöönjaohjelmoinninperusteisiin.MIT4 yliopistonkehittämäscratch4ympäristöonollut laajemminkäytössäuseissakouluissa,jasilleoneritoten englanniksisaatavillavalmiitamateriaaleja. Suosittelemmetutustumaanmyösnäihin,huomattavasti kattavempiin,materiaaleihinsekäscratch4verkkosivuilla esiteltyihinprojekteihin.myösscratchinympärillä tapahtuujatkuvastitutkimustyötä,jokavoiolla mielekästäseurata. KuitenkinsellaisenaanScratchsopiiinnostuksen herättämiseenjaperusteidenopiskeluun.kuitenkaansillä eivoitehdävarsinaisiatietokoneohjelmia.seuraavana askeleenaohjelmoinninsarallakannattaasiirtyäyleisesti käytettihinohjelmointikieliin,vaikkaniissäscratchin visuaalinenilmaisupuuttuukin. HyväaloittelijakielionesimerkiksiPython.Pythonon yksinkertainen,muttasiltiilmaisukykyinen ohjelmointikieli.siitäonsaatupositiivisiakokemuksia ainakinyläasteelaistenparissa,jauseissasuomalaisissa korkeakouluissapythononensimäinenopetuskieli.sitä käytetäänopetuksenlisäksikaupallisissasovelluksissa esimerkiksigooglella.kuitenkin,alaluokkalaisillepython4 ohjelmointivoiollakovinhaastavaa,jotensevoiolla sopivampijokerranscratchiäharjoiteilletaiyläasteen kynnykselläoleville. Pythononyleisyytensätakiamelkohyvindokumentoitu. Varsinkinenglanniksimateriaaliaonrunsaastisaatavilla, muttamyössuomeksionhyviäkirjojasekänettioppaita. Scratch2resursseja. Ohjelmoinnin.opetuksesta.yleisesti. Python2kielestä.
25 25 ettäoppilaatitseideoivatjatoteuttavatloppuunjonkun yksinkertaisenprojektin4esimerkiksipelin4meidän ollessavainapunavaikeidenosiensuorituksessa. Projektijaksoonauttanutoppilaitatoteuttamaanomia ideoitaanjakäyttämääntietotekniikkaavälineenäomien toiveidentoteuttamiseen.lisäksiseonmahdollistanut hyvinkertaamisenopituistasisällöistä.lopputyötvoitoki laittaaesillekokokoululleesimerkiksijulisteiden muodossa. Onneaohjelmointikerhonkanssa, Matti,&Noora&ja&Nyyti&sekä&muut&ohjelmointikerhon& pitämiseen&osallistuneet Kuulemmemielellämme,mitenmateriaaliavoisikehittää. Lisäksihaluaisimmekuulla,mitähyötyätästä materiaalistaonollutkoulunopetustyössäkäytännössä. Meidättavoitatparhaitensähköpostitse Oppilaatolivatinnostuneitaohjelmoinnistajaolisivat halunneettoteuttaahaastavampiaohjelmiakuinscratchillaon mahdollista.oppilaattekivättehtäviäeritahtiin,mikä kannattaahuomioidakerhoasuunniteltaessa.oppilaatmyös sisäistivätasioitaomaantahtiinsa,toiseteivättarvinneet kertaustaviimeviikonasioista,kuntaastoisetkysyivätapua jokaisessatehtävässä.saattaakinollahyödyllistä,joskerhossa onpaikallauseampiaopettajiavarsinkinjosryhmänkokoon kymmentäsuurempi. Ohjelmoinnissaeiainaoleyhtäjaoikeaatapaatehdäasioita, mikänäkyymyösoppilaidentehtävienratkaisuissa.vaikka oppilaidenratkaisuteivätolisikaanhyviä,kannattaaoppilaiden luovuuttatukeajaantaaheidäntoteuttaaomiaideoitaan.näin oppilaatrohkaistuvattekemäänjakertomaanomistakotona tekemistäänprojekteista. Lisäksikaikkienohjelmienkohdallakannattaakeskustella, miksitoisetratkaisutovatparempiakuintoiset,sekäperustella mitentässäongelmassapäädyttiintähänratkaisuun.muista, ettäohjelmoinnissaepäonnistuminenkinvoiolla oppimiskokemus. Uskommemyös,ettäohjelmointikerhotparantavat ongelmanratkaisukykyäjamatemaattistapäättelykykyä.myös omatpienimuotoisettestimmesekämuuaihepiiriäsivuava tutkimusosoittavatvihjaavattähänsuuntaan.tämävoiolla piilotavoite,jotaeitietenkäänerikseentarvitsemainita oppilaille,muttasitävoidaankäyttääapunakerhontoiminnan perustelussa. Olemmejoillainpitämillämmekerhoillalopussavarsinaisen opetuksensijaanpitäneetprojektityöjakson.tällöinideaon, Kokemuksiamme
26 26 Sanasto Costume.kuvaayksittäisenhahmonkulloistaulkonäkö. For2rakenne.Toistorakenne,jossatoistojenmääräonmääritelty kokonaisluvulla.kts.toistorakenne. Forever2rakenne.Toistorakenne,jotatoistetaanloputtomasti.Kts. Toistorakenne. If2lause.Rakenne,jossaif4lauseensisälläolevakoodisuoritetaanvain,jos silleasetettuehtoontosi.kts.ehtolause Ehtolause.Rakenne,jokasisältääehtojatiettyjenkoodinpätkien suorittamiseen. Else.Elsensisälläolevakoodisuoritetaanvain,mikäliif4lauseenehtoei toteutunut Ja2operaattori.Palauttaatoden,mikälimolemmatehdotovattosia.Kts. Looginenoperaattori Kynä.onScratchinmatalantasonpiirtotoiminnallisuus.. Lista.Rakenne,jonkaavullavoittallentaamontamuuttujaasamaan paikkaan.kts.muuttuja Looginen.operaattori.Yhdistääuseitatotuusarvollisialausekkeita yhdeksitotuusarvoksi. Modulo.Jakojäännös.Esim5/2moduloon12*2=4ja544=1) Muuttuja.Tiettymuistipaikkatietokoneenmuistissa,johonviitataan muuttujannimellä.arvoavoimuuttaa. Ohjelma.Kokonaisuus,jonkakoodimuodostaa. Ohjelmointi.Komentojenkirjoittaminentietokoneelle,koodaus. Ohjelmointikieli.Formaalia,ihmiselleymmärrettäväksitehtyä konekieltä. Parametri.Tarkennejokaannetaanjollekintoiminnolle.Esim. Yhteenlaskussa3+5,3ja5ovatyhteenlaskunparametreja. Projekti.Kokonaisuus,jossaovatkaikkisamaanasiaanliittyvätkoodit. Signaali.Lähettääviestin.Kts.Tapahtumapohjainenohjelmointi. Skripti.Lyhytsuoritettavakoodinpätkä. Sprite/hahmo.Hahmo,jolleskriptejävoidaanluoda. Slotottaavastaanviestin.Kts.Tapahtumapohjainenohjelmointi. Stage/Tausta.Oikeassaylänurkassanäkyvälaatikko,jossaskriptien suoritusnäkyy. Tai2operaattori.Palauttaatoden,mikälivähintääntoinenehdoistaontosi. Kts.Looginenoperaattori Tapahtumapohjainen.ohjelmointi.mahdollistaahahmojenvälisen kommunikoinnin. Toistorakenne.Rakenne,jollatoistetaankoodinpätkää.Toiston määrä/ehtoriippuutoistorakenteesta. Totuusarvo.Kertoolauseenpaikkansapitävyyden,tositaiepätosi While2rakenne.Toistorakenne,jokatoistaaniinkauankunsilleannettu ehtoontosi.kts.toistorakenne.
Ohjelmointia Scratchin kanssa
Ohjelmointia Scratchin kanssa β eta Matti Nelimarkka Noora Vainio Nyyti Kinnunen 2011 2 Materiaali on käytössä Creative Commons Nimeä- Tarttuva 3.0 Muokkaamaton (CC BY- SA) lisenssillä. Se tarkoittaa,
LisätiedotScratch - Ötökkäralli
Scratch - Ötökkäralli Jari Sarja jari.sarja @ 2016 Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen SISÄLLYSLUETTELO Yleistä... 3 Paljonko se maksaa?... 3 Mistä löydän ohjeita?... 4 Käyttöliittymä Scratch
LisätiedotPython-ohjelmointi Harjoitus 5
Python-ohjelmointi Harjoitus 5 TAVOITTEET Kerrataan silmukkarakenteen käyttäminen. Kerrataan jos-ehtorakenteen käyttäminen. Opitaan if else- ja if elif else-ehtorakenteet. Matematiikan sisällöt Tehtävät
LisätiedotScratch - ohjelmoinnin alkeet
LibreOffice Calc 1 Taulukkolaskenta Scratch - ohjelmoinnin alkeet Otavan Opiston julkaisusarja Jari Sarja 2015 Creative Commons Nimeä-Tarttuva 3.0 Jari Sarja Otavan Opisto 2015 2 Sisällysluettelo Yleistä...3
LisätiedotPython-ohjelmointi Harjoitus 2
Python-ohjelmointi Harjoitus 2 TAVOITTEET Kerrataan tulostuskomento ja lukumuotoisen muuttujan muuttaminen merkkijonoksi. Opitaan jakojäännös eli modulus, vertailuoperaattorit, ehtorakenne jos, input-komento
LisätiedotOhjelmointityökalu Scratch
Ohjelmointityökalu Scratch Ohjelmoinnista Tämä synkän näköinen osa kertoo ohjelmoinnista yleensä. Seuraavalla sivulla päästään itse scratchiin. Tietokoneessa toimivia ohjelmia ovat esimerkiksi toimisto-ohjelmat,
LisätiedotKOODAUSPLÄJÄYS. Ohjelmoinnin perusteet
KOODUSPLÄJÄYS Ohjelmoinnin perusteet Korttien merkinnät Korttien yläreunaan on merkitty, mitä taitoja ja ohjelmoinnissa käytettyjä rakenteita korteista oppii. Merkkien määrä ( 4) kuvaa kortin vaikeustasoa.
Lisätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
Lisätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
LisätiedotPeilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla
Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla ALKUHARJOITUS Kynän ja paperin avulla peilaaminen koordinaatistossa a) Peilaa pisteen (0,0) suhteen koordinaatistossa sijaitseva - neliö, jonka
LisätiedotMuistutus aikatauluista
Muistutus aikatauluista (Nämä eivät välttämättä koske avoimen yo:n opiskelijoita Erkki Kailan rinnakkaisella kurssilla) Luento 1: kotitehtävät sulkeutuvat 20.9 12:00, ennen tutoriaalia Tutoriaali 1 sulkeutuu
LisätiedotSisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat
Sisällys 12. Javan toistorakenteet Ylstä toistorakentsta. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirhtä. Silmukan rajat asetettu kierroksen
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
Lisätiedot11. Javan toistorakenteet 11.1
11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin
LisätiedotKoottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.
2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet
LisätiedotPeilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla (Opettajan ohje)
Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla (Opettajan ohje) TAVOITTEET Tämän kokonaisuuden tavoitteena on tutustuttaa oppilaat Pythonilla ohjelmointiin ja erityisesti Turtle moduulin
LisätiedotAlkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)
Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
LisätiedotTestaa taitosi 1: Lauseen totuusarvo
Testaa taitosi 1: Lauseen totuusarvo 1. a) Laadi lauseen A (B A) totuustaulu. b) Millä lauseiden A ja B totuusarvoilla a-kohdan lause on tosi? c) Suomenna a-kohdan lause, kun lause A on olen vihainen ja
Lisätiedot3 TOISEN ASTEEN POLYNOMIFUNKTIO
3 TOISEN ASTEEN POLYNOMIFUNKTIO POHDITTAVAA 1. Kuvasta voidaan arvioida, että frisbeegolfkiekko käy noin 9 metrin korkeudella ja se lentää noin 40 metrin päähän. Vastaus: Frisbeegolfkiekko käy n. 9 m:n
LisätiedotVertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004
Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;
LisätiedotSisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä
Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.
LisätiedotScratch. - Ohjelmoinnin perusteet. Jari Sarja Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen
- Ohjelmoinnin perusteet Jari Sarja jari.sarja@ 2016 Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen SISÄLLYSLUETTELO Yleistä...3 Paljonko se maksaa?...3 Mistä löydän ohjeita?...4 Käyttöliittymä 2.0...5
LisätiedotJohdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet:
3. Pseudokoodi 3.1 Sisällys Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet: Valinta if- ja if-else-rakenteilla. Toisto while-, do-while- ja for-rakenteilla.
LisätiedotJava-kielen perusteita
Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa
LisätiedotArkipäivän automaatiota ja robotiikkaa
Arkipäivän automaatiota ja robotiikkaa 1. oppitunti: Miten laitteet toimivat Lämmittelyharjoitus: Ohjaa ihmisrobottia Video lämmittelyharjoituksesta Mitä ohjelmointi on -video Video: Mitä ohjelmointi on
LisätiedotPalautetta viime luennosta
Palautetta viime luennosta Kuka saa ja kenen täytyy suorittaa 5op kokonaisuus? Sivuaineopiskelijat suorittavat jos heidän sivuainekokonaisuuteen on merkitty niin Kokonaisuuksia on useita eri tiedekunnittain,
LisätiedotSELECT-lauseen perusmuoto
SQL: Tiedonhaku SELECT-lauseen perusmuoto SELECT FROM WHERE ; määrittää ne sarakkeet, joiden halutaan näkyvän kyselyn vastauksessa sisältää
LisätiedotSinulle on annettu bittijono, ja tehtäväsi on muuttaa jonoa niin, että jokainen bitti on 0.
A Bittien nollaus Sinulle on annettu bittijono, ja tehtäväsi on muuttaa jonoa niin, että jokainen bitti on 0. Saat käyttää seuraavia operaatioita: muuta jokin bitti vastakkaiseksi (0 1 tai 1 0) muuta kaikki
LisätiedotITKP102 Ohjelmointi 1 (6 op), arvosteluraportti
ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti Tentaattori: Antti-Jussi Lakanen 8. kesäkuuta 2018 Yleistä Tentti 1 meni pistekeskiarvon (11.2) perusteella välttävästi. Omasta tehtäväpaperista saa kopion
LisätiedotTIEA341 Funktio-ohjelmointi 1, kevät 2008
TIEA341 Funktio-ohjelmointi 1, kevät 2008 Luento 10 Todistamisesta Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 21. tammikuuta 2008 Samuuden todistaminen usein onnistuu ihan laskemalla
LisätiedotOhjelmoijan binaarialgebra ja heksaluvut
Paavo Räisänen Ohjelmoijan binaarialgebra ja heksaluvut www.ohjelmoinaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta
LisätiedotTyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005
Tyyppejä ja vähän muutakin TIEA341 Funktio ohjelmointi 1 Syksy 2005 Viime luennolla... Haskellin alkeita pääasiassa Hello World!... ja muita tutunoloisia ohjelmia Haskellilla Haskellin voima on kuitenkin
LisätiedotLoogiset konnektiivit
Loogiset konnektiivit Tavallisimmat loogiset konnektiivit ovat negaatio ei konjunktio ja disjunktio tai implikaatio jos..., niin... ekvivalenssi... jos ja vain jos... Sulkeita ( ) käytetään selkeyden vuoksi
LisätiedotTalousmatematiikan perusteet, ORMS1030
Tampereen kesäyliopisto, syksy 2016 Talousmatematiikan perusteet, ORMS1030 1. harjoitus, (la 29.10.2016) 1. Laske seuraavat laskut. Laske kukin lasku ensin käsin kynää ja paperia käyttäen. Anna vastaukset
LisätiedotLuento 5. Timo Savola. 28. huhtikuuta 2006
UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke
Lisätiedot13. Loogiset operaatiot 13.1
13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.
LisätiedotOhjausrakenteet. Valinta:
Ohjausrakenteet Luento antaa yleiskuvan siitä kuinka ohjelmassa suorittaan vaihtoehtoisia tehtäviä valintarakenteiden avulla ja kuinka samanlaisia ohjelma-askeleita toistetaan toistorakenteiden avulla
LisätiedotHarjoitus 3 -- Ratkaisut
Harjoitus 3 -- Ratkaisut 1 ' '-merkki kirjoitetaan =, ' '-merkki!=, ' '-merkki ==. Yhtälöiden ratkaisusta puhutaan lisää myöhemmin. a f x, y : If ehtolauseke x y, y tämä palautetaan, jos
LisätiedotEhto- ja toistolauseet
Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden
Lisätiedot1. Ohjelmoinnin peruskäsitteet ja -elementit
1. Ohjelmoinnin peruskäsitteet ja -elementit 1. ohjelmoinnin periaatteet 2. ohjelmointikielet 3. algoritmien suunnittelu 1 1.1 Ohjelmoinnin periaatteet Vaatimukset Määrittely Suunnittelu Toteutus Integrointi
LisätiedotOhjelmoinnin alkeita Python-kielellä
Ohjelmoinnin alkeita Python-kielellä Antti Rasila Tutkija Matematiikan ja tilastotieteen laitos, Helsingin yliopisto Johdanto Tämän artikkelin tarkoituksena on esitellä lukijalle Python-ohjelmointikieltä
LisätiedotEnsikosketus ohjelmointiin
Ensikosketus ohjelmointiin Tällä tunnilla luodaan ensimmäinen oma ohjelmamme. Tähän hyödynnetään Touch Develop -ympäristön kilpikonnaohjelmointikirjastoa. Tutoriaalissa opitaan kilpikonnahahmoa ruudulla
LisätiedotLUKUPÄIVÄKIRJA 2015 2016
LOUNA-KIRJASTOJEN LUKUDIPLOMIN LUKUPÄIVÄKIRJA 2015 2016 Tämän lukupäiväkirjan omistaa: Nimi: Koulu: Luokka: 1 Kirjoita tähän LUKUPÄIVÄKIRJAAN kaikki lukudiplomia varten lukemasi kirjat. Lukuvuoden (syksy
LisätiedotLähtölaukaus koodaukseen! Arto Hietapelto, kevät Innokas All Rights Reserved
Lähtölaukaus koodaukseen! Arto Hietapelto, kevät 2017 2015 Innokas All Rights Reserved Mitä koodaus on? Kuka? Mistä? Mitä? Video Käskytä robottia kuorimaan banaani! Kuluttaja 2015 Matti Parkkonen All Rights
LisätiedotKohdissa 2 ja 3 jos lukujen valintaan on useita vaihtoehtoja, valitaan sellaiset luvut, jotka ovat mahdollisimman lähellä listan alkua.
A Lista Aikaraja: 1 s Uolevi sai käsiinsä listan kokonaislukuja. Hän päätti laskea listan luvuista yhden luvun käyttäen seuraavaa algoritmia: 1. Jos listalla on vain yksi luku, pysäytä algoritmi. 2. Jos
Lisätiedot1. Primitiivirekursiiviset funktiot muodostetaan kolmesta perusfunktiosta käyttäen. succ(n) = n + 1
Tik-79.148 Kevät 2001 Tietojenkäsittelyteorian perusteet Laskuharjoitus 11 Ratkaisut 1. Primitiivirekursiiviset funktiot muodostetaan kolmesta perusfunktiosta käyttäen kahta yhdistämissääntöä. Perusfunktioita
Lisätiedot815338A Ohjelmointikielten periaatteet
815338A Ohjelmointikielten periaatteet 2015-2016 VI Funktionaalinen ohjelmointi Sisältö 1. Johdanto ja peruskäsitteitä 2. LISP- ja Scheme-kielet 3. Haskell 4. IO funktionaalisissa kielissä 5. Muita funktionaalisia
LisätiedotZeon PDF Driver Trial
Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin
LisätiedotJuuri 2 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty
Kertaus K. a) E Nouseva suora. b) A 5. asteen polynomifunktio, pariton funktio Laskettu piste f() = 5 =, joten piste (, ) on kuvaajalla. c) D Paraabelin mallinen, alaspäin aukeava. Laskettu piste f() =
Lisätiedot13. Loogiset operaatiot 13.1
13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.
LisätiedotLUKIOKURSSI MATEMAATTISESTA OHJELMOINNISTA PYTHON-KIELELLÄ
LUKIOKURSSI MATEMAATTISESTA OHJELMOINNISTA PYTHON-KIELELLÄ Päivi Kulmala Pro gradu -tutkielma Joulukuu 2010 MATEMATIIKAN LAITOS TURUN YLIOPISTO TURUN YLIOPISTO Matematiikan laitos KULMALA, PÄIVI: Lukiokurssi
LisätiedotSve 1.5. Iikka Hauhio 18. tammikuuta 2015
Sve 1.5 Iikka Hauhio 18. tammikuuta 2015 Sisältö 1 Suorituksenaikainen ympäristö 1 1.1 Oliot ja niiden rakenne........................ 1 1.1.1 Hajautustaulut........................ 1 1.2 Muuttujat ja
LisätiedotT Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka ) A ( B C) A B C.
T-79.3001 Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka 6.1 7.2) 27. 29.2.2008 Ratkaisuja demotehtäviin Tehtävä 6.1 a) A (B C) Poistetaan lauseesta ensin implikaatiot.
Lisätiedot763105P JOHDATUS SUHTEELLISUUSTEORIAAN 1 Ratkaisut 4 Kevät 2012
763105P JOHDATUS SUHTEELLISUUSTEORIAAN 1 Ratkaisut 4 Kevät 2012 1. Valoa nopeampi liike Sekunnissa kuvan 1 aaltorintama etenee 10 m. Samassa ajassa rannan ja aallon leikkauspiste etenee matkan s. Kulman
LisätiedotAlgoritmit. Ohjelman tekemisen hahmottamisessa käytetään
Ohjelmointi Ohjelmoinnissa koneelle annetaan tarkkoja käskyjä siitä, mitä koneen tulisi tehdä. Ohjelmointikieliä on olemassa useita satoja. Ohjelmoinnissa on oleellista asioiden hyvä suunnittelu etukäteen.
LisätiedotOhjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka
LisätiedotPyramidi 3 Analyyttinen geometria tehtävien ratkaisut sivu 139 Päivitetty a) 402 Suplementtikulmille on voimassa
Pyramidi Analyyttinen geometria tehtävien rataisut sivu 9 Päivitetty 9..6 4 a) 4 Suplementtiulmille on voimassa b) a) α + β 8 α + β 8 β 6 c) b) c) α 6 6 + β 8 β 8 6 β 45 β 6 9 α 9 9 + β 8 β 8 + 9 β 7 Pyramidi
Lisätiedot-Matematiikka on aksiomaattinen järjestelmä. -uusi tieto voidaan perustella edellisten tietojen avulla, tätä kutsutaan todistamiseksi
-Matematiikka on aksiomaattinen järjestelmä -uusi tieto voidaan perustella edellisten tietojen avulla, tätä kutsutaan todistamiseksi -mustavalkoinen: asia joko on tai ei (vrt. humanistiset tieteet, ei
LisätiedotJulkaistu. 1 Johdanto... 2
OHJE 1 (6) RPAS-verkkokurssi Käyttöohje Sisällysluettelo 1 Johdanto... 2 2 Koulutusportaalin käyttöönotto... 2 2.1 Siirtyminen koulutusportaaliin... 2 2.2 Salasanan pyytäminen ensimmäisellä kerralla...
LisätiedotHarjoitus 4 -- Ratkaisut
Harjoitus -- Ratkaisut 1 Ei kommenttia. Tutkittava funktio: In[15]:= f x : x 1 x Sin x ; Plot f x, x, 0, 3 Π, PlotRange All Out[159]= Luodaan tasavälinen pisteistö välille 0 x 3 Π. Tehdään se ensin kiinnitetyllä
LisätiedotEV3 Liikemittauksia. Työkortit EV3 liikemittauksissa / Tehtäväkortit/ Piia Pelander / 2017 Innokas 1
EV3 Liikemittauksia Työkortit 16.2.2017 EV3 liikemittauksissa / Tehtäväkortit/ Piia Pelander / 2017 Innokas 1 TYÖOHJE : EV3 -robotin liikkeen tutkiminen Liikemittauksen valmistelu 1. Suunnittele parisi/ryhmäsi
LisätiedotHarjoitus 2: Ohjelmointi (Matlab)
Harjoitus 2: Ohjelmointi (Matlab) SCI-C0200 Fysiikan ja matematiikan menetelmien studio SCI-C0200 Fysiikan ja matematiikan menetelmien studio 1 2. Harjoituskerta Aiheet: - Matlabin kontrollirakenteet -
LisätiedotHarjoitus 2: Ohjelmointi (Matlab)
Harjoitus 2: Ohjelmointi (Matlab) MS-C2107 Sovelletun matematiikan tietokonetyöt MS-C2107 Sovelletun matematiikan tietokonetyöt 1 2. Harjoituskerta Aiheet: - Matlabin kontrollirakenteet - Funktiot ja komentojonotiedostot
LisätiedotC-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys
Loogisia operaatioita - esimerkkejä Tänään on lämmin päivä ja perjantai Eilen satoi ja oli keskiviikko tai tänään on tiistai. On perjantai ja kello on yli 13 Ei ole tiistai tai ei sada. Ei pidä paikkaansa,
Lisätiedot815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset
815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/
LisätiedotImperatiivisen ohjelmoinnin peruskäsitteet. Meidän käyttämän pseudokielen lauseiden syntaksi
Imperatiivisen ohjelmoinnin peruskäsitteet muuttuja muuttujissa oleva data voi olla yksinkertaista eli primitiivistä (esim. luvut ja merkit) tai rakenteista jolloin puhutaan tietorakenteista. puhuttaessa
LisätiedotC. Montako prosenttia pinta-ala kasvaa, jos mittakaava suurenee 5%? a) 5 % b) 7 % c) 9 % d) 10 % e) 15 %
1. Monivalinta. Ympyrän halkaisija on 6. Ympyrän kehän pituus on a) 6π b) 3π c) 9π B. Pienoismallin pinta-ala on neljäsosa todellisesta pinta-alasta. Mittakaava on a) 1 : 2 b) 1:4 c) 1:8 C. Kolmioiden
LisätiedotKerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5. 1. Toteuta Pythonilla seuraava ohjelma:
Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 2 1. Toteuta Pythonilla seuraava ohjelma: 2. Tulosta Pythonilla seuraavat luvut allekkain a. 0 10 (eli, näyttää tältä: 0 1 2 3 4 5 6 7 8 9 10 b. 0 100 c. 50 100 3.
LisätiedotPaavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut. www.ohjelmoimaan.net
Paavo Räisänen Ohjelmoijan binaarialgebra ja heksaluvut www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta
LisätiedotYhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014
Yhtälönratkaisusta Johanna Rämö, Helsingin yliopisto 22. syyskuuta 2014 Yhtälönratkaisu on koulusta tuttua, mutta usein sitä tehdään mekaanisesti sen kummempia ajattelematta. Jotta pystytään ratkaisemaan
Lisätiedot1. luento. Ohjelmointi (C) T0004 Syksy 2003. 1. luento. 1. luento. 1. luento. 1. luento. kurssin sisältö ja tavoitteet työmuodot.
EVTEK Teknillinen ammattikorkeakoulu Ohjelmointi (C) T0004 Syksy 2003 Olli Hämäläinen kurssin sisältö ja tavoitteet työmuodot luennot 1-2/2003 laboratorioharjoitukset 1-2/2003 kotitehtävät, laboratoriokerrat
Lisätiedot2 Algoritmit ja ohjelmointi
2 Algoritmit ja ohjelmointi 2.1 Algoritmin käsite ja historiallista taustaa Algoritmi on suoritusjärjestyksessä oleva joukko yksikäsitteisiä, toteutettavissa olevia käskyjä, jotka määrittävät äärellisen
LisätiedotMuuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)
VISUAL BASIC OHJEITA Kutsuttava ohjelma alkaa kometoparilla Sub... End Sub Sub ohjelmanimi()...koodia... End Sub Muuttujat Muuttujan esittely Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency,
LisätiedotLabyrintti. Pelihahmon toiminta. Piirrä pelihahmo (älä piirrä esim. sivusta, ettei hahmon tarvitse
Labyrintti 1 Kerää aarteita labyrintista samalla kuin siellä liikkuu haamu. Seiniksi käyvät mm. vaaralliset laserit ja lava, mutta pienellä lisävaivalla niistä voi tehdä myös kiinteät ja vaarattomat Mallipeli
LisätiedotSisällys. 16. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. Aritmetiikkaa toisin merkiten
Sisällys 16. Ohjelmoinnin tekniikkaa Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. For-lause lyhemmin. If-else-lause vaihtoehtoisesti
LisätiedotOHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012
OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 Luento 6: Tiedon esittäminen tietokoneessa, osa 1 Tekijät: Antti Virtanen, Timo Lehtonen, Matti Kujala, Kirsti Ala-Mutka, Petri M. Gerdt et al. Luennon
LisätiedotT Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )
T-79144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet 11-22) 26 29102004 1 Ilmaise seuraavat lauseet predikaattilogiikalla: a) Jokin porteista on viallinen
LisätiedotTEHTÄVIEN RATKAISUT. Luku Kaikki luvut on kokonaislukuja. Luonnollisia lukuja ovat 35, 7 ja 0.
TEHTÄVIEN RATKAISUT Luku.. Kaikki luvut on kokonaislukuja. Luonnollisia lukuja ovat, 7 ja 0.. a) Luvun vastaluku on, koska + ( ) 0. b) Luvun 7 vastaluku on 7, koska 7 + ( 7) 0. c) Luvun 0 vastaluku on
Lisätiedot16. Ohjelmoinnin tekniikkaa 16.1
16. Ohjelmoinnin tekniikkaa 16.1 Sisällys Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. For-lause lyhemmin. If-else-lause vaihtoehtoisesti
LisätiedotPredikaattilogiikkaa
Predikaattilogiikkaa UKUTEORIA JA TO- DISTAMINEN, MAA11 Kertausta ogiikan tehtävä: ogiikka tutkii ajattelun ja päättelyn sääntöjä ja muodollisten päättelyiden oikeellisuutta, ja pyrkii erottamaan oikeat
Lisätiedot763105P JOHDATUS SUHTEELLISUUSTEORIAAN 1 Ratkaisut 4 Kevät 2016
763105P JOHDATUS SUHTEELLISUUSTEORIAAN 1 Ratkaisut 4 Kevät 2016 1. Valoa nopeampi liike (a) Sekunnissa kuvan 1(a) aaltorintama etenee 10 m. Samassa ajassa rannan ja aallon leikkauspiste etenee matkan s.
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 11: Tulkin muokkaaminen, sisäiset määrittelyt, makrot (mm. SICP 3.2.4, 4-4.1.6) Riku Saikkonen 29. 11. 2012 Sisältö 1 Kirjan tulkin muokkaaminen 2 Yksityiskohta:
LisätiedotRyhmäharjoitus III: Mitä on koodaaminen? A. TIEY4 Tietotekniikkataidot, kevät 2017 Tehdään ryhmäharjoitustunnilla 20.3.
Ryhmäharjoitus III: Mitä on koodaaminen? A TIEY4 Tietotekniikkataidot, kevät 2017 Tehdään ryhmäharjoitustunnilla 20.3. Ryhmäharjoitus Johdanto (10 min) Tehtävä (60 min) Palaute (10 min) Koodaaminen - Miksi
LisätiedotOhjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta.
Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta. Vastauksia kysymyksiin Miten hahmon saa hyppäämään? Yksinkertaisen hypyn
LisätiedotT Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 (opetusmoniste, lauselogiikka )
T-79.144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 opetusmoniste, lauselogiikka 2.1-3.5) 21 24.9.2004 1. Määrittele lauselogiikan konnektiivit a) aina epätoden lauseen ja implikaation
Lisätiedot16. Ohjelmoinnin tekniikkaa 16.1
16. Ohjelmoinnin tekniikkaa 16.1 Sisällys For-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. If-else-lause vaihtoehtoisesti
LisätiedotC. Montako prosenttia pinta-ala kasvaa, jos mittakaava suurenee 5%? a) 5 % b) 7 % c) 9 % d) 10 % e) 15 %
1. 4Monivalinta. Ympyrän halkaisija on 6. Ympyrän kehän pituus on a) 6π b) 3π c) 9π B. Pienoismallin pinta-ala on neljäsosa todellisesta pinta-alasta. Mittakaava on a) 1 : 2 b) 1:4 c) 1:8 C. Kolmioiden
LisätiedotSisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin
Sisällys 17. Ohjelmoinnin tekniikkaa for-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. if-else-lause vaihtoehtoisesti
LisätiedotYhteydettömät kieliopit [Sipser luku 2.1]
Yhteydettömät kieliopit [ipser luku 2.1] Johdantoesimerkkinä tarkastelemme kieltä L = { a n b m a n n > 0, m > 0 }, joka on yhteydetön (mutta ei säännöllinen). Vastaavan kieliopin ytimenä on säännöt eli
LisätiedotKysymystyypit. Tentin kysymystyypit. Monivalinta
Kysymystyypit Tentin kysymystyypit Monivalinta Tosi/Epätosi Lyhytvastaus Numeerinen kysymys Laskutehtävä Essee Yhdistämistehtävä Yhdistämistehtävä lyhytvastauksista Aukkotehtävät Matemaattinen monivalinta
LisätiedotHY / Avoin yliopisto Johdatus yliopistomatematiikkaan, kesä 2015 Harjoitus 5 Ratkaisuehdotuksia
HY / Avoin yliopisto Johdatus yliopistomatematiikkaan, kesä 015 Harjoitus 5 Ratkaisuehdotuksia Tehtäväsarja I Seuraavissa tehtävissä harjoitellaan väitteiden todistamista tai kumoamista vastaesimerkin
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Keskeneräinen luento 3: Listat (mm. SICP 22.2.3) Riku Saikkonen 31. 10. 2011 Sisältö 1 Linkitetyt listat 2 Linkitetyt listat (SICP 2.1.1, 2.2.1) funktionaalinen
LisätiedotMuuttujat ja kontrolli. Ville Sundberg
Muuttujat ja kontrolli Ville Sundberg 14.9.2007 Alkeistyyppi Alin abstraktiotaso josta tarvitsee välittää Yksittäinen, jakamaton tiedonjyvä Tavallaan kaikki alkeistyypit ovat lukuja arvojoukko vaihtelee
Lisätiedot3. Ryhdy kirjoittamaan ja anna kaiken tulla paperille. Vääriä vastauksia ei ole.
1 Unelma-asiakas Ohjeet tehtävän tekemiseen 1. Ota ja varaa itsellesi omaa aikaa. Mene esimerkiksi kahvilaan yksin istumaan, ota mukaasi nämä tehtävät, muistivihko ja kynä tai kannettava tietokone. Varaa
LisätiedotCtl160 Tekstikorpusten tietojenkäsittely Kolmas luento,
Ctl160 490160-0 Kolmas luento, 10.2.2003 Nicholas Volk Yleisen kielitieteen laitos, Helsingin yliopisto Ctl160 490160-0Kolmas luento, 10.2.2003 p.1/28 Unohtui viime kerralla... Skriptin ajaminen edellyttää
Lisätiedot5/20: Algoritmirakenteita III
Ohjelmointi 1 / syksy 2007 5/20: Algoritmirakenteita III Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/17 Tämän
Lisätiedot