5.8 Muistele tätä
Mikäli edellä esitetyt asiat tuntuvat ymmärrettäviltä,
niin ohjelmoinnissa ei tule olemaan mitään vaikeuksia. Jos vastaavat
asiat tuntuvat vaikeilta ohjelmoinnin kohdalla, kannattaa palata takaisin
tähän lukuun ja yrittää samaistaa asioita
ohjelmointikieleen.
Taulukoiden samaistaminen ruutupaperiin, korttipakkaan tai muuhun tuttuun
asiaan auttaa asian käsittelyä. Osoitinmuuttuja on yksinkertaisesti
jokin (vaikkapa sormi) joka osoittaa johonkin (vaikkapa yhteen kirjaimeen).
Silmukat ja ehtolauseet ovat hyvin luonnollisia asioita.
Aliohjelmat
ovat vain tietyn asian tarkempi kuvaus. Tarvittaessa tiettyä asiaa ei
ongelmaa tarvitse heti ratkaista, vaan voidaan määritellä
aliohjelma, joka hoitaa homman ja kirjoitetaan itse aliohjelman
määrittely joskus myöhemmin.
- C- kielessä merkkijonot tullaan esittämään taulukoina
kirjaimista. Merkkijonon loppu ilmaistaan kirjaimella NUL. Siis esimerkiksi
Kissa olisi seuraavan näköinen
-
0
|
1
|
2
|
3
|
4
|
5
|
|
K
|
i
|
s
|
s
|
a
|
NUL
|
|
-
- Kirjoita seuraavat algoritmit. Erityisesti kirjoita ensin algoritmin
sanallinen versio
- 1.
- Välilyöntien poistaminen jonon alusta.
- 2.
- Välilyöntien poistaminen jonon lopusta.
- 3.
- Ylimääräisten (2 tai useampia) välilyöntien
poistaminen jonosta.
- 4.
- Kaikkien ylimääräisten (alku- ,loppu- ja monikertaiset)
välilyöntien poistaminen.
- 5.
- Jonon muuttaminen siten, että kunkin sanan 1. kirjain on iso kirjain.
- 6.
- Tietyn merkin esiintymien laskeminen jonosta.
- 7.
- Esiintyykö merkkijono toisessa merkkijonossa (kissatarha,
sata - > esiintyy; kissatarha, satu - > ei
esiinny).
- Kirjoita seuraavat algoritmit:
- 1.
- Onko vuosi karkausvuosi vai ei. (Huom! 1900 ei, 2000 on)
- 2.
- Montako karkausvuotta on kahden vuosiluvun välillä.
- 3.
- Jos 1.1 vuonna 1 oli maanantai, niin mikä viikonpäivä on 1.1
vuonna x? (Oletetaan että kalenteri olisi ollut aina samanlainen
kuin nytkin. Vihje! Tutki almanakkaa peräkkäisiltä vuosilta.)
- 4.
- Onko päivämäärä pp.kk.vv oikeata
muotoa?