wiki:k2014/demot/pp6
Last modified 4 years ago Last modified on 2014-02-14 11:58:27

Viikko 5 » PP

PP-tehtävät (Pahasti Pihalla) on tarkoitettu niille, joilla edellisten demojen tekeminen on tuottanut hankaluuksia, tai muusta syystä demot ovat jääneet tekemättä. Nämä ovat kertaavia tehtäviä, joiden avulla 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.

PP-tehtäviä voivat palauttaa vain ne, ketkä osallistuvat erillisiin PP-ohjaustuokioihin. Ilmoittaudu niihin Korpissa. Jos et ole niihin osallistunut, niin voit skipata PP-tehtävät.

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 yhden pisteen Demo 4:ään. Palauta tehtävä demowww:hen demo4:n kohdalle.

Tässä tehtävässä tarkoituksena on tehdä ohjelma, joka laskee matkustusaikojen kestoja.

Tee funktio MatkanKestoTunteina, joka laskee, kuinka kauan jokin matka kestää annetulla matkan pituudella ja keskinopeudella, ja palauttaa tuon tiedon. Pääohjelma voisi näyttää tältä (voit copy-pastettaa tämän omaan ohjelmaasi).

public static void Main(string[] args)
{
    double matkanPituusKm = 124.5;
    double keskinopeusKmH = 120;

    double matkanKestoTunteina = MatkanKestoTunteina(matkanPituusKm , keskiNopeusKmH);
    Console.WriteLine("Matka kestää " + matkanKesto + " tuntia");
    Console.ReadKey();
}

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

Anna luokan nimeksi MatkanKesto, ja kooditiedostolle nimi MatkanKesto.cs. Palauta tuo tiedosto NettiDemoWWW:hen. Voit antaa itsellesi yhden pisteen, jos ohjelma tekee sen mitä pyydetään ja lisäksi dokumentaatiot ovat kunnossa.

PP2

Tällä tehtävällä saat yhden pisteen Demo 4:ään. Palauta tehtävä demowww:hen demo4:n kohdalle.

Tee ohjelma, missä kysytään kolme sanaa käyttäjältä, ja tulostetaan pisin sana. Tee tämä projekti samaan solutioniin edellisen tehtävän kanssa. Jos et osaa lisätä uutta projektia solutioniin, kysy ohjaajalta apua.

Ota tästä valmiiksi tehty pääohjelma (tätä EI tarvitse muuttaa).

public static void Main(string[] args)
{
  Console.Write("Anna 1. sana > ");
  String sana1 = Console.ReadLine();
  Console.Write("Anna 2. sana > ");
  String sana2 = Console.ReadLine();
  Console.Write("Anna 3. sana > ");
  String sana3 = Console.ReadLine();
  String pisin = Pisin(sana1, sana2, sana3);
  Console.WriteLine("Kiitos vastauksistasi! Pisin sana on \"" + pisin + "\".");
  Console.ReadKey();
}

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.

Anna luokan nimeksi PisinSana, ja kooditiedostolle nimi PisinSana.cs. Palauta tuo tiedosto NettiDemoWWW:hen. Voit antaa itsellesi yhden pisteen, jos ohjelma tekee sen mitä pyydetään ja lisäksi dokumentaatiot ovat kunnossa.

PP3

Tällä tehtävällä voit saada 1-3 pistettä Demo 5:een. Palauta tehtävä demowww:hen demo5:n kohdalle.

  1. Tee String-taulukko, jonka pituus on 5, ja johon laitat seuraavat sanat: "Antti-Jussi", "Jouni", "Juho", "Ohjelmointi", "Kurssi". (0.5 p.)
  2. Tee funktio, joka ottaa taulukollisen merkkijonoja, ja palauttaa merkkijonojen yhteenlasketun pituuden. (1.5 p.)
  3. ComTest-testit yo. funktiolle. (1 p.)