Un algorithme :
Ce professeur émérite en informatique de l'université de Stanford a contribué à la démocratisation de l'algorithmique au travers de ses ouvrages The Art of Computer Programming, sur lesquels il travaille toujours aujourd'hui.
Un algorithme est une liste finie d'instructions décrivant un ensemble de calculs qui, lorsqu'ils sont exécutés sur un ensemble d'entrées, va passer par une séquence d'états bien définis et finalement produire une sortie.
Un ordinateur ne sait faire que 2 choses :
Un simple ordinateur de bureau standard sait :
Les premières machines étaient à programme fixe :
Les systèmes embarqués utilisent encore ce procédé pour des raisons de coût et de performance.
Vos machines sont dites à programmes stockés :
Un ordinateur comporte :
Si une fonction est exécutable par une machine, alors une Machine de Turing peut être programmée pour l'exécuter.
Un algorithme peut donc être écrit dans n'importe quel langage de programmation.
+>+[-<+>]<
42
, 3.14
), chaînes de caractères ("yo"
), opérateurs (/
, +
).1 + 1
est bien formé, mais pas 1 1
).print("Bonjour tout le monde")
demande à l'interpréteur d'afficher Bonjour tout le monde
.
0
, 8
, -12
).1.5
, 3.14
, -6e10
, 5e-6
).True
, False
).None
).1 + 1
2
4.5 + 2.3
6.8
-5 < 3
True
2 == 3
False
+
: addition.-
: soustraction.*
: multiplication./
: division.%
: modulo (reste de la division).//
: division entière.**
: puissance.<
: strictement plus petit que.<=
: plus petit ou égal.>
: strictement plus grand que.>=
: plus grand ou égal.==
: égal.!=
: différent.and
: ET logique.or
: OU logique.not
: NON logique.x = 42
x
est une variable liée à un objet de type int
et dont la valeur est 42
.x = 42
y = x # y vaut 42
x = 314
z = x # z vaut 314
x = 42
y = x # y vaut 42
x = True
z = x # z vaut True