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

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 $U_{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 :

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: