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

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

Harjoitus 3 (viikko 39)

Harjoitus 6 (viikko 42)

Harjoitus 2 (viikko 45)

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

Harjoitus 6 (viikko 42)

Harjoitus 5 (viikko 41)

Harjoitus 1 (viikko 44)

Harjoitus 5 (viikko 48)

Harjoitus 5 (viikko 41)

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

Harjoitus 4 (viikko 47)

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

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

7. Näytölle tulostaminen 7.1

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Toinen harjoitustyö. ASCII-grafiikkaa

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

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

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

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

5. HelloWorld-ohjelma 5.1

Java-kielen perusteet

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

Ohjelmoinnin perusteet Y Python

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

Ohjelmoinnin perusteet Y Python

Java-kielen perusteet

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

Harjoitustyö Johdanto

Ohjelmoinnin perusteet Y Python

Python-ohjelmointi Harjoitus 2

ITKP102 Ohjelmointi 1 (6 op)

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

13. Loogiset operaatiot 13.1

811120P Diskreetit rakenteet

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

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

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

5. HelloWorld-ohjelma 5.1

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

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

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

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

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

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

ITKP102 Ohjelmointi 1 (6 op)

Java-kielen perusteita

14. Hyvä ohjelmointitapa 14.1

20. Javan omat luokat 20.1

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

Ohjelmoinnin perusteet, syksy 2006

Harjoitustyö: virtuaalikone

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

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

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

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

2. Merkkijono, osamerkkijono ja osamerkkijonon haku

Ohjelmoinnin peruskurssi Y1

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Harjoitustyön testaus. Juha Taina

Harjoitus 3: Flash-komponenttiarkkitehtuuri ( )

17. Javan omat luokat 17.1

Algoritmit 1. Demot Timo Männikkö

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

Ohjelmointiharjoituksia Arduino-ympäristössä

13. Hyvä ohjelmointitapa (osa 1) 13.1

Apuja ohjelmointiin» Yleisiä virheitä

Ohjelmoinnin peruskurssi Y1

17. Javan omat luokat 17.1

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

Seuraavassa on esimerkki for-, while- ja do-while -lauseesta:

4. Lausekielinen ohjelmointi 4.1

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Tietotyypit ja operaattorit

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

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

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

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

Ohjelmoinnin perusteet Y Python

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.

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

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

811120P Diskreetit rakenteet

Ohjelmoinnin perusteet Y Python

Kirjoita, tallenna, käännä ja suorita alla esitelty ohjelma, joka tervehtii käyttäjäänsä.

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

Java-kielen perusteita

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Ohjelmassa on käytettävä funktiota laskeparkkimaksu laskemaan kunkin asiakkaan maksu. Funktio floor pyöristää luvun lähimmäksi kokonaisluvuksi.

