1- Origine du mot
Le mot « algorithme » vient de la déformation du surnom du mathématicien persan Al-Khuwarizmi (né vers 780 - mort vers 850)
2- Une définition
Un algorithme est une suite finie de règles à appliquer dans un ordre déterminé à un nombre fini de données pour arriver, en un nombre fini d’étapes, à un certain résultat, et cela, indépendamment des données.

Il est important de comprendre qu'un algorithme doit se terminer puisqu'il doit y avoir un nombre fini d'étapes !
En effet, si l'algorithme est mal conçu, il peut partir dans une boucle infinie.
Exemple
Cela donne en langage naturel et l'équivalent en Python :
| Algorithme | Python |
| Si a>b alors d ← a - b Sinon d ← b - a Fin Si |
if a>b : d = a - b else d = b - a |
- cette structure est de type Si ... Alors ... Sinon .... Fin si
- l'affectation d'une variable n'utilise pas le signe égal, mais une flèche indiquant que le résultat doit être rangé dans une variable,
- le fin d'un test doit être signalé par Fin Si.
Vous allez vite vous rendre compte que le langage python est très proche dans la syntaxe hors mis la langue !
3- Notion de complexité
Suivant l'enchaînement des règles, le nombre d'étapes de l'algorithme peut être plus ou moins important, et sera fonction directement du nombre d'opérations élémentaires à réaliser pour obtenir le résultat.
La complexité permet donc de savoir si un algorithme est efficace ou pas.
Une approche mathématique simplifiée peut aussi être faite
Par exemple, on analyse un algorithme qui doit faire 6n2+3n+10 opérations élémentaires.
On dira que l'algorithme est de complexité n2 :
Pour déterminer la complexité, on prend des valeurs de n tendant vers l'infini, dans ce cas, 3n+10 devient négligeable devant n2.
On a éliminé les constantes, on conserve la puissance la plus élevée et on supprime le coefficient devant la puissance la plus grande.
4- Quelques règles d'écritures
Afin de pouvoir travailler pour la suite, vous allez trouver la correspondance entre l'écriture en langage naturel et en python en complétant le tableau ci-dessous :
| Algorithme | Python | |
| Demander une saisie de l'utilisateur | Lire a | |
| Afficher une variable ou valeur | Ecrire d |
|
| Conditions : ET - OU - NON | Si a=b OU a>b alors | |
| Test | Si Temp =< 5 Alors Ecrire "Il fait froid" SinonSi Temp < 30 Alors Ecrire "Température normal" Sinon Ecrire "Il fait trop chaud" Finsi |
|
| Boucle 1 | Ecrire "Voulez vous un café ? (O/N)" TantQue Rep <> "O" et Rep <> "N" Lire Rep FinTantQue |
|
| Boucle 2 | Truc ← 0 TantQue Truc < 15 Truc ← Truc + 1 Ecrire "Passage numéro : ", Truc FinTantQue |
|
| Boucle 3 | Pour Truc ← 1 à 15 Ecrire "Passage numéro : ", Truc Truc Suivant FinPour |
|
|
Créer, utiliser des tableaux A noter que l'indice commence à 0 |
tab( ) ou tab[ ] |
Faire les exercices : 6.5 - 6.9 - 6.13
Pour chacun d'eux, vous le taperez dans le code python et le testerez.
Source des exemples : https://pise.info/algo/codage.htm
