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ää.