0% ont trouvé ce document utile (0 vote)
50 vues69 pages

Algorithm e

Ce document présente les concepts fondamentaux de l'algorithmique, y compris les variables, les instructions conditionnelles et itératives, ainsi que les tableaux. Il décrit les étapes de résolution d'un problème algorithmique et les propriétés d'un algorithme, ainsi que les différences entre algorithmes et programmes. Enfin, il aborde les instructions d'entrée-sortie et les tests conditionnels, avec des exemples et des exercices pratiques.

Transféré par

assagbastanislas
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
50 vues69 pages

Algorithm e

Ce document présente les concepts fondamentaux de l'algorithmique, y compris les variables, les instructions conditionnelles et itératives, ainsi que les tableaux. Il décrit les étapes de résolution d'un problème algorithmique et les propriétés d'un algorithme, ainsi que les différences entre algorithmes et programmes. Enfin, il aborde les instructions d'entrée-sortie et les tests conditionnels, avec des exemples et des exercices pratiques.

Transféré par

assagbastanislas
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 69

ALGORITHMIQUE

M. Koffi James ATTIOGBE


Ing. Logiciels

PAGE 1
Introduction à l’algorithmique

Notions de variable, affectation, lecture et écriture

PLAN Expressions et Opérateurs

Instructions conditionnelles et itératives

Tableaux

PAGE 2
Le cours vous permettra de

▪ Apprendre les concepts de base


de l’algorithmique et de la
programmation Objectifs
▪ Etre capable de mettre en oeuvre
ces concepts pour analyser des
problems simples et écrire des
algorithmes correspondants

PAGE 3
Algorithmique
Suite d’actions précises et finies qui doivent être exécutées sur un
ensemble de données dans un ordre bien déterminé en vue de la
résolution d’un problème.

Qualités:
▪ exact (fournit le résultat souhaité),
▪ efficace (temps d’exécution, mémoire occupée),
▪ clair (compréhensible), général (traite le plus grand nombre de cas
possibles), …

PAGE 4
Algorithmique
▪ Algorithme = méthode de résolution
▪ L’algorithmique désigne aussi la discipline qui étudie les algorithmes
et leurs applications en Informatique
▪ Une bonne connaissance de l’algorithmique permet d’écrire des
algorithmes exacts et efficaces

PAGE 5
Algorithmique
La résolution d’un problème est caractérisée en 4 étapes :

▪ Comprendre la nature du problème posé


▪ Préciser les données fournies (Entrées)
▪ Préciser les résultats que l’on désire obtenir (Sorties)
▪ Déterminer le processus de transformation des données en résultats.

PAGE 6
Algorithmique
La résolution d’un problème est caractérisée en 4 étapes :

▪ Comprendre la nature du problème posé


▪ Préciser les données fournies (Entrées)
▪ Préciser les résultats que l’on désire obtenir (Sorties)
▪ Déterminer le processus de transformation des données en résultats.

PAGE 7
Objectifs d’un algorithme
▪ Un algorithme sert à transmettre un savoir faire.
▪ Il décrit les étapes à suivre pour réaliser un travail.
▪ Il permet d'expliciter clairement les idées de solution d’un problème
indépendamment d’un langage de programmation.
▪ L'utilisateur d'un algorithme n'aura qu'à suivre les instructions, dans
l'ordre pour arriver au résultat que doit donner l'algorithme.

