Algorithmique
L’algorithmique est une discipline ajoutée récemment dans le programme du BAC. Elle est utilisée en informatique pour la programmation.
Un algorithme est une suite d’opérations logiques servant à résoudre un problème.
Parties d’un algorithme
On décrit un algorithme avec les quatre éléments suivants :
- Variables, les objets intermédiaires utilisés pour les calculs
- Entrées, les paramètres nécessaires à l’algorithme
- Traitement, la suite d’opérations et de calculs
- Sortie et résultat de l’algorithme
Variables
Dans cette première partie, on déclare les objets qui sont utilisées et qui évoluent au cours du traitement (variables). On lui affecte un nom et un type.
Exemples : N entier, X réel
Parfois, on rajoute une étape intermédiaire avant le traitement. Il s’agit de l’étape d’Initialisation afin de penser à initialiser les variables.
Entrées
Quelles sont les conditions nécessaires en entrée du problème ?
Exemple : Algorithme pour déterminer si un nombre est pair. En entrée, on a besoin du nombre à tester.
Traitement
Interactions homme-machine
Il faut imaginer que l’algorithme est exécuté par un ordinateur, il faut donc lui donner des fonctions d’interactions avec un utilisateur humain.
- Afficher n
- Afficher à l’écran un résultat pour l’utilisateur
- Lire n / Saisir n / Entrer n
- Demander à l’utilisateur de saisir une variable n
Opérations
La suite d’opérations peut utiliser les opérateurs de calculs classiques : +, -, *, /
On peut aussi se permettre d’utiliser des fonctions annexes : modulo(), partie_entiere()
Il existe aussi des opérateurs logiques :
- SI
- Faire deux suites d’opérations différents en fonction d’une condition donnée
SI <condition> ALORS <instructions si vrai> SINON <instructions si faux> FINSI
- POUR
- Faire des boucles, pour répéter un nombre fini de calculs (n fois), très utile pour les suites numériques.
Note : i doit être déclaré en variable
POUR i DE 1 A n <instructions> FINPOUR
- TANT QUE
- Une autre boucle qui permet de répéter une suite d’instructions tant qu’une condition reste vraie.
TANTQUE <condition> <instructions> FINTANTQUE
Sortie
Quel est le résultat que l’on veut obtenir ?
Exemple : Algorithme pour déterminer si un nombre est pair. En sortie, on a besoin de savoir VRAI ou FAUX.
Exemples d’algorithmes
Déterminer si un entier est pair ou impair
Variables
N entier
Entrées
Lire N
Traitement
Afficher « Entrer un nombre entier positif »
Entrer N
SI partie entière (N/2)=N/2 ALORS
Afficher « N est pair »
SINON
Afficher « N est impair »
FIN SI
Sorties
Affichages du traitement
Suite arithmétique
Variables
n entier
i entier
U réel
Entrées
Lire n
Initialisation
Affecter à U la valeur 0
Traitement
POUR i DE 1 A n
U = U + 1/i
FINPOUR
Sorties
Afficher u
Résolution dans l’épreuve
A priori, on ne demandera pas l’écriture d’un algorithme entier dans l’épreuve, mais on peut vous demander ces deux types de question :
- Déterminer le résultat d’un algorithme
- Modifier l’algorithme pour faire en sorte que le résultat soit …
Dans tous les cas, il convient donc de comprendre les mécanismes de l’algorithme décrit plus haut. La bonne compréhension et le minimum de logique que vous possédez suffira à résoudre les questions.
Quelques conseils / remarques pour mieux comprendre la mécanique d’un algorithme:
- Écrire sur le brouillon les différentes étapes et les résultats intermédiaires obtenus.
- A chaque fois qu’il y a des itérations, il y a de grandes chances que l’on relie l’algorithme avec les suites numériques.
- Faire tourner les itérations pour comprendre l’algorithme.