Přejeme Vám krásné svátky a 52 týdnů pohody a štěstí v roce 2025 !
Gödel (programovací jazyk)
Z Multimediaexpo.cz
Gödel je v informatice deklarativní a všestranně použitelný programovací jazyk, který dodržuje logické programovací paradigma. Jedná se o silně typový jazyk, jehož systém je založen na mnohotříděné logice s parametrickým polymorfismem. Jazyk je pojmenován po logiku Kurtu Gödelovi.
Rysy
Gödel má modulární systém, který podporuje libovolnou přesnost celých čísel, racionálních čísel a čísel s pohyblivou desetinnou čárkou. Může řešit úlohy v oboru konečných celých čísel a zároveň v oboru lineárních racionálních čísel. Podporuje zpracování konečných množin. Má flexibilní výpočetní pravidla a pročišťovací (?) operátor (anglicky pruning operator), který zevšeobecňuje odkaz programovacích jazyků s konkurenční logikou.
Gödelovy metalogické prostředky poskytují podporu pro meta-programy, které zpracovávají analýzy, transformace, kompilace, verifikace, ladění a další úlohy.
Příklad
Následující modul v jazyce Gödel hledá největšího společného dělitele dvou čísel. Příklad demonstruje deklaratorní povahu jazyka, bez ohledu na efektivitu řešení. CommonDivisor predikát říká, že jestliže čísla i
a j
nejsou nula, pak d
je jejich společným dělitelem za podmínky, že leží v intervalu mezi 1 a menším číslem z čísel i
a j
, a že i
a j
dělí celočíselně. Gcd predikát pak říká, že d
je největší společný dělitel čísel i
a j
, jestliže je společným dělitelem i
a j
a neexistuje žádné takové e
, které by bylo společným dělitelem těchto čísel i
a j
a bylo větší než d
.
MODULE GCD.
IMPORT Integers.
PREDICATE Gcd : Integer * Integer * Integer.
Gcd(i,j,d) <-
CommonDivisor(i,j,d) &
~ SOME [e] (CommonDivisor(i,j,e) & e > d).
PREDICATE CommonDivisor : Integer * Integer * Integer.
CommonDivisor(i,j,d) <-
IF (i = 0 \/ j = 0)
THEN
d = Max(Abs(i),Abs(j))
ELSE
1 =< d =< Min(Abs(i),Abs(j)) &
i Mod d = 0 &
j Mod d = 0.
Externí odkazy
Náklady na energie a provoz naší encyklopedie prudce vzrostly. Potřebujeme vaši podporu... Kolik ?? To je na Vás. Náš FIO účet — 2500575897 / 2010 |
---|
Informace o článku.
Článek je převzat z Wikipedie, otevřené encyklopedie, do které přispívají dobrovolníci z celého světa. |