0% ont trouvé ce document utile (0 vote)
5 vues85 pages

Introduction à l'Algorithmique et aux Données

Informatique appliquée aux mathématiques

Transféré par

dembasissoko890
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)
5 vues85 pages

Introduction à l'Algorithmique et aux Données

Informatique appliquée aux mathématiques

Transféré par

dembasissoko890
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

Algorithmique et Structure des Données

Initiation à l’algorithmique

Mr Diarra Mahamadou
Plan

1 Objectifs 3 Langage Algorithmique


2 Généralité sur l’informatique 4 Notion de variable
Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Objectifs

Apprendre les concepts de base de l’algorithmique et de la


programmation
Etre capable de mettre en oeuvre ces concepts pour analyser
des problèmes simples et écrire les programmes correspondants

Mr Diarra Mahamadou Algorithmique et Structure des Données 3 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Généralité sur
l’informatique

Mr Diarra Mahamadou Algorithmique et Structure des Données 4 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

C’est quoi l’informatique ?

Mr Diarra Mahamadou Algorithmique et Structure des Données 5 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Informatique ?

Techniques du traitement automatique de l’information au


moyen des ordinateurs

Mr Diarra Mahamadou Algorithmique et Structure des Données 6 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Matériel: Principaux
éléments d’un PC

Mr Diarra Mahamadou Algorithmique et Structure des Données 7 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Matériel: Principaux éléments d’un PC

Unité centrale (le boı̂tier)


Processeur ou CPU (Central Processing Unit)
Mémoire centrale
Disque dur, lecteur disquettes, lecteur CD-ROM
Cartes spécialisées (cartes vidéo, réseau, ...)
Interfaces d’entrée-sortie (Ports série/parallèle, . . . )
Périphériques
Moniteur (l’écran), clavier, souris
Modem, imprimante, scanner, . . .

Mr Diarra Mahamadou Algorithmique et Structure des Données 8 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Qu’est ce qu’un système


d’exploitation?

Mr Diarra Mahamadou Algorithmique et Structure des Données 9 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Qu’est ce qu’un système d’exploitation?

Ensemble de programmes qui gèrent le matériel et contrôlent


les applications
Gestion des périphériques (affichage à l’écran, lecture du
clavier, pilotage d’une imprimante, . . . )
Gestion des utilisateurs et de leurs données (comptes, partage
des ressources, gestion des fichiers et répertoires, . . . )
Interface avec l’utilisateur (textuelle ou graphique):
Interprétation des commandes
Contrôle des programmes (découpage en taches, partage du
temps processeur, . . . )

Mr Diarra Mahamadou Algorithmique et Structure des Données 10 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Langage Algorithmique

Mr Diarra Mahamadou Algorithmique et Structure des Données 11 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exemples introductifs

Exemple 1: Additionner 2 entiers

Mr Diarra Mahamadou Algorithmique et Structure des Données 12 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exemples introductifs
Exemple 1: Additionner 2 entiers

Ecrire les deux nombres


l’un en dessous de l’autre
en alignant les chiffres de
droite à gauche.

Mr Diarra Mahamadou Algorithmique et Structure des Données 13 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exemples introductifs
Exemple 1: Additionner 2 entiers

Ecrire les deux nombres


l’un en dessous de l’autre
en alignant les chiffres de
droite à gauche.
Additionner les chiffres de
droite à gauche.
Si le résultat est
inférieur à 10, l’écrire
en dessous.
Si le résultat est
supérieur à 10, écrire le
chiffre d’unité en
dessous et retenir 1.
Mr Diarra Mahamadou Algorithmique et Structure des Données 14 / 87
Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exemples introductifs

Exemple 2: Gâteau au chocolat


Ingrédients :
1 tablette de chocolat noir,
125 g de beurre,
125 g de sucre,
3 œufs,
3 cuillères à soupe de farine

Mr Diarra Mahamadou Algorithmique et Structure des Données 15 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exemples introductifs
Exemple 2: Gâteau au chocolat
Mode d’emploi:
1 Préchauffez le four à 180°

