Ohjelmoinnin perusteet, 1. välikoe



Samankaltaiset tiedostot
Metodien tekeminen Javalla

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

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

7. Näytölle tulostaminen 7.1

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

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

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

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

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

Java-kielen perusteita

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

Java-kielen perusteet

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

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

Ohjelmoinnin jatkokurssi, kurssikoe

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

ITKP102 Ohjelmointi 1 (6 op)

Java-kielen perusteita

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

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

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

Ohjelmoinnin perusteet Y Python

Luokat ja oliot. Ville Sundberg

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

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

Ohjelmoinnin perusteet Y Python

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmoinnin perusteet Y Python

Python-ohjelmointi Harjoitus 2

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 )

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

Ohjelmointi 2 / 2010 Välikoe / 26.3

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Metropolia ammattikorkeakoulu TI00AA : Ohjelmointi Kotitehtävät 3

Olio-ohjelmointi Javalla

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

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmoinnin perusteet Y Python

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Taulukoiden käsittely Javalla

Ohjelmoinnin perusteet, syksy 2006

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

Ohjelmoinnin peruskurssi Y1

1. Omat operaatiot 1.1

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

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

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

Maahan on pudonnut omenoita, ja Uolevi aikoo poimia niitä. Tiedät jokaisesta omenasta, kuinka painava se on.

Java-kielen perusteet

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

Poikkeustenkäsittely

Tietorakenteet (syksy 2013)

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Matematiikka vuosiluokat 7 9

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmoinnin perusteet Y Python

1. Ohjelmoinnin perusteet, kesä Aloittaminen Tulostaminen Muuttujat if-rakenne Metodit

Ohjelmoinnin perusteet Y Python

Metodien tekeminen Javalla

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

Mitä poikkeuskäsittely tarkoittaa?

Tietotekniikan valintakoe

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Ohjelmoinnin perusteet, kurssikoe

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

Tekijä Pitkä matematiikka Pisteen (x, y) etäisyys pisteestä (0, 2) on ( x 0) Pisteen (x, y) etäisyys x-akselista, eli suorasta y = 0 on y.

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

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Mikä yhteyssuhde on?

Harjoitus 3: Flash-komponenttiarkkitehtuuri ( )

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

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

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

Ohjelmoinnin perusteet Y Python

Luvuilla laskeminen. Esim. 1 Laske

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

7. Resistanssi ja Ohmin laki

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva

6. Muuttujat ja Java 6.1

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

Java-kielen perusteet

4 TOISEN ASTEEN YHTÄLÖ

1 Tehtävän kuvaus ja analysointi

Harjoitus 3 (viikko 39)

massa vesi sokeri muu aine tuore luumu b 0,73 b 0,08 b = 0,28 a y kuivattu luumu a x 0,28 a y 0,08 = 0,28 0,08 = 3,5

Ohjelmoinnin perusteet Y Python

TyontekijaOhjelma. +main() (käyttää) + = public - = private

Javan perusteita. Janne Käki

5. HelloWorld-ohjelma 5.1

58131 Tietorakenteet ja algoritmit (syksy 2015)

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

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

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

14. Poikkeukset 14.1

2 Raja-arvo ja jatkuvuus

Transkriptio:

Ohjelmoinnin perusteet,. välikoe Nimi: Opiskelijanumero:.. 3. 4. Yhteensä Ohje: Ratkaise kaikki tehtävät. Lähdemateriaalia ja tietokonetta ei saa käyttää. Noudata ohjelmointitehtävissä Java-kielen vakiintuneita ohjelmointikäytänteitä (muuttujanimet, sisennykset jne.). Voit olettaa kaikissa tehtävissä, että syötteen lukemiseen tarvittava kurssikirjan mukainen Oma-luokka on käytössäsi. Luokka tarjoaa seuraavat metodit: Oma.lueInt() lukee ja palauttaa kokonaisluvun Oma.lueDouble() lukee palauttaa liukuluvun (desimaaliluvun) Oma.lueString() lukee ja palauttaa merkkijonon Oma.lueChar() lukee ja palauttaa merkin Lisäksi: Voit käyttää neliöjuuren laskemiseksi metodia Math.sqrt, jolle annetaan parametrina double-tyyppinen juurrettava. Metodi palauttaa neliöjuuren arvon double-tyyppisenä. Esimerkiksi Math.sqrt(.0) palauttaa arvon.44356373095. Voit laskea potenssiinkorotuksen käyttämällä metodia Math.pow, joka saa parametreina kantaluvun ja eksponentin. Metodi palauttaa potenssiinkorotuksen tuloksen doubletyyppisenä. Esimerkiksi Math.pow(.5, ) palauttaa arvon 6.5. vk_6009_v.doc Sivu /8