Transkriptio:

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 vain ratkaisun lähdekoodi (java-päätteinen tiedosto) kurssin kotisivuilta Koodit-kohdasta löytyvää In-luokkaa ei tarvitse eikä tule palauttaa. Ensi viikolla pidettävissä mikroharjoituksissa saa apua ongelmakohtiin. Keskiviikon klo 2 4 - ryhmässä avustetaan hieman enemmän kuin muissa ryhmissä. Palauta vastauksesi WETO-järjestelmään (https://wetodev.sis.uta.fi/) viimeistään ensi viikon lauantaina 29.9. klo 2.00 (keskipäivä). WETO tarkistaa lähdekoodia automaattisesti. Lisätietoja tarkistuksesta: https://coursepages.uta.fi/tiep/ syksy-208/harjoitukset/ratkaisujen-tarkistus/automaattinen/. Ota yhteyttä harjoitusryhmäsi vetäjään, jos et keksi järjellisessä ajassa miksi WETO hylkää palautuksesi. 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-208/ohjelmointivalineita/java-jdk/. Ota yhteyttä kurssin vastuuopettajaan, jos Java ei suostu asentumaan koneellesi.. Kirjoita Javalla Arithmetic-niminen ohjelma, jossa testaat aritmeettiset operaatiot +, -, *, / ja %. Esittele int-tyyppiset muuttujat ekaluku ja tokaluku ja lue muuttujille kokonaislukuarvot käyttäjältä. Sijoita kunkin operaation tulos omaan tulosmuuttujaansa, jotka ovat jako-operaation tulosmuuttujaa lukuun ottamatta int-tyyppisiä. Osamäärä sijoitetaan double-tyyppiseen muuttujaan. Huomaa, että tarvitset tyyppimuunnoksen, jotta Java ei hävitä desimaaleja jakolausekkeessa ekaluku / tokaluku. Tulosta lopuksi tulosmuuttujien arvot näytölle. Tulosta osamäärä kahden desimaalin tarkkuudella System.out.printf-operaatiota käyttäen esimerkiksi näin: System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara); Esimerkki ohjelman toiminnasta, kun syötteet ovat 7 ja 4: Hello! I do some basic arithmetic. Please, enter the first integer: 7 Please, enter the second integer: 4 7 + 4 = 7-4 = 3 7 * 4 = 28 7 / 4 =.75 7 % 4 = 3 Esimerkki ohjelman toiminnasta, kun syötteet ovat 2 ja : Hello! I do some basic arithmetic. Please, enter the first integer: 2 Please, enter the second integer: 2 + = 3 2 - = 2 * = 2 2 / = 2.00 2 % = 0 Lausekielinen ohjelmointi I Syksy 208 Jorma Laurikkala / 6

2. Tee Javalla Glass-niminen ohjelma, joka tiedustelee onko käyttäjä optimisti vai pessimisti ja tulostaa vastauksen mukaan if-else-lausetta käyttäen joko "The glass is half full." tai "The glass is half empty." Voit olettaa, että käyttäjän syöte on aina joko pieni o- tai p- kirjain. Esimerkki ohjelman toiminnasta, kun syöte on 'o': Hello! I tell about glasses. Are you an (o)ptimist or a (p)essimist? o The glass is half full. Esimerkki ohjelman toiminnasta, kun syöte on 'p': Hello! I tell about glasses. Are you an (o)ptimist or a (p)essimist? p The glass is half empty. 3. Liuoksen happamuutta mitataan ph-arvolla. Jos ph on alle 7, sanotaan liuoksen olevan hapan. Jos ph on yli 7, on liuos emäksinen. Liuosta, jonka ph on 7, sanotaan neutraaliksi. Kirjoita Javalla PHScale-niminen ohjelma, joka tulostaa lukee käyttäjältä ph-arvon liukulukuna ja tulostaa saamansa arvon mukaan joko "Solution is acid.", "Solution is neutral." tai "Solution is alkaline." Esimerkki ohjelman toiminnasta, kun syöte on 6.5: Hello! I classify solutions using the ph scale. Enter a ph value: 6.5 Solution is acid. Esimerkki ohjelman toiminnasta, kun syöte on 7: Hello! I classify solutions using the ph scale. Enter a ph value: 7 Solution is neutral. Esimerkki ohjelman toiminnasta, kun syöte on 7.: Hello! I classify solutions using the ph scale. Enter a ph value: 7. Solution is alkaline. Lausekielinen ohjelmointi I Syksy 208 Jorma Laurikkala 2 / 6

4. Tee Javalla Seasons-niminen ohjelma, joka tiedustelee käyttäjältä tämän suosikkivuodenajan ja tulostaa if-else-lauseiden avulla alla annettujen esimerkkien mukaisesti. Esimerkki ohjelman toiminnasta, kun syöte on : Which do you like most: ) winter, 2) spring, 3) summer, 4) autumn? Your favourite season of the year is winter. Esimerkki ohjelman toiminnasta, kun syöte on 2: Which do you like most: ) winter, 2) spring, 3) summer, 4) autumn? 2 Your favourite season of the year is spring. Esimerkki ohjelman toiminnasta, kun syöte on 3: Which do you like most: ) winter, 2) spring, 3) summer, 4) autumn? 3 Your favourite season of the year is summer. Esimerkki ohjelman toiminnasta, kun syöte on 4: Which do you like most: ) winter, 2) spring, 3) summer, 4) autumn? 4 Your favourite season of the year is autumn. Esimerkki ohjelman toiminnasta, kun syöte on virheellinen eli välille 4 kuulumaton kokonaisluku: Which do you like most: ) winter, 2) spring, 3) summer, 4) autumn? 0 Your favourite season of the year is unknown. 5. Ratkaise 4. tehtävä switch-case-lauseen avulla. Anna ohjelman nimeksi Seasons2. Lausekielinen ohjelmointi I Syksy 208 Jorma Laurikkala 3 / 6

6. Tee Javalla Divisibility-niminen ohjelma, joka lukee käyttäjältä kaksi int-tyyppistä kokonaislukua x ja y ja päättelee onko ensimmäinen luku jaollinen toisella luvulla. Ohjelma tulostaa viestin "x is divisible by y.", jos jako menee tasan. Tuloste on "x is not divisible by y.", jos jako ei mene tasan. Jos esimerkiksi x = 2 ja y = 3, ohjelma tulostaa "2 is divisible by 3." Nollaan liittyy erikoistapauksia. Jakolaskun tulos on määrittelemätön, kun y = 0. Ohjelma ilmaisee tämän tulostamalla virheilmoituksen "Error!". Jako menee tasan, kun x = 0 ja y 0. Tuloste on "Error!", jos x = 0 ja y = 0. Modulo-operaattorista (%) on hyötyä ongelman ratkaisussa. Esimerkki ohjelman toiminnasta, kun syötteet ovat 2 ja 3: 2 3 2 is divisible by 3. Esimerkki ohjelman toiminnasta, kun syötteet ovat 7 ja 4: 7 4 7 is not divisible by 4. Esimerkki ohjelman toiminnasta, kun syötteet ovat ja 0: 0 Error! Esimerkki ohjelman toiminnasta, kun syötteet ovat 0 ja : 0 0 is divisible by. Lausekielinen ohjelmointi I Syksy 208 Jorma Laurikkala 4 / 6

7. Toteuta liitteessä vuokaaviona esitetty algoritmi Java-kielellä. Anna ohjelman nimeksi MultiplicationTable. Esimerkki ohjelman toiminnasta, kun syöte on 5: Hello! I print a multiplication table. Please, enter an integer: 5 x 5 = 5 2 x 5 = 0 3 x 5 = 5 4 x 5 = 20 5 x 5 = 25 6 x 5 = 30 7 x 5 = 35 8 x 5 = 40 9 x 5 = 45 0 x 5 = 50 8. Kirjoita Javalla ASCIIFish-niminen ohjelma, joka tulostaa ASCII-merkeistä koostuvan kalan ">}}}`>" ja kalan perään kuplia, joiden lukumäärä luetaan käyttäjältä In-luokan avulla. Kuplat tulostetaan valitsemalla kunkin kuplan kohdalla satunnaisesti tulostusmerkiksi joko pieni o-kirjain, suuri o-kirjain tai nolla. Jos kuplia halutaan esimerkiksi 0 kappaletta, niin näytölle voisi tulostua merkkijono "0ooOo0ooOo>}}}`>". Ohjelma tulostaa pelkän kalan ">}}}`>", kun käyttäjä antaa kuplien määräksi nollan tai sitä pienemmän arvon. Kuplien lukumäärän ylärajaa ei ole rajoitettu. Voit arpoa kokonaisluvun väliltä [0, YLARAJA] esimerkiksi näin: // Math.random-operaatio tuottaa satunnaisen liukuluvun väliltä [0, [. // Satunnainen kokonaisluku saadaan aikaiseksi kertomalla arvottu // liukuluku sopivasti ja poistamalla desimaalit tyyppimuunnoksella. int arvottu = (int)((ylaraja + ) * Math.random()); Lausekielinen ohjelmointi I Syksy 208 Jorma Laurikkala 5 / 6

Liite : Vuokaaviona esitetty algoritmi kertotaulun tulostamiseen. Oletetaan syötteeksi kokonaisluku. Alku tulosta("hello! I print a multiplication table.") tulosta("please, enter an integer:") luku lue() kerroin tulo kerroin luku tulosta(kerroin + " x " + luku + " = " + tulo) kerroin kerroin + kerroin 0 kyllä ei Loppu Lausekielinen ohjelmointi I Syksy 208 Jorma Laurikkala 6 / 6