Ohjelmointia Scratchin kanssa

Koko: px
Aloita esitys sivulta:

Download "Ohjelmointia Scratchin kanssa"

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 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ätiedot

Scratch - Ötökkäralli

Scratch - Ö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ätiedot

Python-ohjelmointi Harjoitus 5

Python-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ätiedot

Scratch - ohjelmoinnin alkeet

Scratch - 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ätiedot

Python-ohjelmointi Harjoitus 2

Python-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ätiedot

Ohjelmointityökalu Scratch

Ohjelmointityö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ätiedot

KOODAUSPLÄJÄYS. Ohjelmoinnin perusteet

KOODAUSPLÄ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ätiedot

12. Javan toistorakenteet 12.1

12. 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ätiedot

12. Javan toistorakenteet 12.1

12. 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ätiedot

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Peilaus 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ätiedot

Muistutus aikatauluista

Muistutus 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ätiedot

Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat

Sisä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ätiedot

811120P Diskreetit rakenteet

811120P 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ätiedot

11. Javan toistorakenteet 11.1

11. 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ätiedot

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Koottu 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ätiedot

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla (Opettajan ohje)

Peilaus 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ätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Alkuarvot 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ätiedot

811120P Diskreetit rakenteet

811120P 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ätiedot

Testaa taitosi 1: Lauseen totuusarvo

Testaa 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ätiedot

3 TOISEN ASTEEN POLYNOMIFUNKTIO

3 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ätiedot

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Vertailulauseet. 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ätiedot

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Sisä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ätiedot

Scratch. - Ohjelmoinnin perusteet. Jari Sarja Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen

Scratch. - 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ätiedot

Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet:

Johdanto 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ätiedot

Java-kielen perusteita

Java-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ätiedot

Arkipäivän automaatiota ja robotiikkaa

Arkipä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ätiedot

Palautetta viime luennosta

Palautetta 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ätiedot

SELECT-lauseen perusmuoto

SELECT-lauseen perusmuoto SQL: Tiedonhaku SELECT-lauseen perusmuoto SELECT FROM WHERE ; määrittää ne sarakkeet, joiden halutaan näkyvän kyselyn vastauksessa sisältää

Lisätiedot

Sinulle on annettu bittijono, ja tehtäväsi on muuttaa jonoa niin, että jokainen bitti on 0.

Sinulle 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ätiedot

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ITKP102 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ätiedot

TIEA341 Funktio-ohjelmointi 1, kevät 2008

TIEA341 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ätiedot

Ohjelmoijan binaarialgebra ja heksaluvut

Ohjelmoijan 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ätiedot

Tyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Tyyppejä 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ätiedot

Loogiset konnektiivit

Loogiset 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ätiedot

Talousmatematiikan perusteet, ORMS1030

Talousmatematiikan 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ätiedot

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 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ätiedot

13. Loogiset operaatiot 13.1

13. 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ätiedot

Ohjausrakenteet. Valinta:

Ohjausrakenteet. Valinta: Ohjausrakenteet Luento antaa yleiskuvan siitä kuinka ohjelmassa suorittaan vaihtoehtoisia tehtäviä valintarakenteiden avulla ja kuinka samanlaisia ohjelma-askeleita toistetaan toistorakenteiden avulla

Lisätiedot

Harjoitus 3 -- Ratkaisut

Harjoitus 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ätiedot

Ehto- ja toistolauseet

Ehto- 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ätiedot

1. Ohjelmoinnin peruskäsitteet ja -elementit

1. 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ätiedot

Ohjelmoinnin alkeita Python-kielellä

Ohjelmoinnin 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ätiedot

Ensikosketus ohjelmointiin

Ensikosketus 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ätiedot

LUKUPÄIVÄKIRJA 2015 2016

LUKUPÄ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ätiedot

Lähtölaukaus koodaukseen! Arto Hietapelto, kevät Innokas All Rights Reserved

Lä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ätiedot

Kohdissa 2 ja 3 jos lukujen valintaan on useita vaihtoehtoja, valitaan sellaiset luvut, jotka ovat mahdollisimman lähellä listan alkua.

Kohdissa 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ätiedot

1. Primitiivirekursiiviset funktiot muodostetaan kolmesta perusfunktiosta käyttäen. succ(n) = n + 1

1. 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ätiedot

815338A Ohjelmointikielten periaatteet

815338A 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ätiedot

Zeon PDF Driver Trial

Zeon 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ätiedot

