Harjoitus 2: Raahaus, satunnaisuus ja taulukot ( )!

Koko: px
Aloita esitys sivulta:

Download "Harjoitus 2: Raahaus, satunnaisuus ja taulukot ( )!"

Transkriptio

1 Tietokoneavusteinen opetus, 2017 Harjoitus 2: Raahaus, satunnaisuus ja taulukot ( ) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä ja HTML5-tekniikoita neljänä kertana: 10.3., 14.3., ja Harjoituskerroilla tutustutaan työvälineiden käyttöön harjoitusten avulla. - Jokaisena harjoituspäivänä järjestetään kaksi harjoitusryhmää, joissa käsitellään sama sisältö. - Harjoitukset järjestetään klo 10:15-12:00 ja 12:15-14:00 mikroluokassa B Harjoitusryhmiin saa saapua vapaasti ei ennakkoilmoittautumista. - Harjoituskerran tehtävät julkaistaan etukäteen osoitteessa - Tehtävät käydään läpi yhteisesti harjoituksissa ratkaisuja ei tarvitse tehdä ennen harjoituksia. Tapahtumakäsittelijät ActionScript-ohjelmointi perustuu järjestelmässä syntyvien tapahtumien (event) käsittelyyn. Tapahtumia on kahdenlaisia: käyttäjän tuottamia (user event) ja järjestelmän luomia (system event). Käytännössä pääosa ActionScript-ohjelmakoodista keskittyy tietyn tapahtuman käsittelyyn. CS6:ssa tapahtumia käsitellään siten, että ohjelmoija määrittelee tapahtumankäsittelyfunktion ja liittää sen ko. tapahtumia aikaansaavan komponentin tapahtumakuuntelijoiden joukkoon metodilla addeventlistener: 1 instanssinimi.addeventlistener(tapahtuma,tapahtumakasittelija); Yllä esitetyn skriptin parametri tapahtuma on merkkijono. Useimmat tapahtumatyypit, kuten hiiritapahtuma (MouseEvent) määrittelevät vakioarvot tapahtumien merkkijonoille. Tapahtumakuuntelijaa lisättäessä voidaan käyttää joko vakioarvoa tai merkkijonoa. Seuraavan skriptin sisältämät esimerkit ovat siten toiminnaltaan identtiset: 1 // Tapahtumakäsittelijän lisäys hiiren klikkaukseen 2 instanssinimi.addeventlistener("click",tapahtumakasittelija); 3 4 // Vakioarvo MouseEvent.CLICK == "click" 5 instanssinimi.addeventlistener(mouseevent.click,tapahtumakasittelija); Tapahtumankäsittelijä on tavallinen ActionScript-funktio, joka saa parametrinaan funktiokutsun laukaisseen tapahtuman: 1 function tapahtumakasittelija(tapahtuma) { 2 // Oma koodi tänne 3 } Näissä harjoituksissa keskitytään käyttäjän tuottamien tapahtumien, kuten hiiritapahtumien, käsittelyyn. Hiiritapahtumia ja niitä vastaavia merkkijonoja ovat mm.: MouseEvent-luokan vakio CLICK DOUBLE_CLICK Vakiota vastaava merkkijono "click" "doubleclick" " 1 / " 6

2 MouseEvent-luokan vakio MOUSE_UP MOUSE_DOWN MOUSE_OVER MOUSE_OUT MOUSE_MOVE Vakiota vastaava merkkijono "mouseup" "mousedown" "mouseover" "mouseout" "mousemove" Raahaus Toteutetaan ohjelma, jossa palloja tulee raahata maalialueelle. Raahauksen päättyessä maalialueelle pallo saa jäädä raahauksen päättymispisteeseen ja annetaan onnistumisesta palaute. Muussa tapauksessa pallo palautetaan takaisin lähtöpisteeseen. 1. Tee piirtotyökalulla näyttämölle yksi pallo ja yksi laatikko. 2. Muuta nämä MovieClip-olioiksi: valitse koko objekti (täyteväri ja ääriviivat) näyttämöllä ja valitse hiiren oikealla painikkeella avautuvasta valikosta "Convert to Symbol...". Nimeä objektit. 3. Anna laatikolle instanssinimi "maali". 4. Luo lisää palloja raahaamalla kirjastosta. Anna myös palloille instanssinimet. 5. Lisää näyttämölle dynaaminen tekstikenttä ja anna sille instanssinimeksi esim. "palaute". 6. Kirjoita ohjelman alustus- ja tapahtumankäsittelijäskriptit: " 2 / " 6

