Ohjelmointi kouluopetuksessa 3.5.1999 ja 22.3.1999

1. Mitä kuuluu täydelliseen oppimisprosessiin (Engeström 1984)? Tarkastele lisäksi Logo-ohjelmoinnin avulla tapahtuvaa oppimista?

2. Määritellään n:n mittaisen sanan syklisiksi permutaatioiksi ne n:n mittaiset erilaiset sanat, jotka saadaan, kun sanan lukeminen aloitetaan jostain kohdasta ja jatketaan eteenpäin siten, että sanan lopussa jatketaan sen alusta. Esimerkiksi sanan "auto" sykliset permutaatiot ovat "auto", "utoa", "toau" ja "oaut" ja sanan "baba" ja "abab".

Sanan syklisistä permutaatioista pienin on se, joka on aakkonumeerisessa järjestyksessä ensimmäinen. Esimerkiksi sanan "auto" pienin syklinen permutaatio on "auto" ja sanan "baba" "abab".

  1. Tee funktio, joka palauttaa parametrinä annetun sanan syklisten permutaatioiden listan.
  2. Tee funktio, joka palauttaa arvon tosi, jos ensimmäisenä parametrina annetun sanan pienin syklinen permutaatio on pienempi kuin toisena parametrin annetun sanan pienin syklinen permutaatio.

3. Opeta Logo laskemaan lukusanoilla yksi, kaksi, ... ja kymmenen. Käyttäjän dialogi koneen kanssa voisi näyttää esimerkiksi seuraavanlaiselta:

? laske yhteen kaksi yksi

kolme

?laske neliöjuuri neljä

kaksi

?

Hahmottele ja arvioi vähintään kahta oleellisesti erilaista tapaa ratkaista tämä tehtävä. Esitä tarkasti mielestäsi paras tapa tehtävän ratkaisemiseksi.