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!

Viikko 3 (26.9)

Harjoituksissa opittavat asiat:

Tehtävä 1 (1p)

Määritellään seuraavat kiintoarvot:

   opiskelijoita = 15
   max_opiskelijoita = 20
   ennakkoon_varatut = 6

Päättele tai kokeile seuraavien vertailulausekkeiden totuusarvot:

   opiskelijoita < 10
   ennakkoon_varatut != 0
   opiskelijoita < max_opiskelijoita
   opiskelijoita <= max_opiskelijoita-ennakkoon_varatut
   max_opiskelijoita >= opiskelijoita+ennakkoon_varatut
   ennakkoon_varatut =< max_opiskelijoita

Lähetä vastaus demonpitäjälle.

Tehtävä 2 (1p)

Miksi seuraava ohjelma toimii virheellisesti? Korjaa ohjelmaa niin että se toimii oikein.

# Ohjelma joka laskee mahtuuko kurssille vielä opiskelijoita

max_opiskelijoita = 20 
  
ennakkoon_varatut = input("Kuinka monta ilmoittautui ennakkoon:")
opiskelijoita = input("Kuinka monta ilmoittautui luennoilla:")
   
if ennakkoon_varatut+opiskelijoita >= max_opiskelijoita:
   print "Kaikki eivät mahtuneet kurssille."
else:
   print "Kaikki halukkaat mahtuivat kurssille."

Lähetä valmis ohjelma demonpitäjälle.

Tehtävä 3 (2p)

Muuta edellistä ohjelmaa siten, että mikäli kaikki opiskelijat eivät mahdu kurssille, ohjelma tulostaa montako halukasta jäi vielä kurssin ulkopuolelle. (1p.)

Ohjelman suoritus voi näyttää esimerkiksi tältä:

>>> ================================ RESTART ================================
>>>
Kuinka monta ilmoittautui ennakkoon: 10
Kuinka monta ilmoittautui luennoilla: 20
Kaikki eivät mahtuneet kurssille.
10 jäi ulkopuolelle.
>>> 

Mieti lisäksi mitkä ovat muuttujien roolit tässä ohjelmassa. (1p.)

Lähetä valmis ohjelma demonpitäjälle.

Tehtävä 4 (2p)

Tee uusi ohjelma joka kysyy montako opiskelijaa kurssille on tulossa, ja kertoo sitten mikä sali pitää varata. Mikäli opiskelijoita ei ole tulossa tai jos syöte on negatiivinen niin ei varata mitään salia.

Mikäli opiskelijoita on tulossa 1..19, varataan M16, mikäli opiskelijoita on tulossa 20..79, varataan M2, mikäli opiskelijoita on tulossa 80..160, varataan M1, ja muussa tapauksessa varataan Joensuun Areena.

Ohjelman suoritus voi näyttää esimerkiksi tältä:

>>> ================================ RESTART ================================
>>> 
Kuinka monta ilmoittautui:79
Varataan sali M2
>>> 

Lähetä valmis ohjelma demonpitäjälle.