Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 Re : Leçons de Capes » [Info 10] - Exemples illustrant...familles de langage de programmation » 17-02-2018 14:27:09

La l3 info a bien une théorie des langages (donc d'un niveau bien supérieur au Capes)

" Généralités sur monoïde, langages et grammaires formels ; classification de Chomsky ; langages réguliers ; grammaires régulières ; automates finis ; déterminisation d'automates finis ; expressions régulières ; résolution de systèmes d'équations linéaires ; théorème de Kleene ; automate minimal ; minimisation d'automates finis ; lemme d'itération."

perso, je comprend rien du tout à ce que ça veut dire

#2 Re : Leçons de Capes » [Info 10] - Exemples illustrant...familles de langage de programmation » 17-02-2018 08:56:33

Après une nuit de sommeil et une relecture, mon post est assez à coté de la plaque même si quelques éléments sont intéressants

Historique : la machine de pascal souvent citée comme le premier ordinateur n'était pas programmable, mais suivait un algorithme. Les sauts conditionnels et le boucles ont été utilisés très tôt (cf Alan Turing, son décryptage Enigma3 et qui pensait déjà à l'IA). Chaque ordinateur a alors son propre langage de programmation. Les langages sont adapté à l'utilisation (Cobol Fortran...) et très près du matériel (ASM...). Avec la normalisation de l'équipement, il y a eu unification des possibilité de chaque langage. Visual studio en est un exemple : VB, VC, C# ne se différencient plus que par la syntaxe.
Bien qu'un langage puisse être machine, compilé, précompilé, interprété ils utilisent tous des instructions machines. Le but ici n'est pas de détailler les couches qui vont du logiciel au matériel.

Evolution des langages
langage linéaires (sans fonction ni procédures)
-> exemple : un algobox sur du syracuse
les fonctions et structures
-> ex : appel de fonction ou une structure nombre complexe
évolution vers les classes (citer c++ et Java) : langage orienté objet
-> la différence devient forte du moment qu'on utilise l'héritage
-> un ex d'héritage.
langage fonctionnel
-> inclure une ligne lambda dans du python
langage Q
-> programmation des Qbits

le reste n'est pas dans un ordre logique, mais c'est normal car ils utilisent pour fonctionner les langages déjà cités
langage concurrent (multithread, distribué, GPU)
langage visuel : une partie de code est généré par des de simple glissé-posé
->App inventor (scratch pour téléphone android), C#
langage événementiel : les action scratch "quand machin touche.."
langage basé web : génération à la demande (PHP), syntaxe simplifié, accès bdd, expressions régulières...
langage à code autogénéré : une IA génère du code depuis un algorithme en langage naturel.

Autres langage :
informatique industrielle (langage propre à chaque fabricant, cf intro), arduino(C), langage vu par expérience utilisateur (chien interactif, mais vu par l'utilisateur qui doit faire une demande pour que le chien saute, commande vocale (synthèse sms))...

la page wiki est très bien faite mais trop longue pour un Capes :
https://fr.wikipedia.org/wiki/Langage_de_programmation

#3 Re : Leçons de Capes » Système d'équations et systèmes d'inéquations lin.. » 16-02-2018 21:04:29

Wello
Les équations différentielles sont aussi des équations.
Les équation diophantienne aussi.
Des inéquations avec résolution graphique, je suis sur que ça plait.
La 'meilleure' solution quand la solution est un ensemble ou la 'meilleure' quand c'est la moins pire qu'il faut choisir peut être abordé sans en faire une question centrale.
Les exemples tirés des autres matières et de cas 'réels' sont les bienvenus.

#4 Re : Leçons de Capes » [Info 10] - Exemples illustrant...familles de langage de programmation » 16-02-2018 20:52:01

Wello,
je ne suis pas informaticien, ni un vrai programmeur.
Je regarde une série de vidéo sur les langages informatique en ce moment.
En gros la base boucle/condition/variable/entrée-sorties est commune à tous les langages depuis 40 ans et c++, C#, VB, Java etc sont tous pareil.
Je suis d'accord là-dessus, les blablas sur les compilés-semi compilé-etc, ça change pas grand chose à la façon de programmer.
donc, on peut faire plein de choses en scratch... mais n'est pas adapté au programmes longs et au débogage.

reste les petits plus :
la gestion de la récursivité (depuis 30 ans !)
les classes abstraites
le multicore, application distribuée
langage pour GPU computing (vectoriel et parallèle)
les fonctions lambda (inventé il y a bien longtemps, mais à la mode et utilisable à l'intérieur d'autres langage donc en python au capes)
le vrai langage fonctionnel lambda (tout le programme uniquement en fonctionnel, avec petite histoire)
l'IA, l'auto apprentissage, le deep learning
la définition fonctionnelle des fonctions qui sont évaluer à la précision de la demande (auto adaptatif)
le langage pour les ordinateurs quantique : multiples entrées et une seule sortie (définition du Qbit).
le big data et la recherche de données peut être vu comme un programme à part.
et scratch : comment faire beaucoup avec peu de moyens et trop simpliste en lycée.

Pied de page des forums