3 1 // Alusta pelikenttä pysäyttämällä aikajana, määrittämällä 2 // apumuuttujat ja kirjoittamalla ohjeteksti. 3 stop(); 4 var koord_x = 0; 5 var koord_y = 0; 6 palaute.text = "Raahaa pallot maaliin"; 7 8 // Määritellään tapahtumankäsittelijät raahauksen 9 // alkamiselle ja päättymiselle. 10 function drag_on(event) { // Tyhjennetään palautekenttä 13 palaute.text = ""; // Tallennetaan raahauksen alkamispiste apumuuttujiin 16 koord_x = event.target.x; 17 koord_y = event.target.y; // Aloita raahaus 20 event.target.startdrag(); 21 }; function drag_off(event) { // Lopetetaan raahaus 26 event.target.stopdrag(); // Tutkitaan pudotettiinko pallo jonkin päälle ja jos 29 // pudotettiin, tutkitaan onko sen instanssinimi "maali" 30 if(event.target.droptarget = null && 31 event.target.droptarget.parent.name == "maali"){ // Raahaus onnistui 34 palaute.text = "Raahaus onnistui"; 35 } 36 else{ // Pallo pudotettiin nuualle kuin maalin päälle. 39 // Palautetaan pallo lähtöpisteeseen. 40 event.target.x = koord_x; 41 event.target.y = koord_y; 42 palaute.text = "Raahaus ei onnistunut..."; 43 } 44 }; Tapahtuman kohde (event.target) on viite siihen olioon, joka on tapahtuman tuottanut. Tämän viitteen avulla voidaan siis hakea pallon koordinaatteja (event.target.x ja event.target.y) ja se olio, jonka päälle raahattava olio "pudotetaan" (event.target.droptarget). 7. Lisää tapahtumakuuntelijat jokaiselle pallolle: 1 pallox.addeventlistener(mouseevent.mouse_down,drag_on); 2 pallox.addeventlistener(mouseevent.mouse_up,drag_off); 8. Kokeile ohjelman toimintaa. + Jos pallo menee raahatessa maalin taakse, voit siirtää maalin taka-alalle Modify-valikon Arrange-alivalikon kautta. " 3 / " 6

