Vous êtes sur la page 1sur 8

Chapitre : Introduction à la programmation

Activité n°1: Supposons on veut résoudre l’équation ax2+bx+c=0 en utilisant un ordinateur


Comment va-t-on faire?
Résolution d’un problème
Pour résoudre un problème donné en informatique, l’utilisateur de l’ordinateur doit mettre au
point un programme et le faire exécuter par la machine
Un programme est une succession logique et ordonnée d’instructions
La programmation est l’ensemble des tâches qui permettent d’élaborer un programme
Pour écrire un programme il faut :
- Connaître le problème
- Savoir le découper logiquement en un ensemble d’opération élémentaire
- Connaître un langage compréhensible par la machine
La démarche à suivre dans la résolution d’un problème en informatique est donc

II- Définition et objectif d’un algorithme


Un algorithme est donc un moyen de description des étapes à suivre pour résoudre un
problème
L’objectif de l’algorithme est de permettre une bonne analyse du problème afin de proposer
la meilleur solution, celle-ci doit être correct, rapide (temps d’exécution), précise et moins
coûteuse en espace mémoire
III- Environnement de l’algorithme :
Pour fonctionner un algorithme utilise un certain nombre d’objets dites environnement de
l’algorithme il est constitué de :
Objets d’entrées: l’ensemble des données que l’utilisateur doit introduire à l’algorithme
Objets de sorties: l’ensemble des résultats produits par l’algorithme
Objets intermédiaires: l’ensemble des objets de traitement interne
Objets constants: l’ensemble des objets dont les valeurs ne changent pas au cours de
l’exécution de l’algorithme

13
-Exemple
On reprend l’exemple de ax²+bx+c :
Données en entrées sont : ……………………
Donnée en sorties sont : …………………………
Donnée Intermédiaires sont :…………………
Exemple d’analyse :
Etant données la longueur et la largeur d’un rectangle, calculez sa surface et son
périmètre
➢ Analyse :
• Les données en entrée
• Traitement à effectuer :
• Les résultats

Chapitre : Les outils de base de l’algorithme

Notion d’une donnée


Une donnée peut se présenter sous forme de donnée constants ou objets variables (DE, DI,
DS), une donnée est caractérisée par :
Son identificateur : c’est le nom que nous attribuons à la donnée, elle doit obligatoirement
commencer par une lettre et elle ne doit contenir ni des caractères spéciaux ni des espaces
Sa valeur : c’est le contenu d’une donnée
Son type : elle constitue la nature de la donnée, c’est l’ensemble des valeurs prise par la
donnée, il existe 3 types

Type numérique : il englobe les entiers et les réels positifs et négatifs


Type texte : c’est l’ensemble des caractères de l’alphabet (min. et maj.), les chiffres, les
caractères de ponctuation, les caractères spéciaux et les espaces
Type logique : il correspond à un ensemble de deux états logiques (vrai ou faux)
Les opérations relatives à une donnée
+ : Addition
* : Multiplication
- : Soustraction
/ : Division
^ : Élévation à la puissance
Div : la division entière (exp. 7 div 2=3)
Mod : reste de la division entière (exp. 7 mod 2 =1)
Les Instructions élémentaires en algorithme
Affectation : permet de mettre une valeur dans une donnée
Identificateur_de_la_donnée valeur
Exp.
x 5
Nom ’ali’
Admis vrai
Instruction de lecture : permet de lire le contenu d’une donnée à partir d’un périphérique
d’entrée
Exp. Lire (a)
14
Instruction d’écriture : permet d’afficher le contenu d’une donnée sur un périphérique de
sortie
Exp. Ecrire (x) affiche 5
Ecrire (Nom) affiche ali
Ecrire (‘a’) affiche a
Ecrire (’nom’) affiche nom
Présentation finale d’un algorithme

Algorithme nom_de_l’algorithme Entête de l’algorithme


Constantes
Nom_de_la_constante=valeur
…….
Variables partie déclaration
Nom_du_variable : type
Nom_du_variable : type
………
Début
Les instructions corps de l’algorithme
…..
Fin
Exercice
Écrire un algorithme qui calcul le périmètre d’un cercle

15
Chapitre : les structures de contrôle(ou conditionnelles)
On dit qu'un algorithme a une structure séquentielle lorsque les instructions s'exécutent d'une
manière linéaire une après une du début jusqu'à la fin. Il peut y avoir dans certains cas des
sauts de blocs d'instructions.
Une telle structure est appelée Structure Conditionnelle. On distingue plusieurs formes :
- Structure Conditionnelle à un seul choix.
- Structure Conditionnelle à deux choix.
- Structure Conditionnelle imbriquée.
- Structure Conditionnelle à choix multiple.
1- Structure Conditionnelle à un Choix
Il s’agit d’un traitement qui ne peut s’exécuter que si une condition logique est satisfaite ;
dans le cas contraire, rien ne devrait se passer.
Représentation Algorithmique
Si (Condition_Satisfaite) Alors traitements Finsi
Exemple : On veut octroyer une prime pour les salariés mariés ayant plus de 3 enfants.
SI (Nbr_Enfants >= 3) ALORS Salaire  Salaire + Prime FinSi
Exercice d’application : Écrire un algorithme qui permet de résoudre une équation de 1er
degré : ax+b=0 en supposant que a >0.
Solution
Algorithme Equation1
Variable a,b,x : réel
Début
Lire(a) Lire(b)
Si ( a > 0 ) Alors
X -b/a
Finsi
Écrire(x)
Fin
2- Structure Conditionnelle à deux Choix
Il s’agit d’un traitement qui ne peut s’exécuter que si une condition logique est satisfaite ;
dans le cas contraire, un autre traitement sera exécuté.
Représentation Algorithmique
Si (Condition_Satisfaite) Alors traitements Sinon traitements Finsi .
Exercice d’application : Écrire un algorithme qui permet de résoudre une équation de 1er
degré : ax+b=0 avec b non nul.
Solution
Algorithme Equation1
Variable a,b,x : réel
Début
Lire(a) Lire(b)
Si ( a > 0 ) Alors
x -b/a
écrire(x)
Sinon Écrire(‘Pas de Solutions’)
Finsi Fin

16
3- Structure Conditionnelle Imbriquée
Il s’agit d’un traitement qui ne peut s’exécuter que si une condition logique est satisfaite ;
dans le cas contraire, un autre traitement sera exécuté. Les différents traitements ne
comportent plus uniquement des actions simples mais on peut leur imbriquer des structures
conditionnelles.
Représentation Algorithmique
Si condition1 alors
Si condition2 alors
traitements
Sinon
traitements
Finsi
Sinon
Si condition3 alors
traitements
Finsi
Finsi
Exercice d’application
Ecrire un algorithme Mois qui lit un numéro de mois et affiche son nom respectif.
Algorithme Mois Variable
NumMois : entier
DEBUT
Lire (NumMois)
SI NumMois = 1 ALORS Ecrire(‘Janvier’)
SINON SI NumMois = 2 ALORS Ecrire(‘Février’)
SINON …
SINON SI NumMois = 1 ALORS Ecrire(‘Décembre’)
SINON Ecrire(‘Erreur’)
FINSI FINSI FINSI FINSI
FIN
4- Structure Conditionnelle à Choix Multiple
Partant de l’énoncé précédant, on remarque l’importance de la longueur et la complexité de
cet algorithme, on y trouve trop de conditions imbriquées. La solution est l’utilisation d’une
autre structure conditionnelle appelée structure conditionnelle à choix multiple. Par
définition, une structure à choix multiple est une structure qui à partir d’un choix va se
positionner sur le bon traitement sans passer par les autres ; on la note par SELON.
Représentation Algorithmique
Selon (nomvariable) Faire
Val1 : traitements
Val2 : traitements
…..
ValN : traitements
Sinon traitements
Fin Selon

