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 Un+1=Un+1/nU_{n+1} = U_{n} + 1/n

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.