PP1

Mitä ovat PP-tehtävät?

PP-tehtävät on tarkoitettu niille, joilla edellisten demojen tekeminen on tuottanut hankaluuksia, tai muusta syystä demot ovat jääneet tekemättä. Nämä ovat siis kertaavia tehtäviä, joiden avulla palautetaan mieliin aikaisempia demoja uudesta näkökulmasta. PP-tehtävät eivät ole tarkoitettu niille, jotka ovat tehneet säännöllisesti 4 tai enemmän tehtäviä/kerta. PP-tehtävillä voi myös (enintään kaksi kertaa koko kurssin aikana) hyvittää sen tilanteen että aikaisemmalla demokerralla ei ole tehnyt tähtitehtäviä. Edelleen, PP-tehtävät lasketaan mukaan 40%:n sääntöön (siis sääntö joka sanoo että vähintään 27 pisteen edestä pitää olla tehty tehtäviä koko kurssilla).

PP-tehtäviä voivat palauttaa vain ne, ketkä osallistuvat erillisiin PP-ohjaustuokioihin Teamsin PP-kanavalla. Ilmoittautumista ei tarvita, ilmaannu vain paikalle Teamsiin PP-kanavalle. Jos et ole PP-tuokioihin osallistunut, niin et voi saada PP-tehtävistä myöskään pisteitä. Tehtäviä voi tietysti tehdä vaikka ei ryhmään pääsisi mukaan.

Tee tehtävät aina Visual Studiossa / Riderissä. Tehtävän tehtyäsi liitä kirjoittamasi koodi TIM:iin ja paina Aja/Tallenna.

Tee tehtävät niin, että silmäile tehtävä aluksi läpi ja tee vasta sen jälkeen varsinainen tehtävä. Tarvittaessa tee aluksi tukitehtävät, jotka löytyvät +-merkin takaa.

Pyydä ohjaajaa tarkastamaan tekemäsi tehtävät. Saat pisteet niistä tehtävistä, jotka olet tehnyt, vaikka ne eivät olisikaan täydellisesti oikein. Näissä tehtävissä ei ole automaattista pistelaskua. Tehtävien tarkistuksen jälkeen voit laittaa oikean määrän pisteitä Set custom points-toimintoa käyttämällä. Opettaja vie pisteet talteen tilaisuuden jälkeen.

Tehtävä 1 (1 p.)

Valmistelu: Avaa JetBrains Rider, luo uusi solution ja valitse Jypeli -> ConsoleMain. Nimeä solution kuvaavasti, esimerkiksi PP1. Nimeä myös projekti kuvaavasti, esimerkiksi PP1-MatkanKesto. Seuraavien tehtävien projektit luodaan tähän samaan solutioniin.

Tee funktio MatkanKestoTunteina. Funktio ottaa parametreina matkan pituuden ja keskinopeuden, ja palauttaa kuinka kauan matka kestää. Pääohjelma ja luokka on annettu valmiiksi, näet ne painamalla palautuslaatikon Näytä koko koodi -painiketta.

# matkanKestoTunteinaPP1

Tehtävä 2 (1 p.)

Valmistelu: Tämä tehtävä on jatkoa edelliseen tehtävään, uutta projektia ei tarvitse luoda.

Tee nyt funktio MatkanKestoSekunteina, joka laskee matkan keston sekunteina. Kutsu tässä funktiossa edellisen tehtävän funktiota MatkanKestoTunteina.

# matkanPituusSekunteinaPP1

Tehtävä 3 (1 p.)

Valmistelu: Luo uusi projekti samaan solutioniin edellisen tehtävän kanssa. Luo projekti käyttäen ConsoleMain-pohjaa.

Tehdään ohjelma, joka kysyy lukua ja ilmoittaa kuuluuko luku välille \([-5, 5]\).

Pääohjelma ja luokka on annettu valmiiksi, näet ne painamalla palautuslaatikon Näytä koko koodi -painiketta.

Aloita lisäämällä ohjelmaan funktio nimeltään OnkoValilla, joka ottaa parametrina yhden kokonaisluvun ja palauttaa tiedon siitä, onko annettu luku välillä \([-5, 5]\).

Aja ohjelma ja testaa sen toimintaa eri luvuilla.

Kirjoita luomallesi funktiolle dokumentaatio.

# onkoValillaPP1

Tehtävä 4 (1 p.)

Valmistelu: Tämä tehtävä on jatkoa edelliseen tehtävään, uutta projektia ei tarvitse luoda.

Tässä tehtävässä on tarkoitus tehdä funktiosta OnkoValilla kuormitettu versio, jolle voi luvun lisäksi itse antaa parametrina ala- ja ylärajan.

Jätä olemassa oleva OnkoValilla koodiisi ja tee sen lisäksi uusi OnkoValilla funktio, joka ottaakin kolme parametria. Tee tästä uudesta OnkoValilla funktiosta sellainen, että annetut parametrit toimivat ylä- ja alarajana -5:n ja 5:n sijaan.

Testaa jälleen ohjelman toimintaa ja varmista, että ohjelma toimii oikein.

Funktiota voi nyt käyttää siten, että sille annetaan vain luku, jolloin rajojen oletetaan olevan -5 ja 5, tai sitä voi käyttää siten, että sille annetaan itse halutut rajat.

# kuormitettuPP1

Tehtävä 5 (1p.)

Valmistelu: Luo uusi projekti samaan solutioniin edellisen tehtävän kanssa. Luo projekti käyttäen ConsoleMain-pohjaa.

Tee ohjelma, missä kysytään kolme sanaa käyttäjältä, ja tulostetaan pisin sana. Pääohjelma ja luokka on annettu valmiiksi, näet ne painamalla palautuslaatikon Näytä koko koodi -painiketta.

Sinun pitää tehdä funktio Pisin, sekä sille dokumentaatio. Aloita tekemällä funktion esittelyrivi (se missä on public static jne.).

Valmis ohjelma tulostaa konsoliin esimerkiksi tällaista. ([ret] tarkoittaa Enter-näppäimen painallusta, eikä se kuulu varsinaiseen merkkijonoon.)

Anna 1. sana > Koira[ret]
Anna 2. sana > Pekka[ret]
Anna 3. sana > Kalle-Petteri[ret]
Kiitos vastauksistasi! Pisin sana on "Kalle-Petteri".

Kannattaa myös kokeilla, että ohjelma toimii, vaikka pisin sana ei olisikaan juuri kolmantena syötetty.

Kopioi vastauksesi Rideristä alla olevaan koodilaatikkoon ja kirjoita kolme merkkijonoa omille riveilleen tehtävälaatikon alapuolella olevaan input-laatikkoon. Paina lopuksi Aja, jotta vastauksesi tallentuu TIMiin.

# PP1PisinSana

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.