Introduction à l'algorithmique
Introduction à l'algorithmique
Objectif
Résolution des problémes informatiques
Algorithmique
Notions et instructions de base
t
Les tableaux
raf
INTRODUCTION Á L’ALGORITHMIQUE
MOHAMMED SADDOUNE
November 1, 2012
t
Les tableaux
1 Objectif
raf
2 Résolution des problémes informatiques
3 Algorithmique
Notions dans l’algorithmique
Élaboration d’un algorithme
Structure d’un algorithme
5 Les tableaux
Problématique
Solution
t
Les tableaux
raf
Ce cours se veut une introduction, simple et intuitive, à l’étude des bases
classiques de l’algorithmique.
t
Les tableaux
raf
Ce cours se veut une introduction, simple et intuitive, à l’étude des bases
classiques de l’algorithmique.
Il ne vous suppose pas être des bons matheux, mais plutôt avoir deux
qualités, très complémentaires d’ailleurs:
1 il faut avoir une certaine intuition
2 il faut être rigoureux et méthodique
t
Les tableaux
raf
MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE
Introduction á l’algorithmique
Objectif
Résolution des problémes informatiques
Algorithmique
Notions et instructions de base
t
Les tableaux
raf
Un ordinateur n’est qu’une machine capable d’exécuter automatiquement
une série d’opérations simples qu’on lui a demandé de faire.
t
Les tableaux
raf
Un ordinateur n’est qu’une machine capable d’exécuter automatiquement
une série d’opérations simples qu’on lui a demandé de faire.
⇓
Alors, son intérêt réside dans sa capacité de
manipuler rapidement et sans erreur un grand nombre d’informations.
t
Les tableaux
raf
Un ordinateur n’est qu’une machine capable d’exécuter automatiquement
une série d’opérations simples qu’on lui a demandé de faire.
⇓
Alors, son intérêt réside dans sa capacité de
manipuler rapidement et sans erreur un grand nombre d’informations.
Certains voient, à tort, dans l’ordinateur une machine pensante et
intelligente, capable de résoudre bien des problèmes.
t
Les tableaux
raf
Un ordinateur n’est qu’une machine capable d’exécuter automatiquement
une série d’opérations simples qu’on lui a demandé de faire.
⇓
Alors, son intérêt réside dans sa capacité de
manipuler rapidement et sans erreur un grand nombre d’informations.
Certains voient, à tort, dans l’ordinateur une machine pensante et
intelligente, capable de résoudre bien des problèmes.
⇓
Celui-ci ne serait capable de rien si quelqu’un (le programmeur en
l’occurence) ne lui avait fourni la liste des actions à exécuter.
t
Les tableaux
raf
Un ordinateur n’est qu’une machine capable d’exécuter automatiquement
une série d’opérations simples qu’on lui a demandé de faire.
⇓
Alors, son intérêt réside dans sa capacité de
manipuler rapidement et sans erreur un grand nombre d’informations.
Certains voient, à tort, dans l’ordinateur une machine pensante et
intelligente, capable de résoudre bien des problèmes.
⇓
Celui-ci ne serait capable de rien si quelqu’un (le programmeur en
l’occurence) ne lui avait fourni la liste des actions à exécuter.
Les opérations élémentaires que peut exécuter un ordinateur sont en
nombre restreint et doivent être communiquées de façon précise dans un
langage qu’il comprendra.
t
Les tableaux
raf
Utilisateur ? ? ?
Donc, le rôle principal de l’utilisateur est de décrire la suite des actions
élémentaires permettant d’obtenir, à partir des données fournies, les résultats
escomptés.
t
Les tableaux
raf
Utilisateur ? ? ?
Donc, le rôle principal de l’utilisateur est de décrire la suite des actions
élémentaires permettant d’obtenir, à partir des données fournies, les résultats
escomptés.
Ne traitez pas vos ordinateurs comme des êtres vivants... Ils n’aiment pas
ça !
t
Les tableaux
raf
Analyser le problème: définir avec précision les résultats à obtenir, les
informations d’entrée dont on dispose
Déterminer les méthodes de résolution: trouver une solution efficace du
problème en déterminant la suite des opérations à effectuer pour atteindre
le résultat voulu.
⇓
Cette suite d’opérations constitue un Algorithme
Formuler un algorithme définitif : faciliter la résolution sur ordinateur par
l’expression de l’algorithme dans un formalisme adéquat
Traduire l’algorithme : réécrire l’algorithme dans un langage de
programmation bien adapté
t
Les tableaux
du Problème au Programme
raf
Étapes
t
Les tableaux
du Problème au Programme
raf
Étapes
t
Les tableaux
du Problème au Programme
raf
Étapes
Note !!!!!!!!!!!!!!
L’algorithmique est le permis de l’informatique. Sans elle, il n’est pas
concevable d’exploiter un ordinateur sans risque
MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE
Introduction á l’algorithmique
Objectif
Notions dans l’algorithmique
Résolution des problémes informatiques
Élaboration d’un algorithme
Algorithmique
Structure d’un algorithme
Notions et instructions de base
t
Les tableaux
Définition
raf
Un algorithme est une suite finie de règles à appliquer dans un ordre déterminé
à un nombre fini de données pour arriver, en un nombre fini d’étapes, à un
certain résultat, et cela indépendamment des données.
Définition
Un algorithme est une suite d’instructions, une fois exécutée correctement,
conduit à un résultat donné.
1 Si l’algorithme est juste, alors le résultat est celui escompté
2 Si l’algorithme est faux, alors le résultat est aléatoire
t
Les tableaux
Définition
raf
Un algorithme est une suite finie de règles à appliquer dans un ordre déterminé
à un nombre fini de données pour arriver, en un nombre fini d’étapes, à un
certain résultat, et cela indépendamment des données.
Définition
Un algorithme est une suite d’instructions, une fois exécutée correctement,
conduit à un résultat donné.
1 Si l’algorithme est juste, alors le résultat est celui escompté
2 Si l’algorithme est faux, alors le résultat est aléatoire
Principe de fonctionnement
Pour fonctionner, un algorithme doit donc contenir uniquement des instructions
compréhensibles par celui qui devra l’exécuter (l’ordinateur).
t
Les tableaux
Histoire raf
Le mot algorithme vient du nom du mathématicien arabe AlKhuwarizmi (
Muhammad ibn Musa alKhuwarizmi), auteur d’un ouvrage appelé ”La
transposition et la réduction”, Aljabr wa almuqabalah.
Le mot Aljabr deviendra algèbre, le nom de l’auteur sera latinisé en
Algoritmi, qui sera à la base du mot algorithme.
MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE
Introduction á l’algorithmique
Objectif
Notions dans l’algorithmique
Résolution des problémes informatiques
Élaboration d’un algorithme
Algorithmique
Structure d’un algorithme
Notions et instructions de base
t
Les tableaux
raf
Quatre phases principales sont à la base de la mise en oeuvre d’un algorithme:
analyse du problème
expression d’une solution en langage courant
expression d’une solution en pseudo-langage
tests et Vérification de l’adéquation de la solution
t
Les tableaux
Méthodologie:
raf
Identifier les données nécessaires (données en entrée)
Identifier le résultat (données en sortie)
Déterminer les actions ou opérations élémentaires
Spécifier l’enchaı̂nement des actions
Langage d’algorithmes = langage de description des données, des actions
et des enchaı̂nements
t
Les tableaux
Méthodologie:
raf
Identifier les données nécessaires (données en entrée)
Identifier le résultat (données en sortie)
Déterminer les actions ou opérations élémentaires
Spécifier l’enchaı̂nement des actions
Langage d’algorithmes = langage de description des données, des actions
et des enchaı̂nements
t
Les tableaux
Organigramme
raf
offre une vue d’ensemble de l’algorithme
représentation quasiment abandonnée aujourd’hui
t
Les tableaux
Pseudo-code raf
plus pratique pour écrire un algorithme
représentation largement utilisée
t
Les tableaux
raf
MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE
Introduction á l’algorithmique
Objectif
Notions dans l’algorithmique
Résolution des problémes informatiques
Élaboration d’un algorithme
Algorithmique
Structure d’un algorithme
Notions et instructions de base
t
Les tableaux
raf
Nom: le nom de l’algorithme
Rôle: que fait cet algorithme
Entrée: les données nécessaires
Sortie: les résultats produits par l’algorithme
Variables: la déclaration des variables
Début
instruction 1
instruction 2
.........
.........
instruction k
Fin
t
Les tableaux
raf
Instruction est l’expression dans un pseudo-code ou dans un langage de
programmation d’un ordre fourni à la machine.
Les instructions manipulent des objets. Chaque objet possède trois
qualificatifs : identificateur, type et une valeur.
t
Les tableaux
raf
Instruction est l’expression dans un pseudo-code ou dans un langage de
programmation d’un ordre fourni à la machine.
Les instructions manipulent des objets. Chaque objet possède trois
qualificatifs : identificateur, type et une valeur.
Exemple:
Nom: addDeuxEntiers
Rôle: additionner deux entiers a et b et mettre le résultat dans c
Entrée: a, b : entiers
Sortie: c: entier
Début
c := a + b
Fin
t
Les tableaux
raf
OBJECTIF ???
t
Les tableaux
CONCEPTION ???
raf
Après l’analyse du problème à résoudre, la première étape est d’identifier
les éléments manipulés
Exemple
Quels sont les éléments à manipuler pour calculer le périmètre d’un cercle
?
t
Les tableaux
CONCEPTION ???
raf
Après l’analyse du problème à résoudre, la première étape est d’identifier
les éléments manipulés
Exemple
Quels sont les éléments à manipuler pour calculer le périmètre d’un cercle
?
rayon
périmètre
t
Les tableaux
CONCEPTION ???
raf
Après l’analyse du problème à résoudre, la première étape est d’identifier
les éléments manipulés
Exemple
Quels sont les éléments à manipuler pour calculer le périmètre d’un cercle
?
rayon
périmètre
Remarque
Dans un programme, il faut prévoir de l’espace en mémoire pour stocker ces
éléments
t
Les tableaux
Variable: définition
raf
Le Robert : Variable est ” Symbole ou terme auquel on peut attribuer
plusieurs valeurs distinctes, à l’intérieur d’un domaine fini”
t
Les tableaux
Variable: définition
raf
Le Robert : Variable est ” Symbole ou terme auquel on peut attribuer
plusieurs valeurs distinctes, à l’intérieur d’un domaine fini”
En programmation : une variable est ”un emplacement mémoire où une
valeur est stockée”
t
Les tableaux
Variable: définition
raf
Le Robert : Variable est ” Symbole ou terme auquel on peut attribuer
plusieurs valeurs distinctes, à l’intérieur d’un domaine fini”
En programmation : une variable est ”un emplacement mémoire où une
valeur est stockée”
Valeur : définition
Une valeur est ”une information fondamentale simple ou composée qui
peut être manipulée par un programme
t
Les tableaux
Variable: définition
raf
Le Robert : Variable est ” Symbole ou terme auquel on peut attribuer
plusieurs valeurs distinctes, à l’intérieur d’un domaine fini”
En programmation : une variable est ”un emplacement mémoire où une
valeur est stockée”
Valeur : définition
Une valeur est ”une information fondamentale simple ou composée qui
peut être manipulée par un programme
Exemple:
13, ’a’, -17, 15.78
une adresse mémoire
t
Les tableaux
raf
Type : définition
Exemple :
nombre entier, nombre à virgule flottante (”réel”), caractère
adresse mémoire
comptes bancaires, objets géométriques
t
Les tableaux
raf
Déclaration d’une variable:
Syntaxe
<type> <nom>; (ou <type> <nom1>, <nom2>, ..., <nomN>;)
Il faut déclarer une variable avant de l’utiliser
t
Les tableaux
EXEMPLE :
raf
MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE
Introduction á l’algorithmique
Objectif Variables
Résolution des problémes informatiques Expressions
Algorithmique Structures conditionnelles
Notions et instructions de base Structures répétitives
t
Les tableaux
raf
Nom d’une variable
t
Les tableaux
raf
MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE
Introduction á l’algorithmique
Objectif Variables
Résolution des problémes informatiques Expressions
Algorithmique Structures conditionnelles
Notions et instructions de base Structures répétitives
t
Les tableaux
raf
MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE
Introduction á l’algorithmique
Objectif Variables
Résolution des problémes informatiques Expressions
Algorithmique Structures conditionnelles
Notions et instructions de base Structures répétitives
t
Les tableaux
raf
MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE
Introduction á l’algorithmique
Objectif Variables
Résolution des problémes informatiques Expressions
Algorithmique Structures conditionnelles
Notions et instructions de base Structures répétitives
t
Les tableaux
raf
La plus petite unité adressable est l’octet (byte): une suite de 8 bits
(l’espace mémoire sera toujours un multiple de 8 bits)
L’espace octroyé à chaque type dépend du langage et/ou de l’architecture
de la machine
t
Les tableaux
raf
La plus petite unité adressable est l’octet (byte): une suite de 8 bits
(l’espace mémoire sera toujours un multiple de 8 bits)
L’espace octroyé à chaque type dépend du langage et/ou de l’architecture
de la machine
t
Les tableaux
raf
EXEMPLE:
t
Les tableaux
raf
OBJECTIF ???
Expressions simples ?
Opérateurs
Affectation, initialisation
Priorité des opérations
Conversions de types
t
Les tableaux
raf
Expression : définition
t
Les tableaux
Écriture
raf
L’écriture permet d’afficher des résultats sur lécran (ou de les écrire dans un
fichier)
⇒ En pseudo-code: écrire(var) : la machine affiche le contenu de la zone
mémoire var
⇒ En langage C: l’écriture se fait à travers la fonction printf()
⇒ Conseil: Avant de lire une variable, il est fortement conseillé d’écrire des
messages à l’écran, afin de prévenir l’utilisateur de ce qu’il doit frapper
Lecture
La lecture permet d’entrer des données à partir du clavier (ou autre composant)
⇒ En pseudo-code: lire(var) : la machine met la valeur entrée au clavier dans
la zone mémoire nommée var
⇒ En langage C: la lecture se fait avec la fonction scanf()
⇒ Remarque: Le programme s’arrête lorsqu’il rencontre une instruction lire et
ne se poursuit qu’après la frappe d’une valeur au clavier et de la touche
”Entrée”
MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE
Introduction á l’algorithmique
Objectif Variables
Résolution des problémes informatiques Expressions
Algorithmique Structures conditionnelles
Notions et instructions de base Structures répétitives
t
Les tableaux
Expressions simples
raf
Valeurs littérales : 0, 7, 9, 8.97123, ’v’, 2.4E-21
Variables :
En pseudo-code: En langage C:
a, b: entier int a, b;
écrire(”Donner la valeur de a”); printf(”Donner la valeur de a”);
// on entre la valeur 3 // on entre la valeur 3
lire(a); scanf(a);
b ← a+1; b = a+1;
écrire(a); // 3 est affiché printf(a); // 3 est affiché
écrire(b); // 4 est affiché printf(b); // 4 est affiché
t
Les tableaux
Commentaires
Afin d’améliorer la lisibilité d’un algorithme, on peut utiliser des commentaires.
raf
Un commentaire est une suite de caractères quelconques encadrée par les
symboles /* et */. On peut commenter une ligne de caractères en la précédant
par //
EXEMPLE:
/* le calcul du prix ttc */
/* le calcul du prix ttc */ void prix ttc() /* entête de l’algorithme */
Algorithme prix ttc; /* entête de l’algorithme */ {
/* déclaration des variables */ /* déclaration des variables */
Variables PH, TVA, PTTC : réel; float PH, TVA, PTTC;
Début /* lecture des variab les PH et TVA */ /* lecture des variab les PH et TVA */
écrire(”Donner la valeur du PH”); printf(”Donner la valeur du PH”);
lire(PH); scanf(PH);
écrire(”Donner la valeur de la TVA”); printf(”Donner la valeur de la TVA”);
lire(TVA); scanf(TVA);
PTTC ← PH*TVA + PH; /* Calcul du PTTC*/ PTTC = PH*TVA + PH; /* Calcul du PT
écrire(”Le prix TTC est : ”, PTTC); printf(”Le prix TTC est : ”, PTTC);
Fin }
t
Les tableaux
Opérateurs
raf
MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE
Introduction á l’algorithmique
Objectif Variables
Résolution des problémes informatiques Expressions
Algorithmique Structures conditionnelles
Notions et instructions de base Structures répétitives
t
Les tableaux
Arithmétique: Exemple
raf
int a, b, c;
a = 3; // a est 3
c = b = a; //a, b et c sont 3
printf(a+b); // 6 est affiché
c = 2 * a + b / 3; // c est 7
b = c % 4; // b est 3
t
Les tableaux
Arithmétique: Exemple
raf
int a, b, c;
a = 3; // a est 3
c = b = a; //a, b et c sont 3
printf(a+b); // 6 est affiché
c = 2 * a + b / 3; // c est 7
b = c % 4; // b est 3
Conventions
t
Les tableaux
raf
Les opérateurs numériques se groupent de gauche à droite
⇓
a - b + c est évalué comme (a - b) + c
Priorité
1 unaire + et - (par exemple -16)
2 *, /, %
3 binaire + , -
Les parenthèses peuvent s’utiliser pour changer l’ordre de lÕévaluation
⇓
(a - b) * c
t
Les tableaux
raf
Les opérateurs numériques se groupent de gauche à droite
⇓
a - b + c est évalué comme (a - b) + c
Priorité
1 unaire + et - (par exemple -16)
2 *, /, %
3 binaire + , -
Les parenthèses peuvent s’utiliser pour changer l’ordre de lÕévaluation
⇓
(a - b) * c
CONSEIL
En cas de doute, utiliser des parenthèses!!!
t
Les tableaux
Opérateur de division
raf
MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE
Introduction á l’algorithmique
Objectif Variables
Résolution des problémes informatiques Expressions
Algorithmique Structures conditionnelles
Notions et instructions de base Structures répétitives
t
Les tableaux
Opérateur de reste
raf
MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE
Introduction á l’algorithmique
Objectif Variables
Résolution des problémes informatiques Expressions
Algorithmique Structures conditionnelles
Notions et instructions de base Structures répétitives
t
Les tableaux
raf
Autres opérateurs standards
t
Les tableaux
raf
MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE
Introduction á l’algorithmique
Objectif Variables
Résolution des problémes informatiques Expressions
Algorithmique Structures conditionnelles
Notions et instructions de base Structures répétitives
t
Les tableaux
Principe:
Les instructions conditionnelles servent à n’exécuter une instruction ou une
raf
séquence d’instructions que si une condition est vérifiée
Langage C:
Pseudo-code:
IF (condition est vraie)
Si (condition est vraie) alors
{
instruction11 instruction11
instruction12 instruction12
.... ....
instruction1n instruction1n
}
Sinon // condition n’est pas vraie ELSE// condition n’est pas vraie
instruction21 {
instruction22 instruction21
.... instruction22
instruction2p ....
instruction2p
FinSi }
t
Les tableaux
Tests imbriqués:
En général, les tests peuvent avoir un certain degré d’imbrication. La forme
génerale est la suivante:
raf
Si (condition1 ) alors
Si (condition2 ) alors
instruction11
....
instruction1a
Sinon // condition2 n’est pas vraie
instruction21
....
instruction2b
FinSi
Sinon // condition1 n’est pas vraie
Si (condition3 ) alors
instruction31
....
instruction3c
Sinon // condition3 n’est pas vraie
instruction41
....
instruction4d
FinSi
FinSi MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE
Introduction á l’algorithmique
Objectif Variables
Résolution des problémes informatiques Expressions
Algorithmique Structures conditionnelles
Notions et instructions de base Structures répétitives
t
Les tableaux
Problématique
raf
peuvent pas être exprimées sous la forme simple exposée auparavant (vrai
et/ou faux) :
x compris entre 2 et 5
n divisible par 3 ou par 2
deux valeurs et deux seulement sont identiques parmi a, b et c.
t
Les tableaux
Problématique
raf
peuvent pas être exprimées sous la forme simple exposée auparavant (vrai
et/ou faux) :
x compris entre 2 et 5
n divisible par 3 ou par 2
deux valeurs et deux seulement sont identiques parmi a, b et c.
t
Les tableaux
Problématique
raf
peuvent pas être exprimées sous la forme simple exposée auparavant (vrai
et/ou faux) :
x compris entre 2 et 5
n divisible par 3 ou par 2
deux valeurs et deux seulement sont identiques parmi a, b et c.
EXEMPLE:
x compris entre 2 et 5 ⇒ (X ≥ 2) ET (X ≤ 5)
n divisible par 3 ou par 2 ⇒ (n%3 = 0) OU (n%2 = 0)
deux valeurs et deux seulement sont identiques parmi a, b et c.
⇒ (a = b) XOR (a = c) XOR (b = c)
MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE
Introduction á l’algorithmique
Objectif Variables
Résolution des problémes informatiques Expressions
Algorithmique Structures conditionnelles
Notions et instructions de base Structures répétitives
t
Les tableaux
Idée:
Dans les problèmes quotidiens, on ne traite pas uniquement des séquences
d’actions, sous ou sans conditions, mais il peut être fréquent d’être obligé
raf
d’exécuter un traitement (séquence d’actions), plusieurs fois.
Principe:
t
Les tableaux
Idée:
Dans les problèmes quotidiens, on ne traite pas uniquement des séquences
d’actions, sous ou sans conditions, mais il peut être fréquent d’être obligé
raf
d’exécuter un traitement (séquence d’actions), plusieurs fois.
Principe:
t
Les tableaux
raf
Types de structures:
On distingue trois sortes de structures (boucles) en langages de
programmation:
Boucles Tant que: on répète des instructions tant qu’une certaine
condition est réalisée.
Boucles Jusqu’à: on répète des instructions tant qu’une certaine condition
est réalisée.
Boucles Pour: on répète des instructions en faisant évoluer un compteur
(variable particulière) entre une valeur initiale et une valeur finale.
t
Les tableaux
raf
Sémantique
TantQue (condition)
instructions
FinTantQue
La condition (dite condition de contrôle de la boucle) est évaluée avant chaque
itération
Si la condition est vraie, on exécute instructions (corps de la boucle), puis, on
retourne tester la condition.
⇒ si la condition reste vraie, on répète l’exécution.
Quand condition a pour valeur FAUX, l’itération est terminée. On exécute
l’instruction qui est juste après FinTantQue.
ATTENTION !
Il est nécessaire que instructions modifie condition, sinon l’itération ne s’arrêtera pas.
MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE
Introduction á l’algorithmique
Objectif Variables
Résolution des problémes informatiques Expressions
Algorithmique Structures conditionnelles
Notions et instructions de base Structures répétitives
t
Les tableaux
EXEMPLE:
raf
Ecrire un algorithme qui détermine le premier nombre entier N tel que la
somme de 1 à N dépasse strictement 100.
t
Les tableaux
EXEMPLE:
raf
Ecrire un algorithme qui détermine le premier nombre entier N tel que la
somme de 1 à N dépasse strictement 100.
Variables
somme, i : entier
Début
i ← 0;
somme ← 0;
TantQue (somme ≤ 100)
i ← i + 1;
somme ← somme + i;
FinTantQue
écrire(”La valeur de N est = ”, i);
Fin
t
Les tableaux
raf
Sémantique
Répéter
instructions
Jusqu’à (condition)
La condition (dite condition de contrôle de la boucle) est évaluée après chaque
itération
Tant que la condition est fausse, on exécute instructions (corps de la boucle).
instructions sont exécutées au moins une seule fois.
Quand condition a pour valeur VRAI, l’itération est terminée. On exécute
l’instruction qui est juste après Jusqu’à.
ATTENTION !
Il est nécessaire que instructions modifie condition, sinon l’itération ne s’arrêtera pas.
t
Les tableaux
BOUCLE POUR
raf
Sémantique
Pour compteur allant de initiale à finale par pas
instructions
FinPour
compteur: est une variable de type entier (ou caractère). Elle doit être déclarée.
pas: est un entier qui peut être positif ou négatif. ”Pas” peut ne pas être
mentionné, car par défaut sa valeur est égal à 1. Dans ce cas, le nombre
d’itérations est égal à (finale - initiale+ 1).
initiale et finale: peuvent être des valeurs, des variables définies avant le début de
la boucle ou des expressions de même type que compteur.
ATTENTION !
Le nombre d’itérations dans une boucle Pour est connu avant le début de la boucle.
MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE
Introduction á l’algorithmique
Objectif Variables
Résolution des problémes informatiques Expressions
Algorithmique Structures conditionnelles
Notions et instructions de base Structures répétitives
t
Les tableaux
raf
À votre avis, comment peut-on simuler la boucle TantQue avec la boucle Pour
t
Les tableaux
raf
Le problème principal est de bien choisir le type de boucle à utiliser. Voilà les
questions à se poser pour faire un bon choix:
t
Les tableaux
raf
Exemple:
Définir un algorithme qui calcule la moyenne de 20 notes
On aura besoin simultanément des 20 valeurs des notes pour calculer la
moyenne.
La seule solution, à à l’heure actuelle, est de déclarer douze variables,
appelées par exemple N1, N2, ... , N20
On doit succéder douze instructions ”Lire” distinctes.
t
Les tableaux
Algorithme calculMoyenne
VARIABLES:
N1,N2,N3, ... , N20: réel;
raf
moyenne: réel;
Début
écrire(”Entrer la note N1”);
lire(N1);
écrire(”Entrer la note N2”);
lire(N2);
écrire(”Entrer la note N3”);
lire(N3);
.....
écrire(”Entrer la note N19”);
lire(N19);
écrire(”Entrer la note N20”);
lire(N20);
moyenne ← (N1+N2+N3+...+N19+N20)
20
;
écrire(”Moyenne = ”, moyenne);
Fin
t
Les tableaux
raf
Alors que se passe t-il si on dispose de 1000 notes et plus ?
t
Les tableaux
raf
Heureusement, la programmation permet de rassembler toutes ces
variables en une seule, au sein de laquelle chaque valeur sera désignée par
un numéro
Heureusement, les langages de programmation offrent la possibilité de
rassembler toutes ces variables dans une seule structure de donnée appelée
tableau
t
Les tableaux
Définition
Un tableau est un ensemble d’éléments de même type désignés par un
raf
identificateur unique
Comment ?
Une variable entière nommée indice sert à repérer la position d’un élément
donné au sein du tableau et de déterminer sa valeur
Chaque fois que l’on doit désigner un élément du tableau, on fait figurer le
nom du tableau, suivi de l’indice de l’élément, entre crochets
t
Les tableaux
Définition
Un tableau est un ensemble d’éléments de même type désignés par un
raf
identificateur unique
Comment ?
Une variable entière nommée indice sert à repérer la position d’un élément
donné au sein du tableau et de déterminer sa valeur
Chaque fois que l’on doit désigner un élément du tableau, on fait figurer le
nom du tableau, suivi de l’indice de l’élément, entre crochets
Déclaration
En pseudo code:
variable tableau identificateur[dimension] : type
Exemple:
variable tableau note[20] : réel
variable tableau nom[20] : chaı̂ne de caractères
t
Les tableaux
raf
Les tableaux: caractéristiques
Dans un tableau, la valeur d’un indice doit toujours:
Être égale au moins à 0, comme pour les langages C et en Visual Basic
Être un nombre entier quel que soit le langage, l’élément note[2.65]
n’existe jamais
Être inférieure ou égale au nombre d’éléments du tableau. Le tableau
note[] a été déclaré comme ayant 20 éléments, l’appel de note[20] ou
note[24] déclenchera automatiquement une erreur.
t
Les tableaux
Exemple:
Algorithme calculMoyenne
VARIABLES:
raf
Algorithme calculMoyenne
N1,N2,N3, ... , N20: réel;
VARIABLES:
moyenne: réel;
Tableau N[20]: réel;
Début
moyenne, somme: réel;
écrire(”Entrer la note N1”);
Début
lire(N1);
Pour i allant de 0 à 19 faire
écrire(”Entrer la note N2”);
écrire(”Entrer la note Note”, i);
lire(N2);
lire(N[i]);
écrire(”Entrer la note N3”);
FinPour
lire(N3);
somme ← 0;
.....
Pour i allant de 0 à 19 faire
écrire(”Entrer la note N19”);
somme ← somme + N[i];
lire(N19);
FinPour
écrire(”Entrer la note N20”);
moyenne ← somme ;
lire(N20); 20
écrire(”Moyenne = ”, moyenne);
moyenne ← (N1+N2+N3+...+N19+N20) ;
20 Fin
écrire(”Moyenne = ”, moyenne);
Fin
MOHAMMED SADDOUNE INTRODUCTION Á L’ALGORITHMIQUE