2 Faites fondre le chocolat en morceaux au bain-marie ou au

micro-ondes.
3 Coupez le beurre et faites-le fondre également.

4 Dans un saladier, cassez les œufs et mettez le sucre.

5 Mélangez bien jusqu’à ce que le mélange devienne légèrement

mousseux.
6 Ajoutez le beurre, remuez.

7 Ajoutez le chocolat fondu, mélangez.

8 Incorporez la farine petit à petit.

9 Beurrez un moule et versez-y la pâte.

10 Enfournez pendant 20 min mais surveillez régulièrement.

Mr Diarra Mahamadou Algorithmique et Structure des Données 16 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exemples introductifs
Exemple 2: Gâteau au chocolat

Résultat :

Mr Diarra Mahamadou Algorithmique et Structure des Données 17 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Qu’est ce qu’un
algorithme ?

Mr Diarra Mahamadou Algorithmique et Structure des Données 18 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Qu’est ce qu’un algorithme ?

Un algorithme est une suite finie et non ambiguë d’étapes


permettant de résoudre un problème.

Mr Diarra Mahamadou Algorithmique et Structure des Données 19 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Le rôle d’un algorithme en


programmation

Mr Diarra Mahamadou Algorithmique et Structure des Données 20 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Le rôle d’un algorithme en programmation

Mr Diarra Mahamadou Algorithmique et Structure des Données 21 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Comment décrire un
algorithme ?

Mr Diarra Mahamadou Algorithmique et Structure des Données 22 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Comment décrire un algorithme ?

Question: Est-ce qu’il y a un standard ?


Il n’y a pas de standard de description d’un algorithme, mais
des recommandations:
Description simple
Description facile à apprendre et à comprendre
Soigner la présentation: un algorithme mal écrit est un
algorithme à jeter

Mr Diarra Mahamadou Algorithmique et Structure des Données 23 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Structure générale d’un algorithme:

Algorithme: Titre (nom) de l’algorithme


Déclaration de variables
Début
Etape1
Etape2
Etape3
.............
.............
Fin

Mr Diarra Mahamadou Algorithmique et Structure des Données 24 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Notion de variable

Mr Diarra Mahamadou Algorithmique et Structure des Données 25 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Définition

Un algorithme manipule un ensemble de quantités (données)


Dans un algorithme, toutes ces données sont remplacées par
des symboles (des noms) qu’on appelle : variables
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)
La notion de variable algorithmique est différente de la notion
de variable mathématique.

Mr Diarra Mahamadou Algorithmique et Structure des Données 26 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Déclaration de variables

: 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, . . . )

Mr Diarra Mahamadou Algorithmique et Structure des Données 27 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Déclaration de variables

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 commencer par une lettre alphabétique
exemple valide: A1 exemple invalide: 1A
doit être constitué uniquement de lettres, de chiffres et du
soulignement (Eviter les caractères de ponctuation et les
espaces)
valides: SMIP2007, SMP 2007 invalides: SMP 2005,SMP;2007
Conseil: pour la lisibilité du code choisir des noms significatifs
qui décrivent les données manipulées
exemples: TotalVentes2004, Prix TTC, Prix HT

Mr Diarra Mahamadou Algorithmique et Structure des Données 28 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Déclaration de variables

Types des 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 ou réel)
Type logique ou booléen: deux valeurs VRAI ou FAUX
Type caractère: lettres majuscules, minuscules, chiffres,
symboles, . . .
exemples: ’A’,’a’,’1’,’ ?’, . . . ..
Type chaı̂ne de caractère: toute suite de caractères
exemples: ” Nom, Prénom”, ”code postale: 1000”, . . .

Mr Diarra Mahamadou Algorithmique et Structure des Données 29 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Déclaration de variables

Rappel: toute variable utilisée dans un programme doit avoir


fait l’objet d’une déclaration préalable
En pseudo-code, on va adopter la forme suivante pour la
déclaration de variables
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