4 Satunnaisuus ja taulukot Tietokoneavusteinen opetus, 2017 Satunnaisuuden ohjelmointi perustuu Math-luokan random-funktioon, joka palauttaa satunnaisen liukuluvun puoliavoimelta väliltä [0,1[. Random-funktion palauttama luku on harvoin käytettävissä sellaisenaan, joten lukua täytyy muokata käyttökohteen vaatimusten mukaiseksi. Liukuluvun muokkaamiseen riittää usein melko yksinkertaiset aritmeettiset operaatiot: 1 // Alustetaan raja-arvot 2 var min = 5; 3 var max = 30; 4 5 // Liukuluku väliltä [0,1[ 6 var a = Math.random(); // a = // Liukuluku väliltä [0,max[ 9 var b = Math.random() * max; // b = // Kokonaisluku väliltä [0,max] 12 var c = Math.floor( Math.random() * (max + 1) ); // c = // Kokonaisluku väliltä [min,max] 15 var d = Math.floor( Math.random() * (max min) ) + min; // d = 14 Taulukko (Array) on tietorakenne, johon voidaan tallentaa useita muuttujia samanaikaisesti. Niiden avulla voidaan käsitellä muuttujia ilman, että jokaisella muuttujalla on erikseen määriteltyä muuttujaviitettä. ActionScript-taulukot ovat dynaamisia, eli niiden kokoa voidaan muuttaa taulukon luomisen jälkeen. Taulukoille on määritetty useita funktioita, joiden avulla taulukkoja voidaan manipuloida. Alla on esitetty tärkeimpiä taulukon käsittelytapoja ja funktioita: 1 // Luodaan taulukko 2 var arr1:array = new Array(); 3 var arr2:array = []; 4 5 // Lisätään alkio taulukkoon 6 arr1[0] = "A"; // Lisätään alkio "A" taulukon 1. paikalle 7 arr1.push("b","c"); // Lisätään alkiot "B" ja "C" taulukon loppuun 8 9 // Luetaan alkion arvo 2. paikalta 10 var arvo = arr1[1]; // Haetaan taulukon alkioiden määrä 13 var taulukon_koko = arr1.length; // Poistetaan 1 alkio paikalta 0 16 var poistettu1 = arr1.splice(0,1); // Poistetaan taulukon viimeinen alkio 19 var poistettu2 = arr1.pop(); Lisätään raahaustehtävään toiminto, joka arpoo onnittelutekstin ennalta määrätyistä teksteistä aina kun pallo pudotetaan maaliin. 9. Lisää skriptiin funktio, joka arpoo satunnaisen kokonaisluvun väliltä [0,max]. 1 function arvokokonaisluku(max) { 2 var satunnaisluku = Math.random() * (max + 1); 3 var kokonaisluku = Math.floor(satunnaisluku); 4 return kokonaisluku; 5 }; " 4 / " 6

5 10. Lisää skriptin alkuun taulukko, joka sisältää joitain onnittelutekstejä: 1 var onnittelutekstit:array = ["Hyvä","Onnistui","Jee"]; 11. Muuta drag_off-tapahtumakäsittelijäfunktiota siten, että onnistuneen raahauksen yhteydessä arvotaan palautekentän tekstiksi jokin taulukossa olevista teksteistä. 33 // Raahaus onnistui, Arvotaan onnitteluteksti. 34 var tekstin_paikka = arvokokonaisluku(onnittelutekstit.length - 1); 34 palaute.text = onnittelutekstit[tekstin_paikka]; 12. Kokeile ohjelman toimintaa. Lisätehtäviä Toteutetaan usean maalin sisältävä raahaustehtävä, missä raahauksen päätteeksi täytyy päätellä mihin maaliin raahattu olio raahattiin ja oliko maali sopiva juuri tälle oliolle. 13. Aloita uudesta kohtauksesta ja lisää näyttämölle raahattavia kuvioita, kaksi eri maalia ja dynaaminen palautetekstikenttä kohtien 1-5 mukaisesti. 14. Lisää alustusskripteihin taulukot, jotka kuvaavat maalien "hyväksymiä" raahattavia olioita. Taulukko sisältää niiden olioiden instanssinimet, jotka kuuluvat ko. maaliin. 1 var maali1 = ["pallo1","pallo2","pallo3"]; 2 var maali2 = ["nelio1","nelio2","nelio3"]; 15. Lisää tapahtumakäsittelijäfunktiot. Muokkaa drag_off-funktiota siten, että se tunnistaa kolme eri lopputulosta raahaamiselle ja antaa kustakin sopivan palautteen: - Raahattava olio pudotetaan oikeaan maaliin, jolloin raahattavan olion nimi löytyy ko. maalin listalta. - Raahattava olio pudotetaan väärään maaliin. - Raahattava olio putosi molempien maalien ulkopuolelle. Tietyn arvon kuulumista taulukkoon voi testata Array-luokan indexof-funktiolla, joka palauttaa alkion paikan taulukossa tai -1, jos arvoa ei löydy. 1 if(maali1.indexof(event.target.name)>-1){ 2 // Arvo löytyi listalta 3 } 4 else { 5 // Arvoa ei ollut listalla 6 } 16. Lisää tapahtumakuuntelijat raahattaviin olioihin ja testaa ohjelman toimintaa. Lisätään raahaustehtävään pisteenlaskutoiminto, joka myöntää käyttäjälle pisteitä onnistuneista raahauksista. Voit lisätä toiminnon joko ensimmäiseen raahaustehtävään tai yllä olevan lisätehtävän mukaiseen raahaustehtävään. " 5 / " 6

6 17. Lisää näyttämölle dynaaminen tekstikenttä, joka esittää käyttäjän pisteet. Anna sille instanssinimeksi esim. "pisteet". 18. aseta pisteet-kentän tekstisisällöksi 0 kentän alustuksen yhteydessä: 1 pisteet.text = "0"; 19. Lisää drag_off-funktioon pisteitä lisäävä skripti if-lohkoon, jossa on testattu että käyttäjä on onnistunut raahauksessaan: 1 // Raahaus onnistui 2 pisteet.text = String( Number(pisteet.text) + 1 ); Yllä esitetyssä skriptissä haetaan pisteet-tekstikentän tekstiarvo ja muutetaan se numeroarvoksi. Numeroarvoa kasvatetaan sopivasti, minkä jälkeen uusi pistemäärä muutetaan takaisin merkkijonoksi ja sijoitetaan pisteet-tekstikentän tekstisisällöksi. 20. Testaa ohjelman toimintaa. + Ohjelmaa voi huijata antamaan loputtomasti pisteitä siirtämällä olion uudelleen omaan maaliinsa. Kuinka tämä voidaan estää? Tällaiset huijausyritykset saadaan estettyä esimerkiksi pitämällä kirjaa niistä raahattavista olioista, joista on jo myönnetty pisteitä. Tee uusi taulukko, johon kerätään pisteytettyjen olioiden instanssinimet, ja lisää pisteitä vain jos raahatun olion instanssinimeä ei olla lisätty listalle (ks. indexof kohdassa 15). Satunnaisuuden ohjelmoinnilla voidaan toteuttaa toimintoja, jotka toteutuvat vain tietyllä todennäköisyydellä. Esimerkiksi kolikonheiton lopputulos on kruuna (tai klaava), kun Math.random() < 0.5, nopanheiton lopputulos on täsmälleen 3, kun Math.random() < (1/6) ja 52 kortin pakasta saadaan ässä silloin kun Math.random() < (1 / 13). Toteutetaan yksinkertainen kolikonheittosimulaattori, joka kertoo nopanheiton lopputuloksen. 21. Lisää näyttämölle dynaaminen tekstikenttä, joka kertoo laskiko kolikko kruuna- vai klaavaasentoon, ja painike, jonka avulla kolikko voidaan heittää uudelleen. Anna näille molemmille instanssinimet. 22. Lisää skriptiin tapahtumakäsittelijäfunktio, joka asettaa tekstikentän tekstisisällöksi "Kruuna" todennäköisyydellä 0.5 ja muissa tapauksissa tekstisisällöksi asetetaan "Klaava". 23. Liitä tapahtumankäsittelijä painikkeeseen lisäämällä painikkeelle tapahtumakuuntelija. 24. Testaa ohjelman toimintaa. " 6 / " 6

Harjoitus 2: Oppijan aktivointi (15.3.2016)

Harjoitus 2: Oppijan aktivointi (15.3.2016) Harjoitus 2: Oppijan aktivointi (15.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla

Lisätiedot

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016)

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla

Lisätiedot

Harjoitus 1: Perusteet, navigointi ja tekstinsyöttö ( )!

Harjoitus 1: Perusteet, navigointi ja tekstinsyöttö ( )! Tietokoneavusteinen opetus, 2017 Harjoitus 1: Perusteet, navigointi ja tekstinsyöttö (10.3.2017) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä ja HTML5-tekniikoita neljänä

Lisätiedot

Harjoitus 4: HTML5 piirtoalusta ( )!

Harjoitus 4: HTML5 piirtoalusta ( )! ! Tietokoneavusteinen opetus, 2017 Harjoitus 4: HTML5 piirtoalusta (24.3.2017)!! Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä ja HTML5-tekniikoita neljänä kertana: 10.3.,

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

Hiirisanomiin vastaaminen. 2007

Hiirisanomiin vastaaminen. 2007 Hiirisanomiin vastaaminen juha.jarvensivu@tut.fi 2007 Sisällys Hiirisanomat Näppäinsanomat Capture Objektin valinta Osumatestaus Objektin raahaaminen Esimerkki Hiirisanomat MouseEnter Kutsutaan kun hiiren

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

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

Sisältö. 22. Taulukot. Yleistä. Yleistä

Sisältö. 22. Taulukot. Yleistä. Yleistä Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä

Lisätiedot

Listarakenne (ArrayList-luokka)

Listarakenne (ArrayList-luokka) Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen

Lisätiedot

Osoitin ja viittaus C++:ssa

Osoitin ja viittaus C++:ssa Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja

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

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

Interaktiivinen käyttöliittymä. 2008

Interaktiivinen käyttöliittymä. 2008 Interaktiivinen käyttöliittymä juha.jarvensivu@tut.fi 2008 Sisällys Hiirisanomat ja Näppäinsanomat Objektin valinta Osumatestaus Objektin raahaaminen Esimerkki Hiirisanomat MouseEnter Kutsutaan kun hiiren

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin

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

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

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

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

4. Olio-ohjelmoinista lyhyesti 4.1

4. Olio-ohjelmoinista lyhyesti 4.1 4. Olio-ohjelmoinista lyhyesti 4.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 4.2 Yleistä Olio-ohjelmointia käsitellään hyvin

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

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma. 2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä

Lisätiedot

List-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen

List-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen 1 List-luokan soveltamista List-luokan metodeja Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen 1 List-luokan metodeja List-luokan

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet String-merkkijonoluokka 1 Ohjelmointikielten merkkijonot Merkkijonot ja niiden käsittely on välttämätöntä ohjelmoinnissa Valitettavasti ohjelmointikielten tekijät eivät tätä ole ottaneet

Lisätiedot

Flash ActionScript osa 4

Flash ActionScript osa 4 Flash ActionScript osa 4 Tekstikentät Flash:ssa tekstikenttä voi olla tyypiltään joko TLF Text tai Classic Text. TLF Text on uusi Flash CS5 tullut tyyppi. Sen animointi ja muotoilu ominaisuudet ovat monipuolisemmat

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,

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

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

ITKP102 Ohjelmointi 1 (6 op)

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

Lisätiedot

Alkuun HTML5 peliohjelmoinnissa

Alkuun HTML5 peliohjelmoinnissa Paavo Räisänen Alkuun HTML5 peliohjelmoinnissa www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida ja levittää ei kaupallisissa tarkoituksissa. Sisällysluettelo 1: Alkusanat 2: Alkuun 3: Pelinäkymä

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

Taulukot. Taulukon käsittely. Tämän osan sisältö. Esimerkki. Taulukon esittely ja luonti. Taulukon alustaminen. Taulukon koko

Taulukot. Taulukon käsittely. Tämän osan sisältö. Esimerkki. Taulukon esittely ja luonti. Taulukon alustaminen. Taulukon koko 5 Taulukot Tämän osan sisältö Taulukon esittely ja luonti Taulukon alustaminen Taulukon koko Taulukon käsittely indeksointi peräkkäiskäsittely hajakäsittely harva taulukko Taulukon järjestäminen Kaksiulotteinen

Lisätiedot

Tietueet. Tietueiden määrittely

Tietueet. Tietueiden määrittely Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään

Lisätiedot

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi

Lisätiedot

Olio-ohjelmointi Syntaksikokoelma

Olio-ohjelmointi Syntaksikokoelma C++-kielen uusia ominaisuuksia Olio-ohjelmointi Syntaksikokoelma 31.10.2008 Bool-tietotyyppi: Totuusarvo true (1), jos ehto on tosi ja false (0) jos ehto epätosi. Dynaaminen muistinvaraus: Yhden muuttuja

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 18.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 18.3.2009 1 / 51 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta

Lisätiedot

Harjoitus 3 (viikko 39)

Harjoitus 3 (viikko 39) 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ä. Ohjelmointitehtävien

Lisätiedot

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4) 2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi

Lisätiedot

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

System.out.printf(%d / %d = %.2f%n, ekaluku, tokaluku, osamaara); 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. Ohjelmointitehtävien osalta palautetaan

Lisätiedot

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu Taulukot Taulukon määrittely ja käyttö Taulukko metodin parametrina Taulukon sisällön kopiointi toiseen taulukkoon Taulukon lajittelu esimerkki 2-ulottoisesta taulukosta 1 Mikä on taulukko? Taulukko on

Lisätiedot

Ohjelmointiharjoituksia Arduino-ympäristössä

Ohjelmointiharjoituksia Arduino-ympäristössä Ohjelmointiharjoituksia Arduino-ympäristössä Yleistä Arduino-sovelluksen rakenne Syntaksi ja käytännöt Esimerkki ohjelman rakenteesta Muuttujat ja tietotyypit Tietotyypit Esimerkkejä tietotyypeistä Ehtolauseet

Lisätiedot

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö Yleistä Tehtävä: Tee Javalla StringStats-ohjelma, joka laskee esikäsittelemästään merkkijonosta joitakin tunnuslukuja. Lausekielinen ohjelmointi II

Lisätiedot

1 Tehtävän kuvaus ja analysointi

1 Tehtävän kuvaus ja analysointi Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.

Lisätiedot

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

System.out.printf(%d / %d = %.2f%n, ekaluku, tokaluku, osamaara); Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät ongelmat suoraan Jormalle sähköpostitse (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja

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

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan

Lisätiedot

Tentti erilaiset kysymystyypit

Tentti erilaiset kysymystyypit Tentti erilaiset kysymystyypit Monivalinta Monivalintatehtävässä opiskelija valitsee vastauksen valmiiden vastausvaihtoehtojen joukosta. Tehtävään voi olla yksi tai useampi oikea vastaus. Varmista, että

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 16.3.2009 1 / 40 Kertausta: tiedostosta lukeminen Aluksi käsiteltävä tiedosto pitää avata: tiedostomuuttuja = open("teksti.txt","r")

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 22.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 22.3.2010 1 / 49 Lista luokan kenttänä Luokan kenttä voi olla myös esimerkiksi lista, sanakirja tai oliomuuttuja.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. 1 Luokka Murtoluku uudelleen Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. Sievennettäessä tarvitaan osoittajan ja nimittäjän suurin yhteinen tekijä (syt).

Lisätiedot

ETAPPI ry JOOMLA 2.5 Mediapaja. Artikkeleiden hallinta ja julkaisu

ETAPPI ry JOOMLA 2.5 Mediapaja. Artikkeleiden hallinta ja julkaisu ETAPPI ry JOOMLA 2.5 Artikkeleiden hallinta ja julkaisu ETAPPI ry JOOMLA 2.5 Sivu 1(16) Sisällysluettelo 1 Joomla! sivuston sisällöntuotanto... 2 2 Artikkeleiden julkaisu sivustolla... 4 3 Artikkelin julkaisemista

Lisätiedot

Luento 3. Jouni Ikonen - Jouni.Ikonen lut.fi

Luento 3. Jouni Ikonen - Jouni.Ikonen lut.fi CT30A3200 - WWW-sovellukset Luento 3 Jouni Ikonen - Jouni.Ikonen lut.fi Kalvot Arto Hämäläisen kalvojen pohjalta 1 Jouni Ikonen HTML-lomakkeet HTML-lomakkeiden avulla voidaan WWW-sovelluksessa hakea käyttäjän

Lisätiedot

OTATKO RISKIN? peli. Heitä noppaa 3 kertaa. Tavoitteena on saada

OTATKO RISKIN? peli. Heitä noppaa 3 kertaa. Tavoitteena on saada OTATKO RISKIN? peli 1. Heitä noppaa 20 kertaa. Tavoitteena on saada vähintään 10 kertaa silmäluku 4, 5 tai 6. Jos onnistut, saat 300 pistettä. Jos et onnistu, menetät 2. Heitä noppaa 10 kertaa. Tavoitteena

Lisätiedot

Ohjelmointi 1 C#, kevät 2014, 2. uusintatentti NIMI:

Ohjelmointi 1 C#, kevät 2014, 2. uusintatentti NIMI: ITKP102 Ohjelmointi 1 C# 13.6.2014 1 / 5 Ohjelmointi 1 C#, kevät 2014, 2. uusintatentti Tentaattori Antti-Jussi Lakanen Valitse neljä tehtävää ja vastaa niihin. Keväällä 2014 kurssin tehneille lasketaan

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

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

815338A Ohjelmointikielten periaatteet 2014-2015

815338A Ohjelmointikielten periaatteet 2014-2015 815338A Ohjelmointikielten periaatteet 2014-2015 X Skriptiohjelmointi Sisältö 1. Johdanto 2. Skriptikielten yleispiirteitä 3. Python 815338A Ohjelmointikielten periaatteet, Skriptiohjelmointi 2 X.1 Johdanto

Lisätiedot

Adobe Premiere Elements ohjeet

Adobe Premiere Elements ohjeet Adobe Premiere Elements ohjeet 1. Käynnistä ohjelma kaksoisnapsauttamalla työpöydän kuvaketta. 2. Avautuvasta Elements-ikkunasa valitse a. New Project jos aloitat uuden videoeditoinnin. b. Open Project

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 17.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.3.2010 1 / 49 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta

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

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

Mikä yhteyssuhde on?

Mikä yhteyssuhde on? 1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String

Lisätiedot

Ohjelmointi 1 C#, kevät 2013, 2. tentti

Ohjelmointi 1 C#, kevät 2013, 2. tentti ITKP102 Ohjelmointi 1 C# 15.5.2013 1 / 6 Ohjelmointi 1 C#, kevät 2013, 2. tentti Tentaattori Antti-Jussi Lakanen Tässä tentissä saa olla mukana omia muistiinpanoja yhden arkin verran. Tentin valvojalla

Lisätiedot

2. Olio-ohjelmoinista lyhyesti 2.1

2. Olio-ohjelmoinista lyhyesti 2.1 2. Olio-ohjelmoinista lyhyesti 2.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 2.2 Yleistä Olio-ohjelmointia käsitellään hyvin

Lisätiedot

Algoritmit 2. Demot Timo Männikkö

Algoritmit 2. Demot Timo Männikkö Algoritmit 2 Demot 2 3.-4.4.2019 Timo Männikkö Tehtävä 1 Avoin osoitteenmuodostus: Hajautustaulukko t (koko m) Erikoisarvot VAPAA ja POISTETTU Hajautusfunktio h(k,i) Operaatiot: lisaa etsi poista Algoritmit

Lisätiedot

Digitaalisen median tekniikat JavaScript_osa Harri Laine 1

Digitaalisen median tekniikat JavaScript_osa Harri Laine 1 Digitaalisen median tekniikat JavaScript_osa2 7.4.2004 Harri Laine 1 JavaScript oliot JavaScriptissä voidaan määritellä myös luokkia ja olioita. Luokka määritellään konstruktorifunktion avulla function

Lisätiedot

Digitaalisen median tekniikat JavaScript_osa2

Digitaalisen median tekniikat JavaScript_osa2 Digitaalisen median tekniikat JavaScript_osa2 7.4.2004 Harri Laine 1 JavaScriptissä voidaan määritellä myös luokkia ja olioita. Luokka määritellään konstruktorifunktion avulla function Ympyra(x,y,r) {

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 26.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 26.10.2015 1 / 28 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta

Lisätiedot

Interaktiivinen tarinankerronta

Interaktiivinen tarinankerronta Interaktiivinen tarinankerronta Tehtävä 1: Tarinan alku pääohjelmaan Main. java ei tehdä muutoksia tulostusrivit tiedostoon Kayttoliittyma.java tulostus lyhyesti sout + tab komennolla Tiedoston Kayttoliittyma.java

Lisätiedot

Omien lomakkeiden käyttöönotto

Omien lomakkeiden käyttöönotto Omien lomakkeiden käyttöönotto Visma Avendossa voit ohjelman järjestelmämallien lisäksi luoda myös omia lomakkeita mm. laskujen, tarjousten ja tilausvahvistusten pohjiksi. Tässä ohjeessa käymme läpi, mitä

Lisätiedot

Condes. Quick Start opas. Suunnistuksen ratamestariohjelmisto. Versio 7. Quick Start - opas Condes 7. olfellows www.olfellows.net 1.

Condes. Quick Start opas. Suunnistuksen ratamestariohjelmisto. Versio 7. Quick Start - opas Condes 7. olfellows www.olfellows.net 1. Condes Suunnistuksen ratamestariohjelmisto Versio 7 Quick Start opas Yhteystiedot: olfellows Jouni Laaksonen Poijukuja 4 21120 RAISIO jouni.laaksonen@olfellows.net www.olfellows.net olfellows www.olfellows.net

Lisätiedot

Javascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia

Javascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia Javascript 2: Ohjelmointikielen ominaisuudet Jaana Holvikivi Metropolia HTML - sivun rakenne ja osiot HTML HEAD STYLE SCRIPT STYLEsheet Javascript file BODY Javascript

Lisätiedot

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Kompositio Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä kompositio on? Tili - : String - : double 1 1 Kayttoraja

Lisätiedot

Java kahdessa tunnissa. Jyry Suvilehto

Java kahdessa tunnissa. Jyry Suvilehto Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,

Lisätiedot

Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi lötköjen kansoittamaa alkulimaa simuloiva olioperustainen ohjelma Java-kielellä. Lötköt säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 10.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 10.2.2010 1 / 43 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin

Lisätiedot

4. Luokan testaus ja käyttö olion kautta 4.1

4. Luokan testaus ja käyttö olion kautta 4.1 4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään

Lisätiedot

WebOodissa (KV koordinaattorit)

WebOodissa (KV koordinaattorit) Ohje Courses in English for Exchange Students oppaan laatimiseen WebOodissa (KV koordinaattorit) WebOodissa on kahdenlaisia käyttöoikeuksia OpasOodiin. Ne KV koordinaattorit, joilla ennestään on OpasVastuuhenkilö

Lisätiedot

1. Taustatietoa näppäimistönkuuntelusta

1. Taustatietoa näppäimistönkuuntelusta Muilla kielillä: English Suomi Pong-peli, vaihe 5 Tämä on Pong-pelin tutoriaalin osa 5/7. Tämän vaiheen aikana Lisäämme peliin näppäimet Laitetaan mailat liikkumaan pelaajien ohjaamina Näin ohjelmaamme

Lisätiedot

18. Abstraktit tietotyypit 18.1

18. Abstraktit tietotyypit 18.1 18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Merkintöjen tulkintoja *++Pstack->top = item *Pstack->top++ = item (*Pstack->top)++ *(Pstack++)->top = item *(++Pstack)->top = item Lisää pinon toteutuksia Dynaaminen taulukko

Lisätiedot

Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto

Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto Condess ratamestariohjelman käyttö Aloitus ja alkumäärittelyt Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto Kun kysytään kilpailun nimeä, syötä kuvaava nimi. Samaa nimeä käytetään oletuksena

Lisätiedot

Racket ohjelmointia II. Tiina Partanen 2015

Racket ohjelmointia II. Tiina Partanen 2015 Racket ohjelmointia II Tiina Partanen 2015 Sisältö 1) Peli I Yksinkertainen peli, jossa kerätään kohteita ja väistellään vaaroja Pitkälle viety koodi, johon täydennetään vain puuttuvat palat Ei tarvita

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

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

// Tulostetaan double-tyyppiseen muuttujaan hinta tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf(%.1f euros. Lue kukin tehtävänanto huolellisesti ja kokonaisuudessaan ennen kuin aloitat vastaamisen. Kustakin tehtävästä voi saada 0 6 pistettä. Tentin läpipääsyraja on 12 / 24 pistettä. Ratkaisut palautetaan WETO-järjestelmään

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla

Lisätiedot

Harjoitus 1 (viikko 44)

Harjoitus 1 (viikko 44) 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

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

Sukupuu -ohjelma. Ossi Väre (013759021) Joni Virtanen (013760641)

Sukupuu -ohjelma. Ossi Väre (013759021) Joni Virtanen (013760641) Sukupuu -ohjelma Ossi Väre (013759021) Joni Virtanen (013760641) 7.11.2011 1 Johdanto Toteutimme C -kielellä sukupuuohjelman, johon käyttäjä voi lisätä ja poistaa henkilöitä ja määrittää henkilöiden välisiä

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

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

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

JUnit ja EasyMock (TilaustenKäsittely)

JUnit ja EasyMock (TilaustenKäsittely) OHJELMISTOJEN TESTAUS JA HALLINTA Syksy 2015 / Auvo Häkkinen JUnit ja EasyMock (TilaustenKäsittely) Tehtävässä tarvittava koodi löytyy osoitteella http://users.metropolia.fi/~hakka/oth/mockesimerkki.zip

Lisätiedot

Tentti erilaiset kysymystyypit

Tentti erilaiset kysymystyypit Tentti erilaiset kysymystyypit Kysymystyyppien kanssa kannatta huomioida, että ne ovat yhteydessä tentin asetuksiin ja erityisesti Kysymysten toimintatapa-kohtaan, jossa määritellään arvioidaanko kysymykset

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