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

Samankaltaiset tiedostot
// 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ö

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

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

Harjoitus 2 (viikko 45)

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

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

Metodien tekeminen Javalla

Harjoitus 5 (viikko 41)

Harjoitus 5 (viikko 41)

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Java-kielen perusteita

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

Harjoitus 4 (viikko 47)

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

Java-kielen perusteet

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

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

Harjoitus 3 (viikko 39)

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

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

Harjoitus 5 (viikko 48)

Harjoitus 6 (viikko 42)

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

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

14. Hyvä ohjelmointitapa 14.1

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

Harjoitus 1 (viikko 44)

Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 26.2

17. Javan omat luokat 17.1

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

20. Javan omat luokat 20.1

Harjoitus 6 (viikko 42)

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

Mikä yhteyssuhde on?

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

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

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

1. Omat operaatiot 1.1

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

Ohjelmoinnin peruskurssi Y1

12. Javan toistorakenteet 12.1

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

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

Java-kielen perusteita

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

Taulukoiden käsittely Javalla

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmoinnin perusteet, syksy 2006

Toinen harjoitustyö. ASCII-grafiikkaa

Java-kielen perusteet

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo

13. Hyvä ohjelmointitapa (osa 1) 13.1

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

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

1. Kun käyttäjä antaa nollan, niin ei tulosteta enää tuloa 2. Hyväksy käyttäjältä luku vain joltain tietyltä väliltä (esim tai )

Ohjelmoinnin perusteet, 1. välikoe

ITKP102 Ohjelmointi 1 (6 op)

11. Javan valintarakenteet 11.1

Taulukot. Jukka Harju, Jukka Juslin

1 Tehtävän kuvaus ja analysointi

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Standardi- ja tietorakenneluokkia

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

Java-kielen perusteet

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

5. HelloWorld-ohjelma 5.1

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Luokat ja oliot. Ville Sundberg

14. Poikkeukset 14.1

Ohjelmointi 2 / 2010 Välikoe / 26.3

Sisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2

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

14. Poikkeukset 14.1

11. Javan toistorakenteet 11.1

19. Olio-ohjelmointia Javalla 19.1

Metodien tekeminen Javalla

12. Javan toistorakenteet 12.1

Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public)

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

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Ohjelmointi 1 Taulukot ja merkkijonot

Ohjelmoinnin perusteet Y Python

ITKP102 Ohjelmointi 1 (6 op)

Sisällys. 19. Olio-ohjelmointia Javalla. Yleistä. Olioiden esittely ja alustus

5. HelloWorld-ohjelma 5.1

Olio-ohjelmointi Javalla

17. Javan omat luokat 17.1

Ohjelmoinnin perusteet Y Python

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

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

9. Periytyminen Javassa 9.1

Listarakenne (ArrayList-luokka)

Ohjelmoinnin jatkokurssi, kurssikoe

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki

11. Javan valintarakenteet 11.1

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

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

