Skomal

Skolens Matematiske Algoritmesprog (Skomal) er et begrænset programmeringssprog fra 1984 til undervisning i regneprocesser for 8. til 10. klasse. Sproget opnår dette ved at lade eleven afprøve hvordan en procedure fungerer i et typisk sprog som Pascal. Forfatteren er Viggo Sadolin, som også er kendt for Myresnak.
Applikationen er interaktiv og består af to skærmsider eller arbejdstilstande. "Normal"-tilstanden bruges til at skrive programmet i og udføre det. (Skomal bruger betegnelsen 'program' til procedure-begrebet.) "Lager" er en debugger, hvor eleven kan udføre programmet én ordre ad gangen og samtidig se hvordan variablerne skifter værdi i lageret.
Eksempel
Det følgende eksempel beregner kvadratroden af et tal med Herons metode. Det er løsningen til opgave 1 i bogen.
KVADRATROD(V;R)
A:=V
B:=1
GENTAG
HVIS((A-B)*(A-B) < 0.00001) UDHOP †
S:=(A+B)/2
A:=V/S
B:=S
HERTIL
R:=A
SLUT
MITPROGRAM
IND(V,R)
KVADRATROD(V;R)
UD(R)
SLUT
† Det er også muligt at skrive HVIS(A-B < 0.001) HVIS(A-B > -0.001) UDHOP. Hvorfor?
Indbyggede ordrer
| HUSK | Kommandoen til at oprette et nyt program. Alle ordrer derefter bliver ikke udført, men gemt. | SLUT | Kommandoen til at afslutte programmet. |
|---|---|---|---|
| NORMAL | Skifter til normalsiden for redigering af programmerne. | LAGER | Skifter til siden for trinvis kørsel. |
| HENT | Førhen skrevne programmer hentes fra diskette eller harddisk. | GEM | Gemmer et program på diskette eller harddisk. |
| GENTAG | Kommandoen GENTAG(n) vil gentage de efterfølgende kommandoer indtil HERTIL n gange. | HERTIL | Afslutter en GENTAG-løkke. |
| IND(X) | Opretter variablen X, som på lager-siden kan ændres af brugeren. | UD(X) | Skriver værdien af X ud på normalsiden. |
| UDHOP | Bryder ud af en løkke. | STOP | Stopper fortolkeren |
Programmer kan kaldes med argumenter som i PROG(A,B;X). Argumenter før semikolonnet er call-by-value. De efterfølgende er call-by-reference og bruges til at returnere en eller flere værdier til det kaldende program.
Operatorer: De fire regnetegn (+, -, *, /), boolske sammenligninger men ikke OG og ELLER. Til tildelinger bruges :=.
Skomal var blev solgt til Apple IIe, Comet og Piccoline. Det fulgte gratis med til ICL Comet 8.
-
Tidlig udgave på Piccoline
-
Hjælpetekster. Denne udgave har ikke 'HVIS' udsagn.