Harjoitustyö Johdanto Tehtävä

Koko: px
Aloita esitys sivulta:

Download "Harjoitustyö Johdanto Tehtävä"

Transkriptio

1 1. Johdanto 1.1. Tehtävä Lausekielinen ohjelmointi II -kurssin toisena harjoitustyönä toteutetaan Javaohjelma ASCII-grafiikkana [1] esitettyjen kuvien käsittelyyn. Ohjelma lataa käynnistyessään kuvan tekstitiedostosta keskusmuistissa olevaan taulukkoon. Taulukkoon ladattua kuvaa voidaan katsella ja muokata. Kuvaa katsotaan tulostamalla taulukon sisältö näytölle. Näytölle voidaan tulostaa myös kuvan tiedot. Tiedot sisältävät kuvan koon ja kuvan eri merkkien lukumäärät. Kuvaan muokataan kääntämällä sitä 90 :tta kerrallaan myötä- tai vastapäivään ja korvaamalla väri toisella värillä. Muokkaus perutaan lataamalla kuva uudelleen tiedostosta. Ohjelma on voitava pysäyttää käyttäjän toimesta. Varaa harjoitustyön tekoon riittävästi aikaa. Kurssin viime vuonna suorittaneet opiskelijat arvioivat käyttäneensä toisen harjoitustyön tekemiseen aikaa kokonaisuudessaan, kaikki työvaiheet huomioiden keskimäärin 21 tuntia (mediaani 18 tuntia) Kuva ASCII-muodossa Harjoitustyössä käsitellään kuvia, joissa ajatellaan olevan 16 harmaan värisävyä. Jokaiselle värille on määritelty merkki (taulukko 1). Mustaa väriä vastaa ristikkomerkki ja valkoista väriä välilyönti. Näiden värien välissä on 14 harmaan sävyä siten, että harmaa tummenee kohti mustaa ja vaalenee kohti valkoista. Merkit on pyritty valitsemaan siten, että merkin kuvapisteiden määrä vastaa karkeasti harmaan sävyä. Valkoinen esitetään tästä syystä näkymättömällä merkillä, jossa ei ole ollenkaan kuvapisteitä. Merkeillä on myös lukukoodit. Kuva esitetään ohjelmassa vähintään yhtenä kaksiulotteisena taulukkona, jonka koko on n m alkiota. Oletetaan, että kuvassa on aina vähintään yksi rivi (n 1) ja vähintään yksi sarake (m 1). Taulukon rivien ja sarakkeiden lukumäärät voivat olla samat (n = m) tai poiketa toisistaan (n m). Taulukon alkioiden tyypiksi kannattaa valita char. Kuvassa 1 on esitetty kokoinen jouluisen puun kuva taulukkomuodossa. Tyhjiltä näyttävissä alkioissa on yksi välilyönti. Kuvan paikkoihin viitataan jatkossa taulukon alkioiden tapaan kahdella nollasta alkavalla indeksiarvolla. Kuvan ensimmäinen paikka (0, 0) on vasemmassa yläkulmassa. Viimeinen paikka (n - 1, m - 1) on puolestaan oikeassa alakulmassa. Kuva on myös tekstitiedostossa, josta se ladataan tietokoneen keskusmuistissa olevaan taulukkoon. Tekstitiedostossa oleva kuva koostuu samoista merkeistä kuin taulukossa oleva kuva. Kaikki tiedoston rivit ovat aina samanmittaisia. Rivi päättyy viimeiseen näkyvään merkkiin vain, jos merkki on rivin viimeinen merkki. Näin rivin alun lisäksi myös rivin lopussa voi olla välilyöntejä. Kuvan koko täytyy päätellä latauksen yhteydessä, koska tiedostossa ei ole kuvan merkkien lisäksi muita tietoja. Kuvan sisältävän tiedoston voi olettaa olevan aina kunnossa. Kuvissa ei ole esimerkiksi muita kuin taulukossa 1 esitettyjä merkkejä. Lausekielinen ohjelmointi II Syksy 2017 Jorma Laurikkala 1 / 13

2 Kuvassa 2 on esitetty tiedoston file_tree.tt sisältö. Testeissä käytettävät kuvat julkaistaan kurssin kotisivuilla. Kuvia voi piirtää myös itse tekstieditorissa, josta kuvan voi tallentaa tekstitiedostoon ohjelmaan ladattavaksi. Taulukko 1: Värejä vastaavat merkit ja merkkien lukukoodit. & $ % * o! ; : ', * * # * * # * # # # * * # # # # # o # # # # o * # # # # # # # # * o # # # # # # o # # # # # # # # # # o # # # # # # # # o # # # # # # # # # # # # o # # # # # # # # # # o # # # # # # # # # # # # # # o # # # # # # # # # # # # o # # # # # # # # # # # # # # # # # # : : : : : : : : : : : : : : : : Kuva 1: Tree-kuva kokoisessa taulukossa. Kuva 2: Tiedoston file_tree.tt merkit. Jokaisella rivillä on 16 merkkiä. Lausekielinen ohjelmointi II Syksy 2017 Jorma Laurikkala 2 / 13

