Tehtävä 1 - Scala API:n ulkopuolisten kirjastojen käyttö, ristinollapeli

Koko: px
Aloita esitys sivulta:

Download "Tehtävä 1 - Scala API:n ulkopuolisten kirjastojen käyttö, ristinollapeli"

Transkriptio

1 Tehtävä 1 - Scala API:n ulkopuolisten kirjastojen käyttö, ristinollapeli Deadline (Muokkaus PDF-tiedoston linkit korjattu) Taustaa Tällä tehtäväkierroksella tutustutaan Scala Standard API:n ulkopuolisten kirjastojen käyttöön ja harjoitellaan kurssin palautuskäytäntöjä vastaavan palautuksen laatimista. Katso mitä kirjastolla tarkoitetaan Ohjelmointi 1 -kurssin oppimateriaalin sanastosta. Kierroksella käytetään kahta ulkoista kirjastoa, joista toinen on tätä tehtävää varten erikseen laadittu muutaman apufunktion sisältävä kirjasto ja toinen on visuaaliseen tietokonetaiteen luomiseen tarkoitettu Processing-kirjasto. Kirjaston tarjoamien funktioiden listaus löytyy täältä: Scala on Java-ohjelmointikielen pohjalta rakennettu. Se käyttää Javan virtuaalikonetta (JVM, tästä enemmän Ohjelmointi 1 -kurssin opintomateriaalin luvussa 5.2.) ja kirjoittamasi ohjelmakoodi käännetään samanlaisiksi tavukoodin sisältäviksi.class-tiedostoiksi kuin Java-koodi käännettäisiin. Tämä yhteys mahdollistaa näiden kahden kielen saumattoman käytön, vaikka kielet hiukan eroavat syntaksiltaan (eli miten asiat kirjoitetaan koodina). Kuten Scala, myös Processing on Java-pohjainen, mutta syntaksisesti yksinkertaisempi ja siis lähempänä Scalaa. Nyt ei kannata kuitenkaan pelästyä, että asiat menevät heti vaikeiksi. Voit kirjoittaa jo oppimaasi Scalasyntaksia ongelmitta ja saat Processingin tarjoamat ominaisuudet käyttöösi varsin helposti (tämä neuvotaan tehtävänannossa). Poiketen Ohjelmointi1-kurssista, tällä kurssilla jokaisella ohjelmointikierroksella koodisi tarkistaa myös ihminen. Tämä pakottaa ihmisluettavan koodin tuottamiseen, mutta toisaalta antaa suuremman vapauden oman ratkaisun laatimisessa kun koodin ei välttämättä tarvitse asettua tietynlaiseen muottiin automaattista tarkistusta varten. Mitä selkeämpi, siistimpi ja tarvittaessa dokumentoidumpi koodisi on, sitä helpommin assari saa sen tarkastettua. Lisäksi kun itse palaat koodin pariin pitkän tauon jälkeen, on tärkeää, että pystyt helposti ymmärtämään, mitä olet ajatellut koodaushetkellä ja mitä koodin olisi tarkoitus saada aikaiseksi. Toteutuksen toimivuutta ei toki sovi unohtaa.

2 Koodin luettavuutta voit helposti parantaa esimerkiksi seuraavilla kikoilla: Pidä rivien pituus alle 120 merkin Saat Eclipsestä asetettua marginaalin asettamalla halutun arvon "Print margin column"- valintaan Preferences --> General -> Editors -> Text Editors Nimeä muuttujasi kuvaavasti ja yhdenmukaisesti Älä sekoita muuttujien nimissä esimerkiksi suomen ja englannin kieltä Älä nimeä muuttujiasi epätäsmällisesti tyyliin "var teksti:string = "jokin teksti"" Kommentoi ratkaisusi tarvittaessa Hyvä käytäntö on kirjoittaa lyhyt kuvaus ainakin objektille/luokalle sekä kullekin sen funktiolle. Funktioiden sisällä hankalammat ratkaisut on syytä kommentoida lyhyesti. Muuttujia harvoin tarvitsee kommentoida, jos ne on nimetty kuvaavasti ja käyttötarkoitus on ilmeinen. Älä pelkää välilyöntejä ja muita tyhjiä merkkejä Ohjelmointi 1-kurssin tyylioppaasta löydät laajemmat ohjeet, pyri noudattamaan niitä. Vaikka assarisi ei ole kone, hän haluaisi arvostella palautuksesi kuin kone. Jos siis esimerkiksi jostain syystä laitat ohjelmasi tiettyyn pakkaushierarkiaan ja sinulla lukee tässä kooditiedostossa jotain tyyliin "package omapakkaukseni.nimi", niin säilytä tämä tiedostohierarkia myös palauttamassasi pakkauksessa. Älä myöskään jätä pakkauksesta pois mitään, mikä aiheuttaa virheilmoituksia. Jos jossain tehtävässä esimerkiksi annetaan tehtävänannon yhteydessä jotain valmista koodia, palauta myös tämä tiedosto, mikäli sitä käytetään. Siinä mielessä assari ei kuitenkaan ole kone, että hän ei osaa lukea.class-tiedostoja ilman apuvälineitä, niitä ei siis tarvitse palauttaa.

3 Tehtävänanto Tehtävässä laadittava ohjelma on ristinollapeli, jonka toteuttamiseen tarvitset suunnilleen 100 riviä koodia. Tähän tehtävänantoon liittyvät Ohjelmointi1-kurssin oppimateriaalin luvut: Luku 1.3: Lukuja ja tekstiä Scalalla, lähinnä jakolaskut ja lukutyyppien yhdistely Luku 1.4: Arvojen tallentaminen muuttujiin Luku 1.5: Kokoelmia ja viittauksia Luku 1.6: Aliohjelmien käyttäminen Luku 1.8: Funktioista, tyypeistä ja virheistä Luku 2.2: Olioiden sisäinen toiminta Luku 2.5: Erilaisia muuttujia Luku 2.6: Rajapintoja ja dokumentteja, lähinnä dokumentaatio ja näkyvyysmääreet Luku 2.8: Totuusarvoja ja vertailua Luku 2.9: Valintoja Luku 3.2: Säiliöitä... ja kaatuva ohjelma Luku 3.4: Logiikkaa ja ostoksia Tämän tehtävänannon suorittamisen jälkeen osaat (suurimmat asiat): Käyttää Scala API:n ulkopuolisia kirjastoja omassa koodissasi. Kirjoittaa yksinkertaisen ohjelman Processing-kirjaston avulla, jossa piirretään ruudulle kuvia, tekstiä ja erilaisia geometrisia primitiivejä. 1. Osatehtävä - Ulkoisten kirjastojen näkyminen kääntäjälle Lataa viimeistään nyt tässä tehtävässä tarvittavat tiedostot mycoursesista ja tuo projekti Eclipseen (File.. -> Import.. -> Existing Project into workspace -> Select archive file) Tässä vaiheessa projektissasi näkyy virheitä, mutta ei anneta sen häiritä.