PAGE 8
Propriétés d’un algorithme
▪ Un algorithme doit:
▪ avoir un nombre fini d’étapes,
▪ avoir un nombre fini d’opérations par étape,
▪ se terminer après un nombre fini d’opérations,
▪ fournir un résultat.
▪ les séquences (étapes) se succèdent dans un certain ordre
▪ Chaque opération doit être définie rigoureusement et sans ambiguïté
▪ Un algorithme est caractérisé par un début et une fin
▪ Le comportement d'un algorithme est déterministe.
PAGE 9
Algorithme et Programme
L’élaboration d’un algorithme précède l’étape de programmation
▪ Un programme est un algorithme
▪ Un langage de programmation est un langage compris par l'ordinateur
▪ Comment exécuter un algorithme sur ordinateur?
Il faut traduire cet algorithme à l’aide d’un langage de programmation connu par
l’ordinateur.
▪ L’élaboration d’un algorithme est une démarche de résolution de problème exigeante
▪ La rédaction d’un algorithme est un exercice de réflexion qui se fait sur papier
▪ L'algorithme est indépendant du langage de programmation
▪ Par exemple, on utilisera le même algorithme pour une implantation en Java, ou bien en
C++ ou en Visual Basic
▪ L’algorithme est la résolution brute d’un problème informatique

PAGE 10
Représentation d’un algorithme
Historiquement, deux façons pour représenter un algorithme:
▪ L’Organigramme: représentation graphique avec des symboles (carrés,
losanges, etc.)
▪ Offre une vue d’ensemble de l’algorithme
▪ Représentation quasiment abandonnée aujourd’hui.
▪ Le Pseudo-code: représentation textuelle avec une série de
conventions ressemblant à un langage de programmation (sans les
problèmes de syntaxe)
▪ Plus pratique pour écrire un algorithme
▪ Représentation largement utilisée
PAGE 11
I. Algorithmique (Notions de base)

PAGE 12
Notions de Variable
▪ Dans les langages de programmation une variable sert à stocker la
valeur d’une donnée
▪ Une variable désigne en fait un emplacement mémoire dont le
contenu peut changer au cours d’un programme (d’où le nom
variable)
▪ Règle : Les variables doivent être déclarées avant d’être utilisées, elle
doivent être caractérisées par :
▪ un nom (Identificateur)
▪ un type (entier, réel, caractère, chaîne de caractères, …)
▪ Une valeur
PAGE 13
Choix des identificateurs
Le choix des noms de variables est soumis à quelques règles qui varient
selon le langage, mais en général:
Un nom doit :
▪ Etre constitué uniquement de lettres, de chiffres et du soulignement _
(Eviter les caractères de ponctuation et les espaces)
Exemples: Info2011, Info_2011
▪ Doit être différent des mots réservés du langage (par exemple en Java:
int, float, else, switch, case, default, for, main, return, …)

PAGE 14
Choix des identificateurs
Conseil: pour la lisibilité du code choisir des noms significatifs qui
décrivent les données manipulées.

Exemples: TotalVentes2004, Prix_TTC, Prix_HT

Remarque: en pseudo-code algorithmique, on va respecter les règles


citées, même si on est libre dans la syntaxe

PAGE 15
Types de variables
Le type d’une variable détermine l’ensemble des valeurs qu’elle peut prendre, les
types offerts par la plus part des langages sont :
▪ Type numérique: Entier
▪ Type numérique: Réel
▪ Type Booléen
▪ Type caractères
▪ Types Chaines de caractères

PAGE 16
Valeur d’une variable

La valeur d'une variable(contenu) peut varier au cours du


programme. L'ancienne valeur est tout simplement écrasée et
remplacée par la nouvelle.

PAGE 17
Déclaration des variables
▪ Rappel : toute variable utilisée dans un programme doit avoir fait l’objet
d’une déclaration préalable,
▪ En pseudo-code, la déclaration de variables est effectuée par la forme
suivante :
Variables liste d'identificateurs : type
Exemple:
Variables
i, j, k : entier
x, y : réel
OK : booléen
Ch1, ch2 : chaîne de caractères
PAGE 18
Constantes
Une constante est une variable dont la valeur ne change pas au
cours de l'exécution du programme, elle peut être un nombre, un
caractère, ou une chaine de caractères.
En pseudo-code, Constante identificateur=valeur : type,…
(par convention, les noms de constantes sont en majuscules)
Exemple : pour calculer la surface des cercles, la valeur de pi est
une constante mais le rayon est une variable.
Constante PI=3.14 : réel, MAXI=32 : entier
▪ Une constante doit toujours recevoir une valeur dès sa
déclaration.

