Skomal

Fra DDHFwiki
Spring til navigation Spring til søgning
Lærebog om 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. 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.