3 1.3. Kuvan kääntö Kuvan kääntö (kierto, rotatointi) tapahtuu normaalissa tietokonegrafiikassa rotaatiomatriisien avulla [2]. Harjoitustyössä käytettävässä kaksiulotteisessa ASCIIgrafiikassa rotaatio olisi luontevaan tehdä kaksiulotteisessa vasenkätisessä karteesisessa koordinaatistossa, koska kaksiulotteisen taulukon origo on sen vasemmassa yläkulmassa ja y-akseli suuntautuu alas. Teknisiä ongelmia laskentaan aiheuttaa vaatimus taulukon indeksien positiivisuudesta ( 0) ja se, että taulukossa paikat määritellään antamalla ensin rivi-indeksi (y) ja sitten sarakeindeksi (), jolloin indekseillä määritellyt koodinaattiparit ovat muotoa (y, ). Nämä ongelmat voi ratkaista sopivilla muunnoksilla, mutta helpompaa on hypätä suoraan 90 :n käännöksen lopputulokseen eli taulukon rivien vaihtamiseen sarakkeiksi ja päinvastoin. Kuvan käännöksen tulos kannattaa sijoittaa uuteen taulukkoon. On selkeintä toimia siten, että kun käännettävän kuvan sisältävä vanha taulukko on n m - kokoinen, on käännetyn kuvan sisältävä uusi taulukko m n -kokoinen. Näin kuvaa käännettäessä kuvataulukon koko vaihtelee vuorotellen kokojen n m ja m n välillä. Kuvaa suuremmista taulukoista olisi lähinnä hyötyä, jos uusi taulukko on aputaulukko, josta käännetty kuva kopioidaan takaisin vanhaan taulukkoon. Tällaista ratkaisua ei suositella, koska ohjelman toteutus vaikeutuu huomattavasti muun muassa siten, että kuvan kokoa ei voi päätellä enää suoraan taulukon koosta ja muistia varataan enemmän kuin on tarpeen. Jatkossa oletetaan, että taulukko on aina samankokoinen kuin kuva. Myötäpäivään tapahtuvan käännöksen voi tehdä suoraan ilman rotaatiomatriisia esimerkiksi siten, että vanhan taulukon ensimmäisen rivin sisältö kopioidaan uuden taulukon viimeisen sarakkeen sisällöksi, toisen rivin sisältö kopioidaan toiseksi viimeisen sarakkeen sisällöksi ja niin edelleen. Lopuksi kopioidaan vanhasta taulukosta viimeisen rivin merkit uuden taulukon ensimmäiseen sarakkeeseen. Vastapäivään tapahtuvan käännön voi puolestaan toteuttaa suoraan esimerkiksi siten, että vanhan taulukon ensimmäisen sarakkeen sisältö kopioidaan uuden taulukon viimeisen rivin sisällöksi, toisen sarakkeen sisältö kopioidaan toiseksi viimeisen rivin sisällöksi ja niin edelleen, kunnes vanhan taulukon viimeisen sarakkeen sisältö on kopioitu uuden taulukon ensimmäisen rivin sisällöksi. Vanhan taulukon voi korvata uudella taulukolla liittämällä sijoitusoperaattorilla vanhaan taulukko-olioon liittyvän viitteen uuteen taulukko-olioon. Kuvassa 1 on esitetty suuren l-kirjaimen muotoisen kuva käännös myötäpäivään ja vastapäivään. Neljän samansuuntaisen käännöksen jälkeen kuva on alkuperäisessä muodossaan 5 4 -kokoisessa taulukossa. Lausekielinen ohjelmointi II Syksy 2017 Jorma Laurikkala 3 / 13

4 (a) Neljä käännöstä myötäpäivään. (b) Neljä käännöstä vastapäivään. Kuva 3: L-kuvan kääntöjä (a) myötä- ja (b) vastapäivään. Myötäpäivään käännettäessä nuolet osoittavat mihin uuden taulukon sarakkeeseen vanhan taulukon ensimmäisen rivin merkit kopioidaan. Vastapäivään käännettäessä nuolet osoittavat mille uuden taulukon riville vanhan taulukon ensimmäisen sarakkeen merkit kopioidaan Valmiin koodin käytöstä Harjoitustyön teossa saa käyttää kurssin verkkosivuilla julkaistuja mallivastauksia joko sellaisenaan tai muokattuna. Osa viikkoharjoituksen tehtävistä on tarkoitettu avuksi harjoitustyön teossa. Harjoitusyö valmistuu helpoimmin viimeisen harjoituskertojen tehtäviä ratkaisemalla. Esimerkiksi tehtävät 4.7, 5.4, 5.5 ja 5.6 liittyvät suoraan harjoitustyöhön. Javan API:n tietorakenneluokkia ei saa käyttää; ainoa sallittu tietorakenne on taulukko. Javan API:n taulukkojen käsittelyyn liittyvät operaatiot on myös kielletty. Esimerkiksi Arrays-luokan palvelut ovat kieltolistalla. Merkkijonoihin on jo tutustuttu ensimmäisessä harjoitustyössä ja siksi String-luokan kaikkia operaatioita saa käyttää. Tiedustele harjoitustyön ohjaajaan mielipidettä, jos Javan API:sta sattuu löytymään palvelu, jolla harjoitustyö ratkeaa kovin helposti. Harjoitustyön ohjaajaan kannattaa ottaa yhteyttä muutenkin, mikäli on epävarma siitä mitä saa tehdä ja mitä ei. Harjoitustyö tehdään itse ja pääosin omalla ajalla. Kaverien kanssa saa keskustella, mutta suora kopiointi eli plagiointi on kiellettyä. Verkosta löytyviä ja harjoitustyötä muistuttavia ohjelmia saa ajaa, mutta niiden koodia ei saa kopioida. Muualta kuin kurssisivuilta poimitun koodin käyttö katsotaan plagioinniksi. Kurssisivuilla mahdollisesti julkaistavan mallivastauksen tavukoodin purkaminen lähdekoodiksi on plagiointia. Lausekielinen ohjelmointi II Syksy 2017 Jorma Laurikkala 4 / 13

