LSE (langage de programmation) - LSE (programming language)
LSE ( Français : Langue d'enseignement symbolique ) est un langage de programmation développé à Supélec et Télémécanique des fin des années 1960 au milieu 1970s.It est similaire à BASIC , sauf français -langue au lieu de anglais mots - clés -Langue. Il est dérivé d'un langage antérieur appelé LSD , également développé à Supélec. On dit le plus souvent qu'il s'agit d'un acronyme pour Langage Symbolique d'Enseignement , mais d'autres extensions sont également connues (par exemple Langage de Sup-Élec , ou le plus cynique Langage Sans Espoir ).
Il a prospéré à l'origine grâce au soutien du ministère français de l'Éducation nationale , mais a décliné lorsque le ministère a perdu tout intérêt. Il a subi un certain nombre de révisions; les versions antérieures de LSE manquaient de prise en charge complète de la programmation structurée , les versions ultérieures telles que LSE-83 (alias LSE-1983) de Jacques Arsac ont ajouté la prise en charge de la programmation structurée, ainsi que la gestion des exceptions . Même les révisions ultérieures, telles que LSE-2000, ont ajouté plus de fonctionnalités, de nouveaux types, de nouveaux opérateurs (NI, ET QUE, OU QUE et SELON-DANS-SINON), des commandes de contrôle de flux, etc.
Exemples de codes
99 Bouteilles (AFNOR Z 65-020)
1*CHANSON DES 99 BOUTEILLES DE BIERE 2*PASCAL BOURGUIGNON, 2003 10 FAIRE 20 POUR N←99 PAS -1 JUSQUA 1 20 &STROF(N) 30 AFFICHER['IL EST TEMPS D’’ALLER AU MAGASIN.',/] 40 TERMINER 100 PROCEDURE &STROF(N) LOCAL S1,S0;CHAINE S1,S0;S1←"S";S0←"S" 110 SI N=2 ALORS S0←"" SINON SI N=1 ALORS DEBUT S1←"";S0←"" FIN 120 AFFICHER[U,' BOUTEILLE',U,' DE BIERE SUR LE MUR.',/]N,S1 130 AFFICHER[U,' BOUTEILLE',U,' DE BIERE.',/]N,S1 140 AFFICHER['EN PRENDRE UNE, LA FAIRE PASSER.',/] 150 AFFICHER[U,' BOUTEILLE',U,' DE BIERE SUR LE MUR.',2/]N-1,S0 160 RETOUR
Anagrammes (LSE-1983)
Exemple de Jacques Arsac en LSE83 :
1 CHAINE A,B,BP 5 FAIRE 10 AFFICHER 'A = ' ;LIRE A ; SI A=’’ ALORS FINI IS 11 AFFICHER 'B = ' ;LIRE B ; BP ← B 12 15 R SI LGR(A) # LGR(B) ALORS .FAUX. SINON &ANAG(A,B) IS 20 SI R ALORS AFFICHER A, 'EST ANAGRAMME DE ',BP 21 SINON AFFICHER A, 'N’’EST PAS ANAGRAMME DE 1, BP 22 IS 25 BOUCLER 29 30 TERMINER 31 50 FONCTION &ANAG(U,V) LOCAL J {lgr(u)=lgr(v)} 51 SI U=' ' ALORS RESULTAT .VRAI. IS 52 SI J = 0 ALORS RESULTAT .FAUX. IS 54 RESULTAT &ANAG(SCH(U,2, ' '),MCH(V,J,l, ' ')) 55 $&ANAG 99 $
Plus grand diviseur commun, algorithme d'Euclide (LSE2000)
(* ** MÉTHODE D'EUCLIDE POUR TROUVER LE PLUS GRAND DIVISEUR COMMUN D'UN ** NUMÉRATEUR ET D'UN DÉNOMINATEUR. ** L. Goulet 2010 *) PROCÉDURE &PGDC(ENTIER U, ENTIER V) : ENTIER LOCAL U, V ENTIER T TANT QUE U > 0 FAIRE SI U< V ALORS T←U U←V V←T FIN SI U ← U - V BOUCLER RÉSULTAT V FIN PROCÉDURE PROCÉDURE &DEMO(ENTIER U, ENTIER V) LOCAL U, V AFFICHER ['Le PGDC de ',U,'/',U,' est ',U,/] U, V, &PGDC(U,V) FIN PROCÉDURE &DEMO(9,12)
Les références
Liens externes
- [1] Programme 99 bouteilles écrit en LSE
- Une implémentation de LSE