Pascal Germain
/
Table des matières
Algorithmes
Le langage Python
/
Mise en contexte historique
Origines : Les machines à calculer
Les premières machines à calculer datent des années . Blaise Pascal a réalisé en à l’âge de
ans la Pascaline, qui effectue des additions et soustractions à l’aide d’engrenages mécaniques.
/
Origines : Les machines à calculer
La machine Enigma, développée au début des années , était une machine de chiffrement
électromécanique utilisée pour coder des messages, notamment pendant la e guerre mondiale
par l’armée Allemande.
/
Origines : Vers des machines programmables
• Le « Electronic Numerical Integrator and Computer » (ENIAC, ) et« Electronic Discrete Variable
Automatic Computer » (EDVAC, ) : premiers odinateurs entièrement électroniques
/
Origines : L’informatique moderne
L’ENIAC est un des premiers ordinateurs conçus selon le modèle de l’« architecture Von
Neumann ».
/
Origines : L’informatique pour tous (ou presque)
• : Premier iPhone
• : Premier Raspberry Pi
Au fond, les opérations élémentaires effectuées par les ordinateurs n’ont pas beaucoup
changé depuis ans. /
Situer l’étape de programmation
dans le développement logiciel
Le cycle de développement d’un logiciel
/
Le cycle de développement d’un logiciel
/
Le cycle de développement d’un logiciel
• De son efficacité ;
• De sa portabilité et de sa compatibilité ;
/
Le cycle de vie d’un logiciel
/
Dans le cadre de ce cours...
/
Algorithmes
Algorithmes
• Un algorithme est une description étape par étape des actions à poser (intructions)
pour atteindre un certain but.
• Chacune des étapes doit être :
• Non ambigüe
• On nomme pseudo-code la description d’un algorithme qui n’est pas traduit dans un langage
de programmation particulier.
/
Programmer... Un chien !
• Actions/Instructions
• Couché
• Debout
• Assis
• Donne la patte
/
Deux programmes
Questions :
• Instructions :
• variable <- … : mémoriser une information
Exemple : age_retraite <- 65
• +, -, /, *, (, ) : opérateurs mathématiques
Exemple : anciennete <- (age_retraite - age_embauche)
/
Programmer un système de domotique
• Entées et sorties :
• chaleur() : entrée donnant la température captée
Un ordinateur est minimalement constitué d’un processeur (CPU), de mémoire vive (RAM), ainsi
que de périphériques d’entrées et de sorties.
/
Opérateurs de gestion d’information
Les instructions de base d’un langage de programmation informatique permettent d’intéragir avec
les composantes d’un ordinateur.
/
L’opération d’affectation et les variables
/
Les entrées-sorties
• entrée:
• Du clavier ;
• Convertit la chaîne de caractères selon le type requis, par exemple les deux caractères consécutifs
"6" et "5" sont convertis en la valeur numérique 65.
• sortie:
• À l’écran ;
/
Langage de programmation, code
source, et langage machine
Langage de programmation
• Langage de bas niveau. Un langage est dit « de bas niveau » (ex : Assembleur) s’il est
constitué d’instructions très élémentaires, très « proches de la machine ».
Désavantage : très dépendant du type de machine.
• Langage de haut niveau. Un langage de haut niveau comporte des instructions plus abstraites
(ex : C, C++, Python, Java,...). Chacune de ces instructions pourra être traduite par
l’interpréteur ou le compilateur en un grand nombre d’instructions machine élémentaires.
Avantage : beaucoup plus portable et plus facile à écrire.
/
Langage de programmation
/
Langage machine
• Langage machine. Un ordinateur n’est rien d’autre qu’une machine effectuant des opérations
basé sur un système numérique limité à deux chiffres appelé système binaire : / . Les
successions de et de (les bits) sont souvent traités par groupes de (les octets), , ou
.
/
Code source versus code machine
/
Le langage Python
Le langage Python
• C, C++
• Java
• Javascript
• Julia
Voir :
https://fr.wikipedia.org/wiki/Chronologie_des_langages_de_programmation
/
Le langage Python
Atouts de Python :
• Interactif ;
/
Le langage Python
C++ : Python :
# i n c l u d e <iostream> p r i n t ("Hello world")
using namespace std;
i n t main()
{
cout << "Hello world" << endl;
r e t u r n 0;
}
/
D’accord, mais est-ce utilisé dans l’industrie ?
Oui !
• Pixar
• NASA
• etc.
Mais même s’il ne l’était pas, ce ne serait pas un problème : vous apprenez à programmer, le langage est un outil pour y
arriver.
/
Et en éducation ?
• L’université Laval
• le MIT
• UC Berkeley
• Georgia Tech
• etc.
http://cacm.acm.org/blogs/blog-cacm/
176450-python-is-now- the- most- popular- introductory- teaching- language- at-top- us- universities/fulltext
/
Meilleurs langages en selon l’IEEE
https://www.developpez.com/actu/217533/
Meilleurs- langages-en- 2018- selon- l- IEEE- Python- conforte- sa- place- de- leader- grace-a-son- ascension- dans- le- machine- learning- et- l- embarque/
/
Et on peut faire quoi avec ?
• Et beaucoup plus !
/
Le langage Python
Développements :
/
Lectures, travaux et exercices
Plan des activités du module
• Documents à lire
• Chapitre de G. Swinnen
• Travaux dirigés
• Installation, survol et test des logiciels utiles
• Premiers pas avec l’interpréteur, écriture d’un premier programme, consultation de l’aide
interactive
/
Questions ?