Harjoitus 6 (viikko 42)

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

Harjoitus 6 (viikko 42)

Harjoitus 5 (viikko 41)

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

Harjoitus 5 (viikko 41)

Harjoitus 3 (viikko 39)

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

Harjoitus 5 (viikko 48)

Harjoitus 2 (viikko 45)

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

Harjoitus 1 (viikko 44)

Harjoitus 4 (viikko 47)

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

Toinen harjoitustyö. ASCII-grafiikkaa 2017

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

Toinen harjoitustyö. ASCII-grafiikkaa

5. HelloWorld-ohjelma 5.1

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

13. Hyvä ohjelmointitapa (osa 1) 13.1

2. Merkkijono, osamerkkijono ja osamerkkijonon haku

14. Hyvä ohjelmointitapa 14.1

Harjoitustyö Johdanto

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

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

5. HelloWorld-ohjelma 5.1

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

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

ITKP102 Ohjelmointi 1 (6 op)

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

ITKP102 Ohjelmointi 1 (6 op)

Harjoitus 5 (viikko 40)

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

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

Ohjelmoinnin perusteet Y Python

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

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

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Harjoitustyö Johdanto

Ohjelmointi 1 C#, kevät 2013,

Ohjelmoinnin perusteet Y Python

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

Ohjelmoinnin peruskurssi Y1

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

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

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

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

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

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

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

Ohjelmoinnin peruskurssi Y1

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

Java-kielen perusteet

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

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

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

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

Ohjelmoinnin perusteet Y Python

Harjoitustyö Johdanto Tehtävä

Harjoitustyö Johdanto Tehtävä

Ohjelmoinnin perusteet Y Python

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

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

Ohjelmoinnin perusteet, syksy 2006

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

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

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

ITKP102 Ohjelmointi 1 (6 op)

Java-kielen perusteet

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Python-ohjelmointi Harjoitus 2

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla

20. Javan omat luokat 20.1

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

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

Metropolia ammattikorkeakoulu TI00AA : Ohjelmointi Kotitehtävät 3

17. Javan omat luokat 17.1

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

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

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

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmoinnin perusteet Y Python

Ohjelmointi 1 C#, kevät 2014, tentti

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

Ohjelmoinnin perusteet Y Python

17. Javan omat luokat 17.1

Ohjelmoinnin perusteet Y Python

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

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

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

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi

Metropolia ammattikorkeakoulu TI00AA : Ohjelmointi Kotitehtävät 3 opettaja: Pasi Ranne

Harjoitustyö Johdanto. 2. Euroseteli

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

Transkriptio:

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 summasta (45 + 6 = 5). Hyvityspisteiden rajat: 60 % ( pistettä), 70 % (6 pistettä) ja 80 % (4 pistettä). Voit tehdä lisätehtäviä (korkeintaan 8 kpl), jos aiot suorittaa kurssin, mutta pisteesi ovat alle 40 % -rajan tämän harjoituksen jälkeen. Kurssin vastuuopettaja ottaa yhteyttä opiskelijoihin, jotka voivat saavuttaa 40 %:n rajan lisätehtäviä tekemällä. Tentti ja Lausekielinen ohjelmointi II -kurssin ensimmäisen harjoitustyön ohjelmointi sujuvat todennäköisesti paremmin, jos ratkaiset tämän harjoituskerran tehtäviä. 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ä yksittäisiä välirivejä erottamaan ohjelman teemoja toisistaan ja erota lauseiden osat toisistaan välilyönneillä. Vakioi muuttujia tarvittaessa. Hyvät ohjelmointitavat on vedetty yhteen luentorungon 4. luvussa. WETOon (https://wetodev.sis.uta.fi/weto5/) palautetaan vain ratkaisun lähdekoodi eli java-päätteinen tiedosto. In-luokkaa (katso alla) ei tarvitse eikä tule palauttaa. Ensi viikolla pidettävissä mikroharjoituksissa saa apua ongelmakohtiin. Keskiviikon klo 4 - ryhmässä avustetaan hieman enemmän kuin muissa ryhmissä. Palauta vastauksesi WETO-järjestelmään viimeistään ensi viikon torstaina 9.0. klo.00 (keskipäivä). WETO tarkistaa lähdekoodia automaattisesti. Lisätietoja: https://coursepages.uta.fi/tiep/syksy- 07/harjoitukset/ratkaisujen-tarkistus/#automaattinen_tarkistus. Syötteiden lukemiseen tarvittava In-luokka löytyy kurssin kotisivuilta Koodit-kohdasta. Java-kääntäjä ja -tulkki löytyvät yliopiston mikroluokkien koneilta. Nämä ohjelmat voi asentaa myös omalle koneelle. Lisätietoja: https://coursepages.uta.fi/tiep/syksy-07/ohjelmointivalineita/java-jdk/. Ota yhteyttä kurssin vastuuopettajaan, jos Java ei suostu asentumaan koneellesi.. Osoitteessa: http://www.sis.uta.fi/~laki/harjoitukset/harjoitus06/ on annettu sisentämätön TwoUp-ohjelma. Sisennä ohjelma. Kerro kommenteissa mitä sisennystyyliä käytät ja anna viite (esimerkiksi verkko-osoite) dokumenttiin, jossa tyylisi on määritelty, jos käytät sisentämiseen tyyliä, joka poikkeaa selvästi kurssilla opetetusta tyylistä. Ohjelma on englanninkielinen, koska kurssilla on ulkomaalaisia opiskelijoita. Palauta WETOon sisennetty ohjelma TwoUp.java-tiedostossa.. Kirjoita Javalla StringBeginner-ohjelma merkkijonon alun tulostamiseen. Käyttäjältä luetaan merkkijono ja sen alusta tulostettavien merkkien lukumäärä. Ohjelma tulostaa merkkien asemasta virheilmoituksen, jos merkkien lukumäärä on pienempi tai yhtä suuri kuin nolla tai suurempi kuin merkkijonon pituus. Esimerkki ohjelman toiminnasta, kun syötteet ovat "Trying is the first step towards failure." ja : Hello! I print the beginning of a string. Trying is the first step towards failure. Try Lausekielinen ohjelmointi I Syksy 07 Jorma Laurikkala / 6

Esimerkki ohjelman toiminnasta, kun syötteet ovat "Vacuuming sucks." ja 0: Hello! I print the beginning of a string. Vacuuming sucks. 0. Kirjoita Javalla StringStripper-ohjelma, joka lukee käyttäjältä merkkijonon ja kokonaisluvun, joka kertoo montako merkkiä merkkijonon alusta ja lopusta poistetaan. Ohjelma tulostaa typistetyn merkkijonon näytölle. Ohjelma tulostaa virheilmoituksen, jos poistettavien merkkien lukumäärä on pienempi tai yhtä suuri kuin nolla tai jos kahdella kerrottu lukumäärä on yhtä suuri tai suurempi kuin merkkijonon pituus. Jos syötteet ovat esimerkiksi "abc" ja, tulostaa ohjelma näytölle merkkijonon "b", koska alkuperäisen merkkijonon ensimmäinen ja viimeinen merkki poistetaan. Esimerkki ohjelman toiminnasta, kun syötteet ovat "abc" ja : Hello! I strip characters from a string. abc b Esimerkki ohjelman toiminnasta, kun syötteet ovat "abcd" ja : Hello! I strip characters from a string. abcd Esimerkki ohjelman toiminnasta, kun syötteet ovat "abcdef" ja : Hello! I strip characters from a string. abcdef cd Lausekielinen ohjelmointi I Syksy 07 Jorma Laurikkala / 6

4. Tee Javalla CharacterMultiplier-ohjelma, joka lukee käyttäjältä merkkijonon, merkin paikan määrittävän indeksiarvon ja luvun, joka ilmaisee montako kertaa paikassa oleva merkki tulee toistaa uudessa merkkijonossa. Jos syötteet ovat esimerkiksi "Aargh!", 4 ja, niin ohjelma lisää pienen h-kirjaimen perään kolme kappaletta samaa merkkiä, jolloin uusi merkkijono on "Aarghhhh!" Ohjelma tulostaa virheilmoituksen, jos indeksiarvo on virheellinen tai jos merkin kertautumisen ilmaiseva luku on yhtä pienempi. Esimerkki ohjelman toiminnasta, kun syötteet ovat "abc", ja 0: Hello! I multiply characters. abc Please, enter location: Please, enter multiplier: 0 Esimerkki ohjelman toiminnasta, kun syötteet ovat "Java", ja : Hello! I multiply characters. Java Please, enter location: Please, enter multiplier: Jaava Esimerkki ohjelman toiminnasta, kun syötteet ovat "Aargh!", 4 ja : Hello! I multiply characters. Aargh! Please, enter location: 4 Please, enter multiplier: Aarghhhh! Lausekielinen ohjelmointi I Syksy 07 Jorma Laurikkala / 6

5. Tee Javalla AlternationCounter-ohjelma, jossa luetaan merkkijono ja lasketaan montako kertaa merkki vaihtuu toiseksi. Jos merkkijono on esimerkiksi "tintti", on merkin vaihtoja neljä: t i, i n, n t ja t i. Vinkki: käy merkit läpi ensimmäisestä merkistä toiseksi viimeiseen merkkiin saakka ja tutki kunkin merkin kohdalla mikä seuraava merkki on. Esimerkki ohjelman toiminnasta, kun syöte on "abba": Hello! I count character alternations. abba There were alternations. Esimerkki ohjelman toiminnasta, kun syöte on "tintti": Hello! I count character alternations. tintti There were 4 alternations. Esimerkki ohjelman toiminnasta, kun syöte on "aaa": Hello! I count character alternations. aaa There were 0 alternations. 6. Tee Javalla Interrogator-ohjelma, joka esittää käyttäjälle kysymyksen ja hyväksyy vastaukseksi vain jommankumman kahdesta vastauksia vastaavasta merkistä. Käyttäjälle tulostetaan virheilmoitus ja kysymys esitetään uudestaan niin pitkään kuin käyttäjä antaa vastaukseksi jonkin muun kuin ohjelman tunnistaman merkin. Kysymys ja vastauksina käytettävät merkit luetaan käyttäjältä ennen kysymyksen esittämistä. Oletetaan, että käyttäjän vastauksiksi määrittelemät merkit eivät ole samoja. Lausekielinen ohjelmointi I Syksy 07 Jorma Laurikkala 4 / 6

Esimerkki ohjelman toiminnasta, kun syötteet ovat "Are you Sarah Connor?", 'y' ja 'n': Hello! I ask a mandatory question. Please, enter the question: Are you Sarah Connor? Please, enter the first answer: y Please, enter the second answer: n Are you Sarah Connor? N Are you Sarah Connor? n See you soon. Esimerkki ohjelman toiminnasta, kun syötteet ovat "To (b)e or (n)ot to be?", 'b' ja 'n': Hello! I ask a mandatory question. Please, enter the question: To (b)e or (n)ot to be? Please, enter the first answer: b Please, enter the second answer: n To (b)e or (n)ot to be? b See you soon. 7. Tee Javalla SmallestInteger-ohjema, joka päättelee kokonaislukujen jonon pienimmän luvun arvon. Jonon lukujen lukumäärä ja luvut luetaan käyttäjältä. Ohjelma tulostaa pienimmän luvun näytölle. Ohjelma tulostaa virheilmoituksen, jos lukumäärä on nolla tai pienempi. Vinkki: Säilö pienin lukuarvo apumuuttujaan ja päivitä muuttujan arvo aina, kun löydät muuttujan nykyistä arvoa pienemmän luvun. Alusta muuttuja joko jonon ensimmäisellä luvulla tai muuttujan tyypin arvoalueen suurimmalla mahdollisella arvolla. Esimerkiksi int-tyypin suurin mahdollinen arvo on tallennettu Integer.MAX_VALUE-vakioon. Esimerkki ohjelman toiminnasta, kun syötteet ovat, 0, -, : Hello! I determine the smallest integer. Please, enter the number of integers: 0 - The smallest integer is -. Lausekielinen ohjelmointi I Syksy 07 Jorma Laurikkala 5 / 6

Esimerkki ohjelman toiminnasta, kun syötteet ovat 5,,,, 0, 4: Hello! I determine the smallest integer. Please, enter the number of integers: 5 0 4 The smallest integer is 0. Esimerkki ohjelman toiminnasta, kun syöte on 0: Hello! I determine the smallest integer. Please, enter the number of integers: 0 Lausekielinen ohjelmointi I Syksy 07 Jorma Laurikkala 6 / 6