Avoin yliopsto
Tietotekniikan alkeet,  syksy1998

5.  Harjoitus
(torstai  17.9.1998,  ryhmä 1:  klo  16.30-18 ,  ryhmä 2:  18-20  V20 sh 33 )

Harjoitustehtävät  3.

1. Esitä  lohkokaaviona algoritmi, joka saa syötteenä havaintosarjan lammaslaskennasta eli tiedon kunkin lampaan väristä ja tulostaa eri lammastyyppiä olevien lampaiden lukumäärät. Lammastyypit on koodattu seuraavasti: 1 = valkoinen lammas, 2 = musta lammas, 3= muu.

2.  Laadi lohkokaaviona algoritmi yksinkertaiselle pankkiautomaatille, josta voi nostaa rahaa automaattikortilla. Mieti   millaisia tarkastuksia automaatin on tehtävä, ennenkuin se voi antaa rahat.
 
3.  Laadi pseudokoodilla algoritmi, joka lukee kaksi lukua ja tulostaa ne suuruusjärjestyksessä.
 
4.  Tee algoritmi, joka selvittää, moniko syöttöluku on pienempi kuin kahden edellisen syöttöluvun summa. Voit olettaa, että syöttölukuja on ainakin kolme.
 
5.  Tee  pseudokoodilla algoritmi, joka  laskee  syöttöjonosta luettujen lukujen lukumäärän, summan ja keskiarvon.  Miten algoritmisi havaitsee syötteiden loppumisen?  Toimiiko algoritmisi, vaikka syöttöjono olisikin tyhjä?
 
6.  Mikä on N:n ja I:n arvo seuraavan algoritmin jälkeen?

             N:= 10;
              I:= 0;
              while I < N do
                      {N:= N-2;
                          I:= I+2
                       };
              if I=N then
                       N:= N-3

b)  Miten edellisen tehtävän algoritmi toimii, jos alussa N:n arvoksi sijoitetaankin nolla eli sijoituksen N:=10 sijaan siinä onkin sijoitus N:=0?
 
Huom! Tehtävät on tehtävä etukäteen. Harjoitusten aluksi kierrätetään nimilistaa, johon jokainen merkitsee ne tehtävät, jotka on tehnyt ja jotka  on halukas esittämään. Ratkaisujen ei tarvitse olla 'oikeita', vaan aito yrittäminen riittää.