PAGE 19
Instruction d’affectation
▪ L’affectation consiste à attribuer une valeur à une variable
▪ En pseudo-code, l'affectation se note avec le signe ←
Var← e: attribue la valeur de e à la variable Var
▪ e peut être une valeur, une autre variable ou une expression
▪ Var et e doivent être de même type
▪ L’affectation ne modifie que ce qui est à gauche de la flèche

PAGE 20
Syntaxe générale de l’algo
Un algorithme comportera :
▪ Une partie déclaration
▪ Une partie encadrée par « Début » « Fin » où sont décrites les actions
Algorithme Nom_de_l_algorithme
Déclaration
Début
Actions
Fin

PAGE 21
Syntaxe générale de l’algo
Algorithme exemple
Constantes
Const1=20 : entier
const2="bonjour!" : chaîne de caractères
Variables
var1 : entier
var3, var4 : réel
var5 : chaîne de caractères
Début
/* instructions */
Fin

PAGE 22
Exercices simples
Donnez les valeurs des variables A et B après exécution des instructions
suivantes ?
Variables
A, B : entier
Début
A←4
B←9
A←B
B←A
Fin
Les deux dernières instructions permettent-elles d’échanger les valeurs de A
et B ?
PAGE 23
Expressions et opérateurs
▪ Une expression peut être une valeur, une variable ou une opération
constituée de variables reliées par des opérateurs exemples: 1, b, a*2,
a+3*b-c, …
▪ L'évaluation de l'expression fournit une valeur unique qui est le résultat de
l'opération
▪ Les opérateurs dépendent du type de l'opération, ils peuvent être :
▪ des opérateurs arithmétiques: +, -, *, /, % (modulo), ^ (puissance)
▪ des opérateurs logiques: NON, OU, ET
▪ des opérateurs relationnels: =, , <, >, <=, >=
▪ des opérateurs sur les chaînes: & (concaténation)
▪ Une expression est évaluée de gauche à droite mais en tenant compte de
priorités

PAGE 24
Expressions et opérateurs
▪ Pour les opérateurs arithmétiques donnés ci-dessus, l'ordre de
priorité est le suivant (du plus prioritaire au moins prioritaire) :
▪ ^ : (élévation à la puissance)
▪ * , / (multiplication, division)
▪ % (modulo)
▪ + , - (addition, soustraction)
▪ En cas de besoin (ou de doute), on utilise les parenthèses pour
indiquer les opérations à effectuer en priorité

PAGE 25
Instructions d'entrées-sorties:
lecture et écriture
▪ Considérons l’algorithme suivant :
Variable A : entier
Début
A ← 12 *12
Fin
Permet de calculer le carré de 12.
▪ Comment faire pour calculer le carré d’un autre nombre que 12 ?, il faut
réécrire le programme.
▪ La machine calcule le résultat, mais l’utilisateur qui fait exécuter ce
programme ne saura pas que le résultat correspond au carré de 12

PAGE 26
Instructions d'entrées-sorties:
lecture et écriture
▪ Les instructions de lecture et d'écriture permettent à la machine de
communiquer avec l'utilisateur
▪ La lecture permet d'entrer des donnés à partir du clavier
▪ En pseudo-code, on note: lire (var)
▪ la machine met la valeur entrée au clavier dans la variable nommée
var
▪ 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

PAGE 27
Instructions d'entrées-sorties:
lecture et écriture
▪ L'écriture permet d'afficher des résultats à l'écran (ou de les écrire
dans un fichier)
▪ En pseudo-code, on note: écrire (var)
▪ la machine affiche le contenu de la variable var
▪ 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.

PAGE 28
Exercice (lecture et écriture)
Ecrire un algorithme qui demande un nombre entier à l'utilisateur, puis
qui calcule et affiche le double de ce nombre.

Ecrire un algorithme qui demande deux nombres entiers à l’utilisateur,


puis qui calcule et affiche la somme de ces nombres.

Écrire l’algorithme permettant le calcul de la surface d’un cercle


connaissant son rayon : Surface = Pi * Rayon2

PAGE 29
Tests: instructions conditionnelles
Les instructions conditionnelles ne servent qu’ à exécuter une instruction ou une
séquence d'instructions, que si une condition est vérifiée
On utilisera la forme suivante:
Si condition alors
instruction ou suite d'instructions1
Sinon
instruction ou suite d'instructions2
Finsi
▪ La condition ne peut être que vraie ou fausse.
▪ Si la condition est vraie, se sont les instructions1 qui seront exécutées
▪ Si la condition est fausse, se sont les instructions2 qui seront exécutées
▪ La condition peut être une condition simple ou une condition composée de
plusieurs conditions.

PAGE 30
Tests: instructions conditionnelles

PAGE 31
Tests: instructions conditionnelles
La partie Sinon n'est pas obligatoire, quand elle n'existe pas et que la
condition est fausse, aucun traitement n'est réalisé
On utilisera dans ce cas la forme simplifiée suivante:
Si condition alors
instruction ou suite d'instructions
Finsi

PAGE 32
Exercice
▪ Ecrire un algorithme qui permet de dire si un nombre est positif ou négatif.
▪ Ecrire un algorithme qui permet de lire et d'afficher la valeur absolue d'un réel.
▪ Ecrire un algorithme qui demande un nombre entier à l'utilisateur, puis teste et
affiche s'il est divisible par 3.

