stringBug
Priskribo de la ĉi-paĝa enhavo
Montrado de miso de Beta BASIC, por Sinclair ZX Spectrum.
Etikedoj:
Dum la programado de Alien-B mi malkovris ĝenan mison de la funkcio STRING$
de Beta BASIC 4.0+D: ĝi ne ĉiam redonas la ĝustan kalkulon se vokite ene de la sama funkcio. Mi verkis ĉi malgrandan programon por tion montri.
Ekranfoto
La programo montras la devajn kaj faktaj rezultojn de pluraj kalkuloj, kaj ilian kodon:
Fontkodo
10 REM stringBug
20 REM A demo of a Beta BASIC 4.0+D's bug, found out by the author
30 REM By Marcos Cruz (programandala.net)
40 REM 2010-11-23 First version
50 REM 2011-02-03 Some little changes in the code
60 RANDOMIZE USR 58419
REM Beta BASIC on
70 WINDOW 0
PAPER 0
BORDER 0
INK 1
CSIZE 8,7
CLS
80 PRINT "Bug in Beta BASIC 4.0+D:"'"sometimes nested STRING$ doesn't"'"work fine."'
90 PRINT INVERSE 1'"Should be","Result"
100 PRINT 300,LEN STRING$(10,"012345678901234567890123456789")
110 PRINT 300,LEN STRING$(10,STRING$(10,"abc"));" (nested)"
120 PRINT 448,LEN STRING$(14,"123456789_123456789_123456789_12")
130 PRINT 448,LEN STRING$(14,(CHAR$(0)+STRING$(28,"a")+CHAR$(0)));" (nested)"
140 PRINT 392,LEN STRING$(28,"123456789_1234")
150 PRINT 392,LEN STRING$(28,STRING$(14,"a"));" (nested)"
160 PRINT 392,LEN STRING$(14,STRING$(28,"a"));" (nested)"
170 PRINT 10,LEN STRING$(5,STRING$(2,"A"));" (nested)"
180 PRINT 10,LEN STRING$(2,STRING$(5,"A"));" (nested)"
190 CSIZE 4,7
PRINT
LIST 100 TO 170
200 CSIZE 8
PAUSE 0
STOP
210 DEF PROC s
220 ERASE d*"stringBug~"
230 ERASE d*"stringBug" TO "stringBug~"
240 SAVE d*"stringBug" LINE 10
250 END PROC
Deŝutoj
La jenaj spegulkopioj de diskedoj de +D enhavas, krom la programo OverBug, jenojn:
- Beta DOS 1.3 (1990), fiksita por la programoj Betafix publikigitaj en la revuoj Format (numero 9/9, de 1996-05) kaj Outlet (numero 132, de 1998).
- Beta BASIC 4.0+D (1987), por ZX Spectrum 128 kun interfaco +D.
La komenciga dosiero Autoload enlegas ambajn Beta BASIC kaj la programon OverBug.
- stringbug.mgt.zip (49.86 KiB) Spegulkopio de diskedo +D, kunpremita per zip -normo.
- stringbug.mgt.gz (49.75 KiB) Spegulkopio de diskedo +D, kunpremita per gzip -normo.