Foutje bedankt

Vragen en opmerkingen over Just BASIC en over RUNBASIC

Foutje bedankt

Berichtdoor hbh-tieltjes » ma maart 09, 2009 5:24 pm

'Zoeken van priemgetallen uit een reeks getallen
Code: Selecteer alles
 cls:print time$()
 for priem=999999999901 to 999999999999 step 2
 for deler=3 to sqr(priem) step 2
 if priem mod deler = 0 then exit for
 next deler
 if priem mod deler = 0 then [geenPriem]
 print priem
 [geenPriem]
 next priem
 print time$()
 end


dit geeft in JB als uitkomst :

17:07:01
999999999937
999999999959
999999999961
999999999989
17:07:50

exact het zelfde programma (listing) in Run Basic

16:32:14
999999999937
999999999958
999999999959
999999999961
999999999976
999999999989
16:32:20

Wel supper snel maar ook ontzettend fout

wat's wrong
hbh-tieltjes
 
Berichten: 53
Geregistreerd: di nov 11, 2008 11:44 am

Re: Foutje bedankt

Berichtdoor anthonio » do maart 12, 2009 12:24 pm

Hoi herman,

Ik heb even de code gerunt onder RB en ik krijg hetzelfde restultaat als jou.
Ik zit momenteel op linux (= geen LB) dus ik kan de code ff niet testen via LB maar de output lijkt mij
dezelfde als wnr je deze vraag als eens gesteld had.
Zeer vreemd.
Ik zou zeggen, als gordon dit leest kan hij dit even voorleggen aan de maker van LB/JB en RB en die kan
hier eens naar kijken.
Hoogst waarschijnlijk is dit een bug in run basic.

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: Foutje bedankt

Berichtdoor hbh-tieltjes » vr maart 13, 2009 12:36 pm

Ja graag een reactie van Gordon
Zijn jullie hier al mee bezig ?
hbh-tieltjes
 
Berichten: 53
Geregistreerd: di nov 11, 2008 11:44 am

Re: Foutje bedankt

Berichtdoor Gordon » vr maart 13, 2009 5:19 pm

Hmmm..... ik zal deze listing op het Run BASIC forum plaatsen.
Tja .... tja ...... het kan niet aan de rekenprocessor liggen.

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

Re: Foutje bedankt

Berichtdoor hbh-tieltjes » vr maart 13, 2009 6:59 pm

Hebben LB , JB en RB de zelfde kernel ?
Gebruiken LB , JB en RB de zelfde compiler ?
Ik vraag dit i.v.m bovenstaande programma
JB en LB vinden de juiste uitkomst in ± 50 sec.
RB geeft een foute uitkomst in slechts 6 sec.
Als de uitkomst in RB goed zouw zijn geweest dan
is RB dus ± 8 maal sneller dan JB en LB. Is dat zo ?

vr. gr. Herman Tieltjes
hbh-tieltjes
 
Berichten: 53
Geregistreerd: di nov 11, 2008 11:44 am

Re: Foutje bedankt

Berichtdoor anthonio » vr maart 13, 2009 7:14 pm

LB en JB zijn bij mijn weten beiden geschreven in C++.
RB is afgeleid van LB dus ik veronderstel dat deze ook in C++ is geschreven.
De reden waarom ik denk dat RB sneller is, is omdat het draait vanaf server.
Servers zijn over het algemeen veel sneller dan jouw en mijn desktop/laptop.

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: Foutje bedankt

Berichtdoor hbh-tieltjes » ma maart 16, 2009 10:53 am

Ik denk dat een compiler toch héél erg belangrijk is !!!!
Heb in het verleden veel progs geschreven in QuickB.
en Turbo(PowerB) en dan zie je dat de de zelfde progs
op de zelfde PC in TB, PB veel sneller zijn dan in QB.
Ik denk dat een Upgrade vaak een verbetering is
van de compiler en dat dit ook geld voor LB en RB.

gr. Herman
hbh-tieltjes
 
Berichten: 53
Geregistreerd: di nov 11, 2008 11:44 am

Re: Foutje bedankt

Berichtdoor anthonio » ma maart 16, 2009 10:10 pm

Jouw stelling zal waarschijnlijk just zijn.
LB is in jaren niet meer geupdate.
We zijn nog steeds aan het wachten op LB 5.0 en waarschijnlijk zal in die versie jouw programma veel sneller werken.

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: Foutje bedankt

Berichtdoor hbh-tieltjes » za maart 21, 2009 4:26 pm

Is er al nieuws van het RB forum ?

gr. Herman
hbh-tieltjes
 
Berichten: 53
Geregistreerd: di nov 11, 2008 11:44 am

Re: Foutje bedankt

Berichtdoor Gordon » za maart 21, 2009 10:04 pm

Okay, this is a very strange bug in the FOR/NEXT loop. For some reason your posted program it is not stepping by 2. The following works as expected but the code you provided acts as though there is no step 2:


Code:for priem=999999999901 to 999999999999 step 2
print priem
next priem



Here is a reworked program that works correctly:


Code:cls:print time$()
priem=999999999901
while priem <= 999999999999
for deler=3 to sqr(priem) step 2
if priem mod deler = 0 then exit for
next deler
if priem mod deler = 0 then [geenPriem]
print priem
[geenPriem]
priem = priem + 2
wend
print time$()
end



What's encouraging about this is that the reworked program is even faster than the version you posted.

I will get to the bottom of this. THANKS for posting this bug.

-Carl


Hij (Carl Gundel) gaat dit tot de bodem uitzoeken.

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

Re: Foutje bedankt

Berichtdoor hbh-tieltjes » zo maart 22, 2009 10:49 am

Heel goed dat ze het gaan uitzoeken.
Wat is de betrekking van Carl Gundel tov RB en misschien LB ?
Hebben Rb EN LB iets van de zelfde makers ?
Goed dat hij een andere oplossing heeft gegeven dat precies het zelfde doet.
Dit vind ik nouw zo leuk aan programeren dat ierder zijn eigen weg zoekt.
Dat meestal voor een oplossing meerdere mogelijkheden zijn en dat je dit zelf bepaald.
Vooral véél afkijken en leren van anderen dus doen en niet bang zijn voor foutjes.

gr. Herman
hbh-tieltjes
 
Berichten: 53
Geregistreerd: di nov 11, 2008 11:44 am

Re: Foutje bedankt

Berichtdoor Gordon » zo maart 22, 2009 12:23 pm

Carl Gundel is de schrijver van Liberty BASIC (en Just BASIC) en Run BASIC.
Deze talen zijn met de programmataal SmallTalk geschreven.
SmallTalk is de eerste OOP taal ter wereld geweest.
Voor Run BASIC (een web based programma) heeft SmallTalk eerst een nieuwe
taal (pakket) gemaakt. Voor Liberty BASIC versie 5 hebben ze ook een nieuwe taal
(vernieuwing van hun taal pakket) geschreven. Helaas is dat nog niet af. Daarom
heeft Carl Gundel Liberty BASIC versie 5 nog niet af (de Window controls) kunnen
maken.

Voorlopig heeft Carl wel reeds LB versie 4.04 afgemaakt (Vista versie van LB 4.03)
Ook heeft hij veel tijd in Run BASIC gestoken. Run BASIC is veel belovend
en draait als een zonnetje.

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