PAGE 33
Conditions composées
▪ Une condition composée est une condition formée de plusieurs conditions
simples reliées par des opérateurs logiques:
ET, OU, OU exclusif (XOR) et NON
Exemples :
x compris entre 2 et 6 : (x > 2) ET (x < 6)
n divisible par 3 ou par 2 : (n%3=0) OU (n%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é

PAGE 34
Table de vérité
C1 C2 C1 ET C2
VRAI VRAI VRAI
VRAI FAUX FAUX
FAUX VRAI FAUX
FAUX FAUX FAUX

PAGE 35
Table de vérité
C1 C2 C1 OU C2
VRAI VRAI VRAI
VRAI FAUX VRAI
FAUX VRAI VRAI
FAUX FAUX FAUX

PAGE 36
Table de vérité
C1 C2 C1 XOR C2
VRAI VRAI FAUX
VRAI FAUX VRAI
FAUX VRAI VRAI
FAUX FAUX FAUX

PAGE 37
Table de vérité
C1 NON C1
VRAI FAUX
FAUX VRAI

PAGE 38
Exemple
EXPRESSION RESULTAT
(4<7) ET (9>0)
(1<0) OU (1<=1)
Non (13,4<15)

PAGE 39
Tests imbriqués
▪ Les tests peuvent avoir un degré quelconque d'imbrications
Si condition1 alors
Si condition2 alors
instructionsA
Sinon
instructionsB
Finsi
Sinon
Si condition3 alors
instructionsC
Finsi
Finsi

PAGE 40
Exercices
▪ Algorithme qui dit si le nombre rentré par l’utilisateur est positif, nul ou négatif.
▪ Ecrivez un algorithme qui demande à l’utilisateur d’entrer la température de
l’eau, et affiche ensuite l’état de l’eau selon la température (on rappelle que l’état
de l’eau est glace pour une température inférieure ou égale à 0, est vapeur pour
une température supérieure ou égale à 100 et liquide pour une température
comprise strictement entre 0 et 100).
▪ Ecrire un algorithme qui lit trois entiers A, B et C, et affiche le plus grand.

PAGE 41
Tests imbriqués : Autre Forme
La structure alternative peut prendre une autre forme qui permet d’imbriquer
plusieurs conditions.
Selon Expression
Valeur1: action1
Valeur2: action2
....
ValeurN: actionN
Sinon : action
FinSelon
Si expression est égale à valeur i, on exécute action i et on passe à la suite de
l’algorithme. Sinon on exécute action et on passe à la suite de l’algorithme.
On l’appelle «structure choix»

PAGE 42
Exercices
▪ Ecrire un algorithme qui affiche selon un numéro compris entre 1 et 12 le mois
équivalent

PAGE 43
Instructions itératives (les boucles)
▪ Les boucles servent à répéter l'exécution d'un groupe d'instructions un certain
nombre de fois.
▪ On distingue trois sortes de boucles en langages de programmation :
▪ Les boucles tant que : on y répète des instructions tant qu'une certaine condition
est réalisée.
▪ Les boucles répéter …. jusqu'à : on y répète des instructions jusqu'à ce qu’une
certaine condition soit réalisée.
▪ Les boucles pour ou avec compteur : on y répète des instructions en faisant évoluer
un compteur (variable particulière) entre une valeur initiale et une valeur
finale.

PAGE 44
Instructions itératives (les boucles)
▪ Les boucles servent à répéter l'exécution d'un groupe d'instructions un certain
nombre de fois.
▪ On distingue trois sortes de boucles en langages de programmation :
▪ Les boucles tant que : on y répète des instructions tant qu'une certaine condition
est réalisée.
▪ Les boucles répéter …. jusqu'à : on y répète des instructions jusqu'à ce qu’une
certaine condition soit réalisée.
▪ Les boucles pour ou avec compteur : on y répète des instructions en faisant évoluer
un compteur (variable particulière) entre une valeur initiale et une valeur
finale.

PAGE 45
Les boucles Tant que
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 elle est encore vraie, on répète l'exécution, …
▪ Si la condition est fausse, on sort de la boucle et on exécute l'instruction qui est
après FinTantQue.

PAGE 46
Les boucles Tant que
Remarques
▪ Le nombre d'itérations dans une boucle TantQue n'est pas connu au moment
d'entrée dans la boucle. Il dépend de l'évolution de la valeur de condition.
▪ Une des instructions du corps de la boucle doit absolument changer la valeur de
condition de vrai à faux (après un certain nombre d'itérations), sinon le
programme tourne indéfiniment.

PAGE 47
Les boucles Tant que
Attention aux boucles infinies
Exemple de boucle infinie :
i←2
TantQue (i > 0)
i ← i+1 (attention aux erreurs de frappe : + au lieu de -)
FinTantQue

PAGE 48
Les boucles Répéter … jusqu’à …
Répéter
instructions
Jusqu'à (condition)
▪ Condition est évaluée après chaque itération
▪ Les instructions entre Répéter et jusqu’à sont exécutées au moins une fois et leur
exécution est répétée jusqu’à ce que condition soit vrai (tant qu'elle est fausse)

PAGE 49
Les boucles Répéter … jusqu’à … (Exemple)
Variable
c : entier
Début
Répéter
Lire( c);
c ← c * c;
Ecrire(c);
Jusqu' à (c= 0)
Ecrire ("Fin");
Fin

PAGE 50
Les boucles Répéter … jusqu’à … (Exemple)
Variables
a , somme , moyenne , compteur : entier
Début
compteur ← 0;
somme ← 0;
Répéter
Ecrire (" Entrez un nombre : " );
Lire (a);
compteur ← compteur + 1;
somme ← somme + a;
Jusqu' à (a = 0)
Moyenne ← somme / compteur;
Ecrire (" La moyenne de valeurs saisies est : " , moyenne);
Fin

PAGE 51
La boucle Pour
Pour compteur = initiale à finale pas valeur du pas
instructions
FinPour
Remarque :
▪ Le nombre d'itérations dans une boucle Pour est connu avant le début de la boucle.
▪ La variable compteur est en général de type entier. 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 égale à 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 .

PAGE 52
Déroulement des boucles Pour
1) La valeur initiale est affectée à la variable compteur.
2) On compare la valeur du compteur et la valeur de finale :
a) Si la valeur du compteur est > à la valeur finale dans le cas d'un pas positif
(ou si compteur est < à finale pour un pas négatif), on sort de la boucle et on
continue avec l'instruction qui suit FinPour.
b) Si compteur est <= à finale dans le cas d'un pas positif (ou si compteur est
>= à finale pour un pas négatif), instructions seront exécutées.
i. Ensuite, la valeur de compteur est incrémentée de la valeur du pas
si pas est positif (ou décrémenté si pas est négatif) .
ii. On recommence l'étape 2 : La comparaison entre compteur et
finale est de nouveau effectuée, et ainsi de suite …
PAGE 53
Déroulement des boucles Pour
Calcul de x à la puissance n où x est un réel non nul et n un entier positif ou nul