5 1.5. Pakollisuus ja korvaavuudet Harjoitustyö on pakollinen. Ainoa poikkeus tähän sääntöön ovat harjoitustyön korvanneet opiskelijat. Harjoitustyön voi korvata: A) Muiden oppilaitosten opinnoilla. B) Syksyllä 2016 luennoidun Lausekielinen ohjelmointi II -kurssin hyväksytyllä toisella harjoitustyöllä, jos kurssi jäänyt kesken esimerkiksi ase- tai siviilipalveluksen tapaisesta pakottavasta syystä. Kurssin kotisivuilla on annettu tarkempia tietoja osasuorituksista. C) Edellisten kohtien tapaisella painavalla syyllä. Kohdan A perusteella on annettu kaikki opintokoordinaattorin (Heli Rikala) kurssin vastuuopettajalle (Jorma Laurikkala) esittämät korvaavuudet. B ja C-kohtien osalta on tärkeintä muistaa, että harjoitustyö korvautuu vain, jos ottaa yhteyttä kurssin vastuuopettajaan. Tähän mennessä tulleet yhteydenotot ja sopimukset on kirjattu ylös eikä uusia yhteydenottoja näiltä osin tarvita. 2. Ohjelman toiminnot Seuraavassa esitellään ohjelman toiminnallisuutta pienten esimerkkien avulla. Laajempia esimerkkiajoja julkaistaan kurssin kotisivujen Opetus Harjoitustyöt Harjoitustyö 2 -kohdassa. Ohjelmassa on komennot kuvan tulostamiseen näytölle (luku 2.4), kuvan tietojen tulostamiseen (luku 2.5), kuvan kääntämiseen myötäpäivään (luku 2.6), kuvan kääntämiseen vastapäivään (luku 2.7), värin korvaamiseen toisella (luku 2.8), kuvan lataamiseen uudelleen (luku 2.9) ja ohjelman lopettamiseen (luku 2.10). Ainoastaan uudelleen lataava komento lataa tiedoston. Esimerkiksi kuvan tulostava komento tulostaa taulukon sisällön kuvaa lataamatta Ohjelman käynnistys Ohjelma lataa käynnistyessään tekstitiedostossa olevan ASCII-grafiikkakuvan taulukkoon. Tiedoston nimi välitetään ohjelmalle komentoriviparametrina. Ohjelma käynnistetään seuraavalla komennolla: java ASCIIArt17 file_l.tt kun halutaan ladata tiedoston file_l.tt merkit keskusmuistiin. Uudelleenohjausta käytettäessä komento voi olla esimerkiksi: java ASCIIArt17 file_l.tt < input_l.tt > out.tt Ohjelman tulostaa tervehdyksen (luku 2.2) jälkeen virheilmoituksen "Invalid command-line argument!" ja jäähyväiset (luku 2.10), jos komentoriviparametreja ei ole annettu, komentoriviparametreja on enemmän kuin yksi tai jos tiedostoa ei löydetä. Jos ohjelmaa pyydetään esimerkiksi lataamaan hukassa oleva file-.tttiedosto: java ASCIIArt17 file-.tt niin tulostetaan: Lausekielinen ohjelmointi II Syksy 2017 Jorma Laurikkala 5 / 13

6 A S C I I A r t Invalid command-line argument! Bye, see you soon Tervehdystekstin tulostaminen Ohjelma tulostaa käynnistyessään näytölle miinusmerkeillä ('-') ja kahdella putkimerkillä (' ') kehystetyn viestin: A S C I I A r t Tämä teksti tulostetaan vain kerran Komennon lukeminen Heti tervehdysrivien jälkeen tulostetaan omalle rivilleen kehote "Please, enter a command:" ja jäädään odottamaan käyttäjän komentoa seuraavalla rivillä. Ohjerivi tulostetaan uudelleen kaikkien komentojen paitsi lopetuskomennon jälkeen A S C I I A r t Tehtävän helpottamiseksi oletetaan, että ohjelmalle annettu komento on aina oikeellinen Kuvan tulostaminen Ohjelma tulostaa kuvan näytölle -komennolla. Rivit tulostetaan täysimittaisina, vaikka lopussa olisi vain välilyöntejä (valkoista väriä). Näytölle tulostetut välilyönnit on korostettu ohessa. Tulostetaan tiedostosta file_l.tt ladattu kuva näytölle: 2.5. Kuvan tietojen tulostaminen Komento info tulostaa näytölle kuvan koon ja värejä symboloivien merkkien lukumäärät. Ensin tulostetaan kuvan koko muodossa "n m", missä n on kuvan rivien lukumäärä (korkeus) ja m on sarakkeiden lukumäärä (leveys). Sitten tulostetaan kukin merkeistä lukumääränsä kanssa omalle rivilleen taulukon 1 järjestyksessä (musta alussa, valkea lopussa). Merkki ja lukumäärä erotetaan yhdellä välilyönnillä. Lausekielinen ohjelmointi II Syksy 2017 Jorma Laurikkala 6 / 13

7 L-kuvassa nähdään olevan viisi riviä ja neljä saraketta. Kuvassa on vain kahta väriä. Harmaata väriä vastaavia -kirjaimia on kahdeksan kappaletta, kun taas valkoista väriä vastaavia välilyöntejä on 12 kappaletta. info 5 4 # 0 & 0 $ 0 % 0 8 * 0 o 0 0! 0 ; 0 : 0 ' 0, Kuvan kääntäminen myötäpäivään Kuvaa käännetään 90 :tta myötäpäivään komento rotater. Alla kuva käännetään neljästi ja alkuperäistä kuvaa ja käännettyjä kuvia tarkastellaan ne tulostamalla. rotater rotater rotater Lausekielinen ohjelmointi II Syksy 2017 Jorma Laurikkala 7 / 13

8 rotater 2.7. Kuvan kääntäminen vastapäivään Kuvaa käännetään 90 :tta vastapäivään komento rotatel. Alla kuva käännetään taas neljästi ja alkuperäistä kuvaa ja käännettyjä kuvia tarkastellaan ne tulostamalla. rotatel rotatel rotatel rotatel Lausekielinen ohjelmointi II Syksy 2017 Jorma Laurikkala 8 / 13

