Comal
Z Wikipedii
Comal (COMmon Algorithmic Language) jest językiem programowania wysokiego poziomu, stworzonym dla potrzeb edukacji.
Spis treści |
[edytuj] Historia języka
Język ten zaprojektowany został przez duńskiego wykładowcę, Borge Christensena. Jest on wzorowany w zasadzie na dwóch innych, językach : Basic-u i Pascal-a. Z założenia jako język do nauki podstaw programowania, zachowano w nim prostotę Basic-a i wprowadzono elementy niezbędne do programowania strukturalnego, wzorowane na strukturach zawartych w języku Pascal. W literaturze często spotyka się określenie Comal-u 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.
[edytuj] Charakterystyka języka
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 Basic-a (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 Pascal-a symbol dwuznakowy ":=". W języku dostępna jest większość instrukcji znanych z Basic-a, 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)
[edytuj] Przykład
10 PRINT "Przykład programu w jezyku Comal" 20 REPEAT 25 EXEC PiszOpcje 30 INPUT "Wybierz opcje": Opcja 40 INPUT "X=": X 50 INPUT "Y=": Y 60 EXEC Wybor(Opcje, X, Y) 70 UNTIL Opcje=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
[edytuj] Zobacz też
ABAP • Ada • AWK • Asembler • C • C++ • C# • COBOL • Common Lisp • D • F# • Forth • Fortran • GAUSS • Icon • Java • JavaScript • Lisp • Lustre• Modula 2 • Ocaml • Oberon • Object Pascal • Objective-C • Pascal • Perl • PHP • PL/SQL • Python • REXX • Ruby • SAS 4GL • sh • Smalltalk • Snobol • SQL • Visual Basic • VB.NET • XUL
Akademickie: Comal • Eiffel • Haskell • Logo • MCPL • ML • Nemerle • Prolog • Scheme
Historyczne: ALGOL • APL • BASIC • Clipper • JAS • MUMPS • PLAN • PL/I • PL/M • SAKO • SAS (asembler) • Simula
Ezoteryczne: INTERCAL • Brainfuck • BeFunge • Unlambda • Malbolge • Whitespace • FALSE • HQ9+ • Shakespeare • Whirl • Ook