Mr Diarra Mahamadou Algorithmique et Structure des Données 30 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

L’instruction d’affectation

Mr Diarra Mahamadou Algorithmique et Structure des Données 31 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

L’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 ou de
types compatibles
l’affectation ne modifie que ce qui est à
gauche de la flèche

Mr Diarra Mahamadou Algorithmique et Structure des Données 32 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exercices simples sur l’affectation


Donnez les valeurs des variables A, B,C après exécution des
instructions suivantes ?

Algorithme : Affectation
Variables A, B, C: Entier
Début
A←3
B←7
A←B
B ← A+5
C←A+B
C←B–A
Fin
Mr Diarra Mahamadou Algorithmique et Structure des Données 33 / 87
Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exercices simples sur l’affectation

Donnez les valeurs des variables A, B après exécution des


instructions suivantes ?

Algorithme : Affectation
Variables A, B: Entier
Début
A←1
B←2
A←B
B←A
Fin

Mr Diarra Mahamadou Algorithmique et Structure des Données 34 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Expressions et opérateurs

Mr Diarra Mahamadou Algorithmique et Structure des Données 35 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

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)

Mr Diarra Mahamadou Algorithmique et Structure des Données 36 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Les instructions
d’entrées-sorties: lecture
et écriture

Mr Diarra Mahamadou Algorithmique et Structure des Données 37 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Les 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 zone
mémoire nommée var

Mr Diarra Mahamadou Algorithmique et Structure des Données 38 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Les 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 zone mémoire var

Mr Diarra Mahamadou Algorithmique et Structure des Données 39 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exemple (lecture et écriture)

Ecrire un algorithme qui demande un nombre entier à l’utilisateur,


puis qui calcule et affiche le double de ce nombre

Algorithme :Calcul double


variables A, B : entier
Début
écrire(”entrer le nombre ”)
lire(A)
B ← 2*A
écrire(”le double de ”, A, ”est :”, B)
Fin

Mr Diarra Mahamadou Algorithmique et Structure des Données 40 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exercice (lecture et écriture)

Ecrire un algorithme qui vous demande de saisir votre nom puis


votre prénom et qui affiche ensuite votre nom complet

Mr Diarra Mahamadou Algorithmique et Structure des Données 41 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exercice (lecture et écriture)


Ecrire un algorithme qui vous demande de saisir votre nom puis
votre prénom et qui affiche ensuite votre nom complet

Algorithme :AffichageNomComplet
variables Nom, Prenom, Nom Complet : chaı̂ne de caractères
Début
écrire(”entrez votre nom”)
lire(Nom)
écrire(”entrez votre prénom”)
lire(Prenom)
Nom Complet ← Nom & Prenom
écrire(”Votre nom complet est : ”, Nom Complet)
Fin
Mr Diarra Mahamadou Algorithmique et Structure des Données 42 / 87
Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Description graphique: Organigramme


Lecture de données
Exemple: Lire (n, m)

Ecriture de résultats:
Exemple: écrire (x1, x2)

Affectation:
Exemple: s ← n + m

Début de l’algorithme

Fin de l’algorithme

Mr Diarra Mahamadou Algorithmique et Structure des Données 43 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Organigramme 1: Calcul de la somme de deux entiers

Algorithme: Somme de deux entiers


Variables n, m, s : entiers
Début
écrire(”Donnez la valeur de n et m ”)
Lire (n, m)
s←n+m
écrire(s)
écrire(”A bientôt !”)
Fin

Mr Diarra Mahamadou Algorithmique et Structure des Données 44 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Organigramme 2: Calcul de la somme de deux entiers

Algorithme: résoudre une équation A.x +


B=0
Variables A, B, x : réels
Début
Lire(A, B)
x ← -B/A
écrire(x)
Fin

Mr Diarra Mahamadou Algorithmique et Structure des Données 45 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

instructions conditionnelles
ou alternatives

Mr Diarra Mahamadou Algorithmique et Structure des Données 46 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

