1.2.3 Algoritmin rakentaminen

Tehtävän ratkaisun muokkaaminen algoritmiksi kannattaa ainakin heti alkuun suorittaa kirjallisesti kirjoittamalla perättäisille riveille lauseita siinä järjestyksessä kuin ongelman ratkaisu etenee.

Kun ratkaisu on ensimmäisen kerran hahmoteltu sarjaksi lauseita, voidaan aloittaa algoritmin tarkentaminen. Tällöin tarkastellaan jokaista lausetta ja mietitään, voidaanko se jakaa joukoksi uusia lauseita. Tarvittaessa alialgoritmeihin jako toistetaan. Tavoitteena on, että jokainen tarkennetun algoritmin suorituslause sisältää yhden ainoan komentosanan.

Algoritmeista voidaan erotella usein samanlaisina toistuvia osia, jotka varsinaisesta ohjelmoinnin toteuttamistavasta riippumatta voidaan esittää luonnollisella kielellä sanallisessa muodossa. Näiden rakenteiden tunnistaminen ja niiden hyödyntäminen algoritmin suunnittelussa helpottaa huomattavasti lopullisen ohjelmaversion laatimista. Algoritmissa esiintyvä luonnollisen kielen sanallinen muoto on usein helposti muokattavissa käytettävän työvälineen rakenteita ja logiikkaa vastaavaksi, jonka jälkeen koko algoritmin toteuttaminen valitulla työvälineellä on yksinkertaista.

Tärkeää onkin oivaltaa, että varsinaisen ohjelmaidean muokkaaminen toimivaksi ohjelmaksi edellyttää kykyä tulkita luonnollisen kielen ilmaisu työvälineen (yleensä joko ohjelmointikieli tai valmisohjelma) käyttämällä kielellä.

Monesti algoritmin kirjoittaminen vaatii runsaasti omaa kekseliäisyyttä, sillä kaikkiin "itsestään selviin" tehtäviin ei välttämättä ole saatavilla tarpeeksi jäsenneltyä tietoa, jotta algoritmi voitaisiin muodostaa. Esimerkkinä mainittakoon säännöstö, jonka mukaan suomenkieliset sanat tavutetaan: täysin aukotonta säännöstöä on käytännössä mahdoton tehdä.