. Tutustu alla olevaan ohjelmaan ja ratkaise tehtävät. (Kukin kohta p.) public class Ympyrä { public static void main (String[] args) { i; säde; ala; for (i = ; i<=3; i++) { System.out.println("Anna ympyrän ala."); ala = Oma.lueDouble(); säde = Math.sqrt(ala/Math.PI); System.out.println("Ympyrän säde on " + säde); a) Kerro selkeästi ja tarkasti ohjelman idea: mitä ohjelma tekee? b) Täydennä viivoille määrittelylauseista puuttuvat tietotyypit tarkoituksenmukaisella tavalla. c) Oletetaan, että et halua käyttää Math-luokassa määriteltyä vakiota Math.PI vaan korvata sen itse määrittelemälläsi vakiolla PII, jolle annat arvoksi 3.4597. Tee ohjelmakoodiin selkeästi tarvittavat muutokset. d) Ohjelmassa käytetään muuttujanimiä säde, ala ja i. Yliviivaa seuraavasta luettelosta sellaiset muuttujanimet, jotka olisivat syntaktisesti virheellisiä eli joita Java-kääntäjä ei hyväksyisi: Ala kk Ångström_7897 Kehän.neliö henkka&maukka SÄDE s$ SÄDE e) Yliviivaa seuraavasta luettelosta sellaiset muuttujanimet, jotka olisivat isojen ja pienten kirjainten käytön puolesta Java-kielen vakiintuneen nimeämiskäytännön vastaisia muuttujanimen ala korvaajina em. ohjelmassa: a A ALA Ala AnnettuAla Annettuala annettuala annettuala f) Ohjelmassa esiintyy lause i++. Kirjoita lauseelle kolme muuta esitystapaa, jotka toimisivat tuossa ohjelman kohdassa täsmälleen samalla tavalla kuin edellä mainittu lause. vk_6009_v.doc Sivu /8

. Kirjoita ohjelma, joka kysyy käyttäjältä hyttiluokan (yksi merkki: F, A, B, C) ja tulostaa valitun hyttiluokan sanallisen kuvauksen alla olevan luettelon mukaisesti. Jos käyttäjä antaa muun merkin kuin jonkin edellä mainituista, ohjelma tulostaa Virheellinen hyttiluokka. Tehtävä on ratkaistava usean vaihtoehdon switch-valintarakenteen avulla. Hyttiluokka F: parvekkeellinen de luxe -hytti Hyttiluokka A: ikkunallinen yläkansihytti Hyttiluokka B: ikkunaton yläkansihytti Hyttiluokka C: ikkunaton hytti autokannen alla public class Ratkaisu { public static void main (String[] args) { vk_6009_v.doc Sivu 3/8

3. Kirjoita ohjelma, joka kysyy käyttäjältä massan keskiaikaisten mittojen mukaisesti: leivisköinä, nauloina ja luoteina. Ohjelma muuntaa syötteen täysiksi kilogrammoiksi ja grammoiksi ja ilmoittaa tuloksen käyttäjälle. Sekä leiviskät, naulat että luodit saavat olla desimaalilukuja. Tuloksessa ilmoitetaan aina täydet kilogrammat kokonaislukuna sekä yli jäävät grammat desimaaleineen. Muunnossääntö: Yksi leiviskä on 0 naulaa. Yksi naula on 3 luotia. Yksi luoti on 3,3 grammaa. Ohjelman on toimittava alla olevan esimerkin mukaisesti. (Esimerkissä 3 leiviskää, 9 naulaa ja 3,5 luotia on luoteina,5. Tämä on grammoina,5 3,3 = 9545,95, joka ilmoitetaan muodossa 9 kilogrammaa ja 545,95 grammaa). Virheellisiin syötteisiin ei tarvitse varautua. Anna leiviskät. 3 Anna naulat. 9 Anna luodit. 3.5 9 kilogrammaa ja 545.95 grammaa. public class Ratkaisu { public static void main (String[] args) { vk_6009_v.doc Sivu 4/8

vk_6009_v.doc Sivu 5/8

4. Kirjoita ohjelma, joka kysyy käyttäjältä reittipisteitä tason suorakulmaisessa koordinaatistossa ja tulostaa lopussa reittipisteiden määrän ja kokonaismatkan. Lähtö tapahtuu aina origosta. Esimerkki: käyttäjä haluaa syöttää kolme reittipistettä: (x=, y=), (x=3, y=) ja (x=, y). Tätä vastaa kuvan tilanne: 4 3 y 0-4 -3 - - 0 3 4 - - -3-4 x Ohjelma toimii näin: Anna seuraavan pisteen koordinaatit. x: y: Jatketaanko (k/e)? k Anna seuraavan pisteen koordinaatit. x: 3 y: Jatketaanko (k/e)? k Anna seuraavan pisteen koordinaatit. x: y: - Jatketaanko (k/e)? e Reittipisteitä 4, matka yht. 6.5764954474 vk_6009_v.doc Sivu 6/8

Huomaa, että ensimmäinen reittipiste on aina origo (x=0, y=0) eikä sitä kysytä käyttäjältä. Kahden reittipisteen x, ) ja x, ) välinen matka saadaan lausekkeesta ( x y ( y x ) ( y ) ( y. Lue ohjesivun vihjeet. Reittipiste kysytään käyttäjältä siten, että sen x- ja y-koordinaatti kysytään erikseen. Kunkin pisteen syötön jälkeen käyttäjältä kysytään, haluaako tämä jatkaa. Vaihtoehdot ovat k ja e. Jos käyttäjä vastaa jotain muuta kuin k tai e, vastaus pyydetään uudelleen. Jos vastaus oli k, kysytään seuraava reittipiste. Muussa tapauksessa tulostetaan lopputulokset ja ohjelman suoritus päättyy. public class Ratkaisu { public static void main (String[] args) { vk_6009_v.doc Sivu 7/8

vk_6009_v.doc Sivu 8/8