Just Basic: MIN(), MAX(), SWAP()

Vragen en opmerkingen over Just BASIC en over RUNBASIC

Just Basic: MIN(), MAX(), SWAP()

Berichtdoor hbh-tieltjes » do maart 05, 2009 11:55 am

Even discuteren, ben gebruiker van JustBasic.
Bij mijn JustBasic program zit geen functie MAX() of MIN()
Hoe moet je deze functies gebruiken, en voegt het wat toe ?
In QuickBasic zit het Statement SWAP deze verwisseld de waarden van twee variabelen.
Code: Selecteer alles
 Syntax: SWAP var1,var2 :B.V. x=1:y=2
 SWAB x,y: print x,y: Resultaat:  2     1

Kan Liberty Basic dit ook ?
Bij JustBasic doe ik bij wissel x en y om zo
Code: Selecteer alles
 x=1:y=2
 z=x: x=y: y=z
 print x,y
 Resultaat  2    1

Wat is jullie meening ?
vr. gr. Herman Tieltjes

Wijzigind door mod. anthonio: Code tussen tags gezet + onderwerp naar Just Basic Topic verschoven
hbh-tieltjes
 
Berichten: 53
Geregistreerd: di nov 11, 2008 11:44 am

Re: Programmeeruitdaging uit de Nieuwsbrief 2005-2

Berichtdoor anthonio » do maart 05, 2009 5:47 pm

Beste herman,

hieronder een klein voorbeeld hoe je het max, min probleem kan oplossen.

Code: Selecteer alles
x=1:y=2
som = x-y
if som = 0 then
    print "x en y zijn gelijk"
end if
if som < 0 then
    print "y is groter dan x"
end if
if som > 0 then
    print "x is groter dan y"
end if


Voor je swap probleem heb jezelf al een mooie oplossing bedacht.

Groeten.
Dual boot: Ubuntu 8.04 - WIndows XP SP2 (via VMware) - Windows Vista 32bit - Toshiba L40 - Dual Core @ 1,76GHz - 1GB RAM - 120GB HDD - VDSL Connection
Avatar gebruiker
anthonio
 
Berichten: 281
Geregistreerd: zo mei 20, 2007 9:58 pm

Re: Just Basic: MIN(), MAX(), SWAP()

Berichtdoor hbh-tieltjes » do maart 05, 2009 9:13 pm

Beste Anthonio
Bedankt voor je snelle reactie
Een tijd geleden heb ik de complete Command Reference lijst in Ned. van LB uitgeprint.
Deze lijst van 8 A 4tjes bevatten commando's, functies e.d. die niet voorkomen in JB.
Twee van deze functies zijn Max() en MIN() en retourneert grootste cq kleinste van 2 waarden.
Hoe ziet deze functie er in LB uit graag een voorbeeld met b.v. x en y, en in een listing.
De listing van jouw is mij bekent al gebruik ik hem iets anders maar het resultaat is de zelfde.
Zijn er veel commando's, functies e.d die wel in LB maar niet in JB gebruikt kunnen worden ?

Heb nog veel vragen maar die komen nog wel als dat mag.
vr. gr. Herman
hbh-tieltjes
 
Berichten: 53
Geregistreerd: di nov 11, 2008 11:44 am

Re: Just Basic: MIN(), MAX(), SWAP()

Berichtdoor anthonio » vr maart 06, 2009 1:03 pm

Beste herman,

retourneert grootste cq kleinste van 2 waarden.

Kan je ff uitleggen waar dit voor staat adhv een simpel voorbeeld.

Commando's die JB niet heeft ten opzichte van LB.
Het is enkele jaren geleden dat ik van JB naar LB ben overgeschakeld.
Niet zozeer voor de build-in functies maar voor de API/DLL calls.
Ik kan zo direct niet enkele voorbeelden opnoemen maar er zijn er sowieso nog en je zal ze ook nog tegen komen.
(ik denk bv: fontdialog, "GETTRIM #h,n", HWND(#h), en zo zijn er nog enkele)
Het toffe aan JB is dat jezelf naar oplossingen begint te zoeken, je bent veel creatiever.
En aan alles kan je een mouw passen.

Aarzel alleszins niet om vragen te stellen.

Anthonio
Dual boot: Ubuntu 8.04 - WIndows XP SP2 (via VMware) - Windows Vista 32bit - Toshiba L40 - Dual Core @ 1,76GHz - 1GB RAM - 120GB HDD - VDSL Connection
Avatar gebruiker
anthonio
 
Berichten: 281
Geregistreerd: zo mei 20, 2007 9:58 pm

Re: Just Basic: MIN(), MAX(), SWAP()

Berichtdoor Gordon » vr maart 06, 2009 10:39 pm

Hallo Herman,

Je kunt je eigen functies maken in LB en JB.
Als je de functie max() in JB maakt, dan kun je die listing niet ongewijzigd compileren (runnen) in LB.
LB zal dan zeggen dat je een invalid functie naam gebruikt, omdat de functie naam max() reeds ingebouwd
is in LB. Dat zijn zo de kleine verschillen tussen LB/JB.

Mijn advies: gebruik een ietsje andere functienaam.
Gebruik bijvoorbeeld fmax()

Code: Selecteer alles
print fmin(56,23)
wait

FUNCTION fmax( a, b)
    if a > b then fmax = a else fmax = b
end function

FUNCTION fmin( a, b)
    if a < b then fmin = a else fmin = b
end function


Later kun je hierdoor deze listing ongewijzigd in LB runnen.

Gordon
Avatar gebruiker
Gordon
Site Admin
 
Berichten: 684
Geregistreerd: zo mei 22, 2005 12:50 am


Keer terug naar Just BASIC en RUNBASIC

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast

cron