Operation Manual

Appendix A: Functies en instructies 887
Define CATALOG
Define
funcNaam
(
arg1Naam, arg2Naam, ...
) =
uitdrukking
Creëert
funcNaam
als een door de gebruiker
gedefinieerde functie. Vervolgens kunt u
funcNaam
() op dezelfde wijze gebruiken als
ingebouwde functies
. De functie werkt
uitdrukking
uit gebruikmakend van de geleverde
argumenten en geeft het resultaat.
funcNaam
kan niet de naam van een systeem-
variabele of ingebouwde functie zijn.
De argumentnamen zijn plaatshouders; u kunt
beter niet deze zelfde namen als argumenten
gebruiken wanneer u de functie toepast.
Opmerking: deze vorm van
Define is equivalent
aan het uitvoeren van de uitdrukking:
uitdrukking
!
funcNaam
(
arg1Naam
,
arg2Naam
).
Deze opdracht kan ook worden gebruikt om
eenvoudige variabelen te definiëren;
bijvoorbeeld
Define a=3.
Define g(x,y)=2xì 3y ¸ Done
g(1,2)
¸ ë 4
1! a:2! b:g(a,b)
¸ ë 4
Define h(x)=when(x<2,2x-3, ë 2x+3)
¸ Done
h(ë 3)
¸ ë 9
h(4)
¸ ë 5
Define eigenvl(a)=
cZeros(det(identity(dim(a)
[1])-xù a),x)
¸ Done
eigenvl([ë 1,2;4,3])
¸
{
2ø 3 - 1
11
ë (2ø 3 + 1)
11
}
Define
funcNaam
(
arg1Naam, arg2Naam, ...
) = Func
blok
EndFunc
Is identiek aan de vorige vorm van Define, met
dit verschil dat in deze vorm de door de gebruiker
gedefinieerde functie
funcNaam
() een blok met
meerdere opdrachten kan uitvoeren.
blok
kan één opdracht of een rij opdrachten,
gescheiden door het teken “:” zijn.
blok
kan ook
uitdrukkingen en instructies bevatten (zoals
If,
Then, Else en For). Hiermee wordt de functie
funcNaam
() in staat gesteld om de instructie
Return te gebruiken om een specifiek resultaat
weer te geven.
Opmerking: het is meestal gemakkelijker om
deze vorm van Function in de Program Editor te
maken en bewerken dan op de invoerregel.
Define g(x,y)=Func:If x>y Then
:Return x:Else:Return y:EndIf
:EndFunc
¸ Done
g(3,ë 7)
¸ 3
Define
progNaam
(
arg1Naam, arg2Naam, ...
) = Prgm
blok
EndPrgm
Maakt
progNaam
als een programma of
subprogramma, maar kan geen resultaat tonen
met behulp van
Return. Kan een blok met
meerdere opdrachten uitvoeren.
blok
kan één opdracht of een rij opdrachten,
gescheiden door het teken “:”, zijn.
blok
kan
onbeperkt uitdrukkingen en instructies bevatten
(zoals
If, Then, Else en For).
Opmerking: het is meestal gemakkelijker om
een programmablok in de Program Editor te
maken en te bewerken, dan dit op de invoerregel
te doen.
Define listinpt()=prgm:Local
n,i,str1,num:InputStr "Enter name of
list",str1:Input "No. of
elements",n:For i,1,n,1:Input
"element "&string(i),num:
num! #str1[i]:EndFor:EndPrgm
¸
Done
listinpt()
¸ Enter name of list