# De l'algorithme à l'exécutable --- ## L'algorithme ```pseudo[1-8] DEBUT initialiser t à 0 initialiser i à 1 TANT QUE i < 10 REPETER ajouter i à t ajouter 1 à i FIN FIN ``` L'algorithme est un objet théorique. Il n'est pas écrit dans un langage de programmation. --- ## programme (ex: Python et C) ```python[1-6] # python t = 0 i = 1 while i < 10: t += i i += 1 ``` ```c[1-7] // C int t = 0; int i = 0; while (i<10) { t += i; i++; } ``` --- ## programme (ex: Python et C) ```python[1-6] # monprogramme.py t = 0 i = 1 while i < 10: t += i i += 1 ``` Dans tous les cas, le programme est un simple texte. On le stocke dans un **fichier texte**. Pour simplifier les choses, l'extension indique le langage : `monprogramme.py` ou `monprogramme.c` --- ## Pourquoi plusieurs langages ? * certains langages sont plus performants mais plus difficiles. * l'informatique est une science, le connaissances progressent, les langage évoluent. * certains langages sont spécialisés dans certains usages. * les grands entreprises poussent leurs produits (go pour google, C# pour Microsoft, Swift pour Apple...) * c'est aussi affaire de goût, de mode... --- ## Python ? * assez simple mais pas au top pour les performances * généraliste * beaucoup utilisé, grande communauté d'utilisateurs * énormément de modules qui font à peu près tout ce dont on a besoin. --- ## Rédiger le programme ![Rédaction Python <](./medias/algoversexe/redacpy.svg) À un moment, on écrit le programme. C'est un simple fichier texte. Un éditeur de texte suffit. --- ## Exécuter le programme ![Exécution Python <](./medias/algoversexe/execpy.svg) À un autre moment, on exécute le programme. **Problème :** La machine ne comprend ce qu'est ce fichier texte ! `programme.py` n'est pas exécutable ! --- ## Interpréteur ![Interpréteur Python](./medias/algoversexe/appel_python.svg) Sur la machine, il faut qu'un exécutable soit présent : `python.exe`. C'est l'**interpréteur**. --- ## Interpréteur ![Interpréteur Python](./medias/algoversexe/appel_python.svg) **Petit problème :** Windows ne sait pas où se trouve `python.exe` ! Au lycée, on le trouve dans `C:\EduPython\App` mais ce n'est pas pratique de devoir s'en souvenir... --- ## Interpréteur ![Interpréteur Python](./medias/algoversexe/appel_python.svg) L'astuce est de configurer le PC pour lui dire de chercher automatiquement dans ce répertoire. --- ## Interpréteur ![Interpréteur Python](./medias/algoversexe/appel_python.svg) Maintenant que les détails sont réglés, la commande fonctionne. L'interprète lit le contenu du fichier et dit à la machine quoi faire. Python est un langage **interprété** : la traduction est faite en même temps que l'exécution. --- ## Console ![console Python](./medias/algoversexe/cmd_console.svg) À noter que si on ne précise pas de programme, `python.exe` fonctionne en mode console. `>>>` représente l'invite de la console. --- ## Environnement Comme c'est (au début) compliqué d'avoir l'éditeur de texte d'un côté et la console de l'autre, on utilise un environnement tout en un. ![Interpréteur Python](./medias/algoversexe/env.png)