9 2.8. Värin korvaamiseen toisella Komento recolour muuttaa valitun värin toiseksi. Muutettavan värin ja sen korvaavan värin merkit annetaan komennolle parametreina. Myös tämä komento oletetaan aina oikein annetuksi. Parametreja on aina kaksi, parametrit on erotettu toisistaan ja komennosta yhdellä välilyönnillä ja parametrit ovat yksittäisiä merkkejä. Huomaa, että välilyönti itsessään voi olla parametri, jolloin on oltava tarkkana, jos komento ositetaan String-luokan split-operaatiota käyttäen. Alla valkoinen väri (välilyönnit) korvataan harmaan sävyllä (pisteillä). Komennolle parametrina annettu välilyönti on korostettu. recolour o o o o o oooo recolour. oooo 2.9. Kuvan lataaminen uudelleen Alkuperäinen kuva saadaan käyttöön reset-komennolla, joka lataa kuvan uudelleen tiedostosta keskusmuistissa olevaan taulukkoon. Mikään muu komento ei lataa kuvaa levyltä. Ladataan kuva uudestaan ja katsotaan sitä -komennolla: Lausekielinen ohjelmointi II Syksy 2017 Jorma Laurikkala 9 / 13

10 oooo reset Ohjelman lopettaminen Ohjelman lopetetaan quit-komennolla. Ohjelma tulostaa ennen pysähtymistään lyhyet jäähyväiset "Bye, see you soon." quit Bye, see you soon. 3. Koodista Ohjelma kirjoitetaan tuttuun tapaan main-operaation sisältävään luokkaan. Ensimmäisestä harjoitustyöstä poiketen ohjelma on kuitenkin jaettava operaatioihin. Operaatioiden lukumäärä riippuu paljon ohjelmoijasta. Operaatiot eivät kuitenkaan saa olla liian pitkiä. Erityisesti main-operaatio on usein vaarassa venyä liian pitkäksi. Ohjelmassa on vältettävä saman koodin kopioimista eri paikkoihin, koska koodista voi kirjoittaa asianomaisista paikoista kutsuttavan operaation. Muista noudattaa hyvää ohjelmointitapaa: sisennä koodia johdonmukaisesti luettavuuden parantamiseksi, kommentoi riittävästi ja oikeissa paikoissa, liitä jokaiseen operaatioon yleisluonteinen kommentti, nimeä vakiot, muuttujat ja operaatiot järkevästi, käytä vakioita, pidä rivit riittävän lyhyinä, käytä välejä lauseiden sisällä ja erota loogiset kokonaisuudet toisistaan väliriveillä, pidä operaatiot järkevän mittaisia operaation tulisi mahtua yhdelle A4-kokoiselle sivulle ja tarkista operaatioiden parametrit erityisesti, kun operaatiolle välitetään taulukko, jolloin parametri on tarkistettava null-arvon varalta. Voit kerrata hyvän ohjelmointitavan lukemalla Lausekielinen ohjelmointi I - kurssin luentorungon 14. luvun [3] ja Lausekielinen ohjelmointi II -kurssin luentomateriaalin seitsemännen luvun [4]. Harjoitustyössä ei saa käyttää normaaleja, muuttuvia attribuutteja. Harjoitustyössä on tavoitteena jakaa ohjelma helposti hallittaviksi operaatioiksi, jotka kommunikoivat ympäristönsä kanssa parametrilistan ja paluuarvon kautta. Attribuutit näkyvät kaikkiin operaatioihin, jolloin ohjelman tietoja voidaan muuttaa missä tahansa. Paljon attribuutteja sisältävät ohjelmat ovat huonoja muun muassa Lausekielinen ohjelmointi II Syksy 2017 Jorma Laurikkala 10 / 13

11 siksi, että tällaisen ohjelman toimintaa on hyvin vaikea hahmottaa. Vakioituja attribuutteja saa käyttää vapaasti, koska vakion arvoa ei voi muuttaa operaatioissa. Älä käytä muita tietorakenteita kuin taulukkoja. Esimerkiksi listaa ei saa käyttää oli kyseessä Javan API:n valmis luokka tai itse toteutettu koodi. Älä käytä Arrays-luokkaa tai vastaavia luokkia, joilla taulukoiden käsittelyn salat on helppo ulkoistaa Javan omille palveluille. Kaikkia String-luokan operaatioita saa käyttää. Sisennä koodi välilyönnein. WETO ei hyväksy muilla tavoilla sisennettyä lähdekoodia, jotta koodi näkyisi opettajan editorissa täsmälleen opiskelijan aikomalla tavalla. Lue tiedot näppäimistöltä In-luokalla. Harjoitustyössä käyttäjän syötteiden lukuun ei saa käyttää Scanner-luokan tapaisia vaihtoehtoisia menetelmiä, jotta töiden automaattinen tarkistus (luku 6) onnistuisi paremmin. In-luokka löytyy kurssin sivuilta. Kirjoita kaikki koodi yhteen tiedostoon äläkä tee omia pakkauksia, jotta WETO osaa tarkistaa ohjelmasi. 4. Dokumentointi Harjoitustyöstä kirjoitetaan dokumentti, jonka tulee sisältää seuraavat asiat: Kansilehdellä tekijän nimi, opiskelijanumero, sähköpostiosoite, yksikkö ja tutkinto-ohjelma. Avoimen yliopiston opiskelijat voivat merkitä yksikön ja tutkinto-ohjelman sijasta organisaatiokseen pelkästään avoimen yliopiston. Sivun keskellä tulisi olla suuremmalla fontilla dokumentin nimi. Kurssin kotisivuilla julkaistaan esimerkinomainen kansilehti. Ohjelman rakenteen ja toiminnan kuvaus korkeintaan puolen sivun mittaisena vapaamuotoisena tekstinä. Omia ajatuksia. Esimerkiksi: Oliko työ helppo, sopiva vai vaikea? Jos helppo tai vaikea, niin miksi? Mitä uutta opittiin? Oliko työstä mitään hyötyä tekijälleen? Montako tuntia työn tekemiseen meni? Dokumentin leipäteksti kirjoitetaan 12 pisteen fontilla ja yhdellä rivinvälillä. Valmiin tekstin lukeminen pariin otteeseen on suotavaa. Tekstinkäsittelyohjelma on oikea työväline dokumentin tuottamiseen, koska esimerkiksi kielentarkistus oikolukutoiminnolla on tällaisessa ohjelmassa vaivatonta. Dokumentti on palautettava PDF-muodossa. Muut tiedostomuodot eivät kelpaa. Luvussa 6 ja kurssin verkkosivuilla kerrotaan tarkemmin dokumentin ja koodin palauttamisesta. Lausekielinen ohjelmointi II Syksy 2017 Jorma Laurikkala 11 / 13

