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.