Algorithmique et programmation
Master 1 Humanités numériques
Jérôme Darmont
Année 2016-2017
http://eric.univ-lyon2.fr/~jdarmont/
M1 HN Algorithmique et programmation http://eric.univ-lyon2.fr/~jdarmont/ Page 1 sur 20
Définitions
Algorithme
Un algorithme est une suite finie et non ambiguë d’opérations ou d'instructions permettant de résoudre un problème ou d'obtenir un résultat.
1
Un algorithme peut prendre des données en entrée et fournit au moins un résultat en sortie.
2
Un algorithme est souvent exprimé avec une notation indépendante de tout langage de programmation.
3
Programme
Un programme est la traduction d’un algorithme en un langage interprétable par un ordinateur.
4
1
Wikipedia. https://fr.wikipedia.org/wiki/Algorithme
2
Donald E. Knuth. The Art of Computer Programming, Vol. 1. 3e edition, 1997. Addison-Wesley.
3
Robert Strandh, Irène Durand. Initiation à l’informatique. 2003. http://dept-info.labri.fr/ENSEIGNEMENT/INITINFO/initinfo/supports/book/
4
Robert Cordeau. Introduction à Python 3. http://www.maths-et-tiques.fr/telech/Python3v1-1.pdf
M1 HN Algorithmique et programmation http://eric.univ-lyon2.fr/~jdarmont/ Page 2 sur 20
Méthodologie
M1 HN Algorithmique et programmation http://eric.univ-lyon2.fr/~jdarmont/ Page 3 sur 20
Outils
Langage algorithmique textuel
Le langage algorithmique en français proposé dans ce support et relativement standard, si tant est qu’il existe un standard en la matière. Il est volontairement
indépendant et différent des autres langages abordés dans cet enseignement (plus rigoureux).
Blockly
Blockly
5
est un langage graphique open-source de Google qui vise à démocratiser le développement informatique en limitant les possibilités d’erreurs de
syntaxe grâce à l’agencement de blocs de code par glisser-déposer. Il est inspiré de Scratch
6
, un langage similaire développé par le MIT. Il permet de générer
automatiquement du code, notamment dans les langages JavaScript, PHP et Python. Il est considéré ici comme un langage algorithmique en anglais.
Python
Python
7
est un langage de programmation sous licence libre promu par la Python Software Foundation. Il fonctionne sur la plupart des systèmes d’exploitation
et fait partie des langages les plus utilisés pour apprendre la programmation. Il inclut l’environnement de développement IDLE
8
, qui vise à faciliter la
programmation en Python. Les programmes Python sont placés dans des fichiers d’extension « .py ».
5
https://developers.google.com/blockly/
6
https://scratch.mit.edu
7
https://www.python.org
8
http://tarball69.developpez.com/articles/python/idle-presentation-rapide/
M1 HN Algorithmique et programmation http://eric.univ-lyon2.fr/~jdarmont/ Page 4 sur 20
Tableau d’équivalence entre les langages
Concept
Algorithmique graphique (Blockly)
Langage Python
Commentaire
{Il faut commenter son code !}
# Il faut commenter son code !
Déclaration de
variables
Var âge : Entier
Var salaire : Réel
Var nom : Chaîne
Var v_f : Booléen
Pas d’équivalent !
Déclaration de
constantes
Const N 10
Const PI 3,1416
Const MONNAIE "Euro"
Affectation de
variables
âge  44
salaire 1466,62
nom "Jérôme"
v_f Vrai {Contraire : Faux}
age = 44
salaire = 1466.62
nom = "Jérôme" ou nom = 'Jérôme'
v_f = True # Contraire : False
a = b = 20
x, y = 30, 40
Type d’une
variable
type(age) # int
type(salaire) # float
type(nom) # str
type(v_f) # bool
Calculs
âge  44 + 1
âge  âge + 1
salaire salaire x 1,05
quotient a b
nom nom | " Darmont"
age = 44 + 1
age = age + 1 ou age += 1
salaire = salaire * 1.05
quotient = a / b
nom = nom + " Darmont"
Opérateurs
arithmétiques
+ - x ^ div mod
+ - x ^
+ - * / // %
1 / 21 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !