3. Ohjelmoitavuudesta

3.1 Komentotiedoston tekeminen ja ajo, parametrinvälitys

Maplessa on mahdollista tehdä ja ajaa komentotiedostoja script-kielen luonteisesti.

Oheinen pikku ohjelma laskee annettujen lukujen aritmeettisen keskiarvon:

> karvo:=proc()

> a:=readstat("Anna lista luvuista, joiden keskiarvon haluat (tyyliin [1,2,...]: ");

> b:=nops(a):

> s:=0:

> for i from 1 to b do

> s:=s+a[i]:

> od:

> print(s/b);

> end:

Warning, `a` is implicitly declared local

Warning, `b` is implicitly declared local

Warning, `s` is implicitly declared local

Warning, `i` is implicitly declared local

Ohjelma käynnisteään komennolla karvo(); . Alla olevilla komennoilla lasketaan lukujen 1, 2, 3, 4, 3, 6, ja 5 keskiarvo:

> karvo();

Anna lista luvuista, joiden keskiarvon haluat (tyyliin [1,2,...]: [1,2,3,4,3,6,5];

[Maple Math]

> restart:

Ohjelman käynnistyskomennossa voidaan myös suoraan välittää parametreja ohjelmalle. Tällä tavoin voidaan määritellä tarvittaessa uusia funktioita tiettyjen toistuvien laskutoimitusten suorittamiseksi. Esimerkiksi äskeisestä keskiarvo-ohjelmasta saisi seuraavasti kätevämmän:

> karvo2:=proc(a)

> b:=nops(a):

> s:=0:

> for i from 1 to b do

> s:=s+a[i]:

> od:

> print(s/b);

> end:

Warning, `b` is implicitly declared local

Warning, `s` is implicitly declared local

Warning, `i` is implicitly declared local

Nyt luvut, joiden aritmeettinen keskiarvo halutaan laskea, voidaan välittää suoraan käynnistyskomennossa. Niinpä äskeinen keskiarvon laskeminen hoituu seuraavalla komennolla:

> karvo2([1,2,3,4,3,6,5]);

[Maple Math]

> restart:

Parametreja voi käynnistyskomennossa olla myös useampia. Esimerkiksi neljän luvun summan laskemista varten voitaisiin määritellä funktio:

> neljanSumma:=proc(i,j,k,l)

> print(i+j+k+l);

> end:

Nyt lukujen 1, 2, 7 ja 11 summa saadaan komennolla

> neljanSumma(1,2,7,11);

[Maple Math]

> restart:

3.2 Maple-koodien tallennus ja lataus

Kirjoitetut koodit tallennetaan tavallisesti muodossa *.mpl, jolloin ne voidaan haluttaessa ladata käyttöön. Esimerkiksi keskiarvon laskeva ohjelma:

> karvo2:=proc(a)

> b:=nops(a):

> s:=0:

> for i from 1 to b do

> s:=s+a[i]:

> od:

> print(s/b);

> end:

Warning, `b` is implicitly declared local

Warning, `s` is implicitly declared local

Warning, `i` is implicitly declared local

Ohjelma tallennetaan komennolla save . Komennossa on mainittava ohjelman nimi sekä nimi, jolla koodi tallennetaan. Jos koodi halutaan tallentaa johonkin muualle kuin oletushakemistoon, on tallennuskomennossa annettava hakemistopolku.

> save (karvo2, `keskiarvo.mpl`):

Tallennuksen jälkeen ohjelma voidaan aina haluttaessa ladata käyttöön komennolla read :

> read `keskiarvo.mpl`:

Mikäli ohjelma ei ole tallennettuna oletushakemistoon, on read -komennossa annettava hakemistopolku.

Maple-koodeja on hyödyllistä tallentaa ja koota itselleen ohjelmakirjastoja. Koodeja on muutenkin kohtuullisessa määrin yleisesti saatavilla.