CESIL

CESIL , eller Computer E ducation in S chools I nstruction Språk , är ett programmeringsspråk som är utformat för att introducera elever i brittiska gymnasieskolor till grundläggande datorprogrammering . Det är ett enkelt språk som innehåller totalt fjorton instruktioner .

Bakgrund

Computer Education in Schools (CES) var ett projekt som utvecklades i slutet av 1960-talet och början av 1970-talet av International Computers Limited (ICL). CESIL utvecklades av ICL som en del av CES-projektet och introducerades 1974. På den tiden var det väldigt få om några skolor som hade datorer, så eleverna skrev program på kodningsark, som sedan skulle överföras till hålkort eller papperstejp . Vanligtvis skulle detta skickas för att köras på en stordator , med utdata från en linjeskrivare som returneras senare.

Strukturera

Eftersom CESIL inte var designat som ett interaktivt språk, finns det ingen möjlighet att mata in data i realtid. Istället ingår numeriska data som ett separat avsnitt i slutet av programmet.

Den grundläggande principen för CESIL är användningen av en enda ackumulator , som hanterar matematiska operationer. Numeriska värden lagras i variabler , som i CESIL kallas för butiksplatser. CESIL fungerar bara med heltal, och resultat från DIVIDE-operationer avrundas vid behov. Det finns ingen möjlighet för datastrukturer som arrayer och inte heller för stränghantering , även om strängkonstanter kan matas ut med hjälp av PRINT-instruktionen.

Hopp och loopar kan vara villkorade eller icke-villkorliga och överföra programmets funktion till en rad med en specifik etikett, som identifieras i den första kolumnen på ett kodningsark. Instruktionen eller operationen anges i den andra kolumnen och operanden i den tredje kolumnen. På vissa kodningsblad skulle kommentarer och texten i PRINT-instruktionen skrivas i en fjärde kolumn.

Instruktioner

Instruktioner, eller operationer, skrivs med versaler och kan ha en enda operand, som kan vara en lagringsplats, konstant heltalsvärde eller radetikett. Butiksplatser och radetiketter är alfanumeriska, upp till sex tecken och börjar med en bokstav. Numeriska heltalskonstanter måste förtecknas med + eller −, där noll anges som +0.

Ingång och utgång

  • IN – läser nästa värde från data och lagrar det i ackumulatorn. Felmeddelandet *** PROGRAMMET KRÄVER MER DATA *** skrivs ut om programmet försöker läsa bortom slutet av den data som tillhandahålls.
  • UT – skriver ut ackumulatorns aktuella värde. Ingen vagnretur skrivs ut.
  • SKRIV UT " text inom citattecken " – skriver ut den givna texten. Ingen vagnretur skrivs ut.
  • LINE – skriver ut en vagnretur och startar därmed en ny rad.

Minneslagring

  • LOAD position eller LOAD konstant – kopierar värdet för den givna platsen eller konstanten till ackumulatorn.
  • STORE location – kopierar innehållet i ackumulatorn till den givna platsen.

Matematiska instruktioner

  • ADD plats eller ADD konstant – lägger till värdet för den givna platsen eller konstanten till ackumulatorn.
  • SUBTRACT location eller SUBTRACT constant – subtraherar värdet för den givna platsen eller konstanten från ackumulatorn.
  • MULTIPLY position eller MULTIPLY konstant – multiplicerar ackumulatorn med värdet för den givna platsen eller konstanten.
  • DIVIDE plats eller DIVIDE konstant – dividerar ackumulatorn med värdet för den givna platsen eller konstanten. Resultatet avrundas nedåt om resultatet är positivt och uppåt om resultatet är negativt. Ett ***DIVISION MED NOLL *** felmeddelande skrivs ut om divisorn är noll.

I varje fall lagras resultatet av operationen i ackumulatorn och ersätter det tidigare värdet.

Programkontroll

  • JUMP- etikett – överför ovillkorligen kontrollen till platsmärkt.
  • JINEG- etikett ( J ump I f NEG ativ) – överför kontrollen till en plats märkt om ackumulatorn innehåller ett negativt värde.
  • JIZERO -etikett ( J ump I f ZERO ) – överför kontrollen till en plats märkt om ackumulatorn innehåller noll.
  • HALT – avslutar programmet.

Andra symboler

Tre specialsymboler används i CESIL i början av rader.

  • % används för att markera slutet av programmet och början av data.
  • * används för att markera slutet på data.
  • ( används i början av en rad för att indikera en kommentar .

CESIL programmeringsverktyg

En emulator för CESIL, designad för att köras på Windows och kallas Visual CESIL, finns tillgänglig som gratisprogram.

En tolk för CESIL, designad för att köras på Android-plattformen och kallas Wyrm CESIL, finns tillgänglig som gratis att installera.

Exempel

Följande summerar heltalen i avsnittet körtidsdata tills det stöter på ett negativt värde och skriver ut summan.

LADDA +0 LOOP LAGRE TOTALT I JINEG KLAR LÄGG TILL TOTAL JUMP LOOP DONE PRINT "Totalt är: " LOAD TOTAL OUT LINE HALT % 1 2 3 -1 *

Resultatet av ovanstående program skulle vara:

Summan är: 6

Se även

Bibliografi

  Monsoon, Colin C; Sewell, Ian R; Frances P, Vickers (1978). Datastudier . Vol. Bok 1. ICL Computer Education in Schools . ISBN 0 903885 17 4 .

Anteckningar