12 5. Harjoitustyön ohjaus Apua saa sekä henkilökohtaisesti että sähköpostitse. Kurssin opettajat ovat tavattavissa yliopistolla kurssin verkkosivuilla myöhemmin julkaistavina aikoina. Harjoitusryhmien vetäjät vastaavat pääsääntöisesti ryhmäläistensä töiden sähköpostilla tapahtuvasta ohjauksesta ja tarkistuksesta. Tuntiopettajat tarkistavat kurssin vastuuopettajan ryhmäläisten harjoitustyöt. Kurssin vastuuopettaja auttaa harjoitustyöongelmissa myös muitakin kuin oman ryhmänsä opiskelijoita. Pyri kuitenkin ottamaan ongelmatilanteissa yhteys ensin harjoitusryhmäsi vetäjään, koska vastuuopettajalla on toisinaan kiire. Muista myös, että tehtävänantoon ja Javan piirteiden käyttöön liittyvissä epävarmoissa tilanteissa kannattaa aina kysyä ohjaajalta. 6. Harjoitustyön palautus Ohjelma ja dokumentti täytyy palauttaa viimeistään klo (keskipäivä) WETO-järjestelmään. Tarkemmat palautusohjeet julkaistaan myöhemmin kurssin verkkosivuilla. Harjoitustöiden toiminnallisuuden tarkistamiseen käytetään WETO-järjestelmää, joka vertailee automaattisesti mallivastauksen ja opiskelijoiden ratkaisujen tulosteita. Tästä syystä edellä annettuja tulostemäärittelyjä on seurattava merkilleen. Automaattinen vertailu vähentää testaustyötä, jolloin opettajille jää enemmän aikaa mielekkäämpään työhön eli ohjelman rakenteen ja tyylin tutkimiseen. Opiskelijat hyötyvät tästä perusteellisempien kommenttien muodossa. Lisäaikaa työn tekoon voi saada hyvästä syystä. Lisäajasta on sovittava harjoitusryhmän vetäjän kanssa ajoissa eli viimeistään päivää tai paria ennen palautuksen takarajaa. Ennen palautusta on syytä varmistaa, että dokumentissa on mukana kaikki edellä mainitut kohdat. Lisäksi kannattaa tarkistaa, että ohjelma toimii varmasti oikein viimeisten muutosten jälkeen. 7. Harjoitustyön arvostelu Harjoitustyö arvostellaan asteikolla hyväksytty/hylätty. Hylkäyksen perusteena voi olla esimerkiksi ohjelman virheellinen toiminta, hyvän ohjelmointitavan noudattamatta jättäminen, ohjelman rakenne (erityisesti koodin monistaminen ja liian pitkät operaatiot), huono dokumentti ja/tai plagiointi. Plagiointiin liittyy sanktio, joka koskee molempia opiskelijoita. Toiselta opiskelijalta tämän tietämättä kopioidun koodin käyttö johtaa kopioijan koko kurssisuorituksen hylkäämiseen. Suurempia korjauksia vaativa hylätty työ on korjattava pääsääntöisesti viikon sisällä hylkäyksestä. Työn voi palauttaa opettajan tarkistettavaksi korkeintaan neljä kertaa ilman pakottavaa syytä lisäpalautuksiin Lausekielinen ohjelmointi II Syksy 2017 Jorma Laurikkala 12 / 13

13 Lähteet [1] Wikipedia-yhteisö: ASCII art, (Luettu viimeksi ) [2] Wikipedia-yhteisö: Rotation matri, (Luettu viimeksi ) [3] J. Laurikkala: Lausekelinen ohjelmointi I -kurssin luentorunko, luku 14, (Luettu viimeksi ) [4] J. Laurikkala: Lausekelinen ohjelmointi II -kurssin luentorunko, luku 7, (Luettu viimeksi ) Lausekielinen ohjelmointi II Syksy 2017 Jorma Laurikkala 13 / 13

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

Harjoitustyö Johdanto Tehtävä

Harjoitustyö Johdanto Tehtävä 1. Johdanto 1.1. Tehtävä Lausekielinen ohjelmointi II -kurssin toisena harjoitustyönä toteutetaan Java- ohjelma ASCII-grafiikkana [1] esitettyjen kuvien katseluun ja käsittelyyn. Ohjelma lataa käynnistyessään

Lisätiedot

Toinen harjoitustyö. ASCII-grafiikkaa

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

Lisätiedot

2. Merkkijono, osamerkkijono ja osamerkkijonon haku

2. Merkkijono, osamerkkijono ja osamerkkijonon haku . Johdanto Ensimmäisessä harjoitustyössä on tehtävänä toteuttaa Java-ohjelma, joka hakee merkkijonosta osamerkkijonon esiintymiä. Haku voidaan rajoittaa pelkästään merkkijonon alkuun tai sen loppuun. Harjoitustyö

Lisätiedot

Harjoitustyö Johdanto