4 Huolehditaan nyt, että saat käyttöösi Processingin ja sinulle tehdyn apukirjaston ominaisuudet käyttöösi. Kumpikin kirjasto löytyy jarpakkauksesta lib-kansiossa. Saat lisättyä kirjastot käyttöösi valitsemalla ensin kummankin, ja hiiren oikean painikkeen painalluksen esiin tuomasta valikosta valitsemalla Build Path -> Add to Build Path (kts. kuva oikealla). Nyt kääntäjä löytää kirjastot ja pystyy luomaan.class-tiedostot, joiden avulla pystyt ajamaan ohjelmasi virtuaalikoneella. Koska tässä jaettu tictactoe.zip oli tehty Eclipsen projektikansiosta ja siinä ovat mukana piilotetut projektitiedostot (esimerkiksi.project ja.classpath), linkitys ulkoisiin kirjastoihin oltaisiin voitu tehdä ennen projektin jakamista ja linkki olisi tallentunut projektin.classpath-tiedostoon. Vastaavasti kun kierroksen lopussa valmistelet palautettavan pakettisi projektikansiosta, projektin asetukset toimivat oikein assarin koneella. Tässä vaiheessa voit testata nopeasti onnistuiko kirjastojen linkitys sijoittamalla annetun TicTacToe.scala-tiedoston alkuun import-käskyn, jolla lisäät processing.core-pakkauksen. Tämän jälkeen kaikkien virheilmoitusten tulisi kadota. Voit samalla lisätä myös annetun helper.tictactoehelper-paketin käyttöösi. Tässä vaiheessa olet jo: Kirjastojen lisäys Eclipsessä. Luonut uuden Eclipse-projektin annetun projektikansion pohjalta Linkittänyt Scala Standard API:n ulkopuolisia kirjastoja oman projektisi käyttöön 2. Osatehtävä - Olion tictactoe rakenne Osatehtävässä tutustutaan luotavan olion rakenteeseen. Lue tämä osio huolella, jotta ymmärrät paremmin mitä sinun seuraavissa osatehtävissä tulee toteuttaa. Tämän kierroksen ristinollapelin toteutus kirjoitetaan yksittäisoliona, joka perii Processing:in määrittelemän PApplet-luokan (olion määrittely "object TicTacToe extends PApplet"). Oliolla on kuusi metodia, ja sinun tehtäväsi on toteuttaa viisi ensimmäiseksi alla mainittua. Kunkin metodin

5 toiminnan tarkempi kuvaus löytyy jäljempänä löytyvistä osatehtävistä. def setup() : Unit Processingissa määritelty metodi, josta luodaan oma toteutus eli metodi ylikirjoitetaan (override, tästä tarkemmin Ohjelmointi 1 kurssin oppimateriaalin luvussa 6.4.). Metodia kutsutaan kerran kun oliosta luodaan instanssi; mikäli PApplet-instanssi luodaan selainympäristössä, kutsuu selain automaattisesti init-metodia. Oma toteutuksemme on kuitenkin erillinen ohjelma, joten joudumme kutsumaan initmetodia itse. Voit lukea lisää setup-metodista täältä. def draw() : Unit Processingissa määritelty metodi, josta luodaan oma toteutus. Tätä metodia kutsutaan automaattisesti setup-metodin kutsun jälkeen kunnes ohjelman suoritus lakkaa tai kutsutaan noloop-metodia. draw-metodissa kannattaa siis olla se koodi, jonka halutaan päivittävän ikkunaa ja se on pakko toteuttaa, mikäli halutaan seurata hiiren toimintoja. Voit lukea lisää täältä. def mouseclicked() : Unit Processingissa määritelty metodi, josta luodaan oma toteutus. Metodia kutsutaan automaattisesti kun pelaaja painaa peli-ikkunaa kursorillaan. Painalluksen yhteydessä sijoitetaan pelaajan pelimerkki laudalle, mikäli valittu ruutu on tyhjä. Tämän jälkeen tarkistetaan loppuiko peli ja ilmoitetaan pelaajalle mahdollisesta voitosta. Voit lukea lisää mouseclicked-metodista täältä. def getturn() : String Apumetodi, joka palauttaa vuorossa olevan pelaajan pelimerkin merkkijonona. Mikäli vuorossa on nolla, palautetaan "O" (iso o-kirjain) ja mikäli vuorossa on risti palautetaan "X". Tätä metodia käytetään, kun tallennetaan pelin tilanne voittotarkistusta varten. def changeturn() : Unit Apumetodi, joka vaihtaa vuorossa olevaa pelaajaa. Mikäli vuorossa on nolla, muutetaan vuorossa olevaksi pelaajaksi risti ja vastaavasti toisinpäin. Metodi ei palauta mitään. def main(args: Array[String]) main-metodi on niin sanottu pääohjelmametodi. Se ajetaan kun oliosta luodaan instanssi. Pääohjelmametodilla on oliosta riippumatta aina samanlainen allekirjoitus, tai määrittely ja sitä kutsutaan automaattisesti kun luot oliostasi instanssin. Perusmuodossaan pääohjelmametodi on seuraavanlainen:

6 def main(args: Array[String]) { // käskyt jotka tulee suorittaa ajettaessa } Metodin tulee olla nimeltään main ja ottaa parametrinaan ainoastaan merkkijonoja säilövä Array-tyyppinen taulukko. Taulukon arvot haetaan komentoriviltä ajokomennon jälkeen, mutta tässä tehtävässä parametrin käyttöön ei ole tarvetta. TicTacToe:n olion määrittelyn lopussa löytyvä pääohjelmametodi on tässä toteutettu valmiiksi. Aluksi luodaan peli-ikkunalle kehys, jonka sisällöksi kyseinen olio asetetaan. Olion alustuksen jälkeen määritellään ikkunan koko, tiivistetään ikkunan sommittelua, asetetaan ikkuna näkyville ruudun keskelle ja määritellään, että ikkunan sulkeminen lopettaa ohjelman suorituksen. Tässä vaiheessa olet edellisten lisäksi: Tutustunut tässä toteutettavan olion rakenteeseen. Tutustunut tarkemmin joihinkin Processingin ominaisuuksiin. Tutustunut pääohjelmametodin käsitteeseen. 3. Osatehtävä - Olion alustus ja ikkunan päivittäminen Tässä osatehtävässä määritellään oliolle ilmentymämuuttujat sekä laaditaan setup- ja draw-metodit. Ohjeistus on vain kaikkein pakollisimpien ilmentymämuuttujien toteuttamiseen, mutta voit käyttää lisäksi myös muita omia muuttujia. Olion ilmentymämuuttujat Yksinkertainen oliomme selviäisi periaatteessa ilman muuttujiakin. Mutta koska haluamme noudattaa hyvää tyyliä ja välttää maagisia lukuja, määrittelemme muutaman tarpeellisen arvoon muistiin. Ensiksi tee kokonaislukutyyppiset muuttujat säilömään: ruudun koko ruutujen määrä pelialueen koko Ruudun koko kannattaa olla 80 (pikseliä) tai alle, sillä tämän tehtävän tiedostopaketissa olleet kuvatiedostot ovat 80x80 pikseliä ja niiden venyttäminen ruuduille sopiviksi voi aiheuttaa turhaa pikselöintiä. Ruutujen määrä kuvastaa yhden sivun ruutujen määrää. Jos siis lähdetään toteuttamaan perinteistä 3x3 ristinollaa, asetat muuttujan arvoksi 3. Ruudukon koko on luonnollisesti kahden

7 edellisen tulo. Seuraavaksi ladataan ja tallennetaan kuvatiedostot talteen. Tallenna kumpaakin pelimerkkiä vastaava kuva PImage-tyyppiseen muuttujaan. Käytä kuvien lataamiseen loadimage-metodia, kts. PImage. Luo lisäksi PImage-tyyppinen muuttuja säilömään vuorossa olevan pelaajan pelimerkki. (Tämän muuttujan arvoa päivitetään changeturn-metodissa.) Aseta vuoron säilövän muuttujan alkuarvo niin, että nolla-pelimerkki aloittaa. Tarvitset enää mekanismit voiton tarkistamiseen. Varaa totuusarvomuuttuja säilömään tieto siitä, onko peli jo päättynyt. Pelin tilanne tallennetaan kaksiulotteiseen merkkijonoja säilövään Array-muuttujaan, eli taulukkoon. Se on hyvin samankaltainen kuin Buffer, mutta Array:n koko on muuttumaton joten siitä voi ainoastaan muuttaa alkioiden arvoja (alkioiden poisto ja lisäys ei ole mahdollista). Tarkemmin taulukot on käyty läpi Ohjelmointi 1 -kurssin oppimateriaalin luvussa 5.6, vähintään silmäile luku jo tässä vaiheessa ja erityisesti kohta, jossa selvennetään moniulotteisia taulukoita. Voit luoda halutunlaisen kaksiulotteisen taulukon helposti esimerkiksi seuraavalla tavalla: var taulukko = Array(Array("", "", ""), Array("", "", ""), Array("", "", "")) Keksitkö, mikä tällaisessa määrittelyssä voisi mennä pieleen? Mitä tapahtuu, jos haluammekin luoda 4x4-ristinollapelin? Tai 5x5? Koska emme halua joka kerta muokata myös taulukon alustusta, kun päätämme vaihtaa pelialueemme kokoa, käytämme fill-metodia (kts. alla). Kuvankaappaus Array:n dokumentaatiosta: Parametrit n1 ja n2 (ensimmäinen parametrilista) sinun tapauksessasi ovat samoja ja niissä sinun tulee välittää ruutujen määrä. Toisessa parametrilistassa (yllä "elem: => T") määrittelet, minkä arvon taulukon alkiot saavat. Me haluamme asettaa jokaiselle alkiolle alkuarvoksi tyhjän merkkijonon, jolloin pelkkä """" riittää. Sijoita fill-metodin kutsun jälkeen ensimmäisien sulkujen sisään taulukon kokoa kuvaavat kaksi arvoa ja toisien sulkujen sisään taulukon alkioiden alkuarvoa kuvaava arvo. Tarkista vielä, mitkä muuttujista voivat olla val-muuttujia? Entä minkä muuttujien on oltava varmuuttujia? Vaikein osuus tässä osatehtävässä on nyt selätetty, siirrytään metodien kimppuun! Sekä setup- että draw-metodi kutsuvat ainoastaan Processing- ja TicTacToeHelper-kirjastoissa määriteltyjä metodeita. Tutustu viimeistään nyt tarkemmn TicTacToeHelperin tarjoamiin metodeihin. Löydät dokumentaation

8 projektin doc-kansiosta. setup-metodi Koska draw-metodikutsut alkavat välittömästi setup-metodin suorituksen jälkeen, jää metodin runko lyhyeksi. Määritämme tässä ainoastaan peli-ikkunan koon, minkä avuksi olet luonut oliolle muuttujan. Tässä voisimme tehdä myös muita aloitustoimintoja, mutta mikä tärkeintä koon asettaminen tulee tapahtua aina ensimmäisenä (kuten kuvailtu size-metodin dokumentaatiossa). draw-metodi Metodin vastuulla on piirtää ruudukko ja siihen pelimerkit oikeille paikoilleen. Aluksi asetetaan ikkunalle taustaväri (kts. miksi esimerkiksi draw:n dokumentaatio). Tämän jälkeen kutsumme TicTacToeHelperin tarjoamia ruudukonpiirtometodia ja kuvien uudelleenpiirtometodia. Voit valita ruudukolle haluamasi värin stroke-metodilla ja luonnollisesti valita myös haluamasi taustavärin pelillesi. Metodin perustoiminnallisuus on nyt toteutettu, mutta haluamme, ettei metodia kutsuta turhaan kun peli on päättynyt. Laadi siis metodiin tarkistus if-else-valintarakenteen avulla hyödyntäen äsken luomaasi totuusarvomuuttujaa, joka säilöö tiedon pelin päättymisestä. Mikäli peli on päättynyt kutsutaan noloop-metodia, minkä jälkeen draw-metodia ei enää kutsuta, muulloin suoritetaan yllä kuvaillut komennot. Tässä vaiheessa olet edellisten lisäksi: Luonut muuttujat o ruudun koon o ruudukon koon o ruutujen määrän säilömiseen. Ladannut pelimerkkien kuvat käyttöösi. Alustanut muuttujan vuoron vaihtumiseen. Varannut totuusarvomuuttujan pelin päättymisen seuraamiseen. Luonut taulukon, jonka jokaiselle solulle asettanut arvoksi tyhjän merkkijonon. Toteuttanut setup-metodin, joka asettaa pelille koon. Toteuttanut draw-metodin, joka päivittää ikkunasi sisältöä pelin aikana. 4. Osatehtävä - Apumetodit vuoronhallintaan Ennen kuin siirrytään tarkastelemaan vuorovaikutusta peli-ikkunan kanssa luodaan pelissä tarvittavat apumetodit. TicTacToe-olion apumetodit huolehtivat vuoron vaihtamisesta (changeturn) ja vuorossa olevan pelaajan merkin palauttamisesta merkkijonona (getturn). getturn-metodi

9 Tarvitset metodin toteuttamiseen yksinkertaisen if-else-valintarakenteen. Koska olet tallentanut vuorossa olevan pelaajan (tai oikeastaan pelimerkin) tiedon PImage-tyyppiseen muuttujaan, voit tarkistaa helposti kumpaa pelimerkkiä se vastaa. Metodi palauttaa pelimerkkiä vastaavan merkkijonon, eli joko "O" (iso o-kirjain) tai "X" (iso x-kirjain). changeturn-metodi Vuoron vaihdosta huolehtiva metodi ei ole edellistä hankalampi. Jälleen valintarakenteen avulla voit tarkistaa kumpi pelaaja on vuorossa ja asettaa toisen pelaajan vuoroon. Metodi ei palauta mitään vaan ainoastaan tallentaa muuttuneen pelivuoron. Tässä vaiheessa olet edellisten lisäksi: Luonut pohjan pelilaudan tilanteen seuraamiseen. Luonut mekanismin vuoron vaihtamiseen. 5. Osatehtävä - mouseclicked-metodi Tässä osatehtävässä luodaan toteutus mouseclickedmetodille, joka mahdollistaa pelaajan hiirenklikkauksiin reagoimisen. Saat hiiren koordinaatit Processingin mousex- ja mousey-muuttujista. Jos kokeilet ajaa ohjelmasi ja mouseclicked-metodissa tulostat nämä muuttujat huomaat, että x-koordinaatti kasvaa vasemmasta reunasta oikealle ja y-koordinaatti ylhäältä alas. Helpointa on noudattaa vastaavaa logiikkaa myös pelaajien siirrot säilövässä tietorakenteessamme (kts. kuva oikealla). Metodin toteutus onkin kuvailtu jo dokumentaatiossa, mutta tässä vielä yksinkertaisesti sama avattuna. Ikkunan ja taulukon koordinaatistot. Tallenna aluksi x- ja y-koordinaatit, joita käytät tallentaessasi pelaajan pelimerkin taulukkoon. Huomaa, että ikkunan koordinaatit eivät vastaa taulukon solujen indeksejä, mutta koska olet tallentanut ruudun koon muistiin saat helposti laskettua oikean arvon indekseille. Mikäli pelaajan klikkaus osui pelialueelle, peli ei ole loppunut ja kyseinen paikka taulukossa ei ole vielä täytetty, tehdään seuraavat asiat: Piirretään pelaajan pelimerkki oikealle kohdalle ruudukossa, käytä Processingin image-metodia. Tallennetaan taulukkoon oikean alkion tilalle pelaajan pelimerkki merkkijonona, muista käyttää juuri luomaasi apumetodia.

10 Tarkista loppuiko peli TicTacToeHelperin tarjoaman metodin avulla. Mikäli peli loppui, aseta ruudulle ilmoitus pelin loppumisesta, joka sisältää tiedon siitä kumpi pelaaja voitti. Muista käsitellä myös tilanne, missä peli on päättynyt tasapeliin. Processingin text-metodi on tässä kohdassa hyödyllinen. Muista myös muuttaa pelin päättymisestä kertovan totuusarvotyyppisen muuttujan arvo. (Koska olet aikaisemmin laatinut draw-metodiisi tarkistuksen pelin päättymisestä tämän muuttujan avulla, ja kutsut tarvittaessa noloop-metodia, ruutu ei enää päivity seuraavalla draw-metodin kutsulla ja asettamasi teksti jää näkyviin.) Lopuksi vaihda pelivuoroa äsken luomallasi apumetodilla. Ristinollasi pitäisi olla nyt pelikunnossa! Tässä vaiheessa olet edellisten lisäksi: Tehnyt metodin, joka reagoi pelaajan klikkauksiin kun ne osuvat pelialueella tyhjään ruutuun... ja joka piirtää oikean pelimerkin oikealle kohdalle... ja joka tarkastaa onko peli loppunut, sekä ilmoittaa tästä pelaajalle... ja joka lopuksi vaihtaa vuoroa, jotta peliä voidaan pelata kahdestaan. Lopuksi Testaa vielä lopuksi kaikkien tekemiesi luokkien toiminta ja varmista, että kaikki toimii toivomallasi tavalla. Viimeistään tässä vaiheessa kommentoi koodisi ne pätkät, jotka saattavat olla vaikeaselkoisia. Arvostelu Tehtävä arvostellaan asteikolla 0-5 pistettä. Lisäominaisuuksista on mahdollista saada korkeintaan 1 lisäpiste. Palautus Pakkaa projektisi zip-paketiksi (Export -> Archive File ) ja anna sille nimeksi opiskelijanumero_tictactoe.zip. Palauta toteutuksesi mycoursesissa.

Jypelin käyttöohjeet» Ruutukentän luominen

Jypelin käyttöohjeet» Ruutukentän luominen Jypelin käyttöohjeet» Ruutukentän luominen Pelissä kentän (Level) voi luoda tekstitiedostoon "piirretyn" mallin mukaisesti. Tällöin puhutaan, että tehdään ns. ruutukenttä, sillä tekstitiedostossa jokainen

Lisätiedot

Johdatus ohjelmointiin

Johdatus ohjelmointiin Johdatus ohjelmointiin EXAM tentin liitetiedostojen lataaminen, käyttäminen ja palauttaminen Kerro mahdolliset puutteet tai parannusehdotukset: pietari.heino@tut.fi Tällä sivulla on selitetty lyhyesti

Lisätiedot

3.3 Kurssin palauttaminen

3.3 Kurssin palauttaminen 3.3 Kurssin palauttaminen Yleistä kurssin palauttamisesta Kurssipohjan tulee olla luotuna Moodleen ennen kuin sen päälle voi palauttaa varmuuskopion. Yleensä palauttaminen kannattaa tehdä siten, että entisen

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 20. huhtikuuta 2018 Vastaa kaikkiin tehtäviin. Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä.

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

4.6 Kurssin palauttaminen

4.6 Kurssin palauttaminen 4.6 Kurssin palauttaminen Yleistä kurssin palauttamisesta Kurssipohjan tulee olla luotuna Moodleen ennen kuin sen päälle voi palauttaa varmuuskopion. Yleensä palauttaminen kannattaa tehdä siten, että entisen

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 20.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 20.1.2010 1 / 40 Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea raw_input-käskyllä. Käskyn sulkujen

Lisätiedot

5. HelloWorld-ohjelma 5.1

5. HelloWorld-ohjelma 5.1 5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2

Lisätiedot

2. luento. CS-C2110 Ohjelmointistudio 1: mediaohjelmointi Syksy 2016 [Studio 1] Antti Tolppanen, Sanna Suoranta, Lauri Savioja

2. luento. CS-C2110 Ohjelmointistudio 1: mediaohjelmointi Syksy 2016 [Studio 1] Antti Tolppanen, Sanna Suoranta, Lauri Savioja 2. luento CS-C2110 Ohjelmointistudio 1: mediaohjelmointi Syksy 2016 [Studio 1] Antti Tolppanen, Sanna Suoranta, Lauri Savioja Tänään Ensimmäinen tehtävä Vinkkejä projektin aloittamiseen OLO-työskentelyn

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

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

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

T harjoitustehtävät, syksy 2011

T harjoitustehtävät, syksy 2011 T-110.4100 harjoitustehtävät, syksy 2011 Kurssiassistentit Tietotekniikan laitos Perustieteiden korkeakoulu Aalto-yliopisto T-110.4100@tkk.fi Yleistä Kurssin osasuoritteita ovat kaksi osatenttiä ja harjoitustehtävät

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 10.10.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 10.10.2018 1 / 20 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten ohjelman toimintaa voi tutkia ja ohjelmassa

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 8.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 8.2.2010 1 / 38 Debuggeri Tyypillinen tilanne: ohjelma on kirjoitettu, Python-tulkki ei valita virheistä, mutta ohjelma

Lisätiedot

Scratch ohjeita. Perusteet

Scratch ohjeita. Perusteet Perusteet Scratch ohjeita Scratch on graafinen ohjelmointiympäristö koodauksen opetteluun. Se soveltuu hyvin alakouluista yläkouluunkin asti, sillä Scratchin käyttömahdollisuudet ovat monipuoliset. Scratch

Lisätiedot

Verkkosivut perinteisesti. Tanja Välisalo 11.2.2009

Verkkosivut perinteisesti. Tanja Välisalo 11.2.2009 Verkkosivut perinteisesti Tanja Välisalo 11.2.2009 WWW-sivujen vieminen omaan kotisivutilaan yliopiston mikroverkossa https://salasana.jyu.fi Klikkaa painiketta Activate WWW Klikkaa painiketta Activate

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Muilla kielillä: English Suomi Pong-peli, vaihe 3 Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Jaetaan ohjelma pienempiin palasiin (aliohjelmiin) Lisätään peliin maila (jota ei voi vielä

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

Lisätiedot

Pauliina Munter / Suvi Junes Tampereen yliopisto/tietohallinto 2013

Pauliina Munter / Suvi Junes Tampereen yliopisto/tietohallinto 2013 Tehtävä 2.2. Tehtävä-työkalun avulla opiskelijat voivat palauttaa tehtäviä Moodleen opettajan arvioitaviksi. Palautettu tehtävä näkyy ainoastaan opettajalle, ei toisille opiskelijoille. Tehtävä-työkalun

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

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 28.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 28.9.2015 1 / 16 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 4.10.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 4.10.2017 1 / 23 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle

Lisätiedot

Ohjelmoinnin perusteet, syksy 2006

Ohjelmoinnin perusteet, syksy 2006 Ohjelmoinnin perusteet, syksy 2006 Esimerkkivastaukset 1. harjoituksiin. Alkuperäiset esimerkkivastaukset laati Jari Suominen. Vastauksia muokkasi Jukka Stenlund. 1. Esitä seuraavan algoritmin tila jokaisen

Lisätiedot

T harjoitustyö, kevät 2012

T harjoitustyö, kevät 2012 T-110.4100 harjoitustyö, kevät 2012 Kurssiassistentit T-110.4100@tkk.fi Tietotekniikan laitos Perustieteiden korkeakoulu Aalto-yliopisto 31.1.2012 Yleistä Kurssin osasuoritteita ovat kaksi osatenttiä,

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi olioperustainen sokkeloseikkailu peli Javakielellä. Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2 TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa

Lisätiedot

GeoGebra-harjoituksia malu-opettajille

GeoGebra-harjoituksia malu-opettajille GeoGebra-harjoituksia malu-opettajille 1. Ohjelman kielen vaihtaminen Mikäli ohjelma ei syystä tai toisesta avaudu toivomallasi kielellä, voit vaihtaa ohjelman käyttöliittymän kielen seuraavasti: 2. Fonttikoon

Lisätiedot

Harjoitus 5 (viikko 48)

Harjoitus 5 (viikko 48) Moni tämän harjoituksen tehtävistä liittyy joko suoraan tai epäsuorasti kurssin toiseen harjoitustyöhön. Harjoitustyö edistyy sitä paremmin, mitä enemmän tehtäviä ratkaiset. Mikäli tehtävissä on jotain

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

Nuorten hyvinvointi tilastotietokannan käyttöohjeet Tieke 18.5 2015

Nuorten hyvinvointi tilastotietokannan käyttöohjeet Tieke 18.5 2015 Nuorten hyvinvointi tilastotietokannan käyttöohjeet Tieke 18.5 2015 Taulukon valinta Valitse vasemmalta kansioita, kunnes saat taulukkoluettelon näkyviin. Jos etsit tietoa jostain tietystä aiheesta, voit

Lisätiedot

TALLENNETAAN MUISTITIKULLE JA MUISTIKORTILLE

TALLENNETAAN MUISTITIKULLE JA MUISTIKORTILLE TALLENNETAAN MUISTITIKULLE JA MUISTIKORTILLE HERVANNAN KIRJASTON TIETOTORI Insinöörinkatu 38 33720 Tampere 040 800 7805 tietotori.hervanta@tampere.fi TALLENNETAAN MUISTIKULLE JA MUISTIKORTILLE 1 Muistitikun

Lisätiedot

Kirkkopalvelut Office365, Opiskelijan ohje 1 / 17 IT Juha Nalli 22.12.2015

Kirkkopalvelut Office365, Opiskelijan ohje 1 / 17 IT Juha Nalli 22.12.2015 Kirkkopalvelut Office365, Opiskelijan ohje 1 / 17 Oppilaat saavat vuoden 2016 alusta käyttöönsä oppilaitoksen sähköpostin ja muita palveluita Microsoftin Office365:sta. Oppilaiden sähköposti on muotoa

Lisätiedot

Google-dokumentit. Opetusteknologiakeskus Mediamylly

Google-dokumentit. Opetusteknologiakeskus Mediamylly Google-dokumentit 1 2 3 Yleistä 1.1 Tilin luominen 4 1.2 Docs-päävalikkoon siirtyminen 7 Dokumentit-päävalikko 2.1 Kirjaudu Dokumentteihin 9 2.2 Lähetä tiedosto Google-dokumentteihin 11 2.3 Uuden asiakirjan

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

Fixcom Webmail ohje. Allekirjoitus. Voit lisätä yhden tai useamman allekirjoituksen.

Fixcom Webmail ohje. Allekirjoitus. Voit lisätä yhden tai useamman allekirjoituksen. Webmail on monipuolinen työkalu jolla voi tehdä paljon muutakin kuin lukea sähköpostia. Tässä ohjeessa on lyhyesti esitelty joitakin sen ominaisuuksia. Peruspostilaatikossa ei ole kaikkia ominaisuuksia,

Lisätiedot

KOKO PERHEEN HAUSKA STRATEGIAPELI OHJEET

KOKO PERHEEN HAUSKA STRATEGIAPELI OHJEET KOKO PERHEEN HAUSKA STRATEGIAPELI OHJEET ROBOGEM_Ohjevihko_148x210mm.indd 1 PELIN TAVOITE Robotit laskeutuvat kaukaiselle planeetalle etsimään timantteja, joista saavat lisää virtaa aluksiinsa. Ohjelmoi

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

Harjoitus 2 (viikko 45)

Harjoitus 2 (viikko 45) Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista lisätä static-määre operaatioidesi otsikoihin, jotta ohjelmasi kääntyvät. Muista noudattaa hyvän

Lisätiedot

Rämpytysralli. Pelikehys sisältää GameObject luokan, Scene luokan, SceneManager luokan, InputListener luokan, StaticImage luokan

Rämpytysralli. Pelikehys sisältää GameObject luokan, Scene luokan, SceneManager luokan, InputListener luokan, StaticImage luokan Materiaalit on lisensoitu Creative Commons BY NC SA lisenssillä, eli materiaalin levittäminen ja muokkaaminen on sallittu, kunhan tekijöiden nimet säilyvät mukana ja jatkoversiot julkaistaan samalla linsenssillä.

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 14.9.2016 CS-A1111 Ohjelmoinnin peruskurssi Y1 14.9.2016 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Sivu 1 / 11 08.01.2013 Viikin kirjasto / Roni Rauramo

Sivu 1 / 11 08.01.2013 Viikin kirjasto / Roni Rauramo Sivu 1 / 11 Kuvien siirto kamerasta Lyhyesti Tämän oppaan avulla voit: - käyttää tietokoneen omaa automaattista kopiointiin tai siirtoon tarkoitettua toimintaa kuvien siirtoon kamerasta tai muistikortista

Lisätiedot

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta. Tehtävä 63. Kirjoita oma versio funktiosta strcmp(),joka saa parametrinaan kaksi merkkiosoitinta. Tee ohjelma, jossa luetaan kaksi merkkijonoa, joita sitten verrataan ko. funktiolla. Tehtävä 64. Kirjoita

Lisätiedot

Harjoitus 5. Esimerkki ohjelman toiminnasta: Lausekielinen ohjelmointi I Kesä 2018 Avoin yliopisto 1 / 5

Harjoitus 5. Esimerkki ohjelman toiminnasta: Lausekielinen ohjelmointi I Kesä 2018 Avoin yliopisto 1 / 5 Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät tekniset ongelmat suoraan Jormalle sähköpostitse (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

Muistitikun liittäminen tietokoneeseen

Muistitikun liittäminen tietokoneeseen Muistitikun käyttäminen 1 Muistitikun liittäminen tietokoneeseen Muistitikku liitetään tietokoneen USB-porttiin. Koneessa voi olla useita USB-portteja ja tikun voi liittää mihin tahansa niistä. USB-portti

Lisätiedot

KÄYTTÖOHJE. Servia. S solutions

KÄYTTÖOHJE. Servia. S solutions KÄYTTÖOHJE Servia S solutions Versio 1.0 Servia S solutions Servia Finland Oy PL 1188 (Microkatu 1) 70211 KUOPIO puh. (017) 441 2780 info@servia.fi www.servia.fi 2001 2004 Servia Finland Oy. Kaikki oikeudet

Lisätiedot

Pong-peli, vaihe Aliohjelmakutsu laskureita varten. 2. Laskurin luominen. Muilla kielillä: English Suomi

Pong-peli, vaihe Aliohjelmakutsu laskureita varten. 2. Laskurin luominen. Muilla kielillä: English Suomi Muilla kielillä: English Suomi Pong-peli, vaihe 7 Tässä vaiheessa lisäämme peliin pistelaskun. Pong-pelissä pelaaja saa pisteen kun pallo ohittaa toisen pelaajan mailan. 1. Aliohjelmakutsu laskureita varten

Lisätiedot

15. Ohjelmoinnin tekniikkaa 15.1

15. Ohjelmoinnin tekniikkaa 15.1 15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 13.9.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 13.9.2017 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012 Tiedostot Uudet ominaisuudet: - Ei Tiedostot-kohtaa alueen sisällä, vaan tiedostonvalitsin, jolla tiedostot tuodaan alueelle siihen kohtaan missä ne näytetään - Firefox-selaimella voi työpöydältä raahata

Lisätiedot

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat

Lisätiedot

Automaattitilausten hallinta. Automaattitilauksien uudistettu käsittely

Automaattitilausten hallinta. Automaattitilauksien uudistettu käsittely Automaattitilausten hallinta Raportit Saat yhteenvedon voimassa olevista automaattitilauksista ja automaatti-ilmoituksista hakemistopuun Raportit-valikon alta. PDF-napista voit ladata koneellesi yhteenvedon

Lisätiedot

Ohjeistus yhdistysten internetpäivittäjille

Ohjeistus yhdistysten internetpäivittäjille Ohjeistus yhdistysten internetpäivittäjille Oman yhdistyksen tietojen päivittäminen www.krell.fi-sivuille Huom! Tarvitset päivittämistä varten tunnukset, jotka saat ottamalla yhteyden Kristillisen Eläkeliiton

Lisätiedot

Javan perusteita. Janne Käki

Javan perusteita. Janne Käki Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).

Lisätiedot

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB Datatähti 2019 alku task type time limit memory limit A Kolikot standard 1.00 s 512 MB B Leimasin standard 1.00 s 512 MB C Taulukko standard 1.00 s 512 MB D Ruudukko standard 1.00 s 512 MB E Sanalista

Lisätiedot

http://www.microsoft.com/expression/

http://www.microsoft.com/expression/ Verkkojulkaisuharjoitus1 TAVOITE Harjoituksen tarkoituksena on opiskella käyttämään verkkojulkaisueditoria (Microsoft Expression Web) ja käynnistämään verkkosivu internetissä. VERKKOSIVUEDITORIN KÄYTTÖOHJEITA

Lisätiedot

Sen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat

Sen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat Microsoft Office 2010 löytyy tietokoneen käynnistävalikosta aivan kuin kaikki muutkin tietokoneelle asennetut ohjelmat. Microsoft kansion sisältä löytyy toimisto-ohjelmistopakettiin kuuluvat eri ohjelmat,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen

Lisätiedot

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Ohjelmointikäytännöt 21/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Mitä on hyvä koodi? 2) Ohjelmointikäytäntöjen merkitys? 3) Koodin asettelu

Lisätiedot

Muuttujien määrittely

Muuttujien määrittely Tarja Heikkilä Muuttujien määrittely Määrittele muuttujat SPSS-ohjelmaan lomakkeen kysymyksistä. Harjoitusta varten lomakkeeseen on muokattu kysymyksiä kahdesta opiskelijoiden tekemästä Joupiskan rinneravintolaa

Lisätiedot

Harjoitus 5 (viikko 41)

Harjoitus 5 (viikko 41) Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Vältä liian pitkiä rivejä, käytä

Lisätiedot

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014 Työpaja Työpaja on vertaisarviointiin soveltuva työkalu. Työpaja mahdollistaa töiden palautuksen ja niiden jakelun opiskelijoiden arvioitavaksi sekä arvioinnin antamisen. Laita Muokkaustila päälle ja lisää

Lisätiedot

UpdateIT 2010: Editorin käyttöohje

UpdateIT 2010: Editorin käyttöohje UpdateIT 2010: Editorin käyttöohje Käyttäjätuki: Suomen Golfpiste Oy Esterinportti 1 00240 HELSINKI Puhelin: (09) 1566 8800 Fax: (09) 1566 8801 E-mail: gp@golfpiste.com Sisällys Editorin käyttöohje...

Lisätiedot

Uuden Peda.netin käyttöönotto

Uuden Peda.netin käyttöönotto Sisällysluettelo Uuden Peda.netin käyttöönotto...2 Sisään- ja uloskirjautuminen...2 OmaTila...3 Peda.netin yleisrakenne...4 Työvälineet - Sivut...5 Sivun lisääminen omaan profiiliin:...5 Sivun poistaminen

Lisätiedot

Hakemistojen sisällöt säilötään linkitetyille listalle.

Hakemistojen sisällöt säilötään linkitetyille listalle. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä komentoikkunaa (komentotulkkia, komentoriviä) simuloiva olioperustainen ohjelma. Hakemistojen sisällöt säilötään linkitetyille listalle. Työ

Lisätiedot

Jypelin käyttöohjeet» Miten saan peliin pistelaskurin?

Jypelin käyttöohjeet» Miten saan peliin pistelaskurin? Jypelin käyttöohjeet» Miten saan peliin pistelaskurin? Pistelaskurin saamiseksi tarvitaan kaksi osaa: Laskuri, joka laskee pisteitä Olio, joka näyttää pisteet ruudulla Laskuri voi olla esimerkiksi tyyppiä

Lisätiedot

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

TTY TKT-1110 Mikroprosessorit TKT. HEW-ohjeet ver 1.0

TTY TKT-1110 Mikroprosessorit TKT. HEW-ohjeet ver 1.0 Johdanto Nämä ohjeet opastavat sinut tekemään kurssiin TKT-1110 Mikroprosessorit liittyvät harjoitustyöt. Ohjeet sisältävät kolme osiota. Ensimmäisenä esitellään projektin luonti, mikä tehdään ainoastaan

Lisätiedot

Kurssien lukulistojen ylläpito Nellissä ja siirto Moodleen

Kurssien lukulistojen ylläpito Nellissä ja siirto Moodleen Kurssien lukulistojen ylläpito Nellissä ja siirto Moodleen Nellistä voi siirtää kirjallisuuslistoja Moodle-oppimisympäristöön. Näin voidaan tarjota opiskelijalle esimerkiksi verkkokurssin oheislukemistona

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 1.3.2010 1 / 36 Monikko Monikko (engl. tuple) muistuttaa listaa, mutta monikon sisältöä ei voi muuttaa sen jälkeen,

Lisätiedot

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0 CODEONLINE Monni Oo- ja Java-harjoituksia Version 1.0 Revision History Date Version Description Author 25.10.2000 1.0 Initial version Juha Johansson Inspection History Date Version Inspectors Approved

Lisätiedot

Pong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana

Pong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana Muilla kielillä: English Suomi Pong-peli, vaihe 2 Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana Laitetaan pallo liikkeelle Tehdään kentälle reunat Vaihdetaan kentän taustaväri Zoomataan

Lisätiedot

7/20: Paketti kasassa ensimmäistä kertaa

7/20: Paketti kasassa ensimmäistä kertaa Ohjelmointi 1 / syksy 2007 7/20: Paketti kasassa ensimmäistä kertaa Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007

Lisätiedot

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

YH1b: Office365 II, verkko-opiskelu

YH1b: Office365 II, verkko-opiskelu YH1b: Office365 II, verkko-opiskelu Huom. Suosittelemme tämän harjoituksen 1b tekemistä mikroluokassa, jotta yliopiston mikroluokat tulevat edes hieman tutuiksi. Harjoituksen tavoitteet Harjoituksessa

Lisätiedot

Tehtävän lisääminen ja tärkeimmät asetukset

Tehtävän lisääminen ja tärkeimmät asetukset Tehtävä Moodlen Tehtävä-aktiviteetti on tarkoitettu erilaisten tehtävien antamiseen verkossa. Tehtävä-aktiviteettia ei ole tarkoitettu ainoastaan tehtävien palautukseen, kuten moni sen sellaiseksi mieltää,

Lisätiedot

1. Omat operaatiot 1.1

1. Omat operaatiot 1.1 1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 9.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 9.9.2015 1 / 26 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

TAITAJA 2007 ELEKTRONIIKKAFINAALI 31.01-02.02.07 KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro:

TAITAJA 2007 ELEKTRONIIKKAFINAALI 31.01-02.02.07 KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro: KILPAILIJAN TEHTÄVÄT Kilpailijan nimi / Nro: Tehtävän laatinut: Hannu Laurikainen, Deltabit Oy Kilpailutehtävä Kilpailijalle annetaan tehtävässä tarvittavat ohjelmakoodit. Tämä ohjelma on tehty laitteen

Lisätiedot

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

YH2: Office365 II, verkko-opiskelu

YH2: Office365 II, verkko-opiskelu Aulikki Hyrskykari, Antti Sand, Juhani Linna YH2: Office365 II, verkko-opiskelu Huom. Suosittelemme tämän yksilöharjoituksen 2 tekemistä mikroluokassa, jotta yliopiston mikroluokat tulevat edes hieman

Lisätiedot

Epooqin perusominaisuudet

Epooqin perusominaisuudet Epooqin perusominaisuudet Huom! Epooqia käytettäessä on suositeltavaa käyttää Firefox -selainta. Chrome toimii myös, mutta eräissä asioissa, kuten äänittämisessä, voi esiintyä ongelmia. Internet Exploreria

Lisätiedot

Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola

Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola 26.8.2016 SISÄLLYSLUETTELO 1. Omat asetukset kuntoon (kaikkien tehtävä aluksi) sivut 3-5 2. Tärkeiden sivujen tilaaminen omiin linkkeihin sivut

Lisätiedot

Sisältö. 2. Taulukot. Yleistä. Yleistä

Sisältö. 2. Taulukot. Yleistä. Yleistä Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä

Lisätiedot

TEHTÄVÄ 1.1 RATKAISUOHJEET

TEHTÄVÄ 1.1 RATKAISUOHJEET TEHTÄVÄ 1.1 RATKAISUOHJEET 1. Luo mallin mukainen kansiorakenne Käynnistä Resurssienhallinta painamalla näppäimistöltä peräkkäin Windows- ja E-näppäimiä niin, että Windows-näppäin on yhä pohjassa, kun

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely

Lisätiedot

Moodle-oppimisympäristö

Moodle-oppimisympäristö k5kcaptivate Moodle-oppimisympäristö Opiskelijan opas Sisältö 1. Mikä on Moodle? 2. Mistä löydän Moodlen? 3. Kuinka muokkaan käyttäjätietojani? 4. Kuinka ilmoittaudun kurssille? 5. Kuinka käytän Moodlen

Lisätiedot

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Toinen harjoitustyö. ASCII-grafiikkaa 2017 Toinen harjoitustyö ASCII-grafiikkaa 2017 Yleistä Tehtävä: tee Javalla ASCII-merkkeinä esitettyä grafiikkaa käsittelevä ASCIIArt17-ohjelma omia operaatioita ja taulukoita käyttäen. Työ tehdään pääosin

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 19.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 19.1.2011 1 / 39 Haluatko antaa palautetta luennoista? Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

ejuttu ohjeet kuinka sitä käytetään.

ejuttu ohjeet kuinka sitä käytetään. ejuttu ohjeet kuinka sitä käytetään. 1. Artikkelin lisääminen a. Kirjaudu sisään b. Lisää sisältöä c. Artikkeli i. Lisää pääkuva 1. Pääkuvalle kuvateksti ii. Anna artikkelille otsikko iii. Ingressi-kenttään

Lisätiedot

Valintanauhan komennot Valintanauhan kussakin välilehdessä on ryhmiä ja kussakin ryhmässä on toisiinsa liittyviä komentoja.

Valintanauhan komennot Valintanauhan kussakin välilehdessä on ryhmiä ja kussakin ryhmässä on toisiinsa liittyviä komentoja. Pikaopas Microsoft Excel 2013 näyttää erilaiselta kuin aiemmat versiot. Tämän oppaan avulla pääset alkuun nopeasti ja saat yleiskuvan uusista ominaisuuksista. Komentojen lisääminen pikatyökaluriville Pidä

Lisätiedot