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

Samankaltaiset tiedostot
Harjoitus 6 (viikko 42)

Harjoitus 6 (viikko 42)

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

Harjoitus 5 (viikko 41)

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

Harjoitus 5 (viikko 41)

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

Harjoitus 3 (viikko 39)

Harjoitus 5 (viikko 48)

Harjoitus 2 (viikko 45)

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

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

Toinen harjoitustyö. ASCII-grafiikkaa

5. HelloWorld-ohjelma 5.1

14. Hyvä ohjelmointitapa 14.1

13. Hyvä ohjelmointitapa (osa 1) 13.1

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

2. Merkkijono, osamerkkijono ja osamerkkijonon haku

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

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op)

Harjoitustyö Johdanto

Ohjelmointi 1 C#, kevät 2013,

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

5. HelloWorld-ohjelma 5.1

Ohjelmoinnin perusteet Y Python

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

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

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

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

Ohjelmoinnin perusteet Y Python

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

Ohjelmoinnin peruskurssi Y1

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

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

Ohjelmoinnin perusteet Y Python

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

Ohjelmoinnin perusteet, syksy 2006

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

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

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

Java-kielen perusteet

Harjoitus 5 (viikko 40)

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

Harjoitustyö Johdanto

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

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

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

Python-ohjelmointi Harjoitus 2

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

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

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

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

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

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

Ohjelmoinnin perusteet Y Python

Metropolia ammattikorkeakoulu TI00AA : Ohjelmointi Kotitehtävät 3

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

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

Ohjelmoinnin perusteet Y Python

Java-kielen perusteet

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

Ohjelmointi 1 C#, kevät 2014, tentti

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

20. Javan omat luokat 20.1

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

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

Ohjelmoinnin perusteet, 1. välikoe

17. Javan omat luokat 17.1

ITKP102 Ohjelmointi 1 (6 op)

ASCII-taidetta. Intro: Python

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

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

ITKP102 Ohjelmointi 1 (6 op)

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

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

Ohjelmoinnin perusteet Y Python

Python-ohjelmointi Harjoitus 5

Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin:

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

L7 8.8 Tulorekisteriaineistot: Aineistojen lähetys ja virhetilanteet, aineistojen korjaaminen

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

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Ohjelmoinnin perusteet Y Python

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

Harjoitustyö: virtuaalikone

Sisältö. 22. 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 sujuvuu todennäköisesti paremmin, jos ratkaiset tämän harjoituskerran tehtäviä, koska ohjelmointi on paras tapa valmistautua tenttiin, jossa ohjelmoidaan. Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät tekniset ongelmat suoraan Jormalle sähköpostitse (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. Torstaina pidettävissä mikroharjoituksissa saa apua tehtävien ongelmakohtiin. Mikroharjoituksissa autetaan myös Javan asennuksessa omalle kannettavalle tietokoneelle. Palauta vastauksesi WETOjärjestelmään viimeistään ensi viikon keskiviikkona 8.7. klo 0.00. Syötteiden lukemiseen tarvittava In-luokka löytyy kurssin kotisivuilta Koodit-kohdasta. WETO tarkistaa ratkaisuja automaattisesti. Lisätietoja: https://coursepages.uta.fi/tiep/kesa- 08/harjoitukset/ratkaisujen-tarkistus/#automaattinen_tarkistus. Ota yhteyttä Kariin tai Kimmoon, jos et keksi miksi WETO hylkää vastauksesi. Lähetä postia Jormalle, jos havaitset WETOn testeissä virheen. 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ä Kariin tai Kimmoon, jos Java ei suostu asentumaan koneellesi.. Osoitteessa: https://coursepages.uta.fi/tiep/kesa-08/harjoitukset/tehtavat/ 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ä. 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 Kesä 08 Avoin yliopisto / 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 Kesä 08 Avoin yliopisto / 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 Kesä 08 Avoin yliopisto / 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 Kesä 08 Avoin yliopisto 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 Kesä 08 Avoin yliopisto 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 Kesä 08 Avoin yliopisto 6 / 6