Harjoitustyö Johdanto 1. Johdanto 1.1. Tehtävä Lausekielinen ohjelmointi II -kurssin ensimmäisessä harjoitustyössä on tehtävänä toteuttaa Java-ohjelma tekstirivin sovittamiseen tekstialueelle. Sovittaminen tapahtuu muodostamalla

Lisätiedot

Harjoitustyö Johdanto

Harjoitustyö Johdanto 1. Johdanto 1.1. Tehtävä Lausekielinen ohjelmointi II -kurssin ensimmäisessä harjoitustyössä on tehtävänä toteuttaa Java-ohjelma, joka laskee merkkijonoa kuvaavia tunnuslukuja. Ohjelma esikäsittelee merkkijonon

Lisätiedot

Harjoitustyö 1. 1. Johdanto. 2. Euroseteli

Harjoitustyö 1. 1. Johdanto. 2. Euroseteli Harjoitustyö. Johdanto.. Tehtävä Lausekielinen ohjelmointi (Laki) -kurssin ensimmäisessä harjoitustyössä on tehtävänä toteuttaa Java-kielellä ohjelma, joka tutkii euroseteleiden [, ] sarjanumeroja. Ohjelmalla

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

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

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö Yleistä Tehtävä: Tee Javalla LineBreaker-ohjelma tekstirivin sovittamiseen tekstialueelle riviä katkomalla. Lausekielinen ohjelmointi II -kurssin pakollinen

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

Harjoitus 4 (viikko 47)

Harjoitus 4 (viikko 47) Kaikki tämän harjoituksen tehtävät liittyvät joko suoraan tai epäsuorasti kurssin toiseen harjoitustyöhön. Saa hyvän alun harjoitustyön tekoon, kun ratkaiset mahdollisimman monta tehtävää. Mikäli tehtävissä

Lisätiedot

Harjoitustyö Johdanto Tehtävä

Harjoitustyö Johdanto Tehtävä 1. Johdanto 1.1. Tehtävä Lausekielinen ohjelmointi (Laki) -kurssin toisena harjoitustyönä ohjelmoidaan Java-kielellä 2048-pelin [1, 2] tekstipohjainen muunnelma. Pelissä on kenttä, jolla liikutellaan tiiliä

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

Harjoitus 6 (viikko 42)

Harjoitus 6 (viikko 42) Nämä ovat kurssin viimeiset harjoitukset. Hyväksytyistä ratkaisuista ja läsnäoloista kerättyjen pisteiden summan tulee olla vähintään 40 % ( pistettä) tehtävien ja läsnäolopisteiden kokonaislukumäärien

Lisätiedot

Harjoitus 5 (viikko 41)

Harjoitus 5 (viikko 41) Harjoitus 5 (viikko 4) 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

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

Harjoitus 6 (viikko 42)

Harjoitus 6 (viikko 42) Nämä ovat kurssin viimeiset harjoitukset. Hyväksytyistä ratkaisuista ja läsnäoloista kerättyjen pisteiden summan tulee olla vähintään 4 % (2 pistettä) tehtävien ja läsnäolopisteiden kokonaislukumäärien

Lisätiedot

Harjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita.

Harjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita. Nämä ovat kurssin viimeiset harjoitukset. Hyväksytyistä ratkaisuista ja läsnäoloista kerättyjen pisteiden summan tulee olla vähintään 40 % ( pistettä) tehtävien ja läsnäolopisteiden kokonaislukumäärien

Lisätiedot

Kurssiesite Lausekielinen ohjelmointi II Syksy Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto

Kurssiesite Lausekielinen ohjelmointi II Syksy Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto Kurssiesite Lausekielinen ohjelmointi II Syksy 2016 Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori. Luennot,

Lisätiedot

13. Hyvä ohjelmointitapa (osa 1) 13.1

13. Hyvä ohjelmointitapa (osa 1) 13.1 13. Hyvä ohjelmointitapa (osa 1) 13.1 Yleistä Ohjelman elinkaari ei tyypillisesti pääty sen toteuttamiseen tarvitaan ylläpitoa. Jotta koodin muuttaminen on mahdollista, on sen oltava myös muidenkin kuin

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

14. Hyvä ohjelmointitapa 14.1

14. Hyvä ohjelmointitapa 14.1 14. Hyvä ohjelmointitapa 14.1 Yleistä Ohjelman elinkaari ei tyypillisesti pääty sen toteuttamiseen; ohjelmaa voidaan käyttää ja ylläpitää jopa vuosikymmeniä. Jotta koodin muuttaminen on mahdollista, sen

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

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

Linkitetystä listasta perittyä omaa listaa käytetään muun muassa viestiin liittyvien vastausten säilömiseen.

Linkitetystä listasta perittyä omaa listaa käytetään muun muassa viestiin liittyvien vastausten säilömiseen. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä keskustelualuetta simuloiva olioperustainen ohjelma (Simple Oope Board, S.O.B). Linkitetystä listasta perittyä omaa listaa käytetään muun muassa

Lisätiedot

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Omia koneita ei saa käyttää. Sähköisessä tentissä on paperitentin tapaan osaamisen

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

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

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

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

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Omia koneita ei saa käyttää. Sähköisessä tentissä on paperitentin tapaan osaamisen

Lisätiedot

XX (1, 4) (1, 5) (2, 4) (2, 5)

XX (1, 4) (1, 5) (2, 4) (2, 5) 1. Johdanto 1.1. Tehtävä Lausekielinen ohjelmointi (Laki) -kurssin toisena harjoitustyönä ohjelmoidaan Java-kielellä Tetris-pelin [1] tekstipohjainen muunnelma Txtris. Pelissä on kenttä, jonka yläreunaan

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

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

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

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

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

Vastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet Kevät 2015. Olio-ohjelmoinnin perusteet (5 op) Tavoitteena

Vastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet Kevät 2015. Olio-ohjelmoinnin perusteet (5 op) Tavoitteena Kurssiesite Olio-ohjelmoinnin perusteet Kevät 2015 Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori. Luennot,

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

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

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

12. Näppäimistöltä lukeminen 12.1

12. Näppäimistöltä lukeminen 12.1 12. Näppäimistöltä lukeminen 12.1 Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit.

Lisätiedot

Vastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet Kevät Olio-ohjelmoinnin perusteet (TIEA2.1)

Vastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet Kevät Olio-ohjelmoinnin perusteet (TIEA2.1) Kurssiesite Olio-ohjelmoinnin perusteet Kevät 2017 Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori. Luennot,

Lisätiedot

Kurssiesite Olio-ohjelmoinnin perusteet Kevät Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto

Kurssiesite Olio-ohjelmoinnin perusteet Kevät Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto Kurssiesite Olio-ohjelmoinnin perusteet Kevät 2017 Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori. Luennot,

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

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

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

Kurssiesite Olio-ohjelmoinnin perusteet (TIEA2.1) Kevät 2018

Kurssiesite Olio-ohjelmoinnin perusteet (TIEA2.1) Kevät 2018 Kurssiesite Olio-ohjelmoinnin perusteet (TIEA2.1) Kevät 2018 Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori.

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

Vastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet (TIEA2.1) Kevät Olio-ohjelmoinnin perusteet (eli Oope) Laajuus

Vastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet (TIEA2.1) Kevät Olio-ohjelmoinnin perusteet (eli Oope) Laajuus Kurssiesite Olio-ohjelmoinnin perusteet (TIEA2.1) Kevät 2018 Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori.

Lisätiedot

Kurssiesite Lausekielinen ohjelmointi Syksy Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto

Kurssiesite Lausekielinen ohjelmointi Syksy Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto Kurssiesite Lausekielinen ohjelmointi Syksy 2014 Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, lehtori. Luennot, mikroharjoitukset,

Lisätiedot

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tentti kestää kolme tuntia.

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tentti kestää kolme tuntia. Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tentti kestää kolme tuntia. Tule paikalle viimeistään noin 20 minuuttia ennen tentin alkua, koska tentti pyritään aloittamaan tasalta.

Lisätiedot

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1 8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)

Lisätiedot

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tentti kestää kolme tuntia. Tehdään sähköisesti mikroluokkien Windows-koneilla.

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tentti kestää kolme tuntia. Tehdään sähköisesti mikroluokkien Windows-koneilla. Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. kestää kolme tuntia. Tule paikalle viimeistään noin 15 minuuttia ennen tentin alkua, koska tentti pyritään aloittamaan tasalta. Poistua voi aikaisintaan,

Lisätiedot

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,

Lisätiedot

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1 8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)

Lisätiedot

Kurssiesite Olio-ohjelmoinnin perusteet Kevät Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto

Kurssiesite Olio-ohjelmoinnin perusteet Kevät Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto Kurssiesite Olio-ohjelmoinnin perusteet Kevät 2016 Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori. Luennot,

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Hyvä ohjelmointitapa. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen

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

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

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

Vastuuopettaja. Kurssiesite Lausekielinen ohjelmointi Syksy 2014. Tavoitteet ja keinot. Lausekielinen ohjelmointi (10 op)

Vastuuopettaja. Kurssiesite Lausekielinen ohjelmointi Syksy 2014. Tavoitteet ja keinot. Lausekielinen ohjelmointi (10 op) Kurssiesite Lausekielinen ohjelmointi Syksy 2014 Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, lehtori. Luennot, mikroharjoitukset,

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

Kurssiesite Lausekielinen ohjelmointi I Kesä Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto

Kurssiesite Lausekielinen ohjelmointi I Kesä Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto Kurssiesite Lausekielinen ohjelmointi I Kesä 2018 Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori. Kurssin materiaali

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

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

Ohjeita. Datan lukeminen

Ohjeita. Datan lukeminen ATK Tähtitieteessä Harjoitustyö Tehtävä Harjoitystyössä tehdään tähtikartta jostain taivaanpallon alueesta annettujen rektaskensio- ja deklinaatiovälien avulla. Karttaan merkitään tähdet aina kuudenteen

Lisätiedot

Harjoitustyö. 1. Johdanto. 1.1. Tehtävä

Harjoitustyö. 1. Johdanto. 1.1. Tehtävä 1. Johdanto 1.1. Tehtävä Kaukana, monen valovuoden päässä täältä, sijaitsee planeetta, jolla on käynnistynyt alkeellinen elämä. Tehtävänäsi on toteuttaa Java-kielellä ohjelma, joka simuloi planeetan alkulimassa

Lisätiedot

ASENNUS- JA KÄYTTÖOHJE

ASENNUS- JA KÄYTTÖOHJE ASENNUS- JA KÄYTTÖOHJE YKSIKKÖHINTA SOPIMUKSEN TOTEUTUNEET MÄÄRÄT-SOVELLUS CMPRO5 VERSIO 2.8 PÄIVITETTY HEINÄKUU 2010 COPYRIGHT 2010 ARTEMIS FINLAND OY. ALL RIGHTS RESERVED. KÄYTTÖOHJE SIVU 2 (12) SISÄLLYSLUETTELO

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

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

Mainoksen taittaminen Wordilla

Mainoksen taittaminen Wordilla Mainoksen taittaminen Wordilla Word soveltuu parhaiten standardimittaisten (A4 jne) word-tiedostojen (.docx) tai pdf-tiedostojen taittoon, mutta sillä pystyy tallentamaan pienellä kikkailulla myös kuvaformaattiin

