Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

Samankaltaiset tiedostot
Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Toinen harjoitustyö. ASCII-grafiikkaa

Harjoitustyö Johdanto

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

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

Harjoitus 2 (viikko 45)

Harjoitus 5 (viikko 41)

Harjoitus 6 (viikko 42)

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

Harjoitus 4 (viikko 47)

Harjoitus 5 (viikko 41)

Harjoitus 6 (viikko 42)

Harjoitus 5 (viikko 48)

2. Merkkijono, osamerkkijono ja osamerkkijonon haku

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

Harjoitus 3 (viikko 39)

13. Hyvä ohjelmointitapa (osa 1) 13.1

Harjoitustyö Johdanto

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

Harjoitus 1 (viikko 44)

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

14. Hyvä ohjelmointitapa 14.1

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

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

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

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

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

5. HelloWorld-ohjelma 5.1

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

Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

ITKP102 Ohjelmointi 1 (6 op)

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

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

7. Näytölle tulostaminen 7.1

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

Ohjelmoinnin perusteet, syksy 2006

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

Java-kielen perusteita

Kohdissa 2 ja 3 jos lukujen valintaan on useita vaihtoehtoja, valitaan sellaiset luvut, jotka ovat mahdollisimman lähellä listan alkua.

Sinulle on annettu bittijono, ja tehtäväsi on muuttaa jonoa niin, että jokainen bitti on 0.

Harjoitustyö Johdanto Tehtävä

ITKP102 Ohjelmointi 1 (6 op)

5. HelloWorld-ohjelma 5.1

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

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

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

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

Harjoitustyö Johdanto Tehtävä

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

Luento 5. Timo Savola. 28. huhtikuuta 2006

S: siirtää listan ensimmäisen luvun viimeiseksi V: vaihtaa keskenään listan kaksi ensimmäistä lukua

Vastuuopettaja. Kurssiesite Lausekielinen ohjelmointi Syksy Tavoitteet ja keinot. Lausekielinen ohjelmointi (10 op)

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

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

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

Ohjelmoinnin perusteet Y Python

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

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

Datatähti 2019 loppu

58160 Ohjelmoinnin harjoitustyö

11. Javan toistorakenteet 11.1

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

Java-kielen perusteet

Java-kielen perusteita

12. Javan toistorakenteet 12.1

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

ASCII-taidetta. Intro: Python

Harjoitustyö Johdanto. 2. Euroseteli

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

Opettajan arviointinäkymä

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

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

Java-kielen perusteet

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

Ohjelmointi 1 Taulukot ja merkkijonot

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 Informaatiotieteiden yksikkö Tampereen yliopisto

Java-kielen perusteet

Ohjelmoinnin perusteet Y Python

4. Lausekielinen ohjelmointi 4.1

Vesa Ollikainen, päivitys Juha Haataja

Kurssijärjestelyt. CS-1180 Verkkojulkaisemisen perusteet (5 op) Hanna Hämäläinen Informaatioverkostot / Mediatekniikan laitos

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

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

Ohjelmoinnin perusteet Y Python

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

ITKP102 Ohjelmointi 1 (6 op)

12. Javan toistorakenteet 12.1

OHJ-7400 Graafisen käyttöliittymän ohjelmointi, Harjoitustyö

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

Interaktiivinen tarinankerronta

Ohjelmointi 2, välikoe

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

1. Omat operaatiot 1.1

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

Tietotekniikan valintakoe

Transkriptio:

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

Yleistä Tehtävä: Tee Javalla LineBreaker-ohjelma tekstirivin sovittamiseen tekstialueelle riviä katkomalla. Lausekielinen ohjelmointi II -kurssin pakollinen osasuoritus. Työ tehdään yksin. Ideoita voi vaihtaa koodia ei. Henkilökohtaista ohjausta tarjolla mikroluokissa myöhemmin ilmoitettavina aikoina. Sähköpostilla voi edelleen kysyä. Palautus WETOon todennäköisesti ke 2.11.2016. Lue tehtävänanto ja palautusohjeet tarkkaan. Lopullinen tehtävänanto ja esimerkkejä julkaistaan tällä viikolla. Lausekielinen ohjelmointi II Syksy 2016 Jorma Laurikkala 2

