Štirinajste vaje iz računalništva I

Andreja Valentan

2.3.1999

Povzetek

Na današnjih vajah smo si ogledali navodila za 2. domačo nalogo in jih razložili. Nato smo nadaljevali z izdelovanjem programa matrika.c.

1. 2.domača naloga

Navodila za domačo nalogo najdemo na WWW-ju. Napisati moramo odgovore na zastavljene naloge (v LaTeX-u) in odgovore poslati na Novičke.

• Prevest, povezat in pognat moramo program glede na navodila avtorja in preverit moramo pravilnost slednjih.

• Pripraviti moramo načrt testiranja. Za vsak test moramo napisati zakaj smo vpisali te vrednosti (kaj smo s tem preverili).

• Program moramo razdeliti na ekvivalenčne razrede – vhodne podatke razdelimo na razrede. Iz vsakega ekvivalenčnega razreda vzamemo en podatek in preverimo ali program za ta podatek pravilno deluje.

• Napisati moramo povzetek testa: ali program deluje, ali pravilno deluje...

Primer naloge najdemo na Novičkah.

2. Vhodni in izhodni parametri

Vsaka funkcija ima vhodne in izhodne parametre:

Vhodni parametri: so tisti, ki v funkcijo vstopajo, vedno se prenašajo po vrednosti.

Izhodni parametri: kar nam funkcija vrne, prenašajo se po referenci ali kot rezultat funkcije (za vsak parameter se moramo odločiti kaj od obojega je).

3. Nadaljevanje programa matrika.c

Determinanto matrike bomo izračunali po naslednjih korakih:

1. Najprej preberemo matriko v dveh korakih:

(a) preberemo dimenzijo matrike,

(b) preberemo matriko.

2. izpišemo matriko;

3. izračunamo determinanto matrike;

4. izpišemo vrednost determinante.

3.1 Funkcija beri matriko

Kot smo povedali na prejšnjih vajah, ta funkcija nima vhodnih parametrov. Vrniti pa nam mora dve vrednosti: dimenzijo matrike in vrednost matrike(to sta izhodna parametra). Napišimo glavo funkcije:

  void beri_matriko(int *dimenzija, int matrika[max_vel][max_vel])

Ker je matrika vedno prenešena po referenci pri matriki ne pišemo *.

Ta funkcija naredi dve stvari:

1. prebere dimenzijo

2. prebere matriko

Ker nam mora funkcija vrniti dve vrednosti potrebujemo še dve funkciji:

beri dimenzijo: funkcija nima vhodnih parametrov, izhodni parameter je dimenzija.

Glava funkcije:

       int beri_dimenzijo(void)

beri vrstico: ta funkcija ima za vhodni podatek dimenzijo matrike, izhodni parameter je vrstica matrike.

Glava funkcije:

       beri_vrstico(int dimenzija, int vrstica_matrike[max_vel])
3.1.1 Funkcija izpisi matriko

Vhodni parametri funkcije so dimenzija matrike in matrika, izhodnih parametrov ni.

Ker nam funkcija ničesar ne vrne je tipa void. Glava funkcije:

  void izpisi_matriko(int dimenzija, int matrika[max_vel][max_vel])
3.1.2 Funkcija determinanta matrike

Vhodni parametri funkcije so dimenzija matrike in matrika, izhodni parameter je determinanta.

Glava funkcije:

  void izracunaj_determinanto(int dimenzija, int matrika[max_vel][max_vel])

Funkcija je tipa int, ker se izhodni parameter prenese kot rezultat funkcije.

3.1.3 Glavni program main

Koraki po katerih računamo determinanto matrike (najprej preberemo matriko, jo izpišemo...) nam povedo kaj dela main.

Program lahko najdete na:

                  Z:\PREDAVANJA\Rac1VSS\Matrika.c