Langage K

Un article de Wikipédia, l'encyclopédie libre.

Le langage K est un langage d'abstraction des concepts de l'informatique, un langage de formalisation des structures de données et un langage d'approche mathématique et théorique de la programmation.

[modifier] Présentation

Langage d'enseignement, il permet d'aller au delà des distinctions de tout type (langage de programmation, déclaration de type, mots-clés par sa syntaxe extrêmement pauvre).

Ce langage étant à vocation pédagogique, il n'existe pas de notation stricte de langage. Néanmoins, une norme a été définie à l'adresse http://libe4.free.fr/langk/.

Ce langage ne permet d'effectuer que des modifications sur des nombres, des listes ou des tableaux, son intérêt est de voir la trace des algorithmes écrits.

Un programme K se divise par fonctions définies récursivement. Elles sont constituées de cas, autrement dit des conditions suivies d'un rendu de résultat.

[modifier] Exemple

Déterminer la valeur maximum d'un tableau :

Initialisation MAXIMUM(T, i, n, max)=  MAXIMUM(T, 2, |T|, T[1])
Differents cas i <= n ^ T[i] >  max => MAXIMUM(T, i, n, max) = MAXIMUM(T, i + 1, n, T[i])
               i <= n ^ T[i] <= max => MAXIMUM(T, i, n, max) = MAXIMUM(T, i + 1, n, max)
               i >  n               => MAXIMUM(T, i, n, max) = max
Fin

[modifier] Interpréteurs

Plusieurs interpréteurs existent :

  • K Teach Algorithmics (Algorithmique d'apprentissage par K.), developpé par une équipe de maîtrise d'informatique (reprenant le projet Kinterpreter)
  • EKzecuteur, un projet très primitif