[{"@context":"http:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/wiki.edu.vn\/en2fr\/wiki28\/lucid-langage-de-programmation-wikipedia\/#BlogPosting","mainEntityOfPage":"https:\/\/wiki.edu.vn\/en2fr\/wiki28\/lucid-langage-de-programmation-wikipedia\/","headline":"Lucid (langage de programmation) – Wikipedia wiki","name":"Lucid (langage de programmation) – Wikipedia wiki","description":"before-content-x4 Un article de Wikip\u00e9dia, l’encyclop\u00e9die libre after-content-x4 Lucide est un langage de programmation de flux de donn\u00e9es con\u00e7u pour","datePublished":"2022-07-21","dateModified":"2022-07-21","author":{"@type":"Person","@id":"https:\/\/wiki.edu.vn\/en2fr\/wiki28\/author\/lordneo\/#Person","name":"lordneo","url":"https:\/\/wiki.edu.vn\/en2fr\/wiki28\/author\/lordneo\/","image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/c9645c498c9701c88b89b8537773dd7c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c9645c498c9701c88b89b8537773dd7c?s=96&d=mm&r=g","height":96,"width":96}},"publisher":{"@type":"Organization","name":"Enzyklop\u00e4die","logo":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":600,"height":60}},"image":{"@type":"ImageObject","@id":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/a\/a9\/Prime_numbers_sequence_dataflow_diagram_%28Lucid%29.png\/579px-Prime_numbers_sequence_dataflow_diagram_%28Lucid%29.png","url":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/a\/a9\/Prime_numbers_sequence_dataflow_diagram_%28Lucid%29.png\/579px-Prime_numbers_sequence_dataflow_diagram_%28Lucid%29.png","height":"122","width":"579"},"url":"https:\/\/wiki.edu.vn\/en2fr\/wiki28\/lucid-langage-de-programmation-wikipedia\/","wordCount":1610,"articleBody":" (adsbygoogle = window.adsbygoogle || []).push({});before-content-x4Un article de Wikip\u00e9dia, l’encyclop\u00e9die libre (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4Lucide est un langage de programmation de flux de donn\u00e9es con\u00e7u pour exp\u00e9rimenter avec des mod\u00e8les de programmation Neumann non VON. Il a \u00e9t\u00e9 con\u00e7u par Bill Wadge et Ed Ashcroft et d\u00e9crit dans le livre de 1985 Lucid, le langage de programmation de flux de donn\u00e9es . [d’abord] Plucid a \u00e9t\u00e9 le premier interpr\u00e8te de Lucid. (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4 Lucide Utilise un mod\u00e8le ax\u00e9 sur la demande pour le calcul des donn\u00e9es. Chaque instruction peut \u00eatre comprise comme une \u00e9quation d\u00e9finissant un r\u00e9seau de processeurs et de lignes de communication entre eux \u00e0 travers lesquels les donn\u00e9es circulent. Chaque variable est un flux infini de valeurs et chaque fonction est un filtre ou un transformateur. L’it\u00e9ration est simul\u00e9e par les valeurs \u00abactuelles\u00bb et l’op\u00e9rateur \u00abFBY\u00bb (lire comme \u00absuivi\u00bb) permettant la composition des flux. Lucid est bas\u00e9 sur une alg\u00e8bre d’histoires, une histoire \u00e9tant une s\u00e9quence infinie d’\u00e9l\u00e9ments de donn\u00e9es. Sur le plan op\u00e9rationnel, une histoire peut \u00eatre consid\u00e9r\u00e9e comme un enregistrement des valeurs changeantes d’une variable, des op\u00e9rations historiques telles que First et Next peuvent \u00eatre comprises d’une mani\u00e8re sugg\u00e9r\u00e9e par leurs noms. Lucid a \u00e9t\u00e9 \u00e0 l’origine con\u00e7u comme une langue disciplin\u00e9e et math\u00e9matiquement pure et unique, dans laquelle la v\u00e9rification serait simplifi\u00e9e. Cependant, l’interpr\u00e9tation du flux de donn\u00e9es a \u00e9t\u00e9 une influence importante sur la direction dans laquelle Lucid a \u00e9volu\u00e9. [d’abord] Table of Contents (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4D\u00e9tails [ modifier ]] Exemples [ modifier ]] Factoriel [ modifier ]] S\u00e9quence de fibonacci [ modifier ]] Total d’une s\u00e9quence [ modifier ]] Moyenne de course [ modifier ]] nombres premiers [ modifier ]] Diagramme de flux de donn\u00e9es [ modifier ]] Tri rapide [ modifier ]] Diagramme de flux de donn\u00e9es [ modifier ]] Carr\u00e9 moyen racine [ modifier ]] Probl\u00e8me de marteau [ modifier ]] Diagramme de flux de donn\u00e9es [ modifier ]] Les r\u00e9f\u00e9rences [ modifier ]] Liens externes [ modifier ]] D\u00e9tails [ modifier ]] Dans Lucid (et d’autres langues de flux de donn\u00e9es), une expression qui contient une variable qui n’a pas encore \u00e9t\u00e9 li\u00e9e attend jusqu’\u00e0 ce que la variable ait \u00e9t\u00e9 li\u00e9e, avant de proc\u00e9der. Une expression comme x + y Attendra que X et Y soient li\u00e9s avant de revenir avec la sortie de l’expression. Une cons\u00e9quence importante de cela est que la logique explicite pour la mise \u00e0 jour des valeurs connexes est \u00e9vit\u00e9e, ce qui entra\u00eene une r\u00e9duction substantielle du code, par rapport aux langues grand public. Chaque variable de Lucid est un flux de valeurs. Une expression n = 1 fby n + 1 d\u00e9finit un fluxUtilisation de l’op\u00e9rateur \u00abFBY\u00bb (un mn\u00e9monique pour \u00absuivi de\u00bb). FBY d\u00e9finit ce qui arrive apr\u00e8s le pr\u00e9c\u00e9dentexpression. (Dans ce cas, le flux produit 1,2,3, …).Les valeurs d’un flux peuvent \u00eatre trait\u00e9es par ces op\u00e9rateurs (en supposant que X est la variable utilis\u00e9e): 'Premier x' – R\u00e9pondance \u00e0 la premi\u00e8re valeur dans le flux x, 'X' – la valeur actuelle du flux, 'Suivant X' – Repare la valeur suivante dans le flux. 'Travail' – Un op\u00e9rateur qui fait quelque chose \u00abd\u00e8s que\u00ab la condition donn\u00e9e devient vraie. 'x sur p' – On est un op\u00e9rateur qui r\u00e9p\u00e8te l’ancienne valeur du flux X, et se met \u00e0 jour des nouvelles valeurs uniquement lorsque le flux P fabrique un vrai valeur disponible. (Il sert \u00e0 ralentir le flux x)c’est \u00e0 dire.: x sur p est le flux x avec de nouvelles valeurs apparaissant sur la v\u00e9rit\u00e9 de p. Le calcul est effectu\u00e9 en d\u00e9finissant des filtres ou des fonctions de transformation qui agissent sur ces flux de donn\u00e9es variant dans le temps. Exemples [ modifier ]] Factoriel [ modifier ]] facteur o\u00f9 n = 0 fby (n + 1); fac = 1 fby (fac * (n + 1)); fin S\u00e9quence de fibonacci [ modifier ]] mensonge o\u00f9 fib = 0 fby (1 fby fib + fib suivant); fin Total d’une s\u00e9quence [ modifier ]] total o\u00f9 total = 0 fby total + x fin; Moyenne de course [ modifier ]] running_avg o\u00f9 sum = premier (entr\u00e9e) fby sum + suivant (entr\u00e9e); n = 1 fby n + 1; running_avg = sum \/ n; fin; nombres premiers [ modifier ]] prime o\u00f9 prime = 2 fby (n chaque fois iSprime (n)); n = 3 fby n + 1; isprime (n) = pas (divs) asa divs ou prime * prime> n o\u00f9 N est le courant n; divs = n mod prime eq 0; fin; fin Diagramme de flux de donn\u00e9es [ modifier ]] Tri rapide [ modifier ]] Qsort (a) = si eof (d'abord a) alors a else suivent (qsort (b0), qsort (b1)) fi o\u00f9 p = d'abord a chaque fois -----> QSORT --------- | ^ | | | | | pas | | ^ | | ---> Premi\u00e8rement | | | | | | | V | | | ---> moins --- | | | | | V V--- + --------> chaque fois -----> qsort -----> con -------> ifthenelse -----> | ^ ^ | | | --------> Suivant ----> First ------> Iseod -------------- | | | -------------------------------------------------- --------- Carr\u00e9 moyen racine [ modifier ]] sqroot (avg (carr\u00e9 (a))) o\u00f9 carr\u00e9 (x) = x * x; avg (y) = moyenne o\u00f9 n = 1 fby n + 1; moyenne = d'abord y fby moyenne + d; d = (suivant y - moyenne) \/ (n + 1); fin; sqroot (z) = environ ASA err (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4"},{"@context":"http:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/wiki.edu.vn\/en2fr\/wiki28\/#breadcrumbitem","name":"Enzyklop\u00e4die"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/wiki.edu.vn\/en2fr\/wiki28\/lucid-langage-de-programmation-wikipedia\/#breadcrumbitem","name":"Lucid (langage de programmation) – Wikipedia wiki"}}]}]