Bases de l’algorithmique

L’objectif ici est d’apprendre à donner des ordres à l’ordinateur pour obtenir des résultats précis et utiles. La difficulté principale consiste à donner ces instructions dans le bon ordre, c’est-à-dire à les organiser.

Qu’est-ce qu’un algorithme?

On nomme algorithme toute séquence d’opérations élémentaires organisée pour atteindre un but ou résoudre un problème précis.

Élémentaire signifie ici: simple, non simplifiable. Pour nous, concrètement, cela veut dire: relatif à notre cadre technique qui, en l’occurrence, est le langage de programmation Python.

Ce mot provient du nom du nom d’un des premiers mathématiciens à s’intéresser aux algorithmes pour eux-mêmes, le perse Muḥammad ibn Mūsā al-Khuwārizmī né vers 780 dans l’actuel Ouzbékistan et mort vers 850 à Bagdad, à qui l’on doit notamment une tentative de classement, une typologie des algorithmes. Les algorithmes existaient donc avant lui : le plus connu est celui d’Euclide pour trouver le plus grand commun diviseur (PGCD) de deux nombres. Les plus anciens algorithmes datent au moins de l’ancienne Babylone.

L’algorithmique

La réflexion et la recherche sur les algorithmes aujourd’hui s’appelle algorithmique ; c’est une discipline scientifique qui partie de l’informatique.

Algorigrammes

Pour nous aider à construire et à communiquer des algorithmes, nous allons utiliser une technique d’écriture appelée algorigramme.

Il s’agit de diagrammes de flux permettant de représenter les étapes d’un algorithme.

Il y a toujours un début et une fin dessinés en forme de capsule.

Il y a des opérations qui s’enchaînent, dessinées en forme de rectangle : dans notre cours nous emploierons soit le français (ou l’anglais) soit le Python pour exprimer les opérations.

Nous distinguerons les opérations d’entrée et de sortie que nous dessinerons dans un parallélogramme.

On peut préciser l’organe d’entrée ou l’organe de sortie à l’aide d’un cercle.

Enfin, il y a les conditions que nous dessinerons en losange; nous indiquerons toujours «si» et «sinon», ou «oui» et «non», en fonction de la condition, afin d’assurer la communication de l’algorithme.

Exemple d’algorigramme :