wiki:s2012/pahastipihalla3
Last modified 5 years ago Last modified on 2012-10-19 11:13:48

Pahasti pihalla

Ohjaus 3

PP1

Tee ohjelma, joka tulostaa kaikki parittomat luvut väliltä 1-50. Käytä tehtävässä aliohjelmaa. Pääohjelmasi voisi olla vaikkapa

TulostaParittomat();

Entä jos haluatkin yhtäkkiä tulostaa kaikki parittomat luvut väliltä 15-37? Miten äskeistä aliohjelmaa pitää muuttaa, jotta voisit kertoa aliohjelmakutsussa tulostettavan välin? Muuta aliohjelmaa siten, että se toimii seuraavalla kutsulla:

TulostaParittomat(15,37);

Apua voit katsoa luentomonisteen luvusta 16 ja tiedostosta Taulukot.cs

PP2

Tee ohjelma, jossa luot ensin pääohjelmassa kokonaislukutaulukon ja asetat taulukon alkioiksi seuraavat luvut: 4,7,17,-5,13,1,0,0,0,2. Jatkossa käytä edellä luomaasi taulukkoa kaikissa tehtävän kohdissa.

Tee seuraavat aliohjelmat

  • AsetaArvo, joka asettaa taulukossa paikkaan a käyttäjän haluaman arvon. Kutsu pääohjelmassa AsetaArvo(taulukko, a, arvo) missä taulukko vastaa muokattavaa taulukkoa, a on asetettavan alkion paikka ja arvo vastaa asetettavaa alkiota.
  • KopioiArvo, joka kopio taulukon paikassa a olevan arvon paikkaan b. Voit kutsua aliohjelmaa esimerkiksi KopioiArvo(taulukko, a, b).
  • PoistaPaikasta, joka "poistaa" luvun paikasta a. Tässä tehtävässä poistaminen tarkoittaa, että asetetaan taulukossa paikkaan a arvo 0. Voitko hyödyntää jo jotain tekemääsi aliohjelmaa tässä?

Lisää lopuksi pääohjelmaasi rivit

KopioiArvo(taul, 0, 2);
AsetaArvo(taul, 2, 4);
PoistaArvo(taul, 2);

Ks. Taulukot ja M:15. Taulukot