instructions conditionnelles ou alternatives

Les instructions conditionnelles servent à n’exécuter une instruction


ou une séquence d’instructions que si une condition est vérifiée

Mr Diarra Mahamadou Algorithmique et Structure des Données 47 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

instructions conditionnelles ou alternatives

Si(condition) alors
instruction ou suite
d’instructions1
Sinon
instruction ou suite
d’instructions2
Finsi

Mr Diarra Mahamadou Algorithmique et Structure des Données 48 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

instructions conditionnelles ou alternatives

Algorithme: résoudre une


équation A.x + B = 0
Variables A,B,x : réels
Début
Lire (A, B)
Si(A6=0) Alors
x ← -B/A
écrire(x)
Sinon
écrire(”Pas de solution”)
FinSi
Fin

Mr Diarra Mahamadou Algorithmique et Structure des Données 49 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

instructions conditionnelles ou alternatives

Algorithme: la valeur absolue


Variables x,y : réels
Début
Lire (x)
Si(x<0) Alors
y←-x
Sinon
y←x
FinSI
écrire(y)
Fin

Mr Diarra Mahamadou Algorithmique et Structure des Données 50 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

instructions conditionnelles ou alternatives

Alternative simple

Si(condition) alors
instruction ou suite
d’instructions1
Finsi

Mr Diarra Mahamadou Algorithmique et Structure des Données 51 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

instructions conditionnelles ou alternatives


Alternative simple

Algorithme AffichageValeurAbsolue
Variable x,y : réel
Début
Ecrire (” Entrez un réel : ”)
Lire (x)
y← x
Si (x < 0) alors
y ← -x
Finsi
Ecrire (”la valeur absolue de ”, x, ”est:”,y)
Fin

Mr Diarra Mahamadou Algorithmique et Structure des Données 52 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exercice

Ecrire un algorithme qui demande un nombre entier à l’utilisateur,


puis qui teste et affiche s’il est divisible par 3 et donnez son
organigramme.

Mr Diarra Mahamadou Algorithmique et Structure des Données 53 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Conditions composées

Comme on l’a évoqué plus haut, l’informatique met à notre


disposition quatre opérateurs logiques : ET, OU, NON, et
XOR.
On représente fréquemment tout ceci dans des tables de vérité
(C1 et C2 représentent deux conditions, et on envisage à
chaque fois les quatre cas possibles)

Mr Diarra Mahamadou Algorithmique et Structure des Données 54 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

tables de vérité

Mr Diarra Mahamadou Algorithmique et Structure des Données 55 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

tables de vérité

Mr Diarra Mahamadou Algorithmique et Structure des Données 56 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

tables de vérité

Mr Diarra Mahamadou Algorithmique et Structure des Données 57 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

tables de vérité

Mr Diarra Mahamadou Algorithmique et Structure des Données 58 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exemple

Algorithme : opérateur logique


Variables A, B, C, D, E : Booléen
X : Entier
Début
Lire(X)
A ← X > 12
B←X>2
C←X <6
D ← (A ET B) OU C
E ← A ET (B OU C)
Ecrire(D, E)
Fin

Mr Diarra Mahamadou Algorithmique et Structure des Données 59 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exercice 1

Ecrire un algorithme qui demande deux nombres à l’utilisateur et


l’informe ensuite si leur produit est négatif ou positif (on laisse de
côté le cas où le produit est nul).
Attention toutefois : on ne doit pas calculer le produit des deux
nombres.

Mr Diarra Mahamadou Algorithmique et Structure des Données 60 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exercice 2

Ecrire un algorithme qui demande trois noms à ”utilisateur et


l’informe ensuite s’ils sont rangés ou non dans l’ordre alphabétique.

Mr Diarra Mahamadou Algorithmique et Structure des Données 61 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exercice 3

Les habitants de Bamako paient l’impôt selon les règles suivantes :


