manhome.nl

ViSpro Programmeren: ViSpro C

Voor het programmeren binnen ViSpro hebben we de beschikking over ViSpro C, een subset van de officiele C taal maar dan weer uitgebreid met enkele ViSpro specifieke zaken zoals de typedefinitie ptr die gebruikt wordt om, binnen procesplaatjes, grafische objecten te adresseren. Onderstaand een overzicht van de beschikbare C termen en functies.

 

C elementen en functies in alfabetische volgorde:

NB De hier opgesomde elementen en functies zijn zowel in √ als in Ψ te gebruiken.

 

TermBeschrijvingToelichtingOpmerking
abs() Bereken de positieve waarde van de gegeven integer   Stel  x = -777;
  Dan  volgt uit   x = abs( x )   dat  x  nu 777 is.
 
acos() Bereken arccosinus  Rekent in radialen, dus voor hoek h in ° : 
  h = acos(x) * 360 / 6.2832
 
acosh() Bereken arccosinus hyperbolisch  Zie acos( )  
asin() Bereken arcsinus  Zie acos( )  
asinh() Bereken arcsinus hyperbolisch  Zie acos( )  
atan() Bereken arctangens  Zie acos( )  
atan2() Bereken arctangens uit 2 waarden   Zie acos( )  
atanh() Bereken arctangens hyperbolisch   Zie acos( )  
atof() Converteer ascii naar float  atof( '12345.6789' ) levert 12345.6789
 Gebruik voor de omgekeerde bewerking   (string)12345.6789
 
break Breek lopende proces af Toepassen bij o.a. lus-functie, de oorspronkelijke conditie wordt genegeerd en het programma gaat verder met de eerste instructie na de lus- (for/next, while) of conditionele structuur (switch) Zie ook for/next, while en switch
case Test de waarde van een variabele in een switch constructie Onderdeel van de switch constructie.
Lees als: indien de in switch() genoemde variabele gelijk is aan ..., doe dan ....
Voor een voorbeeld zie switch
Zie ook switch() en break;
ceil() Afronden naar boven Levert, evenals floor() een floating point waarde met nullen achter de komma!
Structuur is: floor( 2.56 ) = 2.0
 
continue Vervolg oorspronkelijke lus Gebruiken voor tussentijds onderbreken van activiteiten binnen een lus- constructie. Het programma gaat verder met het testen van de conditie voor de volgende doorloop. Zie ook for/next en while
cos() Bereken cosinus Rekent in radialen, dus voor voor hoek h geldt: x = cos( 2 * pi * h / 360 )  
cosh() Bereken cosinus hyperbolisch Zie toelichting bij cos( )  
default Voer default procedure uit Onderdeel van de switch() constructie. Het programma voert de hierna gedefinieerde opdracht(en) uit wanneer aan géén van de eerdere "case" voorwaarden werd voldaan. Voor een voorbeeld zie .....  
drand48() Bereken een random getal Levert toevalsgetal tussen 0.0 en 1.0
NB: In float format(!)
 
drem() Bereken restwaarde van een deling

De kleinste van de 2 waarden die door optellen bij - of aftrekken van de "teller" nodig is om een deling zonder rest op te leveren
drem( 100.0, 9.4 ) = -3.4 (tweede getal zou 9.4 zijn)
drem( 100.0, 9.7 ) = 3 (tweede getal zou 6.7 zijn

NB: Zowel argumenten als resultaat zijn van het type float.

TIP ! :  Gebruik liever fmod( )
else Voer alternatieve actie(s) uit in if( ) constructie Onderdeel van if - then - else constructie
NB de "then" term wordt nooit gebruikt, deze is impliciet!
 
erf() Bereken foutfunctie van floating point getal Ik heb geen flauw idee waar dit voor te gebruiken is!  
erfc() Bereken complementaire foutfunctie van floating point getal Nogmaals geen idee!  
exp() Bereken de "macht" op basis van Ln Complementaire functie van log( );  Basis is het natuurlijk logaritme  
floor() Bereken integer waarde zonder afronden Levert, evenals ceil() een floating point waarde met nullen achter de komma!
Structuur is: floor( 2.56 ) = 2.0
 
fmod() Bereken rest na deling Structuur is: fmod( 100.0, 9.4 ) = 6.
NB.: Alle argumenten zijn van het type float.
Zie eventueel ook drem( )
for() Voer een for - next lus uit Structuur is: for(x=startwaarde; zolang x is ..; pas x aan met ... na elke doorloop){ voer dan deze opdrachten uit ....} Zie ook break en continue
hypot() Bereken hypotenusa c = hypoth(a, b) betekent c = wortel uit ( a2 + b2 )  
if() Test conditie Structuur is: if(iets is "waar"){voer dan deze opdrachten uit ....} Zie ook else
log() Bereken natuurlijk logaritme V.b. log(100) levert 4.605....
Oftewel e^4.605 = 100 (e =~ 2,71828)
 
log10() Bereken "base 10" logaritme V.b. log10(100) levert 2.0  
pow() Bereken de y-de macht van x Structuur is: pow( 10.0 , 2.0 ) = 100.0

NB: Zowel argumenten als resultaat zijn van het type float.

 
return() Beeindig lopende functie Keert terug naar aanroepend proces en reikt eventueel berekende waarde over  
sin() Bereken sinus Zie toelichting bij cos( )  
sinh() Bereken sinus hyperbolisch Zie toelichting bij cos( )  
switch() Voer verschillende acties uit afhankelijk van uiteenlopende testen Begin van het switch proces.
Structuur is: switch(variabele){case "x": .....; case "y": .....;}

Zie ook case
en Voorbeeld 1
tan() Bereken tangens Zie toelichting bij cos( )  
tanh() Bereken tangens hyperbolisch Zie toelichting bij cos( )  
while() Herhaal zolang als ... Begin van procedure om statements te herhalen zolang aan een gegeven conditie wordt voldaan Zie ook break en continue

 

De volgende stap is de functiebibliotheek