Poikkeustenkäsittely

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Transkriptio:

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 (https://wetodev.sis.uta.fi/weto5/). 1. Kaupungin X joukkoliikenteen kertalipun maksaa ilman alennusta aamulla ja päivällä (klo 6 17) 2,7, illalla (klo 18 22) 3,5 ja yöllä (klo 23 ja 0 5) 4. Lippu ei maksa mitään, jos matkustaja on 0 2 vuotta vanha. Hinta on euron alempi (1,7, 2,5 ja 3 ), jos matkustajan ikä on 3 15 vuotta tai vähintään 65 vuotta. Kirjoita Javalla Fares-ohjelma, joka kysyy ajan ja matkustajan iän ja tulostaa näytölle lipun hinnan. Tunti on kokonaisluku, joka symboloi kyseisellä luvulla alkavaa tuntia. Esimerkiksi klo 5 tarkoittaa ajanjakoa 5.00 5.59. Matkustajan ikä on kokonaisluku. Syötteitä ei tarvitse tarkistaa voit olettaa, että aika ja ikä ovat aina järkeviä. Tulosta lipun hinta yhden desimaalin tarkkuudella printf-operaatiolla: // Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.%n", hinta); Esimerkki ohjelman toiminnasta, kun syötteet ovat 21 ja 46: 21 46 3.5 euros. Esimerkki ohjelman toiminnasta, kun syötteet ovat 10 ja 6: 10 6 1.7 euros. Esimerkki ohjelman toiminnasta, kun syötteet ovat 19 ja 1: 19 1 0.0 euros. Lausekielinen ohjelmointi I Syksy 2018 Tampereen yliopisto 1 / 5

2. Ilmatieteen laitos luokittelee tuulen voimakkuuden sen nopeuden 10 minuutin keskiarvona seuraavasti alla olevassa taulukossa annetulla tavalla. Tee Javalla Wind-ohjelma, joka lukee käyttäjältä tuulen nopeuksia kokonaislukuina ja tulostaa vastaavia voimakkuuden englanninkielisiä kuvauksia kunnes käyttäjä antaa negatiivisen arvon (< 0). Tuulen nopeus (m/s) Tuulen voimakkuus Ohjelman tulostama merkkijono 0 tyyntä "Calm." 1 3 heikkoa tuulta "Light breeze." 4 7 kohtalaista tuulta "Strong breeze." 8 13 navakkaa tuulta "Gale." 14 20 kovaa tuulta "Strong gale." 21 32 myrskyä "Storm." > 32 hirmumyrskyä "Violent storm." Hello! I am a wind classifier. 10 Gale. 32 Storm. 0 Calm. -1 Hello! I am a wind classifier. -1 Lausekielinen ohjelmointi I Syksy 2018 Tampereen yliopisto 2 / 5

3. Tee Javalla alla olevien esimerkkien mukaisen kuvion tulostava Figure-ohjelma. Piirtomerkki (char) ja riville piirrettävien merkkien lukumäärä (int) luetaan käyttäjältä. Merkkejä on oltava pariton määrä ja vähintään kolme. Ohjelma tulostaa merkkijonon "Error!", jos merkkien lukumäärä havaitaan virheelliseksi. mukaisesti. Rivien alkuun tulostetaan poikkeuksellisesti välilyöntejä. Alla olevissa esimerkeissä tulostetut välilyönnit on korostettu keltaisella. Rivien loppuun ei tulosteta välilyöntejä: jokainen rivi loppuu viimeiseen näkyvään merkkiin. Kaikki tulostettavat rivit viimeinen rivi mukaan lukien päätetään rivinvaihtoon. * 3 *** _*** *** o 5 ooooo _ooooo ooooo ooooo ooooo x 4 Error! Lausekielinen ohjelmointi I Syksy 2018 Tampereen yliopisto 3 / 5

4. Tee Javalla SecondWord-ohjelma, joka palauttaa lauseen toisen sanan. Voit olettaa, että lauseen sanat on erotettu toisistaan yhdellä välilyönnillä ja että lauseen alussa tai lopussa ei ole välilyöntejä. Lause luetaan käyttäjältä. Ohjelma tulostaa lauseen toisen sanan lainausmerkkien välissä tai virheilmoituksen "Error!", jos lauseessa on vain yksi sana. Voit tulostaa lainausmerkit sanan ympärille esimerkiksi näin: // Alla toinen on String-tyyppinen muuttuja. System.out.println("The second word is \"" + toinen + "\"."); Taulukoiden käyttö on kiellettyä. API-luokista vain String, System ja Scanner-luokat ovat sallittuja. String-luokasta saa käyttää charat, length- ja equals-operaatioita ja Systemluokan sallitut operaatiot ovat print ja println. Scanner-luokasta saa käyttää vain nextline-operaatiota. Scanner-olio on rakennettava oletusrakentajalla Scanner(). this is a test The second word is "is". hold your horses The second word is "your". word up The second word is "up". word Error! Lausekielinen ohjelmointi I Syksy 2018 Tampereen yliopisto 4 / 5

Liite: Esimerkkiohjelma public class OhjelmaEsimerkki { public static void main(string[] args) { // In-luokka helpottaa syötteiden lukua käyttäjältä. System.out.println("Anna kokonaisluku:"); int kokoluku = In.readInt(); System.out.println("Anna liukuluku:"); double liukuluku = In.readDouble(); System.out.println("Anna merkki:"); char merkki = In.readChar(); System.out.println("Anna merkkijono:"); String merkkijono = In.readString(); // Merkkijonoon voidaan yhdistää arvoja. System.out.print("Luku " + kokoluku + " on "); if (kokoluku >= 0) { System.out.println("positiivinen."); else { System.out.println("negatiivinen."); Lausekielinen ohjelmointi I Syksy 2018 Tampereen yliopisto 5 / 5