les hommes de plus de 20 ans paient l’impôt
les femmes paient l’impôt si elles ont entre 18 et 35 ans
les autres ne paient pas d’impôt
Le programme demandera donc l’âge et le sexe du Bamakois, et se
prononcera donc ensuite sur le fait que l’habitant est imposable.

Mr Diarra Mahamadou Algorithmique et Structure des Données 62 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Instructions itératives: les


boucles

Mr Diarra Mahamadou Algorithmique et Structure des Données 63 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Instructions itératives: les boucles


Les boucles servent à répéter l’exécution d’un groupe
d’instructions un certain nombre de fois

Mr Diarra Mahamadou Algorithmique et Structure des Données 64 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

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

Mr Diarra Mahamadou Algorithmique et Structure des Données 65 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Les boucles Tant que

TantQue(condition)
Etape 1
Etape 2
Etape n
FinTantQue

Mr Diarra Mahamadou Algorithmique et Structure des Données 66 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Les boucles Tant que : Exemple 1


Contrôle de saisie d’une lettre majuscule jusqu’à ce que le
caractère entré soit valable

Algorithme :Lettre majuscule


Variable C : caractère
Debut
Ecrire (” Entrez une lettre majuscule ”)
Lire (C)
TantQue (C < ’A’ ou C > ’Z’)
Ecrire (”Saisie erronée. Recommencez”)
Lire (C)
FinTantQue
Ecrire (”Saisie valable”)
Fin
Mr Diarra Mahamadou Algorithmique et Structure des Données 67 / 87
Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Les boucles Tant que : Exemple 2


Un algorithme qui détermine le premier nombre entier N tel que la
somme de 1 à N dépasse strictement 100

Algorithme :Nombre entier


Variables som, i : entier
Debut
i←0
som ← 0
TantQue(som <=100)
i ← i+1
som ← som+i
FinTantQue
Ecrire (” La valeur cherchée est N= ”, i)
Fin
Mr Diarra Mahamadou Algorithmique et Structure des Données 68 / 87
Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Les boucles Pour

Pour compteur allant de


initiale à finale par pas valeur
du pas
Etape 1
Etape 2
FinPour

Mr Diarra Mahamadou Algorithmique et Structure des Données 69 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Les boucles Pour : Exemple 1


Calcul de x à la puissance n où x est un réel non nul et n un entier
positif ou nul
Algorithme : la puissance
Variables x, puiss : réel
n, i : entier
Debut
Ecrire (” Entrez la valeur de x et n ”)
Lire (x)
Lire (n)
puiss ← 1
Pour i allant de 1 à n
puiss ← puiss*x
FinPour
Ecrire (x, ” à la puissance ”, n, ” est égal à ”, puiss)
Fin Mr Diarra Mahamadou Algorithmique et Structure des Données 70 / 87
Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Les boucles Pour : Exemple 2


Calcul de x à la puissance n où x est un réel non nul et n un entier
positif ou nul (version 2 avec un pas négatif)
Algorithme : la puissance
Variables x, puiss : réel
n, i : entier
Debut
Ecrire (” Entrez respectivement les valeurs de x et n ”)
Lire (x)
Lire(n)
puiss ← 1
Pour i allant de n à 1 par pas -1
puiss ← puiss*x
FinPour
Ecrire (x, ” à la puissance ”, n, ” est égal à ”, puiss)
Fin Mr Diarra Mahamadou Algorithmique et Structure des Données 71 / 87
Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Les boucles Répéter . . . jusqu’à . . .

Répéter
instructions
Jusqu’à(condition)

Mr Diarra Mahamadou Algorithmique et Structure des Données 72 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Les boucles Répéter . . . jusqu’à . . . : Exemple


Un algorithme qui détermine le premier nombre entier N tel que la
somme de 1 à N dépasse strictement 100

Algorithme : Déterminer N
Variables som, i : entier
Debut
som ← 0
i←0
Répéter
i ← i+1
som ← som+i
Jusqu’à ( som > 100)
Ecrire(” La valeur cherchée est N= ”, i)
Fin
Mr Diarra Mahamadou Algorithmique et Structure des Données 73 / 87
Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Les tableaux