17
Remarque :
nomvariable est appelée Sélecteur ou Variable de choix.
Le sélecteur doit être déclaré et comporter une valeur avant d’être impliqué dans le Selon.
Si pour différentes valeurs, le traitement est le même, on peut les regrouper ensemble en les
séparant par des virgules : Val1, Val2, .., ValK :
Val1, Val2, …., ValN doivent être de même type que nomvariable.
Les valeurs Val1,…., ValN ne peuvent avoir que les types suivants : o Entier o Caractère o
Intervalle d’entiers o Intervalle de caractères.
Les traitements relatifs aux valeurs peuvent comporter également d’autres structures
conditionnelles.
Exercice d’application Reprendre l’algorithme mois :
Algorithme Mois
Variable NumMois : entier
DEBUT
Lire (NumMois)
DEBUT
SELON NumMois FAIRE
1 : Ecrire(‘Janvier’)
2 : Ecrire(‘Février’)
… 12 : Ecrire(‘Décembre’)
SINON: Ecrire(‘Erreur…’)
FINSELON
FIN
Condition composée.
Une condition composée est une condition formée de plusieurs conditions simples reliées par
des opérateurs logiques: ET, OU, et NON
Exemples :
x compris entre 2 et 6 : (x > 2) ET (x < 6)
n divisible par 3 ou par 2 : (n mod 3=0) OU (n mod 2=0)
L'évaluation d'une condition composée se fait selon des règles présentées généralement dans
ce qu'on appelle tables de vérité

C1 C2 C1 ET C2 C1 C2 C1 OU C2

V V V V V V C1 NON C1

V F F V F v V F

F V F F V v F V

F F F F F F

milli 1 m = 10-3 micro 1 µ = 10-6 nano 1 n = 10-9 pico 1 p = 10-12 femto 1 f =


10-15

18
Chapitre : Structure répétitive ou itérative (boucles)
Définition
Certains algorithmes nécessitent la répétition des instructions un certain nombre de fois avant
d’obtenir le résultat voulu. Cette répétition est réalisée en utilisant une structure de contrôle
de type itératif, nommée boucle. Il existe trois types de boucles.
La boucle POUR
Utiliser pour un traitement qui se répète n fois
Langage algorithmique
Pour variable compteur de valeur initial à valeur final faire
Traitements
Fin pour
Instructions suivantes
Lorsque l’ordinateur rencontre cette structure, il procède de la manière suivante :
• La variable, jouant le rôle de compteur, est initialisée à la valeur initiale.
• L’ordinateur teste si la variable est inférieure ou égale à la valeur finale :
® Si c’est le cas, l’instruction ou le bloc d’instruction est effectué, la variable compteur est
augmentée de 1, et retour à l’étape 2
® Si ce n’est pas le cas l’ordinateur passe aux instructions suivantes.
La boucle TANT...QUE
Utilisé lorsqu’un traitement est à répéter tant qu’une condition est vérifiée
Langage algorithmique
Tant que condition faire
Traitements
Fin tant que
Instructions suivantes
Lorsque l’ordinateur rencontre cette structure, il procède de la manière suivante :
• La condition est testée (on dit aussi évaluée).
• Si la condition est fausse, l’instruction ou les instructions du bloc ne sont pas exécutées et
on passe aux instructions suivantes
• Si la condition est vraie, les instructions du bloc sont exécutées, et on recommence à l’étape
test de la condition.
La boucle répéter ...jusqu’a
Une boucle répéter sert à répéter un traitement jusqu’à ce qu’une condition soit remplie. La
condition est évaluée après chaque exécution des instructions de la séquence itérative. Si la
condition est remplie dés le départ, la boucle est exécutée une fois
Langage algorithmique
Répéter
Traitements
Jusqu'à condition
Instructions suivantes
Lorsque l’ordinateur rencontre cette structure, il procède systématiquement de la manière
suivante :
• Exécution du bloc d’instruction concernée.
• Test de la condition (on dit aussi évaluation).
• Si la condition est vraie les instructions du bloc sont exécutées,
• Si la condition est fausse, on passe aux instructions suivantes.
19
Comment déterminer la boucle à utiliser
Le choix de la structure de contrôle se fait en fonction du nombre d'itérations à effectuer :
• si le nombre d'itérations est déterminé à l'avance, une boucle POUR est la plus appropriée,
• sinon : si la condition de boucle ne peut être évaluée avant la première itération, ou si au
moins une itération doit être exécutée, la boucle REPETER est la plus appropriée,
• sinon la boucle TANT QUE est la plus appropriée
Remarque :
Il est possible de simuler une boucle pour à l'aide d'un tant que ou répéter

Exemple :
Ecrire l’algorithme qui calcul La somme de n premier nombre
Ecrire l’algorithme qui calcul la Somme d’une liste d’entiers dont le dernier est zéro

20

Vous aimerez peut-être aussi