Harjoitus 3 (viikko 39)

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

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

Harjoitus 6 (viikko 42)

Harjoitus 5 (viikko 41)

Harjoitus 2 (viikko 45)

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

Harjoitus 1 (viikko 44)

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

Harjoitus 6 (viikko 42)

Harjoitus 5 (viikko 48)

Harjoitus 5 (viikko 41)

Harjoitus 4 (viikko 47)

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

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

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

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

7. Näytölle tulostaminen 7.1

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Toinen harjoitustyö. ASCII-grafiikkaa

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

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

5. HelloWorld-ohjelma 5.1

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

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

Java-kielen perusteet

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

Ohjelmoinnin perusteet Y Python

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

5. HelloWorld-ohjelma 5.1

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

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

Java-kielen perusteet

Python-ohjelmointi Harjoitus 2

Ohjelmoinnin perusteet Y Python

14. Hyvä ohjelmointitapa 14.1

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

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

Ohjelmoinnin perusteet Y Python

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

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

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

ITKP102 Ohjelmointi 1 (6 op)

13. Loogiset operaatiot 13.1

13. Hyvä ohjelmointitapa (osa 1) 13.1

Ohjelmoinnin perusteet, syksy 2006

811120P Diskreetit rakenteet

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

Harjoitustyö: virtuaalikone

Harjoitustyö Johdanto

Harjoitustyön testaus. Juha Taina

Algoritmit 1. Demot Timo Männikkö

17. Javan omat luokat 17.1

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

Ohjelmoinnin peruskurssi Y1

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

Ohjelmoinnin peruskurssi Y1

20. Javan omat luokat 20.1

Ohjelmoinnin peruskurssi Y1

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

Java-kielen perusteet

4. Lausekielinen ohjelmointi 4.1

17. Javan omat luokat 17.1

Apuja ohjelmointiin» Yleisiä virheitä

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

Ohjelmoinnin peruskurssi Y1

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

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

Tietotyypit ja operaattorit

Harjoitus 3: Flash-komponenttiarkkitehtuuri ( )

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

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

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

ITKP102 Ohjelmointi 1 (6 op)

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

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

Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat ja operaatiot

Ohjelmoinnin peruskurssi Y1

Java-kielen perusteita

Ohjelmoinnin perusteet Y Python

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

2. Merkkijono, osamerkkijono ja osamerkkijonon haku

ITKP102 Ohjelmointi 1 (6 op)

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100


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

3. Muuttujat ja operaatiot 3.1

Ohjelmoinnin perusteet Y Python

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

Esimerkki: Laskin (alkua) TIEA341 Funktio ohjelmointi 1 Syksy 2005

Tietueet. Tietueiden määrittely

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

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1

Ohjelmointi 2 / 2010 Välikoe / 26.3

1. Omat operaatiot 1.1

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Tekijä Pitkä Matematiikka 11 ratkaisut luku 2

Osa. Listaus 2.1. HELLO.CPP esittelee C++ -ohjelman osat. 14: #include <iostream.h> 15: 16: int main() 17: {

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

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

Java-kielen perusteita

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. Vältä liian pitkiä rivejä. Ohjelmointitehtävien osalta 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 2 - ryhmässä avustetaan hieman enemmän kuin muissa ryhmissä. Palauta vastauksesi WETO-järjestelmään viimeistään ensi viikon torstaina 28.9. klo 2. (keskipäivä). WETO tarkistaa lähdekoodia automaattisesti. Lisätietoja: https://coursepages.uta.fi/tiep/syksy- 27/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-27/ohjelmointivalineita/java-jdk/. Ota yhteyttä kurssin vastuuopettajaan, jos Java ei suostu asentumaan koneellesi.. Kirjoita Java-ohjelma, jossa testaat aritmeettiset operaatiot +, -, *, / ja %. Esittele inttyyppiset 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. Tulosta lopuksi tulosmuuttujien arvot näytölle. Kun syötteet ovat 7 ja, niin ohjelma voisi toimia seuraavasti. Moi! Testaan aritmeettisia operaatioita. Anna. luku: 7 Anna 2. luku: 7 + = 7 - = 3 7 * = 28 7 / =.75 7 % = 3 Huomaa, että tarvitset tyyppimuunnoksen, jotta Java ei hävitä desimaaleja jakolausekkeessa ekaluku / tokaluku. 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 half full." tai "The glass 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 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 half empty. Lausekielinen ohjelmointi I Syksy 27 Jorma Laurikkala / 5

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.. 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 : Your favourite season of the year is winter. Esimerkki ohjelman toiminnasta, kun syöte on 2: 2 Your favourite season of the year is spring. Esimerkki ohjelman toiminnasta, kun syöte on 3: 3 Your favourite season of the year is summer. Esimerkki ohjelman toiminnasta, kun syöte on : Your favourite season of the year is autumn. Lausekielinen ohjelmointi I Syksy 27 Jorma Laurikkala 2 / 5

Esimerkki ohjelman toiminnasta, kun syöte on virheellinen eli välille kuulumaton kokonaisluku: Your favourite season of the year is unknown. 5. Ratkaise. tehtävä switch-case-lauseen avulla. 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 =. Ohjelma ilmaisee tämän tulostamalla virheilmoituksen "Error!". Jako ei mene tasan, kun x =. Ohjelma tulostaa siksi " is not divisible by y." nollaa jaettaessa. Tuloste on "Error!", jos x = ja y =. 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 : 7 7 is not divisible by. Esimerkki ohjelman toiminnasta, kun syötteet ovat ja : Error! Lausekielinen ohjelmointi I Syksy 27 Jorma Laurikkala 3 / 5

Esimerkki ohjelman toiminnasta, kun syötteet ovat ja : is not divisible by. 7. Toteuta liitteessä vuokaaviona esitetty algoritmi Java-kielellä. 8. Kirjoita Javalla ohjelma, joka tulostaa ASCII-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 kappaletta, niin näytölle voisi tulostua merkkijono "oooooooo>}}}`>". 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ä [, YLARAJA] esimerkiksi näin: // Math.random-operaatio tuottaa satunnaisen liukuluvun väliltä [, [. // Satunnainen kokonaisluku saadaan aikaiseksi kertomalla arvottu // liukuluku sopivasti ja poistamalla desimaalit tyyppimuunnoksella. int arvottu = (int)((ylaraja + ) * Math.random()); Lausekielinen ohjelmointi I Syksy 27 Jorma Laurikkala / 5

Liite : Vuokaaviona esitetty algoritmi kertotaulun tulostamiseen. Oletetaan syötteeksi kokonaisluku. Alku tulosta("moi! Tulostan kertotaulun.") tulosta("anna luku:") luku lue() kerroin tulo kerroin luku tulosta(kerroin + " x " + luku + " = " + tulo) kerroin kerroin + kerroin kyllä ei Loppu Lausekielinen ohjelmointi I Syksy 27 Jorma Laurikkala 5 / 5