wiki:k2014/demot/pp7
Last modified 4 years ago Last modified on 2014-02-21 10:28:46

Viikko 6 » PP

PP-tehtävät (Pahasti Pihalla) ovat kertaavia tehtäviä, joita tekemällä voi kompensoida aiemmin huonosti menneitä demoja. PP-tehtävät eivät ole tarkoitettu niille, jotka ovat tehneet säännöllisesti 4 tai enemmän tehtäviä/kerta. Ja max 8p/kerta pätee edelleen.

PP-tehtävät tehdään PP-tilaisuudessa. Pisteet annetaan session päätteeksi, eikä pisteitä hyvitellä jälkikäteen! Kun olet saanut tehtävät tehtyä, pyydä ohjaajaa lisäämään sinulle asiaankuuluvat demopisteet Korppin HETI, sitten voit siirtyä tekemään vaikkapa "tavallisia" demotehtäviä.

Tehtävät palautetaan demowww:hen aina sen demokerran kohdalle, johon tehtävä liittyy.

PP1

Tällä tehtävällä saat 1 pisteen Demo 5:een.

Voit tehdä kaikki kohdat a-b samaan kooditiedostoon.

(a) Tee ohjelma (aliohjelmia ei tässä tarvita), joka tulostaa parilliset luvut väliltä 0..100 (sekä nolla että sata kuuluvat väliin). (0.5 p.)

(b) Tee ohjelma (jatka edellisen perään), joka tulostaa kaikki luvut väliltä 0..100, ja jos luku on jaollinen 4:llä, luvun perään tulostuu "Jaollinen neljällä!". Tulostus olisi seuraavanlainen (ote). (0.5 p.)

61
62
63
64 Jaollinen neljällä!
65
66
67
68 Jaollinen neljällä!
69
70

PP2

Tällä tehtävällä saat 1 - 3.5 pistettä demo 5:een. (Halutessasi voit laittaa pisteet myös demo 4:n kohdalle.)

  1. (1 p.) Tee pääohjelmaan silmukka, joka tulostaa 30 lukua siten, että ensimmäinen luku on 1, toinen luku on 1, ja seuraavat luvut ovat aina kahden edellisen summa. Eli tulostuksen alku näyttäisi tältä.
    1 1 2 3 5 8
    
  2. Tee uusi projekti, ja siihen aliohjelma nimeltä TaytaFibonacci. Anna aliohjelmalle parametrina int-taulukko. Aliohjelma täyttää taulukon edellisen tehtävän mukaisilla luvuilla. Muista, että taulukon koon saat Length-ominaisuuden avulla. Aliohjelma ei palauta eikä tulosta mitään. Koska parametrina on taulukko, joka on siis olio, niin muutokset näkyvät myös siellä missä aliohjelmaa kutsuttiin. Tee nyt Main-pääohjelmassa uusi, esimerkiksi 40 mittainen taulukko ja kutsu tekemääsi aliohjelmaa. Älä edelleenkään tulosta mitään, katso debuggerissa tuliko oikeat luvut taulukkoon. (1 p.)
  3. Tee funktio TaytaFibonacci, jolle annetaan parametrina taulukon alkioiden määrä (eli kuinka iso taulukko tehdään), ja palauttaa uuden taulukon joka on täytetty kuten kohdassa 2. Eli melkein sama tehtävä kuin edellisessä kohdassa, mutta nyt funktiosi tekee uuden taulukko ja palauttaa sen. (1 p.)
  4. Kirjoita yo. funktiolle Comtest-testit. Paluuarvona tulevan taulukon (alla luvut) voit testata esimerkiksi näin (kirjoita alla oleva koodi funktion dokumentaation ComTest-osaan.) (0.5 p.)
    /// String.Join(" ", luvut) === "1 1 2 3";