Tekstirivi ja tekstialueen leveys Tekstialueen leveys on vähintään kolme merkkiä. Leveyttä luetaan käyttäjältä niin pitkään kuin se on virheellinen. Testirivi Tekstirivi koostuu osista, jotka on erotettu toisistaan yhdellä välilyönnillä. Esimerkiksi: Testing, testing. One, two, three. Useimmat osat ovat sanoja, mutta osa voi olla myös esimerkiksi sanan ja pisteen yhdistelmä. Rivi ei saa alkaa välilyönnillä tai loppua välilyöntiin eikä välilyönti saa toistua. Rivin pisimmän osan on oltava korkeintaan alueen leveyden mittainen. Myös riviä luetaan käyttäjältä niin pitkään kuin se on virheellinen. Lausekielinen ohjelmointi II Syksy 2016 Jorma Laurikkala 3

Tekstirivin sovitus Rivi sovitetaan alueelle katkomalla sitä uusiksi riveiksi kunnes alkuperäisen rivin jäljellä oleva osa mahtuu uudelle riville. Katkaisukohta on viimeisen uudelle riville mahtuvan alkuperäisen rivin osan jälkeen. Katkaisukohdassa oleva välilyönti poistetaan, jolloin uusi rivi alkaa heti komentoikkunan vasemmasta reunasta. Kukin uusi rivi täydennetään tarvittaessa tekstialueen levyiseksi lisäämällä välilyöntejä rivin loppuun. Kaikki uudet rivit päätetään jakomerkkiin. Lausekielinen ohjelmointi II Syksy 2016 Jorma Laurikkala 4

Tekstirivin sovitus Sovitetaan tekstirivi Testing, testing. One, two, three. 11 merkin levyiselle tekstialueelle. Katkaisukohta on alleviivattu. Pystyviiva osoittaa alueen leveyden. Testing, testing. One, two, three. testing. One, two, three. One, two, three. three. Testing, / testing. / One, two, / three. / Lausekielinen ohjelmointi II Syksy 2016 Jorma Laurikkala 5

Ohjelman toiminnasta Ohjelma tervehtii käyttäjäänsä tulostamalla kerran merkkijonon Hello! I break lines.. Riviä ja alueen leveyttä luettaessa tulostetaan Enter area width: ja. Merkkijonon sovituksen jälkeen ohjelman käyttäjältä tiedustellaan Continue (y/n)? ja vastaukseksi hyväksytään vain pieni y- tai n-kirjain. Kaksi ensimmäistä syötettä luetaan uudelleen, jos käyttäjä haluaa jatkaa. Virheeseen reagoidaan merkkijonolla Error!. Ohjelman loppuessa tulostetaan See you soon.. Lausekielinen ohjelmointi II Syksy 2016 Jorma Laurikkala 6

Esimerkki ohjelman toiminnasta Hello! I break lines. Enter area width: 2 Error! Enter area width: 11 Testing,testing. One, two, three. Error! Testing, testing. One, two, three. Error! Testing, testing. One, two, three. Testing, / testing. / One, two, / three. / Continue (y/n)? n See you soon. Lausekielinen ohjelmointi II Syksy 2016 Jorma Laurikkala 7

Esimerkki ohjelman toiminnasta Hello! I break lines. Enter area width: 15 Q: What did the Java code say to the C code. A: You have got no class. Q: What did the/ Java code say / to the C code. / A: You have got/ no class. / Continue (y/n)? y Enter area width: 25 Unix is user-friendly - it is just choosy about who its friends are. Unix is user-friendly - / it is just choosy about / who its friends are. / Continue (y/n)? n See you soon. Lausekielinen ohjelmointi II Syksy 2016 Jorma Laurikkala 8

Muuta Taulukot ja Javan API:n edistyneemmät ohjelmointitekniikat on kielletty, jotta noviisit eivät käyttäisi tuntemattomia tekniikoita. API-luokkien operaatioista sallittuja ovat vain System.out.println ja print ja luentokalvoilla mainitut String-luokan operaatiot. Muita APIoperaatioita ei saa käyttää. Lue syötteet In-luokan avulla. Kysy ohjaajalta, jos olet epävarma. Noudata hyvää ohjelmointitapaa. Testaus WETOssa julkisilla ja salaisilla testeillä. Arvostelu: myöhemmin julkaistavalla asteikolla. Hylätyn työn saa korjata. Lausekielinen ohjelmointi II Syksy 2016 Jorma Laurikkala 9