Juuri 2 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty

Juuri 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ätiedot

13. Loogiset operaatiot 13.1

13. 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ätiedot

LUKIOKURSSI MATEMAATTISESTA OHJELMOINNISTA PYTHON-KIELELLÄ

LUKIOKURSSI 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ätiedot

Sve 1.5. Iikka Hauhio 18. tammikuuta 2015

Sve 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ätiedot

T Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka ) A ( B C) A B C.

T 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ätiedot

763105P JOHDATUS SUHTEELLISUUSTEORIAAN 1 Ratkaisut 4 Kevät 2012

763105P 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ätiedot

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

Algoritmit. 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ätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (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ätiedot

Pyramidi 3 Analyyttinen geometria tehtävien ratkaisut sivu 139 Päivitetty a) 402 Suplementtikulmille on voimassa

Pyramidi 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 -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ätiedot

Julkaistu. 1 Johdanto... 2

Julkaistu. 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ätiedot

Harjoitus 4 -- Ratkaisut

Harjoitus 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ätiedot

EV3 Liikemittauksia. Työkortit EV3 liikemittauksissa / Tehtäväkortit/ Piia Pelander / 2017 Innokas 1

EV3 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ätiedot

Harjoitus 2: Ohjelmointi (Matlab)

Harjoitus 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ätiedot

Harjoitus 2: Ohjelmointi (Matlab)

Harjoitus 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ätiedot

C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys

C-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ätiedot

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset

815338A 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ätiedot

Imperatiivisen ohjelmoinnin peruskäsitteet. Meidän käyttämän pseudokielen lauseiden syntaksi

Imperatiivisen 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ätiedot

C. Montako prosenttia pinta-ala kasvaa, jos mittakaava suurenee 5%? a) 5 % b) 7 % c) 9 % d) 10 % e) 15 %

C. 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ätiedot

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5. 1. Toteuta Pythonilla seuraava ohjelma:

Kerta 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ätiedot

Paavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut. www.ohjelmoimaan.net

Paavo 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ätiedot

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014

Yhtä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ätiedot

1. luento. Ohjelmointi (C) T0004 Syksy 2003. 1. luento. 1. luento. 1. luento. 1. luento. kurssin sisältö ja tavoitteet työmuodot.

1. 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ätiedot

2 Algoritmit ja ohjelmointi

2 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ätiedot

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)

Muuttujatyypit 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ätiedot

Labyrintti. Pelihahmon toiminta. Piirrä pelihahmo (älä piirrä esim. sivusta, ettei hahmon tarvitse

Labyrintti. 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ätiedot

Sisällys. 16. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. Aritmetiikkaa toisin merkiten

Sisä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ätiedot

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

OHJ-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ätiedot

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

T 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ätiedot

TEHTÄ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 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ätiedot

16. Ohjelmoinnin tekniikkaa 16.1

16. 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ätiedot

Predikaattilogiikkaa

Predikaattilogiikkaa 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ätiedot

763105P JOHDATUS SUHTEELLISUUSTEORIAAN 1 Ratkaisut 4 Kevät 2016

763105P 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ätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin 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ätiedot

Ryhmä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 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ätiedot

Ohjeissa 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. Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta. Vastauksia kysymyksiin Miten hahmon saa hyppäämään? Yksinkertaisen hypyn

Lisätiedot

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 (opetusmoniste, lauselogiikka )

T 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ätiedot

16. Ohjelmoinnin tekniikkaa 16.1

16. 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ätiedot

C. Montako prosenttia pinta-ala kasvaa, jos mittakaava suurenee 5%? a) 5 % b) 7 % c) 9 % d) 10 % e) 15 %

C. 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ätiedot

Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin

Sisä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ätiedot

Yhteydettömät kieliopit [Sipser luku 2.1]

Yhteydettö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ätiedot

Kysymystyypit. Tentin kysymystyypit. Monivalinta

Kysymystyypit. 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ätiedot

HY / Avoin yliopisto Johdatus yliopistomatematiikkaan, kesä 2015 Harjoitus 5 Ratkaisuehdotuksia

HY / 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ätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin 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ätiedot

Muuttujat ja kontrolli. Ville Sundberg

Muuttujat 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ätiedot

3. Ryhdy kirjoittamaan ja anna kaiken tulla paperille. Vääriä vastauksia ei ole.

3. 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ätiedot

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento,

Ctl160 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ätiedot

5/20: Algoritmirakenteita III

5/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