CPL

Z Wikipedie, otevřené encyklopedie
CPL
Paradigmaimperativní (procedurální), strukturovaný, funkcionální
Vznik1960
Ovlivněn jazykyALGOL
Ovlivnil jazykyBCPL

CPL (Combined Programming Language – kombinovaný programovací jazyk) je multiparadigmatický programovací jazyk vyvinutý Cambridgeskou a Londýnskou univerzitou v roce 1960. Byl ovlivněn jazykem ALGOL. Vzhledem ke složitosti jazyka se první překladač objevil až v roce 1970.[1] Tento jazyk se nikdy nestal populárním, ale vytvořil základ pro jazyk BCPL.

Popis jazyka[editovat | editovat zdroj]

CPL podporuje strukturované a funkcionální programování. Program se skládá z definic a příkazů a je uspořádán do bloků, které mohou být vnořené. Blok začíná i končí znakem §.

Datové typy[editovat | editovat zdroj]

  • integer (celé číslo, velikost je nespecifikována)
  • real (reálné číslo, velikost je nespecifikována)
  • complex (komplexní číslo, dvojice reálných čísel)
  • index (celé číslo, které se vejde do B-registrů (indexové registry))
  • logical (binární vzor, velikost je nespecifikována)
  • Boolean (pravdivostní hodnota)
  • label (návěstí pro skok)
  • string (sekvence symbolů CPL abecedy)
  • array (pole, deklaruje se takto: TypPole PocetRozmeru array NazevPole, pro 1 array je zkratka vector a pro 2 array je zkratka matrix)
  • list (seznam, podobný jako v Lispu)

Příkazy[editovat | editovat zdroj]

Přiřazení: proměnná:=hodnota.

Řídící struktury[editovat | editovat zdroj]

Podmínka: if logická hodnota then do příkaz (provede se, pokud podmínka platí) nebo unless logická hodnota then do příkaz (provede se, pokud podmínka neplatí) nebo test logická hodnota then do příkaz1 or do příkaz2 (pokud podmínka platí, provede se příkaz1, jinak se provede příkaz2.

Cyklus while-do: while logická hodnota do příkaz (opakuje se, dokud podmínka platí) nebo until logická hodnota do příkaz (opakuje se, dokud podmínka neplatí).

Cyklus do-while: příkaz repeat while logická hodnota (opakuje se, dokud podmínka platí) nebo příkaz repeat while logická hodnota (opakuje se, dokud podmínka neplatí).

Cyklus for: for proměnná=seznam do příkaz (proměnná nabývá postupně všech hodnot v seznamu).

Seznamy[editovat | editovat zdroj]

Přiřazení: seznam:=hodnota, například seznam:=1,2,3,4 nebo seznam1:=seznam2.

Přiřazení seznamu do jiných proměnných: proměnná1,proměnná2,... :=seznam například: a,b,c,d:=seznam.

Paralelní přiřazení: proměnná1, proměnná2,... :=hodnota1, hodnota2,....

Výraz step: step s, n, f (vrátí seznam obsahující každé n-té číslo od s do f), používá se často v cyklu for.

Funkce[editovat | editovat zdroj]

Výpočet faktoriálu:

function Faktorial[x] = result of
    § real f = 1
      until x = 0 do
          f, x := xf, x — 1
      result := f §

Funkce nesmí mít žádné vedlejší efekty.

Rekurzivní funkce[editovat | editovat zdroj]

Musí být uveden modifikátor rec.

Rekurzivní výpočet faktoriálu:

rec function FaktorialRekurzivni[x] = (x = 0) → 1, x*FaktorialRekurzivni[x — 1]

Příklad[editovat | editovat zdroj]

Program Hello World:

Write(‘Hello, World!’)

Reference[editovat | editovat zdroj]

  1. progopedia.com [online]. progopedia.com [cit. 2016-06-11]. Dostupné online. (anglicky) 

Externí odkazy[editovat | editovat zdroj]