Lisätiedot

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille:

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille: Merkkijonot C-kielessä merkkijono on taulukko, jonka alkiot ovat char -tyyppiä. Taulukon viimeiseksi merkiksi tulee merkki '\0', joka ilmaisee merkkijonon loppumisen. Merkkijono määritellään kuten muutkin

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

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita Käyttäjän kanssa keskusteleva ohjelma 1 Kirjoittaminen konsolinäkymään //Java ohjelma, joka tulostaa konsoli-ikkunaan public class HeiMaailma { public void aja() { // kirjoitus ja

Lisätiedot

Datatähti 2000: alkukilpailun ohjelmointitehtävä

Datatähti 2000: alkukilpailun ohjelmointitehtävä Datatähti 2000: alkukilpailun ohjelmointitehtävä 1 Lyhyt tehtävän kuvaus Tehtävänä on etsiä puurakenteen esiintymiä kirjaintaulukosta. Ohjelmasi saa syötteenä kirjaintaulukon ja puun, jonka jokaisessa

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

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit Liite E - Esimerkkiprojekti E Esimerkkiprojekti Olet lukenut koko kirjan. Olet sulattanut kaiken tekstin, Nyt on aika soveltaa oppimiasi uusia asioita pienen, mutta täydellisesti muotoiltuun, projektiin.

Lisätiedot

Ohjelmointi 1 Taulukot ja merkkijonot

Ohjelmointi 1 Taulukot ja merkkijonot Ohjelmointi 1 Taulukot ja merkkijonot Jussi Pohjolainen TAMK Tieto- ja viestintäteknologia Johdanto taulukkoon Jos ohjelmassa käytössä ainoastaan perinteisiä (yksinkertaisia) muuttujia, ohjelmien teko

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 12. huhtikuuta 2019 Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä. Yksi A4-kokoinen lunttilappu

Lisätiedot

Vastuuopettaja. Kurssiesite Lausekielinen ohjelmointi I Syksy Lausekielinen ohjelmointi I (5 op) Lausekielinen ohjelmointi I (5 op)

Vastuuopettaja. Kurssiesite Lausekielinen ohjelmointi I Syksy Lausekielinen ohjelmointi I (5 op) Lausekielinen ohjelmointi I (5 op) Kurssiesite Lausekielinen ohjelmointi I Syksy 2016 Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori. Luennot,

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

Canva CV NÄIN PÄÄSET ALKUUN CANVA CV:N TEOSSA: Canva on graafisen suunnittelun

Canva CV NÄIN PÄÄSET ALKUUN CANVA CV:N TEOSSA: Canva on graafisen suunnittelun Canva CV Canva on graafisen suunnittelun ohjelma, jota voi käyttää niin selaimella kuin mobiiliapplikaatiollakin. Canvassa on paljon maksuttomia pohjia CV:n visualisointiin! Canvan perusominaisuuksia voit

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

Johdatus Ohjelmointiin

Johdatus Ohjelmointiin Johdatus Ohjelmointiin Syksy 2006 Viikko 2 13.9. - 14.9. Tällä viikolla käsiteltävät asiat Peruskäsitteitä Kiintoarvot Tiedon tulostus Yksinkertaiset laskutoimitukset Muuttujat Tiedon syöttäminen Hyvin

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

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9. Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.

Lisätiedot

14. Poikkeukset 14.1

14. Poikkeukset 14.1 14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.

Lisätiedot

Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen 1 Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen Sisällysluettelo Opetustapahtuman opiskelijalistan tulostaminen... 2 Tenttien opiskelijalistojen tulostaminen... 3

Lisätiedot

KUVAN TUOMINEN, MUOKKAAMINEN, KOON MUUTTAMINEN JA TALLENTAMINEN PAINTISSA

KUVAN TUOMINEN, MUOKKAAMINEN, KOON MUUTTAMINEN JA TALLENTAMINEN PAINTISSA KUVAN TUOMINEN, MUOKKAAMINEN, KOON MUUTTAMINEN JA TALLENTAMINEN PAINTISSA SISÄLLYS 1. KUVAN TUOMINEN PAINTIIN...1 1.1. TALLENNETUN KUVAN HAKEMINEN...1 1.2. KUVAN KOPIOIMINEN JA LIITTÄMINEN...1 1.1. PRINT

Lisätiedot

Valitse ruudun yläosassa oleva painike Download Scilab.

Valitse ruudun yläosassa oleva painike Download Scilab. Luku 1 Ohjeita ohjelmiston Scilab käyttöön 1.1 Ohjelmiston lataaminen Ohjeet ohjelmiston lataamiseen Windows-koneelle. Mene verkko-osoitteeseen www.scilab.org. Valitse ruudun yläosassa oleva painike Download

Lisätiedot

Kurssiesite Lausekielinen ohjelmointi I Syksy Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto

Kurssiesite Lausekielinen ohjelmointi I Syksy Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto Kurssiesite Lausekielinen ohjelmointi I Syksy 2016 Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori. Luennot,

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

JYVÄSKYLÄN SEUDUN. 1. Sisältö * * Tähdellä merkityt kohdat ovat pakollisia. Sivun oikeassa yläkulmasta löytyy Lisää oma tapahtumasi.

JYVÄSKYLÄN SEUDUN. 1. Sisältö * * Tähdellä merkityt kohdat ovat pakollisia. Sivun oikeassa yläkulmasta löytyy Lisää oma tapahtumasi. JYVÄSKYLÄN SEUDUN Sivun oikeassa yläkulmasta löytyy Lisää oma tapahtumasi. Lomakkeella voit lisätä tapahtuman tapahtumiin, harrasteisiin tai molempiin. 1. Sisältö * * Tähdellä merkityt kohdat ovat pakollisia.

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

Valokuvien matematiikkaa

Valokuvien matematiikkaa Valokuvien matematiikkaa Avainsanat: valokuva, pikseli, päättely Luokkataso: 3.-5. luokka, 6.-9. luokka, lukio, yliopisto Välineet: Kynä, tehtävämonisteet (liitteenä), mahdollisiin jatkotutkimuksiin tietokone

Lisätiedot