Sedme vaje iz računalništva I

Jasna Bogataj

24. 11. 1998

Snovanje programa

Pri snovanju programa sta vedno pomembna dva vprašanja, in sicer kaj bomo delali in kako bomo delali.

Kaj bomo delali

Ko želimo narediti željeni program se seveda vprašamo kaj bomo delali. To pa povemo v tako imenovanih komentarjih, ki jih zapišemo tako /* komentar */. Ta način programiranja je res daljši, vendar je bolj pregleden.

Kako bomo delali

Pri programiranju je seveda važno tudi kako bomo izvedli program. To napišemo takoj za komentarjem tako, da se pri pregledu točno vidi kaj in kako naredimo program.

Na vajah ...

Želimo izpisati aritmetično zaporedje. Naredili smo program, ki nas bo vprašal po začetnem členu, koraku in koliko členov naj izpiše – število členov. Za izpisovanje zaporedja smo naredili funkcijo, ki jo kličemo s tremi parametri: začetni člen, korak in število členov, kjer so vsi trije parametri so celoštevilski – tipa int.

Za branje bi lahko definirali tri funkcije: za začetni člen, za korak in za število členov. Ker so si te tri funkcije zelo podobne, je bolje sestaviti program tako, kot smo ga mi: ena funkcija (izpisi zaporedje) z enim parametrom, ki mu spreminjamo vrednost. Ta način je mnogo bolj praktičen zato, ker če se npr. pojavi napaka jo pri eni funkciji popravimo enkrat, medtem ko bi morali pri treh funkcijah popravljati napako kar trikrat.

V c-ju smo napisali program (zaporedje.c), ki ga lahko najdete na naslovu:

               Z:\Predavanja\Rac1VSS\zaporedje.c

Drugi način:

V prejšnjem pristopu smo izpisovali zaporedje s for zanko. Tokrat jo bomo izpisovali z rekurzijo (rekurzivnim klicanjem fukncije).

Napisali (definirali) smo funkcijo izpisi zaporedje1, ki:

• izpiše prvi člen,

• potem pa kliče drugo funkcijo, ki bo izpisala ostale člene zaporedja.

Definirana funkcija izpisi zaporedje1 bo izpisala zaporedje, ki se začne pri členu clen tipa int in ima korak korak (prav tako tipa int).

Ker preostali členi zaporedja predstavljajo nič drugega kot neko novo zaporedje, lahko za izpis le tega ponovno uporabimo funkcijo, ki smo jo pravkar definirali – izpisi zaporedje1. To, da funkcija kliče (uporabi) samo sebe imenujemo rekurzija.