PAGE 54
Déroulement des boucles Pour
Remarque :
Il faut éviter de modifier la valeur du compteur (et de finale) à l'intérieur de la
boucle. En effet, une telle action :
▪ Perturbe le nombre d'itérations prévu par la boucle Pour
▪ Rend difficile la lecture de l'algorithme
▪ Présente le risque d'aboutir à une boucle infinie

PAGE 55
Lien entre Pour et TantQue
La boucle Pour est un cas particulier de Tant Que (cas où le nombre d'itérations est
connu et fixé) .
Tout ce qu'on peut écrire avec Pour peut être remplacé avec TantQue (la
réciproque est fausse).
Pour compteur = initiale à finale pas valeur du pas
instructions
FinPour

PAGE 56
Lien entre Pour et TantQue
Pour compteur = initiale à finale pas valeur du pas
instructions
FinPour

compteur ← initiale
TantQue (compteur <= finale)
instructions
compteur ← compteur + pas
FinTantQue

PAGE 57
Choix d'un type de boucle
▪ Si on peut déterminer le nombre d'itérations avant l'exécution de la boucle, il est
plus naturel d'utiliser la boucle Pour.
▪ S'il n'est pas possible de connaître le nombre d'itérations avant l'exécution de la
boucle, on fera appel à l'une des boucles TantQue ou Répéter jusqu'à.
▪ Pour le choix entre TantQue et jusqu'à :
▪ Si on doit tester la condition de contrôle avant de commencer les instructions
de la boucle, on utilisera TantQue.
▪ Si la valeur de la condition de contrôle dépend d'une première exécution des
instructions de la boucle, on utilisera Répéter jusqu'à.

PAGE 58
Exercices
▪ Écrire un carré de 8 fois 8 caractères ’x’ ▪ Ecrire un algorithme qui permet
XXXXXXXX d’afficher ceci
XXXXXXXX 0X
XXXXXXXX 00X
XXXXXXXX 000X
XXXXXXXX 0000X
XXXXXXXX 00000X
XXXXXXXX 000000X
XXXXXXXX 0000000X

PAGE 59
Les tableaux
Supposons qu'on veut conserver les notes d'une classe de 30 étudiants pour extraire
quelques informations. Par exemple : calcul du nombre d'étudiants ayant une note
supérieure à 10.
Le seul moyen dont nous disposons actuellement consiste à déclarer 30 variables, par
exemple N1, …, N30. Après 30 instructions lire, on doit écrire 30 instructions Si pour faire le
calcul
nbre ← 0
Si (N1 >10) alors nbre ←nbre+1 FinSi
….
Si (N30>10) alors nbre ←nbre+1 FinSi
c'est lourd à écrire
Heureusement, les langages de programmation offrent la possibilité de rassembler toutes
ces variables dans une seule structure de donnée appelée tableau.

