Demo 2

Demoryhmä Päivä Aika Sali
Ryhmä 1 ma 27.5. 14.15 - 16.00 Ag C231.1
Ryhmä 2 ma 27.5. 18.15 - 20.00 Ag Beeta


  1. Tehtävänä olisi laskea taskussasi olevien kolikoiden summa. Tarkastele seuraavaa ja selvitä onko kyseessä tähän tarkoitukseen sopiva algoritmi? Jos ei ole niin korjaa se sellaiseksi.
    1. Ota kolikko taskustasi ja laita se pöydälle.
    2. Toista edellisestä askeleesta.
    3. Laske lopuksi taskusta otettujen kolikoiden summa.

  2. Olkoon meillä kumipallo. Kun se pudotetaan kovalle lattialle niin se pomppaa takaisin ylöspäin ja saavuttaa 90 % siitä korkeudesta, josta se kulloinkin alkaa putoamisen. Tee algoritmi, joka pomppu kerrallaan laskee kuinka monta kertaa pallo pomppaa vähintään 10 cm korkeuteen, kun se aluksi pudotetaan korkeudesta k cm.

  3. Seuraava algoritmi etsii alkiojoukosta tietyn alkion. Kirjoita algoritmi sellaiseen muotoon, että siinä ei ole siirry askeleeseen komentoja. Vain ehtolauseet, silmukat ja peräkkäinen suoritus ovat sallittuja.
    1. Valitse eka alkio
    2. Jos valittu alkio on etsittävä niin siirry askeleeseen 6.
    3. Jos valittu alkio on viimeinen niin siirry askeleeseen 8.
    4. Valitse seuraava alkio.
    5. Siirry askeleeseen 2.
    6. Tulosta Etsittävä alkio löytyi.
    7. Siirry askeleeseen 9.
    8. Tulosta Etsittävää alkiota ei ole.
    9. Lopeta

  4. Olkoon meillä seuraavat algoritmit:

    Algoritmi Kasvata(luku)
    1. Kasvata lukua 2:lla.
    2. Kerro luku 2:lla.
    3. Palauta luku.
    4. Lopeta algoritmi kasvata.

    Algoritmi Muuta(luku)
    1. Vähennä lukua 3:lla.
    2. Aseta luvun arvoksi algoritmin Kasvata(luku) palauttama arvo.
    3. Jaa luku 2:lla.
    4. Palauta luku.
    5. Lopeta algoritmi muuta.

    Algoritmi Laske
    1. Aseta luvun arvoksi N.
    2. Kerro luku 3:lla.
    3. Lisää lukuun 1.
    4. Aseta luvun arvoksi algoritmin Muuta(luku) palauttama arvo.
    5. Vähennä lukua 2:lla.
    6. Aseta luvun arvoksi algoritmin Kasvata(luku) palauttama arvo.
    7. Tulosta luku.
    8. Lopeta algoritmi laske.

    Suorita algoritmi Laske, kun N saa arvon 5. Kirjoita kaikki vaiheet näkyviin.
    Tee samoin kun N saa arvon 0.

  5. Tee seuraavat muunnokset:
    1. Muunna 10-järjestelmän luku 33 binääri-,oktaali- ja heksajärjestelmän luvuksi.
    2. Muunna binäärijärjestelmän luku 101000011 desimaali-,oktaali- ja heksajärjestelmän luvuksi.
    3. Muunna heksajärjestelmän luku 1B4 desimaali-, binääri- ja oktaalijärjestelmän luvuksi.

  6. Oletetaan, että kokonaisluvuille on varattu tilaa yksi tavu. Esitetään kokonaisluvut 2-komplementtina. Olkoon meillä bittijonot 0100 0111 ja 1001 1110 talletettuina kahteen eri tavuun.
    1. Tulkitse luvut desimaalijärjestelmän kokonaislukuina.
    2. Laske luvut yhteen binäärimuodossa ja tulkitse vastaus desimaalijärjestelmän lukuna.
http://appro.mit.jyu.fi/2002/kesa/johdatusohjelmointiin/demot/demo2/index.html
© Juha Kajava () & Miika Nurminen ()
Perustuu osittain Hans Björnin kurssisivustoon ja teksteihin.
Viimeksi päivitetty: 7.05.2002 15:17:04
Appro | Johdatus ohjelmointiin | Luennot | Demot | Harjoitustyö | Moniste | Ilmoitukset | Postituslista
demo 1 | demo 3