Startsidan  ▸  Texter  ▸  Teknikblogg

Anders Hesselbom

Programmerare, skeptiker, sekulärhumanist, antirasist.
Författare till bok om C64 och senbliven lantis.
Röstar pirat.

Gosbust 0.9.2

2015-08-12

Version 0.9.2 av Gosbust finns nu att ladda hem. Tillåt mig presentera några exempel på vad aktuell version kan göra.

Det stora tillskottet handlar om stödet för arrayer. Kommandot ARRY tar ett namn (A-Z, A#-Z#, A$-Z$ eller A?-Z?) samt önskat antal element. 5 ger fem element med index 0-4.

ARRY A 5

Detta kolliderar inte med en eventuell enskild buffer som heter A. R$ och R$[3] lagras i olika minnesstrukturer. För att nå individuella element används hakparenteser. Detta skapar ett slumptal i arrayen A’s första element:

RAND A[0]

Om jag läser av element 0 borde jag se ett heltal, vilket som helst men troligen inte 0.

<<A[0]

Element 1 borde däremot fortfarande ha värdet 0, eftersom ingen tilldelning gjorts än.

<<A[1]

Om jag skulle önska ha ett slumptal i samtliga element i arrayen A, kan jag ersätta indexet med tre punkter:

RAND A[...]

Nu kan jag läsa av vilket element som helst (0-4) och få ett värde. Om jag skulle önska se samtliga element så kan jag skriva följande:

<<A[...]

Modulus kan inte appliceras på samtliga element i en array, så skulle jag önska att alla slumptal ska ligga mellan 0 och 9 kan jag skriva följande:

0>>I Mod: A[I]%10>>A[I] I++ I<10>>R? GOTO R? Mod

Om du använvänder konsollen så skulle bubbelsortering av 10 tal mellan 0 och 99 skulle se ut så här:

10 ARRY A 10 RAND A[...]
20 0>>I Mod: A[I]%100>>A[I] I++ I<10>>R? GOTO R? Mod
30 <<"Ej sorterat:" <<A[...]
40 0>>I 0>>J
50 Repeat: A[I]>A[J]>>S? GOSB S? Swap
60 I++ I>9>>I? GOSB I? NextOuter GOTO 1 Repeat
70 ShowResult: <<"Sorterat:" <<A[...]
80 QUIT 0
90 (Swap A[I]<>A[J] )
100 (NextOuter 0>>I J++ J>9>>J? GOTO J? ShowResult )

Notera att QUIT 0 lika gärna kan ersättas med RTRN. Om callstacken är tom har dessa två kommandon samma betydelse. Men om man skulle vilja avsluta med en felkod så kan QUIT n användas.

(Om du läser in en fil istället för att använda konsollen behövs inte radnumren.)

Mycket nöje!

Categories: Geeky

Tags: Gosbust

Leave a Reply

Your email address will not be published. Required fields are marked *



En kopp kaffe!

Bjud mig på en kopp kaffe (20:-) som tack för bra innehåll!

Bjud på en kopp kaffe!

Om...

Kontaktuppgifter, med mera, finns här.

Följ mig

Twitter Instagram
GitHub RSS

Public Service

Folkbildning om public service.

Hem   |   linktr.ee/hesselbom   |   winsoft.se   |   80tal.se   |   Filmtips