Mr Diarra Mahamadou Algorithmique et Structure des Données 74 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Définition

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)

Mr Diarra Mahamadou Algorithmique et Structure des Données 75 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

La déclaration d’un tableau

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, . . .

Mr Diarra Mahamadou Algorithmique et Structure des Données 76 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

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 soit 0, soit
1. Le plus souvent c’est 0 (c’est ce qu’on va adopter en
pseudo-code). Dans ce cas, notes[i] désigne l’élément i+1 du
tableau notes
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

Mr Diarra Mahamadou Algorithmique et Structure des Données 77 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exemple
Pour le calcul du nombre d’étudiants ayant une note supérieure à
10 avec les tableaux (on suppose que le tableau a été
préalablement saisi), on peut écrire :
Variables i ,nbre : entier
tableau notes[30] : réel
Début
nbre ← 0
Pour i allant de 0 à 29
Si (notes[i] > 10) alors
nbre ←nbre+1
FinSi
FinPour
écrire ("le nombre de notes supérieures à 10 est :
", nbre)
Fin Mr Diarra Mahamadou Algorithmique et Structure des Données 78 / 87
Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exemple

Algorithme qui permettent de saisir et d’afficher les éléments d’un


tableau
variable i: entier
tableau T[30]: réel
Début
Pour i allant de 0 à 29 faire
écrire ("Saisie de l’élément ", i + 1)
lire (T[i] )
FinPour
Pour j allant de 0 à 29 faire
écrire ("T[",j, "] =", T[j])
FinPour
Fin

Mr Diarra Mahamadou Algorithmique et Structure des Données 79 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Tableaux : fonction longueur

La plus part des langages offrent une fonction longueur qui donne
la dimension du tableau.

Mr Diarra Mahamadou Algorithmique et Structure des Données 80 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exemple

Variables i ,nbre : entier


tableau notes[30] : réel
Début
nbre ← 0
Pour i allant de 0 à longueur(notes)-1 faire
Si (notes[i] >10) alors
nbre ← nbre+1
FinSi
FinPour
écrire ("le nombre de notes supérieures à 10 est :
", nbre)
Fin

Mr Diarra Mahamadou Algorithmique et Structure des Données 81 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exercices

Ecrire un algorithme qui déclare et remplisse un tableau de 7


valeurs numériques en les mettant toutes à zéro.
Ecrire un algorithme qui déclare et remplisse un tableau
contenant les six voyelles de l’alphabet.
Ecrire un algorithme qui déclare un tableau de 9 notes, dont
on fait ensuite saisir les valeurs par l’utilisateur.
Ecrive un algorithme calculant la somme des 20 valeurs saisies
par l’utilisateur d’un tableau.

Mr Diarra Mahamadou Algorithmique et Structure des Données 82 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

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

Mr Diarra Mahamadou Algorithmique et Structure des Données 83 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exemples : lecture d’une matrice

Algorithme : lecture
Début
variables i , j , tableau A[5][6] : entier
Pour i allant de 0 à 5 faire
écrire ("saisie de la ligne ", i + 1)
Pour j allant de 0 à 6 faire
écrire ("Entrez l’élément de la ligne ", i + 1, " et
de la colonne ", j+1)
lire (A[i][j])
FinPour
FinPour
Fin

Mr Diarra Mahamadou Algorithmique et Structure des Données 84 / 87


Objectifs
Généralité sur l’informatique
Langage Algorithmique
Notion de variable

Exemples : affichage d’une matrice

Algorithme : lecture
Début
variables i , j , tableau A[5][6] : entier
Pour i allant de 0 à 5 faire
Pour j allant de 0 à 6 faire
écrire ("A[",i, "] [",j,"]=", A[i][j])
FinPour
FinPour
Fin

Mr Diarra Mahamadou Algorithmique et Structure des Données 85 / 87

Vous aimerez peut-être aussi