PAGE 60
Les tableaux
▪ Un tableau est un ensemble d'éléments de même type désignés par un
identificateur unique.
▪ Une variable entière nommée indice permet d'indiquer la position d’un élément
donné au sein du tableau et de déterminer sa valeur.
▪ La déclaration d'un tableau s'effectue en précisant le type de ses éléments et sa
dimension (le nombre de ses éléments).
▪ En pseudo code :
variable tableau identificateur[dimension] : type
▪ Exemple :
variable tableau notes[30] : réel
▪ On peut définir des tableaux de tous types : tableaux d'entiers, de réels, de
caractères, de booléens, de chaînes de caractères, …
PAGE 61
Les tableaux
Remarques
▪ L'accès à un élément du tableau se fait au moyen de l'indice. Par exemple,
notes[i] donne la valeur de l'élément i du tableau notes.
▪ Selon les langages, le premier indice du tableau est généralement 0. Mais, nous
allons utiliser plutôt 1 comme indice du premier élément du tableau.
▪ Un grand avantage des tableaux est qu'on peut traiter les données qui y sont
stockées de façon simple en utilisant des boucles.

PAGE 62
Les tableaux
Un tableau peut être représenté graphiquement par (exemple Note[5]) :

Note[0] Note[1] Note[2] Note[3] Note[4]

▪ Note[2] ← 15 met la valeur 15 dans la 3ème case du tableau.


▪ En considérant le cas où a est une variable de type entier, a ← Note [2] met la
valeur de la 3ème case du tableau dans a, c’est- à- dire 15.
▪ Lire (Note [0]) met l’entier saisi par l’utilisateur dans la première case du tableau.
▪ Ecrire (Note [0]) affiche la valeur de la première case du tableau.

PAGE 63
Exemple
Algorithme qui permet de saisir et d'afficher les éléments d'un tableau de 30 notes:
Variables
i : entier
Tableau notes[30] : réel
Début
Pour i = 0 à 29
Ecrire ("Saisie de l'élément ", i );
Lire (notes[i] );
FinPour

PAGE 64
Exemple
Pour i = 0 à 29
Ecrire (" notes[",i, "] =", notes[i]);
FinPour
Fin
1. Calculez le nombre d'étudiants ayant une note strictement supérieure à 10.
2. Calculez et affichez la moyenne totale de la classe.
3. Trouvez et affichez la note maximale et la note minimale de la classe.

PAGE 65
Tableaux à deux dimensions
▪ Les langages de programmation permettent de déclarer des tableaux dans
lesquels les valeurs sont repérées par deux indices. Ceci est utile par exemple
pour représenter des matrices.
▪ En pseudo code, un tableau à deux dimensions se déclare ainsi :
variable tableau identificateur[dimension1] [dimension2] : type
▪ Exemple : une matrice A de 3 lignes et 4 colonnes dont les éléments sont réels
variable tableau A[3][4] : réel
▪ A[i][j] permet d'accéder à l’élément de la matrice qui se trouve à l’intersection de
la ligne i et de la colonne j

PAGE 66
Exemple
Algorithme qui permet de saisir et d’afficher les éléments d'une matrice de vingt
lignes et cinquante colonnes:
Algorithme Saisie_Matrice
variables
i, j : entier
Tableau A [20][50] : réel
Début

PAGE 67
Exemple
Pour i = 0 à 19
Ecrire ("saisie de la ligne ", i );
Pour j = 0 à 49;
Ecrire ("Entrez l'élément de la ligne ", i , " et de la colonne ",
j);
Lire (A[i][j]);
FinPour
FinPour

PAGE 68
Exemple
Pour i = 0 à 19
Pour j = 0 à 49
Ecrire ("A[",i, "] [",j,"]=", A[i][j]);
FinPour
FinPour
Fin

PAGE 69

Vous aimerez peut-être aussi