Johdatus ohjelmointiin, harjoitustehtävät

Syksy 2006

Harjoitukset tiistaisin tiedepuiston mikroluokassa 247. R1 kello 10-12, R2 kello 12-14, ja R3 kello 14-16.

Harjoitustehtävät palautetaan ennen demoja demonpitäjälle sähköpostiosoitteeseen jo2006@cs.joensuu.fi. Tehdyiksi voi merkitä vain ne harjoitukset jotka on palauttanut sähköpostilla!

Lähetä vastaukset ennen ensimmäisiä demoja (ti 10:15) yhdessä sähköpostissa demonpitäjälle.

Viikko 5 (10.10)

Harjoituksissa opittavat asiat:

Tehtävä 1 (2p.)

Tee (edes jollain tavalla järkevä) ohjelma josta löytyy yksi tai useampia seuraavista riveistä (2p.):

while syote>1988 or syote<1978:
if syote_laji == "matto" and syote_leveys > levein:
if syote<18 or syote>65:
while syote!="k" and syote!="s" and syote!="p":
if syote>=1 and syote<=31:
if syote=="matti" or syote=="teppo":
Tehtävä 2 (2p)

Lisää luennoilla esiteltyyn Sepon sääohjelmaan (versio 5) sellainen ominaisuus että kun käyttäjä lopettaa salamoiden syöttämisen (antaa negatiivisen luvun), niin sen lisäksi että ohjelma tulostaa kuinka kauas lähimmäksi osunut salama osui, ohjelma tulostaa myös kuinka kauas kauimmaksi osunut salama osui. Testaa ohjelmaasi erilaisilla syötteillä. (1p.)

Lisää ohjelmaan vielä sellainen ominaisuus että ohjelma tulostaa lopuksi annettujen salamoiden keskimääräisen etäisyyden. Testaa ohjelmaasi erilaisilla syötteillä. (1p.)

Tehtävä 3 (1p)

Kolikkolaskuri-ohjelma toimi ihan moitteettomasti, mutta sitten virus söi siitä kaikki sisennykset. Korjaa sisennykset takaisin paikalleen niin että ohjelma toimii taas. Katso mallitulostus siitä miten ohjelman pitäisi toimia.

Tehtävä 4 (1p)

Selvitä ja kerro hyvin lyhyesti omin sanoin mitä ovat Fibonaccin luvut (a.k.a Fibonaccin sarja).