Comal (język)

język programowania

Comal (COMmon Algorithmic Language) – język programowania wysokiego poziomu, stworzony dla potrzeb edukacji.

COMAL
Pojawienie się

1973

Paradygmat

programowanie strukturalne

Typowanie

silne

Twórca

Benedict Løfstedt
Børge R. Christensen

Historia języka edytuj

Język ten zaprojektowany został przez duńskiego wykładowcę, Borge Christensena. Jest on wzorowany w zasadzie na dwóch innych językach: Basicu i Pascalu. Z założenia jako język do nauki podstaw programowania, zachowano w nim prostotę Basica i wprowadzono elementy niezbędne do programowania strukturalnego, wzorowane na strukturach zawartych w języku Pascal. W literaturze często spotyka się określenie Comalu jako „strukturalny Basic”.

Pierwsza implementacja tego języka została stworzona w 1981 r. dla komputerów Commodore PET, następnie m.in. dla Commodore 64.

Język ten zdobył uznanie w niektórych krajach i został wprowadzony do programu nauczania w szkołach, np. w Danii i Irlandii.

Obecnie Comal to już tylko ciekawostka z historii informatyki.

Charakterystyka języka edytuj

Główną właściwością przejętą z Basica-a jest tworzenie własnego, pełnego środowiska systemowego, udostępniającego polecania systemowe, dzięki czemu podczas pracy nie ma konieczności wychodzenia poza powłokę Comal.

Program w Comal stanowi ciąg instrukcji umieszczonych w wierszach kodu źródłowego. Kolejne wiersze są numerowane podobnie jak we wczesnych wersjach Basica (powstały implementacje, w których nie numeruje się wierszy). Można jednak umieszczać kilka instrukcji w jednym wierszu rozdzielonych średnikiem. W instrukcji przypisania stosuje się zapożyczony z Pascala symbol dwuznakowy ":=". W języku dostępna jest większość instrukcji znanych z Basica, w tym polecenia systemowe i edycyjne (np. LIST, RUN, LOAD, SAVE) oraz dodatkowe (np. CAT, ENTER), instrukcje danych (np. DATA, READ), instrukcje we-wy (np. PRINT, INPUT) i inne, oraz instrukcje strukturalne, wzorowane na rozwiązaniach zawartych w języku Pascal:

 IF warunek THEN
   instrukcje
 ENDIF
 CASE wyr OF
   WHEN wyroznik-1
     instrukcje-1
   WHEN wyroznik-2
     instrukcje-2
 …
   WHEN wyroznik-n
     instrukcje-n
   OTHERWISE
     instrukcje-oth
 ENDCASE
 FOR i=w_p TO w_e
         instrukcje
 NEXT i
 WHILE warunek DO
         instrukcje
 ENDWHILE
 REPEAT
          instrukcje
 UNTIL warunek
 PROC nazwa(parametry)
         instrukcje
 ENDPROC nazwa
 EXEC nazwa(argumenty)

Przykład edytuj

 10  PRINT "Przykład programu w języku Comal"
 20  REPEAT
 25    EXEC PiszOpcje
 30    INPUT "Wybierz opcje": Opcja
 40    INPUT "X=": X
 50    INPUT "Y=": Y
 60    EXEC Wybor(Opcja, X, Y)
 70  UNTIL Opcja=5
 80  PROC PiszOpcje
 90    PRINT "1. suma"
 100   PRINT "2. roznica"
 110   PRINT "3. iloczyn"
 120   PRINT "4. iloraz"
 130   PRINT "5. wyjscie"
 140 ENDPROC PiszOpcje
 150 PROC Wybor(A,B,C)
 160   CASE A OF
 170     WHEN 1
 175        PRINT "SUMA=", B+C
 180     WHEN 2
 185        PRINT "ROZNICA=", B-C
 190     WHEN 3
 195        PRINT "ILOCZYN=", B*C
 200     WHEN 4
 205        PRINT "ILORAZ=", B/C
 210     WHEN 5
 215        PRINT "Koniec"
 220     OTHERWISE
 225        PRINT "Bledna opcja"
 230   ENDCASE
 240 ENDPROC Wybor

Zobacz też edytuj

Bibliografia edytuj