Vous êtes sur la page 1sur 60

Groupe de conception :

Melle HEMAIZIA Sabah, PEP au C.F.P.A Blaid Belkacem -Annaba-

Mme SMAANE Souheila, PEP au C.F.P.A Mixte Ghardaia

Je tiens à remercier Mr BENHAMZA le directeur du C.F.P.A Mixte Ghardaia de


M’avoir suivi au sein de son établissement.

Je remercie également L’Adjoint Technique et Pédagogique Pour le suivi et la


confiance qu’il m’a accordé durant la durée de stage.

Enfin je tiens à remercier mes chers parents, mon mari et toutes les personnes qui
ont contribué par leur disponibilité et leur bonne humeur a rendre mon stage
enrichissant et motivant.

Mme SMAANE Souheila

Je tiens à remercier Mme Dekhili Hassina P.S.E.P2 à l’’INSFP Al-Hadjar Annaba


pour son suivi et ses conseils précieuse.

Je remercie aussi Mr Berrdjam Faycal PEP au CFPA Belaid Belkacem Annaba pour
son aide.

Enfin je tiens à remercier ma chère famille, surtout ma sœur et ses filles pour
leurs soutient morales et toutes les personnes qui ont contribué par leur disponibilité et
leur bonne humeur a rendre mon stage enrichissant et motivant.

Je dédie ce travail à ma chère mère ; rabbi yarhemha.

Melle HEMAIZIA Sabah

Nous tenons à remercier particulièrement Mme BOUKHERS ; Mme KADRI et Mme


BOUAMAMA professeurs à L’Institut de Formation Professionnels de Birkhadem
pour leurs soutiens sans oublier Mme Krim .
Elaborer des Algorithmes Simples

Table de matières
Préambule.
Description de la spécialité
Fiche de présentation du Module Qualifiant
Tableau des objectifs intermédiaire de la fiche de présentation du chapitre proposé

Chapitre 1 : Elaborer des algorithmes simples


Introduction 11
1.1 Décomposer une action algorithmique 12
1.1.1 Description de la résolution d‟un problème 12
1.1.2 Notion et définition d‟un Algorithme. 13
a) Définitions 13
b) Organigramme (ou) 14
c) Pseudo-code 14
d) Notions d‟objets 15
1.1.3 Les différentes représentations 15
1.1.4 Structure de base d‟un formalisme algorithmique 16
a) La partie entête 17
b) La partie déclarative 17
c) La partie corps 17
1.1.5 Exercice théorique 18
1.1.6 Exercice Pratique 19
1.2 Déclarer les types élémentaires des données 19
1.2.1 Déclarations 19
1.2.2 Types Constantes ; Variables. 19
a) Les variables 19
b) Les constantes 21
1.2.3 Les Types 22
1) Les Types de base 22
2) Les Types énumérés 23
3) Les Types Structurés 23
1.2.4 Exercice Théorique 24
1.2.5 Exercice pratique 24
1.3 Représenter un algorithme 25
1.3.1 Enchaînement d‟actions. 25
1.3.2 L‟affectation. 25
1.3.3 Lecture et écriture. 29
1.3.4 Commentaires. 30
1.3.5 Déroulement d‟un algorithme 30
1.3.6 Exercices Théoriques 31
1.3.7 Exercices Pratiques 31

2016 Page 4
Elaborer des Algorithmes Simples

1.4 Ecrire un algorithme qui utilise les structures de contrôle 32


1.4.1 Définition d‟une structure de contrôle 33
1.4.2 Le choix : 33
1) Le Traitement Alternative 33
2) L‟Alternatif Simple 33
3) L‟alternatif Composé 34
1.4.3 L‟alternatif multiple 35
1.4.4 La répétition 37
a) La répétition contrôlée par des conditions 37
b) Répétition avec indice 39
c) Répétition à l‟infini 40
1.4.5 Exercices Pratiques 43

1.5 Ecrire un algorithme qui utilise des chaînes de caractères. 43


1.5.1 Déclaration d‟une chaine 44
1.5.2 Opération sur les chaînes de caractères 44
1.5.3 Exercices Pratiques 45
1.6 Tableaux unidimensionnels 46
1.6.1 Définition 46
1.6.2 Déclaration d‟un tableau : Vecteur 46
1.6. 3 Manipulation d‟un tableau. 47
1) La lecture 47
2) Ecriture d‟un vecteur 48
1.6.4 Méthodes de tri d‟un vecteur. 49
1) Le tri par permutation 49
2) Le tri par selection 49
3) Le tri par bulle 50
4) Le tri par comptage 51
5) Le tri par insertion 51
6) Le tri-shell 53
1.6.5 Exercices Pratiques 54

1.7 Ecrire un algorithme qui utilise des tableaux à deux dimensions. 55


1.7.1 Déclaration d‟un tableau : matrice 56
1.7.2 Lecture d‟un tableau à deux dimensions 56
1.7.3 Ecriture d‟un tableau à deux dimensions 57
1.7.4 Exercice Pratique 57
1.8 Résumé Générale 59
1.9 Exercice de synthèse 60
Bibliographie 62
Annexes I

2016 Page 5
Elaborer des Algorithmes Simples

Préambule

Le présent manuel est destiné au futur technicien supérieur en « Administration des


bases de données ». Ce document est une aide pédagogique qui permet au stagiaire de
s‟entrainer et d‟aller plus loin dans son métier.

Le but de ce manuel et de présenter aux stagiaires un contenu complet qualifiant


« Elaborer des Algorithmes Simples » à partir des objectifs bien tracés en respectant la
fiche modulaire telle que définie dans le programme d‟étude de la spécialité
« Administration des bases de données »

Ce Manuel détaillera un (01) seul chapitre « Elaborer des Algorithmes Simples ».

Dans ce manuel le stagiaire étudiera des points bien détaillé du module « Elaborer des

Algorithmes Simples » qui sont :

Décomposer une action Algorithmique


Déclarer les types élémentaires des données
Représenter un Algorithme.
Ecrire un Algorithme qui utilise les structure de contrôle
Ecrire un Algorithme qui utilise les chaines de caractères
Ecrire un Algorithme qui utilise un tableau à une dimension.
Ecrire un Algorithme qui utilise un tableau à deux dimensions

2016 Page 6
Elaborer des Algorithmes Simples

I- Présentation de la profession

1-Branche professionnelle : Informatique.

2- Dénomination de la profession :

Technicien supérieur en informatique option : Administration des bases de


données.

3- Définition de la profession :

Le technicien supérieur en informatique option : Administration des bases de


données.
 Participer à la définition et à la mise en œuvre des bases de données et de
protocole s retenus par l‟entreprise.
 Gérer et administrer les systèmes de gestion des bases de données de
l‟entreprise, en assurant la cohérence, la qualité et la sécurité.

4- Activités professionnelles :

Le technicien supérieur en informatique option : Administration des bases de


données doit être capable de :
 Créer des bases de données en liaisons avec l‟administrateur système et les
chefs de projet concernés.
 Participer à l‟actualisation des bases de données.
 Mettre en œuvre des logiciels de bases de données
 Administrer et maintenir ses logiciels.
 Mettre en exploitation et gérer des serveurs de bases de données.

II- conditions de travail

1- Lieu de travail : Salle machines, bureaux . . .

2 - Caractéristiques physiques : Bonne santé d‟une façon générale

 Eclairage : normal
 Température et humidité : normale / salles et ou bureaux climatisés
 Bruits et vibrations : Environnement non bruyant sauf bruit des équipements

3- Risques et maladies professionnels : Fatigue des yeux, douleurs dorsales, stress

4- Contacts sociaux : Diverses catégories de personnes

5- Travail en équipe ou seule : en équipe.

2016 Page 7
Elaborer des Algorithmes Simples

III- Exigences de la profession

Exigences physiques

- Bonne santé d‟une façon générale


- Ne pas avoir un handicap visuel
- Ne pas avoir un handicap au niveau des membres supérieurs et auditifs

Intellectuelles : Qualités d‟adaptation, esprit d‟équipe, d‟organisation et surtout


d‟initiative

V- Responsabilité du TS

1- Responsabilités matérielles :

Il est responsable de bon fonctionnement des équipements informatiques mis a


sa disposition

2- Responsabilités morale : Il doit répondre aux exigences du travail demande en


matière de Qualité et délai.

VI- Possibilité de promotion

1- Cadre réglementaire (Statut) : Conformément au statut de l‟entreprise

VII- Formation

1- Conditions d’admission : 3ème AS (maths, science, technique), DEP2

2- Age minimum : 17 ans

3- Durée de la formation : 30 mois dont 06 mois de stage pratique

(30 mois = 3408 h).

(06 mois = 960 h).

4- Niveau de qualification : Niveau V.

5- Diplôme : Technicien supérieur.

2016 Page 8
Elaborer des Algorithmes Simples

Fiche de présentation des modules

UMQ : Développement des applications

Module : Elaborer des algorithmes simples.

Code : MQ1.1

Durée : 136 h

Objectif modulaire

Comportement attendu :

A l‟issue de ce module, le stagiaire doit être capable d‟élaborer des algorithmes simples.

Conditions d’évaluation :

A partir :

 Documentation.

A l’aide :

Critères généraux de performance :

 Identification correcte des données et des résultats.


 Respect des règles d‟élaboration d‟un algorithme
 Algorithme optimisé (temps d‟exécution le moins possible, le plus petit nombre de
variables, moins de code)
 Déroulement correct de l‟algorithme.

2016 Page 9
Elaborer des Algorithmes Simples

Objectifs Critères particuliers de Eléments contenus


intermédiaires performance

 Décomposer une  Respect des règles de  Description de la résolution


action décomposition d‟un problème.
algorithmique  Notion et définition d‟un
Algorithme.
 Les différentes
représentations.
 Structure de base d‟un
formalisme algorithmique.
 Déclarer les types  Sans erreurs  Déclarations.
élémentaires des  Moins de variables  Types Constantes ;
données possible Variables.
 Types standards : Entier,
Réel, Caractère, Booléen
 Représenter un  Sans erreurs  Enchaînement d‟actions.
algorithme  Moins de variables  Affectation.
possible  Lecture et écriture.
 Moins de code  Commentaires.
possible
 Ecrire un  Respect des règles de  Définition des structures de
algorithme qui décomposition contrôles.
utilise les  Le choix :
structures de  Alternative
contrôle  Choix multiple
 La répétition :
 Répétition contrôlée par des
conditions.
 Répétition a l‟infini.
 Répétitions avec indice.
 Ecrire un  Sans erreurs  Déclaration
algorithme qui  Le plus optimal  Opération sur les chaînes de
utilise des chaînes caractères.
de caractères.
 Ecrire un  Sans erreurs  Déclaration d‟un tableau :
algorithme qui  Le plus optimal Vecteur.
utilise des tableaux  Manipulation d‟un tableau :
à une dimension. Lecture, écriture.
 Méthodes de tri d‟un vecteur.
 Ecrire un  Sans erreurs  Matrice
algorithme qui  Le plus optimal  Déclaration d‟un tableau :
utilise des tableaux matrice
à deux dimensions.  Manipulation d‟un tableau :
Lecture, écriture

2016 Page 10
Elaborer des Algorithmes Simples

Chapitre 1 : Elaborer des Algorithmes Simples.

Introduction :
Dans la vie de tous les jours nous sommes appelés à résoudre de nombreux problèmes
qui se posent à nous, ces problèmes vont des plus simple aux plus complexes, pour ce la
nous devons adapter une méthode bien particulière pour chacun d‟eux.

En informatique on passe par plusieurs étapes pour permettre aux ordinateurs de


transformer et traiter les données.

Ces différentes étapes constituent un ALGORITHME.

D’où vient le mot algorithme ?

Le mot algorithme est issu de la transcription phonétique de al-Khawarizmi

Al-Khawarizmi, (783-850) est un grand


mathématicien et astronome perse.

Son apport en mathématiques fut tel qu'il est


également surnommé « le père de l'algèbre »,

2016 Page 11
Elaborer des Algorithmes Simples

1 .1 Décomposer une action algorithmique :

I.1.1 Description de la résolution d’un problème :


La solution informatique d‟un problème posé passe par les étapes suivantes :

a)- Analyse : C‟est la phase d‟etude, dans laquelle il faut répondre a trois questions :
« - Qu‟est ce que j‟ai ?, - Qu‟est ce que je veux ? - Comment faire ? » c‟est la
décomposition d‟un probléme en opération simple.
b)- Reconstruction : phase de specification des données ; et du description du
traitement. C‟est la phase de présentation des données (opérations) sous forme
d‟algorithme.

c)- C‟est le déroulement de l‟algorithme : pour vérifier qu‟il donne bien le bon résultat,
cette étape consiste à la vérification de la logique de l‟algorithme. Dans cette étape on
affecte des données (valeurs ) en entrée pour obtenir des résultats en sortie (Figure 01)
reconstitution Exemple
Analyse

Problème Etapes Algorithme Vérification


d’analyse

Figure.1

d)- C‟est la phase de traduction de la partie précédente a un langage de programmation,


une fois le programme ecrit il va falloir le vérifier et le corriger en utilisant le
compilateur, ce dernier détecte les erreurs de syntaxe du programme mais ne detecte pas
les erreurs logique, celle-ci doivent etre résolus lors de la vérification de l‟algorithme.

Apres vient l‟étape de l‟exécution du programme commpilé, cette étape aboutit à


l‟exploitation du programme et la vérification des résultats(Figure 02).

langage compilation
Execution
n

Algorithme Programme Programme Programme


source compilé exécuté

Figure.2

2016 Page 12
Elaborer des Algorithmes Simples

1.1.2 Notion et définition d’un Algorithme :


a) Définitions :

Définition°1

Selon LAROUSSE, la définition d'algorithme est « un ensemble de règles


opératoires dont l'enchaînement permet de résoudre un problème au moyen d'un nombre
fini d'opérations. »

Définition °2

Un algorithme est une suite finie et ordonnée d‟opérations, qui l‟ors qu‟elles sont
exécutés sur des paramètres spécifiques et dans l‟ordre convenable produisent toujours
un résultat et se termine en un temps fini

La notion d'algorithme est très ancienne et a précédé celle d'ordinateur.


Un algorithme est indépendant du langage de programmation utilisé.
Les comportements de la vie courante peuvent aussi être modélisés par
un algorithme.

Un algorithme s'exprime, dans sa forme finale, dans un langage de


programmation pour être compris et exécuté par un ordinateur ; on parle alors de
programme. On dit aussi qu‟un programme correspond au codage d‟un algorithme.

Exemple :
Pour bien illustrer la notion d‟algorithme, prenons l‟exemple d‟un
chauffeur d‟ambulance venant récupérer un malade qui s‟égare en cours de
route, Vous allez lui montrer le chemin à suivre pour atteindre son objectif.

Dans le cas ou vous connaissez parfaitement le chemin, vous lui direz par exemple :

« Suivez cette rue jusqu’au carrefour, puis tournez à droite et à environ 100 »

Les étapes de l‟algorithme s‟expriment comme suite :

Suivre la route jusqu‟au carrefour


Prenez à droite
Roulez environ 100 mètres
Prenez à gauche
S‟arrêter en fin de rue à droite.

2016 Page 13
Elaborer des Algorithmes Simples

b)- Organigramme (ou algorigramme) :


Un organigramme est la présentation schématique d‟un algorithme. Avant toute
programmation, il est recommandé d‟avoir une visualisation du programme qu‟on va
faire soit par un algorithme ou par un organigramme, le premier est une présentation
linéaire composée d‟une suite d‟instructions successives, alors que le second permet de
bien visualiser les différents blocs du programme, les boucles, les tests.(Figure03)

-Eléments de représentation d’un organigramme :

Eléments Description
Elipse
Pour marquer le début et la fin d‟un organigramme

Parallélogramme
Sert à représenter les instructions d‟entrée (lecture) et de sortie
(écriture)

Rectangle
Représentation d‟une opération /groupe d‟opérations sur des données,
instructions….

Losange Représentation des instructions conditionnelles, et pour l‟exploitation


de conditions variables impliquant le choix d‟une voie parmi plusieurs.
Symbole utilisé pour représenter une décision ou aiguillage

Symbole utilisé pour représenter un sous programme (procédure ou


fonction)

qui pointe la séquence d‟instruction suivante

Figure.3
c)- Pseudo-Code :
Les instructions doivent être formulées dans un langage compréhensible par
l‟exécutant. Dans le cas d‟un humain, il s‟agira du langage courant (langue maternelle);
dans le cas d‟une machine, il faudra recourir à un langage de programmation
(assembleur, basic, C, java, php ...).
En algorithmique, nous utiliserons un langage situé à mi-chemin entre le langage
courant et un langage de programmation appelé pseudo-code. Il n‟y a pas de norme
concernant ce pseudo-code qui peut varier légèrement d‟un enseignant à l‟autre. Le but
est surtout de mettre l‟accent sur la logique de l‟algorithme. L‟avantage du pseudo-
code est qu‟il permet de rester proche d‟un langage informatique sans qu‟il soit
nécessaire de connaître toutes les règles et spécificités d‟un langage particulier.

2016 Page 14
Elaborer des Algorithmes Simples

d)- Notions d’objets :

Notion d’un caractère : un caractère est la plus petite unité d‟information


manipulée dans un algorithme. On distingue 3 types de caractères :
(alphabétiques : (A-Z), (a-z) ; numériques : (0-9) ; spéciaux : (dans le
clavier).
Notion d’un mot : Un mot est une suite de caractères constituée selon des
règles précise, On distingue deux types de mot :
-Mot réservé appartenant à l‟algorithmique (ex : lire, écrire……).
-Mot choisis par l‟utilisateur (ex : ¶, ∆ ………).
Notion d’expression :Une expression est une combinaison d‟opérande et
d‟opérateur ; la valeur d‟une expression est calculée en appliquant les
opérateurs sur l‟opérande, les opérandes peuvent être des constantes ou des
variables ou des fonctions qui peuvent être prédéfinie par le programme ou
par le programmeur.
Notion de phrase : une phrase peut contenir des caractères, des mots ou
des expressions.

1.1.3 Les différentes représentations :


Historiquement, deux façons pour représenter un algorithme :

a) L’Organigramme : représentation graphique avec des symboles il :


0ffre une vue d‟ensemble de l‟algorithme
Représentation quasiment abandonnée aujourd‟hui, parce que dés que
l‟algorithme commence à grossir, l‟organigramme devient encombrant et
donc pas pratique.(Figure 04)
b) Le pseudo-code : représentation textuelle avec une série de conventions
ressemblant à un langage de programmation
Plus pratique pour écrire un algorithme
Représentation largement utilisée(Figure05).

Exemple :
Problème posé : écrire un algorithme qui fait l‟addition de deux nombres réels.

Analyse :
En analysant le problème on comprend qu‟ il s‟agit d‟un problème mathématique
qui consiste à additionner (opération +) deux nombres réels.
En autre termes, on doit fournir deux nombres réels en entrée pour avoir leur
somme en résultat.
On doit donc déclarer deux variables réelles A et B pour les entrées : et une variable
réelle S pour le résultat en sortie.
(S = A+B , A et B réel donc S réel).

2016 Page 15
Elaborer des Algorithmes Simples

Déclaration
A, B de type réel.
S de type réel.

Opérations :
entrée la valeur de A.
entrée la valeur de B.
calculer A+B et mettre le résultat dans la variable S.
Afficher S.
Organigramme : Algorithme :
Algorithme somme
Début
A, B : réels
S : réel
lire
Début
Lire (A)
S← A+B
Lire (B)
S←A + B
Ecrire
Ecrire (S)
Fin.
Fin

Figure.4 Figure.5

Il existe aussi une présentation sous un langage de programmation,


exemple : Pascal

1.1.4 Structure de base d’un formalisme algorithmique :


Selon le formalisme algorithmique, un algorithme est composé de trois parties (fig.6):

Entête

Déclarative

Corps de l’algorithme

Figure.6

2016 Page 16
Elaborer des Algorithmes Simples

a) La partie entête :
Elle contient le mot clé Algorithme suivi du nom qui identifie le problème à résoudre.
Par exemple : Algorithme Somme
Le mot « Somme » est l‟identificateur de l‟algorithme.

b) La partie déclarative :
Elle contient les données de l‟algorithme, ce sont les variables d‟entrée, les variables
de sorties et les variables intermédiaire.
Déclaration :

X, Y : « type1 »
C : « type2 »
I : « type3 »
Par exemple :

X, Y : réels
C : caractère
I : entier

Dans la partie déclaration nous allons adopter cette présentation :


Les deux points « : » signifie que la variable est de type « type » et les
variables de même type sont séparées par une virgule « , ».

c) La partie corps de l’algorithme (exécutive) :


C‟est la partie qui contient les traitements, ce sont toutes les instructions que doit
exécuter la machine pour arriver aux résultats.
Le corps de l‟algorithme commence par le mot clé « début » et se termine par le mot
clé « Fin ».

Début
Instruction 1
Instruction 2

Instruction i
…..
Fin.

2016 Page 17
Elaborer des Algorithmes Simples

Et voila un exemple d‟algorithme complet :

Algorithme somme Entêté


{Déclaration}
A, B : réels Déclaration des
variables
S : réel
Début
Lire (A)
Lire (B) Corps de l’algorithme
S←A + B
Ecrire (S)
Fin.

Le mot déclaration est facultatif


On peut aussi ajouter un commentaire et c‟est aussi facultatif

Syntaxe générale d’un algorithme :


Un algorithme est présenté comme suit :
ALGORITHME <NOM>
<Déclaration des variables>
DEBUT
<Actions>
…….
<Actions n>
FIN

1.1.5 Exercices théoriques :

1) Quelles sont les étapes à suivre pour constituer un Algorithme ?


2) Quelles sont les trois parties qui constituent un Algorithme ?
3) Quel est l‟avantage et l‟inconvénient d‟un organigramme ?
4) Quel est la différence entre un Algorithme et un Programme ?

2016 Page 18
Elaborer des Algorithmes Simples

1.1.6 Exercices Pratiques :


Exercice 01 :
Un dresseur d‟animaux sauvages veut montrer à son stagiaire comment introduire un
éléphant dans la cage, selon vous quelles sont les étapes que suivre le stagiaire ?
Pour s‟assurer que le stagiaire a très bien compris, le dresseur lui demande de faire
rentrer un tigre sauvage dans la cage, quelles sont selon vous les étapes à suivre ?
Nb : le dresseur utilise une seule cage fermée à clé.

Exercice 02 :
Un berger vient de capturer un loup qu‟il a gardé bien vivant.
Pour rentrer chez lui, le berger utilise une petite barque pour traverser un fleuve, la
barque ne peut pas supporter plus de 170kg de poids.
Le berger veut traverser le fleuve et faire passer sa chèvre, une botte de paille ainsi que
le loup.
Sachant que les poids respectifs sont :
Le berger : 70 kg.
La chèvre : 50 kg.
Le loup : 50 kg.
La botte de paille : 20 kg.

On vous demande de décrire les étapes que doit suivre le berger pour rentrer chez lui
sans avoir de dégâts.
Indications : Si la chèvre mange la botte alors vous avez échoué, pire encore, si le loup
mange la chèvre !
Dans ce cas vous êtes obligé de refaire votre algorithme !

1.2 Déclarer les types élémentaires des données :

1.2.1 Déclarations :
Elle permet de décrire d‟une manière précise les données et les résultats d‟un
algorithme, où un programme manipule des informations : les données.
On distingue deux types de données : les variables et les constantes.

1.2.2 Les constantes et les variables :

1. Les variables :
Les variables sont des données qui doivent être stockées quelque part : dans la
mémoire de l‟ordinateur, la mémoire de l‟ordinateur peut être vue comme plein de
boites vides. (Figure.7)

2016 Page 19
Elaborer des Algorithmes Simples

Figure.7

On veut par exemple mémoriser le nombre 2010, mais on ne peut pas le mettre
comme cela dans une boite vide, car on ne pourra pas le trouver !
On va donc coller une étiquette sur une des boites et la nommer « année » ; cela
permettre de la retrouver plus tard.
On va maintenant pouvoir y ranger le nombre 2010 à l‟intérieur.

Et bien en algo. et en programmation), c‟est le même principe :

La boite s‟appelle une variable.


L‟étiquette apposée sur l‟étiquette est le nom de cette variable ( année).
Le nombre 2010 est la valeur de cette variable (Fig4).

Figure.8

Attention ! une « boite » ne contient qu‟une seule valeur !


Une fois les informations sont stockées en mémoire, vous allez pouvoir les lire quand
vous en aurez besoin. Cela consiste à ouvrir la boite, prendre l‟information, l‟utiliser et
la remettre dans sa boite.

a) Le nom d’une variable :


Il s‟agit d‟un identificateur unique, par lequel on peut accéder à son contenu.
Par exemple, on peut avoir en mémoire une variable prix et une variable quantité
qui contiennent les valeurs 10.2 et 5

10.2 5

Prix quantité

2016 Page 20
Elaborer des Algorithmes Simples

b) Conventions de nommage :
Le nom d‟une variable est constitué d‟un ou plusieurs mots, la 1ere lettre de chaque
mot étant en majuscule, sauf le premier en général
Un nom peut être composé de lettres et de chiffres mais il ne peut pas commencer
par un chiffre et ne peut pas comporter d‟espace.
Le nom d‟une variable doit être suffisamment significatif afin de reconnaitre
facilement le rôle de cette variable. Par exemple pour des variables représentant un
prix et une quantité, éviter « a » et « b » mais utiliser plutôt « prix » et « quantité ».

c) Le type de donnée de variables :


Le type d‟une variable correspond à la nature de l‟information qu‟elle va
recevoir : nombre, entier, nombre réel, texte, etc.
Le type de donnée est une information importante car il détermine la nature des
opérations qui pourront être réalisées ensuite sur la variable (opération arithmétique sur
des nombres, concaténation de chaine de caractères, etc.

d) La valeur des variables :


La valeur d‟une variable correspond au contenu de cette variable (de
l‟emplacement mémoire)
Exemple : Var : entiers, réels…..

Pour qu‟un programme puisse utiliser une variable, il faut au préalable que cette
variable ait été déclarée, c'est-à-dire que le programme lui ait réservé une place en
mémoire, les valeurs sont déclarées dans le bloc de déclaration de variables :

2 Les constantes :
Une constante est une donnée qui ne possède pas d‟emplacement mémoire.
En fait, la constante est en quelque sorte un „alias‟ de la valeur : au lieu d‟indiquer
dans le code la valeur elle-même, on précise le nom de la constante.
Le compilateur remplace directement la valeur dans le code du programme
chaque fois qu‟il rencontre une constante.

L‟intérêt des constantes est double : mise a jour plus rapide et lisibilité du code.
Comme la constante ne possède pas d‟emplacement mémoire, sa valeur ne peut pas
être modifiée.
Tout comme variables, les constantes sont caractérisées par un nom une valeur et
un type de données.
Le type de donnée de la constante est implicite (on le précise pas), puisqu‟il est
déterminé par la valeur de cette constante,
Les constantes sont déclarées dans le bloc de déclaration de constantes :

Exemple 01:
Const : 10, „‟Samedi‟‟…..

2016 Page 21
Elaborer des Algorithmes Simples

Exemple 02 :
Indiquer si les noms de variable suivant sont correct ou pas ?

Nom variable Correct (O/N)


Note
note De Maths
Notedemaths
1note
NoteMaths
NoteDeMaths
note_maths
Note1

Correction :

Nom variable Correct (O/N)


Note O
note De Maths N
Notedemaths O
1note N
NoteMaths N
NoteDeMaths N
note_maths O
Note1 O

1.2.3 Les Types :

1. Les Types de Base :


Nous avons vu qu‟une des deux caractéristiques des constantes et de variables
était leur type. Nous détaillerons 6 types de base :

a) L’entier :
Les entiers correspondent aux nombres sans virgule, Mot clé : entier
b) Le réel :
Les réels correspondent aux nombres à virgule, le séparateur de décimal
est le point. Mot clé : réel
c) Le booléen :
Les variables de ce type permettent de stocker les valeurs logiques
Vrai ou Faux. Mot clé : booléen

2016 Page 22
Elaborer des Algorithmes Simples

d) Le caractère :
Dans une variable de ce type, on stocke un caractère, qu‟il s‟agisse de lettre,
chiffre, caractère de ponctuation, espace, retour chariot…et plus généralement toutes les
touches que l‟on peut trouver sur une machine à écrire.
Les caractères sont entourés d‟apostrophes (simples quottes), Mot clé : car
Exemple : „a‟, „B‟

e) La chaîne de caractères :
Dans une variable de ce type, on stocke une chaine de caractères, c-à-dire une
suite de caractères.
Les chaines de caractères sont entourées de guillemets (double quottes).
Exemple : “ Bientôt les Vacances ”

f) Date : les variables de ce type permettent de stocker des dates.

2. Les types énumérés :


Le type énuméré est défini en donnant la liste de toutes les valeurs possibles que
peut prendre un objet de ce type, On utilisant pour cela la notation suivante :

Nom_de_Vriable = (Valeur1, Valeur2,…, ValeurN)

Exemples :

Couleur = (Bleu, Jaune, Magenta, Noir)


Jour = (Samedi, Dimanche, Lundi, Mardi, Mercredi, Jeudi, Vendredi)

Soient C de type couleur et J de type jour


Les instructions suivantes sont valides :
C ← Bleu
J ← Lundi

3. Les types structurés :


On distingue plusieurs types structurés prédéfinis, les tableaux, les
Enregistrements, les ensembles et d‟autres plus complexes telles que les Piles, les Files,
les Listes, les Arbres, les Tables et les Graphes.
Cas particulier du type INTERVAL : On peut définir un type
INTERVAL comme suit :
Nom_de_Variable = INF…SUP Ou INF et SUP désignent les
valeurs extrêmes de l‟intervalle.
Exemple : Journée = Samedi…Vendredi.

2016 Page 23
Elaborer des Algorithmes Simples

Exemple :
Donner des exemples de valeur type :
Booléen
Entier
Réel
Caractère
Chaine
Date

Correction :
Booléen Bool ←Vrai
Entier Var = 10
Réel Var = 33.5
Caractère Var←‘A’
Chaine (‘ bonjour’)
Date Jour ← lundi

I.2.4 Exercices Théoriques :


1- Quelles est la différence entre une constante et une Variable ?
2- Qu‟appelle t-on Déclaration ?
3- Qu‟appelle t-on identificateur ?
4- Qu‟elle différence y‟a-t-il entre type Logique et type Booléen ?

I.2.5 Exercices Pratiques :


Exercice 01 :
Quelles seront les valeurs des variables A et B après exécution des
instructions suivantes ? Variables A, B en Entier
Début
A←1
B←A+3
A←3
Fin

Exercice 02 :
Quelles seront les valeurs des variables A, B et C après exécution des
instructions suivantes ? Variables A, B, C en Entier
Début
A←5
B←3
C←A+B
A←2
C←B–A
Fin

2016 Page 24
Elaborer des Algorithmes Simples

Exercice 03 :
Compléter le tableau suivant en indiquant le ou les types possibles pour
les variables

Valeur de la variable Type (s) possibles


‘a’
‘’ceci est le résultat’’
‘’40.50’’
30
3.1415
Faux

1.3 Représenter un algorithme :

1.3.1 Enchaînement d’actions :


On distingue deux types d‟actions élémentaires (affectation, lecture et écriture) les
actions composées appelées encore les structures de contrôle.
Une action décrit un enchaînement d‟actions élémentaires. L‟enchaînement est
décrit par les structures de contrôle.

I.3.2 L’affectation :

C‟est l‟opération par la quelles on attribue une valeur a une variable, On la note ←
Exemple : A←2 , signifie que la variable A reçoit la valeur 2.

Une affectation peut prendre l‟une des trois formes suivants :


Variable ← constante.
Variable ← Variable
Variable ← expression
Exemples :

X ← 24

Attribue la valeur 24 à la variable X.


Ceci, dit que X soit une variable de type numérique. Si X a été défini dans un autre type,
il faut bien comprendre que cette instruction provoquera une erreur.

Y←X

On peut en revanche sans aucun problème attribuer à une variable la valeur d‟une autre
variable, telle quelle ou modifiée.
Signifie que la valeur de Y est maintenant celle de X

Y← X + 4

2016 Page 25
Elaborer des Algorithmes Simples

X contenait 12, Y vaut maintenant 16. De même que précédemment, X vaut toujours
12.

X←X+1

Si X valait 6, il vaut maintenant 7. La valeur de X est modifiée, puisque X est la


variable située à gauche de la flèche.

a) Ordre des instructions : L‟ordre dans lequel les instructions sont écrites va jouer un
rôle essentiel dans le résultat final. Considérons les deux algorithmes suivants :

Exemple 1 :

Variable A en Numérique
Début
A ← 34
A ← 12
Fin

Exemple 2 :

Variable A en Numérique
Début
A ← 12
A ← 34
Fin

Il est clair que dans le premier cas la valeur finale de A est 12, dans l‟autre elle est 34.
(C‟est juste Pour bien expliquer)

Exemple3 :
Quelles seront les valeurs des variables A, B et C après l‟exécution des instructions
suivantes :

A← 5
B←3
C←A+B
A ←2
C ←B–A

2016 Page 26
Elaborer des Algorithmes Simples

L‟exécution :

Exemple 4
Quelles seront les valeurs des variables A et B après l‟exécution des instructions
suivantes :

A← 5
B←7
A←A+B
B ←A-B
A ←A–B

L‟exécution :

Dans une instruction d‟affectation, on trouve :

à gauche de la flèche, un nom de variable, et uniquement cela. Et si on


voit autre chose qu‟un nom de variable, on peut être certain à 100%
qu‟il s‟agit d‟une erreur.
à droite de la flèche, ce qu‟on appelle une expression (une expression
est un ensemble de valeurs, reliées par des opérateurs, et équivalent à
une seule valeur)
l‟expression située à droite de la flèche soit du même type que la
variable située à gauche. C‟est très logique : on ne peut pas ranger
convenablement des outils dans un sac à provision, ni des légumes
dans une trousse à outils… sauf à provoquer un résultat
catastrophique.

Si l‟un des trois points énumérés ci-dessus n‟est pas respecté, la machine
sera incapable d‟exécuter l‟affectation, et déclenchera une erreur .

2016 Page 27
Elaborer des Algorithmes Simples

b) Définition d’un opérateur :


Un opérateur est un signe qui relie deux valeurs , pour produire un résultat.
Les opérateurs possibles dépendent du type des valeurs qui sont en jeu.
Allons-y, faisons le tour, c‟est un peu fastidieux, mais comme dit le sage au petit
scarabée, quand c‟est fait, c‟est plus à faire.

b.1) Opérateurs numériques :


Ce sont les quatre opérations arithmétiques tout ce qu‟il y a de classique.

Symboles Opérations
+ Addition
- Soustraction
* Multiplication
/ Division

Mentionnons également le ^ qui signifie « puissance ». 45 au carré s‟écrira donc 45 ^ 2.


Enfin, on a le droit d‟utiliser les parenthèses, avec les mêmes règles qu‟en
mathématiques. La multiplication et la division ont « naturellement » priorité sur
l‟addition et la soustraction. Les parenthèses ne sont ainsi utiles que pour modifier cette
priorité naturelle.
Cela signifie qu‟en informatique, 12 * 3 + 5 et (12 * 3) + 5 valent strictement la même
chose, à savoir 41. Pourquoi dès lors se fatiguer à mettre des parenthèses inutiles ?
En revanche, 12 * (3 + 5) vaut 12 * 8 soit 96. Rien de difficile là-dedans, que du
normal.

b.2) Opérateur alphanumérique : Et


Cet opérateur permet de concaténer, autrement dit d‟agglomérer, deux chaînes de
caractères.

Exemple :
Variables A, B, C en Caractère
Début
A ← "gamaz"
B ← "fadoua"
C ← A Et B
Fin

La valeur de C à la fin de l‟algorithme est "gamazfadoua"

b3) Opérateur Logique ou Booléen :


Il s‟agit du ET, du OU, du NON et XOR

2016 Page 28
Elaborer des Algorithmes Simples

Exemple01 :
Que produit l‟algorithme suivant ?
Variables A, B, C en Caractères
Début
A ← "423"
B ← "12"
C←A+B
Fin

Correction :
Il ne peut produire qu‟une erreur d‟exécution, puisqu‟on ne peut pas
additionner des caractères.

Exemple 02 :
Que produit l‟algorithme suivant ?
Variables A, B, C en Caractères
Début
A ← "423"
B ← "12"
C←A&B
Fin

Correction :
…En revanche, on peut les concaténer. A la fin de l‟algorithme, C vaudra
donc "42312".

1.3.3 Lecture et Ecriture :

Ce sont les actions qui expriment la communication entre l‟Algorithme et son


utilisateur ; heureusement, il existe des instructions pour permettre à la machine de
dialoguer avec l‟utilisateur, Dans un sens ces instructions permettent à l‟utilisateur de
rentrer des valeurs au clavier pour qu‟elles soient utilisées par le programme. cette
opération est appelée Lecture.
Dans l‟autre sens, d‟autres instructions permettent au programme de
communiquer des valeurs à l‟utilisateur en les affichant à l‟écran, cette opération est
appelée Ecriture

Donc :
La lecture : est attribuer a une variable une valeur introduite de l‟exterieur de
l‟ordinateur par un périphérique d‟entrée

L’ecriture : est communiquer l‟information a l‟exterieur de l‟ordinateur a


l‟aide d‟un périphérique de sortie.

2016 Page 29
Elaborer des Algorithmes Simples

Exemple :
Lire (X)
Lire („ Elaborer des Algorithmes „)

I.3.4 Commentaires :
Pour bien éclairer votre algorithme il est très utile d‟introduire des commentaires à
chaque fois qu‟il est nécessaire, cela permet d‟améliorer la lisibilité de votre
Algorithme.
Pour cela on utilise des accolades pour introduire un commentaire, ce dernier n‟a aucun
effet sur le déroulement de l‟algorithme.
Exemple :

Algorithme somme
A, B :réels commentaire
S : réel
Début {cet algorithme effectue l’addition de A et B}
Lire (A)
Lire (B)
S←A + B
Ecrire (S)
Fin.

1.3.5 Déroulement d’un algorithme :


Le déroulement d‟un algorithme s‟effectue en appliquant des valeurs pour les
variables puis vérifier si l‟on a le résultat qu‟on espère avoir par l‟algorithme.
Cela se fait en dressant une table et présenter les variables d‟entrée et celles de sortie.

Exemple :
Soit l‟algorithme qui lit 03 nombre entiers et calcule leurs carré.
Ecrire l‟algorithme et effectuer un déroulement pour les trois valeurs suivantes : 1.2.4
Algorithme Aucarré
Carré , A, B,C : Entiers
Début
Lire (A)
carré←A*A
Ecrire ( ′le carré est : ′ Carré)
Lire (B)
carré←B*B
Ecrire (′le carré est : ′ Carré)
Lire (C)
carré←C*C
Ecrire (′le carré est : ′ Carré)
Fin.

2016 Page 30
Elaborer des Algorithmes Simples

Déroulement :

Valeur entrée Valeur de carré Affichage


1 1 Le carré est : 1
2 4 Le carré est : 4
4 16 Le carré est :16

1.3.6 Exercices Théorique :


1- Quelles sont les différents types d‟actions qu‟on peut avoir dans un Algorithme ?
2- En quoi consiste l‟instruction de lecture ?
3- En quoi consiste l‟instruction de l‟écriture ?

1.3.7 Exercices Pratiques :


Exercice 01 :
Soit un rectangle ABCD, écrire un algorithme qui permet de calculer la
surface et le périmètre de ce rectangle.
Analyse :
Un rectangle est une forme géométrique formée de quatre cotés, il
possède une longueur et une largeur.
Si l‟on considère que long est la variable qui représente sa longueur et
larg. la variable qui représente sa largeur ; alors :
La surface du rectangle est égale au produit de sa largeur par sa longueur.
Surface = Long * Larg.
Le périmètre du rectangle = somme de la longueur et de la largeur
divisée par 2.
Périmètre = (Long + Larg) * 2

Exercice 02 :
Quelles seront les valeurs des valeurs A, B et C après exécution de
l‟algorithme suivant ?

Algorithme algo2
A, B, C : entier
Début
A←7
B ←10
C←A+B
A←3
C←B- A
Fin

2016 Page 31
Elaborer des Algorithmes Simples

Exercice 03 :
Ecrire un programme qui lit un nombre, puis calcule et affiche le carré de
ce nombre.
Peut –on optimiser l‟Algorithme en utilisant une seule variable ?

1.4 Ecrire un algorithme qui utilise les structures de contrôle :


Nous avons étudié jusqu'à présent des algorithmes constitués par une succession
non interrompue d‟actions :
Affectations, calculs
Lecture et écritures d‟informations.
Ces actions forment un bloc dont le déroulement est linéaire, séquentiel.

Début
Instruction 1
Séquence
Instruction 2
d‟instruction
Séquence
d‟instruction
---------------

Instruction N
Fin

Il arrive cependant que certains problèmes exigent l‟interruption du déroulement


séquentiel pour une prise de décision, ou bien pour une exécution répétée de certaines
actions (figure 9)

Figure.9

2016 Page 32
Elaborer des Algorithmes Simples

1.4.1 Définition d’une Structure de Contrôle :


Une Structures de Contrôles sert a contrôler le déroulement d‟un traitement.
Les Structures de Contrôles permettent la modification du déroulement d‟un
algorithme ; elles constituent une rupture dans l‟exécution d‟une séquence des actions
en proposant
Un choix dans l‟exécution de blocs (ensemble) d‟actions : Structures de Contrôles
Conditionnelles,
Ou une répétition dans l‟exécution d‟un bloc d‟actions : Structures de
Contrôles Répétitives.

Ces Structures sont basées sur l’évaluation d’expressions logiques, plus


simplement appelées Conditions, ou Tests.

1.4.2 Choix :

1) Le traitement alternatif :
Le traitement alternatif repose sur un test, ce dernier est exprimé avec une ou
plusieurs conditions.
Si « Condition _Vérifié » alors action

La condition peut prendre une valeur logique soit « FAUX » ,soit « VRAI »
Une condition peut être composée, c‟est-à-dire, qu‟on peut avoir une ou plusieurs
condition à vérifier en même temps ; pour cela on utilise les opérateurs logique ET,
OU, NON, et XOU

Si Condition 1_Vérifiée ET Condition 2_vérifiée Alors Actions

2) L’alternatif simple : (Si . . alors)


Syntaxe

Si « condition » alors « Séquence »

Souvent dans « Séquence » on peut avoir plusieurs instructions, alors il faut


regrouper les instructions dans un bloc délimité par Début et Fin.

Si « condition » alors
Début
Instruction1
Instruction2

InstructionN
FIN

2016 Page 33
Elaborer des Algorithmes Simples

Principe
Si la condition est vraie, alors la séquence d‟instructions d‟exécutes, Sinon ne rien faire.

Exemple 01 :
Si demain il pleut alors je porterai ma parapluie.

Exemple 02 :

Si A˃B alors écrire (‘choisir la valeur de A’)

Organigramme d’une alternative simple (Figure 10)

Vrai

Expression
avec condition

Séquence

Figure.10

3) L’alternatif composée : (Si . . alors . . Si non)

Syntaxe :
Si ˂ condition ˃ alors ˂ Séquence 1˃
Si non ˂ Séquence 2 ˃

Principe
Si la condition est vérifiée (vrai) , alors la ˂séquence1˃ sera exécutée, Sinon
˂séquence2˃ qui le sera .

Exemple01 :

Si demain il pleut alors j’annulerai ma visite.


Sinon je visiterai mes parents à la compagne

Exemple02 :

Si A˃B alors écrire (‘choisir la valeur de A’) « 1 »


Sinon écrire (‘choisir la valeur de B’) « 2 »

2016 Page 34
Elaborer des Algorithmes Simples

« 1 » et « 2 » ne peuvent pas s‟exécuter ensemble, c‟est l‟une ou l‟autre

Organigramme d’une alternative composée : (Figure11)

Faux Vrai
Expression
avec condition

Séquence2 Séquence1

Figure.11

1.4.3 L’alternatif multiple (choix) : (choix ˂Variable˃ de « valeuri »)


Syntaxe
choix ˂Variable de choix˃ de
Choix 1 : Séquence_1
Choix 2 : Séquence_2
---- ------
Choix n : Séquence_N
Sinon
Séquence
Fin ;

La variable de choix doit être de type Entier Positif ou de type caractère.


*
« séquence_i » peut être remplacé par un bloc d‟instruction délimité par
Début et Fin

Choix_i :
Début
Instruction1
Instruction2

InstructionN
Fin

2016 Page 35
Elaborer des Algorithmes Simples

Principe
Cette structure de contrôle présente plusieurs cas d‟exécution du traitement
mais un seul sera exécuté.

La structure Choix…de peut ne pas avoir de sinon

Exemple 01 :
Selon le cas qui se présente je prendrai la décision qu‟il faut :
Cas1 : si mon chiffre d‟affaires est inférieur à 600000 DA, alors aucun
investissement n‟est à envisager.
Cas1 : si mon chiffre d‟affaires atteint les 1000000 DA, alors j‟achèterai un
véhicule utilitaire.
Cas1 : si mon chiffre d‟affaires dépasse les 1500000 DA, alors j‟achèterai un
véhicule utilitaire et un autre de service.

Exemple 02 :
Afficher les noms des jours de la semaine ;
Lire (j)
Choix j de J est de type entier
1 : écrire („C‟est Samedi ‟)
2 : écrire („C‟est Dimanche ‟)
3 : écrire („C‟est Lundi ‟)
4 : écrire („C‟est Mardi ‟)
5 : écrire („C‟est Mercredi ‟)
6 : écrire („C‟est Jeudi ‟)
7 : écrire („C‟est Vendredi ‟)
Sinon
Ecrire („ce n‟est pas une journée ‟)
Fin.

Dans cet exemple J est de type entier positif il prend la valeur 1 ou 2 ou 3 ou 4 ou 5 ou 6


ou 7

Organigramme de l’alternatif multiple (Figure12)

Faux
Choix Var de

…… ……
Val1 : Séquence1 Vali : Séquencei Valn : Séquencen Séquence

Figure.12

2016 Page 36
Elaborer des Algorithmes Simples

1.4.4 La répétition :
On dispose de trois (3) structures pour contrôler un traitement répétitif :
La boucle Tant que …. faire
La boucle Pour ….. faire
La boucle Répéter …. Faire.

a)- Répétition contrôlée par des conditions : (Tant que….faire)


Syntaxe :
Tant que ˂condition vérifiée˃ faire ˂séquence˃
Principe
Tant que la condition est vérifiée, la séquence s‟exécute, elle ne s‟arrêtera que
l‟lorsque la condition n‟est pas vérifiée.

Exemple 01 :

Tant que le clou n‟est pas totalement enfoncé, frapper avec le marteau.
Opération répétée : frapper avec le marteau.
Condition d‟arrêt : clou totalement enfoncé.

Exemple 02 :
Afficher les 100 premiers nombres entiers positifs
Initialisation du compteur
I←0 Condition à vérifier

Tant que I ≤ 100 faire


Début Incrémentation du compteur

I←I+1
Ecrire (I)
Fin.

I doit être de type entier positif : (I : Entier)

Organigramme de la boucle Tant que (Figure13)

Expression
avec condition

(Suite)
Séquence

Figure.13

2016 Page 37
Elaborer des Algorithmes Simples

Eléments de la boucle Tant que :

La condition d’arrêt : Sans condition d‟arrêt la boucle devient infinie (cas à


éviter)
Dans l‟exemple 1 (I˃100) est la condition d‟arrêt.

Le compteur de la boucle : Il sert à faire avancer la boucle (Incrémentation).


Dans l‟exemple 1 (I←I+1) est l‟instruction qui permet d‟incrémenter la boucle.

Initialisation du compteur : La condition d‟arrêt porte sur le compteur de la


boucle „ I‟, pour cela, la boucle doit commencer par une valeur initiale (I←0).

Exemple 03 :
Algorithme qui permet d‟afficher les nombres négatifs.

Algorithme Négatif
Type entier
Type logique
N : entier

Bool : logique

Début Initialisation
Bool ←faux
Tant que bool = faux faire La virgule ‘,’ sépare la
Début variable N du message
Lire (N) ‘……’
Si N ˂ 0 alors

écrire (N , „ est un nombre négatif „)

Valeur de N

Sinon
bool←vrai
Fin
Valeur qui permet de
Fin.
quitter la boucle

Commentaire
Tant que le nombre introduit est négatif, la boucle continue de s‟exécuter elle ne
s‟arrêtera que lorsqu‟on introduit un nombre positif (Bool←vrai).

2016 Page 38
Elaborer des Algorithmes Simples

b)- Répétitions avec indice : La boucle pour : (Pour….faire).


Syntaxe :
Pour ˂compteur˃ ← ˂VI˃ à ˂VF˃ faire ˂séquence˃

Principe
Pour ˂compteur˃ allant de ˂Valeur_i˃ à ˂Valeur_f˃ faire ˂séquence˃
Pour ˂compteur˃ allant de Valeur initiale jusqu'à Valeur finale, exécuter la
séquence d‟instructions.
Le nombre de fois que la séquence s‟exécute est égal à (Valeur finale- Valeur initiale
+1) ce qui veut dire que le nombre est connu d‟avance.

Exemple 01 :
Mettre des étiquettes pour 100 produits en chaine
Pour 100 produits en chaine, mettre une étiquette
Analyse :
Opérations répétées : Mettre une étiquette
Condition d‟arrêt : 100 produits tous étiquetés.

Exemple 02 :
Afficher les 100 premiers nombres entiers positifs
I : entier
Début
Pour I←1 à 100 faire
Ecrire (I)
Fin .
Organigramme de la boucle pour (Figure 14)

Initialisation Vi

Expression Vrai
(Vi ˃ Vf)

Faux
Séquence (suite)

Incrémentation
Vi←Vi+1

Figure.14

2016 Page 39
Elaborer des Algorithmes Simples

Eléments de la boucle pour

Valeur initiale/finale : Le compteur de la boucle doit commencer le comptage à


partir de la valeur initiale et finir avec la valeur finale. (ici Vi = 1, Vf = 100).

On voit clairement ici que la boucle Pour ne nécessite pas


d‟incrémentation ni d‟initialisation au préalable.

c) Répétition a l’infini : La boucle répéter : (répéter….jusqu’a).


Syntaxe :

Répéter
˂séquence˃
Jusqu'à ˂condition vérifiée˃

Principe
Répéter l‟exécution de la séquence jusqu'à ce que la condition soit vérifiée.
Exemple01 :

Frapper avec le marteau, jusqu'à le clou totalement enfoncé,

Opération répétée : frapper avec le marteau.


Condition d‟arrêt : clou totalement enfoncé.

Exemple021 :

Afficher les 100 premiers nombres entiers positifs

I : entier
Début
I←1
répéter
Ecrire (I)
I←I+1
Jusqu‟à I˃100
Fin.

2016 Page 40
Elaborer des Algorithmes Simples

Organigramme de la boucle répéter :(Figure 15)

séquence

Faux vrai
Expression
Avec condition

Figure.15

Eléments de la boucle Pour :


La condition d’arrêt : Celle –ci doit être définie d‟une façon exacte pour arrêter
l‟exécution de la séquence (ici I ˃100), la condition doit toujours porter sur le
compteur de la boucle ( dans le cas ou le nombre d‟itération est connu).

Incrémentation : Dans ce cas il ya nécessité d‟incrémenter le compteur de boucle,


(quand le nombre d‟itération est connu).

Initialisation du compteur : Le compteur doit être initialisé à une valeur initiale


pour débuter l‟exécution.

Exemple 3 :
Algorithme qui introduit un entier, vérifie s‟il est négatif et l‟affiche.
Algorithme lecture
N : entier
Bool : logique
Début
Bool ←faux
Lire (N)
Si N ˂ 0 alors
Début
Ecrire (N)
Bool ←faux
Fin
Sinon
Bool ←vrai
Jusqu'à Bool = vrai
Fin .

2016 Page 41
Elaborer des Algorithmes Simples

Dans cet exemple, le nombre d‟exécution de la boucle Répéter, n‟est pas connu, donc il
ya nécessité d‟utiliser une variable logique (bool) pour contrôler la boucle.

La condition d‟arrêt (bool = vrai) signifie , que pour arrêter l'exécution de la


boucle, il suffit d‟introduire un nombre positif (N ≥0)
La boucle Répéter fonctionne de la même manière que la boucle Tant que, à
une différence prés
.

Cas de la boucle infinie :

Par principe les boucles infinies sont à éviter (sauf si cela fait d‟une manière
volontaire « développeur de virus »).
On appelle boucle infinie une boucle dont la condition d‟arrêt n‟est jamais
vérifiée, ce qui pousse la boucle à tourner indéfiniment jusqu'à ce que le programme
se bloque.

Exemple :
I←1
J←2
Tant que j˃i faire
Début
I←j
J←j+1
Fin

Cette boucle ne s‟arrêtera jamais puisque j est toujours supérieur à i

La boucle « tant que » peut ne pas s‟exécuter du tout si la condition


d‟accès à la boucle n‟est pas vérifiée.
La boucle « Répéter » s »exécute au moins une fois.
La boucle « Pour » s‟exécute toujours, le nombre d‟itération est connu
d‟avance.
La boucle « Tant que » et « Répéter » nécessitent toujours une
initialisation et une incrémentation du compteur de boucle (bien sur,
dans le cas ou le nombre d‟itération est connu)
Dans le cas ou le nombre d‟itération n‟est pas connu, la variable sur
laquelle porte la condition doit être possible à atteindre et doit être
initialisé au préalable, autre cas, on risque de générer une boucle
infinie .
La boucle « Pour » est utilisée exclusivement dans le cas ou le nombre
d‟itération est connu, ou utilisera un compteur entier.
Si le nombre d‟instruction du test ou de la boucle est supérieur à I
celles-ci devront être mises entre Début et Fin
Ceci n‟est pas obligatoire dans le cas ou il ya une seule instruction.

2016 Page 42
Elaborer des Algorithmes Simples

1.4.5 Exercices Pratiques :


Exercice 01 :
Ecrire un Algorithme qui de mande un nombre de départ, et écrit la table
de multiplication de ce nombre.
Exemple :
Si l‟utilisateur introduit le nombre 9 alors l‟algorithme affichera :
Table de 9 :
9x1 = 1
9x2 = 18
…….
9x10 = 90

Exercice 02:
Un magasin offre une réduction sur achat dans les conditions suivantes :
Si le montant d‟achat est inférieur à 350 DA, il n‟y a pas de réduction.
Si le montant d‟achat est compris entre 350 DA et 600 DA, le taux de la
réduction est de 2 %.
Si le montant d‟achat est supérieur à 600 DA, le taux de la réduction est de 3%.

Ecrivez un Algorithme qui détermine le prix net à payer


Net à payer = Montant d’achat-Montant de réduction.
Montant de réduction = Montant d’achat * Taux de réduction

Exercice 03 : Somme des entiers de 1 à N


En utilisant les boucles tant que, pour et répéter, écrire 03 Algorithmes qui calculent la
somme des N premiers nombres ; que remarquez-vous ?
La somme des N premiers nombres entiers :
S = 1+2+3+…+N
N est une valeur à fixer comme constante ou bien à faire entrer par lecture.

1.5 Ecrire un algorithme qui utilise des chaînes de caractères :


Une chaîne est une suite de caractères. La chaîne ne contenant aucun caractère est
appelée chaîne vide.

Exemple :

VAR NOM : CHAINE[30] → Chaine de 30 caractères maximum


ADRESSE : CHAINE → Chaine de 128 caractères maximum

2016 Page 43
Elaborer des Algorithmes Simples

1.5.1 Déclaration d’une chaîne :


Variables :
c : Caractère
ch : Chaîne
chn : Chaîne[20]

La variable ch peut contenir jusqu‟à 255 caractères alors que chn peut contenir au
maximum 20.

1.5.2 Opérations sur les chaînes de caractères :


a- la concaténation
C‟est l‟assemblage de deux chaînes de caractères en utilisant l‟opérateur « + ».
Exemple :

chn1 ← ”Turbo”
chn2 ← ”Pascal”
chn3 ← chn1+” ”+chn2
La variable chn3 contiendra ”Turbo Pascal”

b- Les opérateurs relationnels (>, >=, <=, =, #)


Il est possible d‟effectuer une comparaison entre deux chaînes de caractères, le
résultat est de type booléen. La comparaison se fait caractère par caractère de la
gauche vers la droite selon le code ASCII.

Exemple :
L‟expression (”a” > ”A”) est vraie puisque le code ASCII de ”a” (97) est supérieur à
celui de ”A” (65) ·
L‟expression (”programme” < ”programmation”) est fausse puisque ”e” > ”a” ·
L‟expression (”” = ” ”) est fausse (le vide est différent du caractère espace).

c- Accès à un caractère dans une chaîne :


Pour accéder à un caractère de la chaîne, il suffit d‟indiquer le nom de la chaîne
suivi d‟un entier entre crochets qui indique la position du caractère dans la
chaîne.
Exemple01 :

chn ← ”Turbo Pascal”


c ← chn [7]
La variable c contiendra le caractère ”P”.
En général, ch[i] désigne le ième caractère de la chaîne ch

2016 Page 44
Elaborer des Algorithmes Simples

Exemple02 :
Ecrire un algorithme « Palind » qui lit une chaîne de caractères et vérifie si cette chaîne
est un palindrome ou non. Un palindrome est un mot qui peut être lu indifféremment de
droite à gauche ou de gauche à droite (Exemples : ”AZIZA”, ”LAVAL”, ”RADAR”,
”2002”, etc.)

Correction :
Algorithme Palind
Variables
ch : Chaîne i
L : Entier
Pal : Booléen
Début
Ecrire(”Entrer une chaîne non vide : ”) Lire(ch)
L ← long(ch)
Pal ←Vrai
i←1
TantQue (i <= L/2) et (Pal) Faire
Si (ch[i] = ch[L-i+1]) Alors
i←i+1
Sinon Pal ← Faux
FinSi
FinTQ
Si (Pal) Alors
Ecrire(ch, ” est un palindrome”)
Sinon
Ecrire(ch, ” n‟est pas un palindrome”)
FinSi
Fin.

1.5.3 Exercices Pratiques :

Exercice01 :
Ecrire un algorithme qui lit une chaîne de caractères puis affiche son inverse. Exemple
Si la chaîne entrée est ”algo”, l‟algorithme doit afficher ”ogla”.

Exercice 02 :
Ecrire un algorithme qui lit une chaîne de caractères et renvoie son équivalent en
majuscules.

Exercice 03 :
Ecrire un algorithme qui permet de compter le nombre de mots dans une phrase. La
phrase commence obligatoirement par une lettre et les mots sont séparés par des
espaces.

2016 Page 45
Elaborer des Algorithmes Simples

Exercice04 :
Ecrire un algorithme qui détermine et affiche le mot le plus long dans une phrase
donnée.

1.6 Tableaux unidimensionnels

16.1 Définition :
Un tableau à une dimension, appelé aussi vecteur, est une structure de données
constituée d‟un nombre fini d‟éléments de même type et directement accessibles par
leurs indices ou indexes.
Les tableaux sont utilisés pour représenter une variable qui peut prendre plusieurs
valeurs en même temps. Un tableau regroupe des éléments de même type.

L‟importance des vecteurs apparait dans les opérations de tri et de recherche de


données.

Une valeur
I=1
Indice
X

1.6.2 Déclaration d’un vecteur :


On déclare un vecteur par un identificateur, le mot clé tableau, la taille du tableau
et le type de données qu‟il contient.

Taille du tableau
Identificateur Type de données

Nom_Vect : Tableau [1..n] de ˂ type ˃

Exemple 01:
Vect1 : Tableau [1..10] de Réels.
Les affectations qu‟on peut avoir :
X ← Vect1 [5] avec x de type Réel
Vect [2] ←Vect [10]
Vect [3] ←X
Vect [2] ←X+Vect [7]

2016 Page 46
Elaborer des Algorithmes Simples

Exemple 02 :
Tab : Tableau [1..5] de chaine de caractères.
Soit Mot1, Mot2 de type Chaine de caractères alors
Tab [1]← „Mohamed‟
Mot1 ← Tab [1]
Mot2 ← Mot1

1.6.3 Manipulation d’un tableau :


1. La lecture :
La lecture d‟un vecteur consiste à entrer les valeurs qu‟il doit contenir.

Vect : Tableau [1..n] de type


Début Instruction de Lecture
Pour I ← 1 à n faire des éléments du tableau

Lire (Vect [I] )


Fin.

Cette méthode consiste à entrer directement les éléments à partir du clavier.

Exemple 01 :
Soit à entrer les cinq nombres réels suivants dans un tableau 15, 20, 25, 30, 60

Vect : Tableau (1. .5) de réels


I : entier
Début
Pour I ← 1 à 5 faire
Lire (Vect [I] )
Fin

L‟algorithme attend que vous saisissiez les 5 nombres réels au clavier.


Si par contre les éléments du tableau sont calculés à partir d‟une expression,
L‟algorithme se présentera comme suite :

Vect : Tableau [1 ..n] de « Type 1 »


I : entier
Elément : « Type 1 »
Début
Pour I← 1 à n faire
Elément←« expression en fonction de I »
Vect [ I ] ← Elément
Finpor
Fin.

2016 Page 47
Elaborer des Algorithmes Simples

Exemple 02 :
Entrer les 10 premiers nombre paires

Vect :Tableau [1. . n] d‟entiers


I : entier
Elément :Entier
Début
Pour I ← 1 à 10 faire
Début
Elément ← 2*I
Vect [I]← Elément
Fin
Fin.

On pourra utiliser les boucle Tant que ou Répéter pour la même opération.

2- Ecriture d’un vecteur :

On appelle écriture d‟une valeur, l‟opération qui permet d‟afficher son contenu à l‟écran

Vect : tableau [1. .n] de « type »


I :entier
Debut Instruction d‟écriture (ou
Pour I ← 1 à 10 faire d‟affichage) des éléments du
tableau
Ecrire (Vect [I])
Fin

Exemple 01 :
Algorithme qui fait entrer 5 nombres réels suivants dans un tableau puis les affichent ,
15, 20, 25, 30, 60

Vect : Tableau [1. .5] de Réels


I :entier
Debut
Pour I ← 1 à 5 faire
Lire (Vect [I])
Pour I ← 1 à 5 faire
Ecrire (Vect [I])
Fin

L‟algorithme nous affiche : 15 20 25 30 60

2016 Page 48
Elaborer des Algorithmes Simples

Exemple 02 :
Soit à écrire un Vecteur V en mémoire, contenant les notes de 40 élèves ; écrire un
algorithme qui permet de créer le Vecteur et d‟afficher son contenu à l‟écran.
-Taille du vecteur : 40
-Type de données : réel
-Dimension de V : 1

Algorithme :
Algorithme note Déclaration d‟un
V : tableau [1..40] de réels tableau de 40notes
I : entier
Début
Pour I ← 1 à 40 faire
Lire (V [I])
Pour I ← 1 à 40 faire
Ecrire (V [I])
Fin.

1.6.4 Méthodes de tri d’un vecteur :


Un algorithme de tri est, en informatique ou en mathématique est un algorithme qui
permet d‟organiser une collection d‟objets selon un ordre déterminé, les objets à
trier font donc partie d‟un ensemble muni d‟une relation d‟ordre.
Les ordres les plus utilisés sont l‟ordre numérique et l‟ordre alphabétique Suivant la
relation d‟ordre considérée, une même collection d‟objets peut donner lieu à divers
arrangements.
Il existe plusieurs méthodes permettant de trier les éléments d‟un tableau.
Chaque méthode possède ses avantages et ses inconvénients .
Une méthode peut être lente mais économique (occupent moins d‟espace)
En mémoire ; comme elle peut être rapide et gourmande en mémoire.

On peut citer ces quelques méthodes qui reviennent souvent dans les algorithme.

1. Tri par permutation : C‟est le tri le plus simple qui consiste à comparer les
élément du tableau en commençant du début jusqu‟à la fin et faire des comparaisons
et permuter les valeurs à chaque fois qu‟il est nécessaire.

2. Le tri par sélection : le principe consiste à fixer le premier élément du vecteur


comme minimum , puis le comparer aux autres éléments du vecteur ,s‟il existe un
élément inférieure au minimum fixé , alors on fait la permutation , l‟élément en
question prend la place du minimum et on recommence jusqu‟à arriver au dernier
élément du vecteur.

2016 Page 49
Elaborer des Algorithmes Simples

Exemple :
Ce vecteur contient 04 élément non triés , pour le faire il a fallut 8 étape :
Le nombre 3 est comparé aux 03 autre élément comme suite :
1. Comparer à 5, il est inférieure, donc aucun changement.
2. Comparer à1, il est supérieure , donc permuter les cases du vecteur , le minimum
est 1.
3. 1 est comparé à tous les élément restant du vecteur , il est bien inférieure, donc
reste inchangé.
4. On déplace d‟une pas l‟indice Min, la valeur 5 est fixée comme Min et on
recommence la comparaison.
5. La nombre 5 est comparé à 3 , il est supérieur donc permuter les cases , le
minimum est 3.
6. 3 est comparé à 2, il est supérieur , donc permuter , le minimum est 2.
7. Le Min est déplacé d‟un pas , il à comme valeur 5 , celle-ci est comparée au
reste des élément du tableau.
8. Comparée à 3, elle est supérieur, donc permuter , et puisque 3 est le dernier
élément du tableau ; le déroulement s‟arrête et le vecteur est triées.

Min Min

1/ 3 5 1 2 5/ 1 3 5 2
Min Min

2/ 3 5 1 2 6/ 1 2 5 3
Min Min

3/ 1 5 3 2 7/ 1 2 5 3
Min Min

4/ 1 5 3 2 5/ 1 2 3 5

3. Le tri par bulles : Principe le tri par bulles : le tri consiste à parcourir le tableau
d‟un bout à l‟autre en effectuent la comparaison de deux élément successifs et les
permuter , s‟ils ne sont pas ordonnés. La bulles fait remonter l‟extremum
(maximum ou minimum) vers l‟extrémité.
Exemple :
On considère un vecteur de 4 éléments suivant à trier selon l‟ordre croissant :

5 30 2 4
5 30 2 4 5 30 2 4
5 2 30 4 1 parcours
5 2 4 30

2016 Page 50
Elaborer des Algorithmes Simples

Les nombres 5 et 30 sont comparés, alors pas de changement puis 30 et 2 sont


comparés , 30 remonte en le permutant avec 2, puis 30 et 4 comparés, 30 remonte en le
permutant avec 4 ; jusqu‟ici on fait un seul parcours.

On reprend le parcours depuis le début de la même façon, le résultat est obtenu à la fin
du quatrième parcours.

Si le tableau contient n éléments, il doit y avoir n parcours.


L‟Algorithme est bien illustré dans l‟exercice 06
4. Le tri par comptage : Le principe du tri par comptage consiste en l‟utilisation
d‟un vecteur d‟indices ; les éléments à trier sont comparés l‟un à l‟autre, et à chaque fois
qu‟un élément est supérieur à l‟élément comparé, l‟indice correspondant est incrémenté.
L‟indice représente le nombre de fois que l‟éléments est supérieur aux autres.

Exemple :

Vecteur à trier 1,5 5,7 4,5 3,2

Vecteur d‟indices avant le tri 1 1 1 1

Vecteur d‟indices après le tri 0 3 2 1

Vecteur trié 1,5 3,2 4,5 5,7

5. Le tri par insertion : Le tri par insertion consiste à prendre un élément non triée
du tableau et à l‟insérer directement à la bonne position dans la partie du tableau
déjà triée.
Le principe est comme suite (cas tri croissant) :
a. On place l‟élément à trier dans une variable temporaire ;
b. Tant que les éléments qui précédent l‟élément à trier lui sont supérieurs, on
déclare ces éléments d‟une position ;
c. On insère ensuite l‟élément qui se trouve dans la variable temporaire à la
nouvelle position récupérée par le décalage.

2016 Page 51
Elaborer des Algorithmes Simples

Exemple :
Voici les étapes de l‟exécution du tri par insertion (croissant) sur le tableau à 5 éléments
suivant :

10 7 2 5 9

L‟élément à trier 7 trier est placé dans une variable temporaire ;


Le tableau est représenté au début et à la fin de chaque itération.

i=1 10 7 2 5 9 7 10 2 5 9

i=2 7 10 2 5 9 2 7 10 5 9

i=3 2 7 10 5 9 2 5 7 10 9

i=4 2 5 7 10 9 2 5 7 9 10

Algorithme tri_insertion
Tab : tableau [1..n] de réels
temp : réel
i, j : entier
Début
n←5
pour i ← 2 à n faire
Début
temp ← tab [ i ]
j ← i-1
tantque j ˃ 0 Tab [ j ] ˃ temp
Début
Tab [ j + 1 ] ← Tab [ j ]
J ← j-1
Fin
Tab [ j+1] ← temp
Fin
FIN.

2016 Page 52
Elaborer des Algorithmes Simples

6. Le tri Shell : Le tri de shell est une variante qui améliore le tri par insertion.
Dans ce type de tri les éléments ne sont plus décalés de un à un mais par pas plus
important.
La permutation s‟effectue en fonction de ce pas.
Une fois les permutations de ce pas effectuées, le pas est réduit jusqu‟à arriver à une
pas égal à 1.

Algorithme Shell_tri
Pas, I, J ; entiers :
Tmp : réel ;
Début
{choisir un pas}
Lire (pas)
Tantque (Pas ˃ 0) faire
Début
Pour I← Pas à N-1 faire
Début
Tmp ← A [I]
J ← I – Pas
Tantque ( J ˃= 0) et ( Tmp ˂ A [ J]) faire
Début
A [J + Pas ] ← A [ J ]
J ← J – Pas
Fin
A [J + Pas ] ← Tmp
Fin
Fin
Fin .

Le pas ne doit pas être choisi au hasard car c‟est lui qui dépend l‟efficacité de
l‟algorithme , les recherches ont démontre que le pas suit la formule d‟une suite
récurrente suivante :

Un = 3* Un-1 + 1

2016 Page 53
Elaborer des Algorithmes Simples

L‟algorithme se présente comme suit :


Algorithme TriShell
Tableau [ 1.. n ] d’entiers
Pas, i, j, x, k ; entiers
Début
{Recherche du pas optimal qui est résultat de la }
{ suite récurrente : Un = 3. Un-1 + 1 tel que Un ˂ n.}
Pas ← 0
Tantque (Pas ˂ n ) faire
Pas ← 3* pas + 1
Tantque (Pas ≠ 1 ) faire
Début
Pas ← pas/3
Si ( pas = 1 ) alors
x←1
sinon
x ← n-(n mod pas ) + 1
Pour i← x à n faire
Début
k ← t [ i ] ; { valeur à insérer }
{recherche de la position d’insertion }
J←i;
Tantque ( J ˃= 0) et ( t [ j – pas ] ˃ k ) faire
Début
t [ j ] ← t [ j - pas ]
j ← j – Pas
Fin
{Insertion de la valeur à son emplacement }

fin
Fin
Fin .

I.6.5 Exercices Pratiques :


Exercice 01

Soit un vecteur qui contient l‟ensemble des notes N élevés, on veut écrire un
algorithme qui :
Calcule la note moyenne de N élèves.
Détermine le nombre d‟élèves qui ont une note supérieure à la note moyenne
On considère un tableau qui contient les notes des élevés d‟une section :
10 17 08 11 14

Note moyenne = (la somme des notes ) / le nombre des notes


Num = 10+17+08+11+14/5 = 12

2016 Page 54
Elaborer des Algorithmes Simples

Exercice 02 :
On considère un tableau ( Vecteur ) de valeurs numériques réelles, on veut trier le
tableau en utilisant la méthode de tri « par Sélection »

Exercice 03 :
Ecrire un algorithme qui fait le tri d‟un tableau de numériques, en utilisant le tri par
bulle .

Exercice 04 :
On considère un tableau de valeurs numériques, on veut trier le tableau en utilisant la
méthode de tri « par Comptage »

1.7 Ecrire un algorithme qui utilise des tableaux à deux dimensions :


Les tableaux à deux (2) dimensions qui sont relativement très utilisés dans le calcul
matriciel et la résolution des systèmes d‟équation.
L‟utilisation des tableaux à deux dimensions est très utile dans la représentation de
donnés sous forme tabulaire qui offre une possibilité de calcul sur les donnés.
Le principe d‟utilisation est le même que celui des tableaux à une (1) dimension
(Vecteurs). En effet un tableau à deux dimensions n‟est autre cas tableau à 1 dimension
avec comme éléments des variables de type tableau on forme donc un tableau de
tableaux.

Exemples :
Prenons l‟exemple des notes d‟élèves d‟une classe dans trois (3) matières.
La note d‟un élève peut être représentée selon deux critères, un critère représentant
l‟élève, un autre représentant la matière (module).
La classe est formées de 11 élevés qui examinent dans trois matières, Algorithmique,
Architecture des ordinateurs et mathématique.

Le tableau suivant représente l‟ensemble des notes des élevés dont les modules
d‟Algorithmique, Architecture des ordinateurs et mathématique :

E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 E11
Algo (M1) 10 11 12 15 2 14 08 06 05 06 16
Archit (M2) 14 15 14 12 13 17 10 09 08 14 13
Maths(M3) 16 12 3.5 12 7.5 15 09 13 14 06 07

Ce tableau présente deux entrées : L‟entrée Ei pour les élevés ;


L‟entrée Mi pour les Modules ;

2016 Page 55
Elaborer des Algorithmes Simples

1.7.1 Déclaration d’un tableau à deux dimensions :


Un tableau à deux dimensions est déclaré en utilisant un identificateur, le mot clés
Tableau, le nombre de ligne (n), le nombre de colonnes et le type de données qu‟il
contient.
Table : Tableau [ 1..n, 1..m] de ˂type˃

˂type˃ : représente le type de donnée que contient le tableau.


n : est le nombre de ligne.
m : est le nombre de colonne

Exemple :

Le tableau de l‟exemple précédent est déclaré de la façon suivante :

Notes : Tableau [ 1..3, 1..11] de réel

1.7.2 Lecture d’un tableau à deux dimensions :


Pour I← 1 à n faire
I indice de lignes
J indice de colonnes

Pour J← 1 à m faire
Instruction d‟écriture ou affichage

Des éléments du tableau


Lire (Table [ I, J]

La lecture signifie l‟introduction des éléments dans le tableau, pour cela il faut parcourir
les lignes et les colonnes pour insérer les éléments.

La première boucle parcoure les lignes ; la deuxième parcoure les


colonnes
Les éléments d‟un tableau sont lus à partir du clavier et chargés en
mémoire dans la variable table.
Exemple :

Pour l‟exemple précédent la lecture s‟effectue de la façon suivante :

Pour I← 1 à 3 faire
Pour J← 1 à 11 faire
Lire (Notes [ I, J]

2016 Page 56
Elaborer des Algorithmes Simples

1.7.3 Ecriture d’un tableau à deux dimensions :

Pour I← 1 à n faire
Pour J← 1 à m faire
Ecrire (Table [ I, J]

Instruction d‟écriture ou affichage

Des éléments du tableau

L‟écriture signifie l‟affichage des éléments du tableau sur l‟écran, pour cela il faut
parcourir les lignes et les colonnes pour écrire les éléments.

Exemple :

Pour l‟exemple précédent l‟écriture s‟effectue de la façon suivante :

Pour I← 1 à 3 faire
Pour J← 1 à 11 faire
Ecrire (Notes [ I, J]

1.7.3 Exercices Pratiques:


Exercices 01:
Addition de deux tableaux
En utilisant la structure de tableau, écrire un algorithme qui fait l‟addition de deux
tableaux de même dimensions.
Indications :
-addition de deux tableaux :

T1 1 4 1
+T2 +T2 0 3 2 = T3 1 7 3

2 5 1 1 4 2 3 9 3

3 6 1 2 5 2 5 11 3

0 2 5 1 7 6 1 9 11

-utiliser trois tableaux.

2016 Page 57
Elaborer des Algorithmes Simples

Exercices 02:

Traitement des notes


Soit un tableau T qui contient les notes des stagiaires durant le premier semestre
Ecrire un algorithme qui permet de :
Calculer les moyennes générales des stagiaires.
Calculer les notes moyennes des modules.
Chercher la meilleure note pour un module donné.
Chercher la meilleure note du semestre , de quel stagiaire, et dans quel modules.

Indications :

La solution consiste à utiliser un tableau à deux (02) dimensions (T[a,b]).


L‟indice de lignes (i) représente les modules.
L‟indice de colonnes (j) représente les stagiaires.
T[i,j] représente la note du stagiaires num j dans le module num i .

2016 Page 58
Elaborer des Algorithmes Simples

1.8 Résumé Général


Des réponses sont issues de ce modeste manuel qui recense les questions posées par le
stagiaire concernant l‟Elaboration des algorithmes simples et ce lui la est un moyen pour le
programmeur de présenter son approche du problème à d'autres personnes. En effet, un
algorithme est l'énoncé dans un langage bien défini d'une suite d'opérations permettant
de répondre au problème.

Pour résoudre un problème il faut passer par ces étapes : Analyse, présentation des
données sous forme d‟un Algorithme, déroulement et vérification de l‟algorithme et
en fin la traduction d‟un algorithme à un langage machine.
Un Algorithme est un ensemble de règles opératoires dont l'enchaînement permet de
résoudre un problème au moyen d'un nombre fini d'opérations.
On peut présenter un Algorithme soit sous forme d‟un organigramme (est ce n‟est
plus pratique si l‟algorithme est grand) , ou sous forme linéaire (pseudo code)
Un algorithme est présenté comme suit :
ALGORITHME <NOM>
<Déclaration des variables>
DEBUT
<Actions>
…….
<Actionsn>
FIN

La déclaration permet de décrire d‟une manière précise les données (variables et


constantes) et les résultats d‟un algorithme.
Ils existe plusieurs types de donnée : entiers, réel, booléen…etc
Un algorithme subit les opérations suivantes :une affectation, lecture, et écriture.
Le déroulement d‟un algorithme s‟effectue en appliquant des valeurs pour les
variables puis vérifier si l‟on a le résultat qu‟on espère avoir par l‟algorithme .
Une Structures de Contrôles sert a contrôler le déroulement d‟un traitement.
elles permettent la modification du déroulement d‟un algorithme ; elles constituent
une rupture dans l‟exécution d‟une séquence des actions en proposant
Une chaîne est une suite de caractères, on peut effectuer plusieurs opérations sur les
chaines de caractères comme la concaténation…
Un vecteur est un tableau à une dimension, un vecteur doit être déclaré , les
opérations possibles sur un tableau sont la lecture et l‟écriture.
Les tableaux sont conçues pour le stockage de valeurs multiples , mais suivant les
cas , on peut avoir besoin d‟ordonner ses valeurs par ordre croissant ou décroissant.
Il existe plusieurs méthodes permettant de trier les éléments d‟un tableau : Tri par
permutation, Tri par sélection, tri par bulle….
L‟utilisation d‟un tableau à deux dimensions est le même que celui des Vecteurs,en
effet un tableau à deux dimensions n‟est autre cas tableau à 1 dimension avec
comme éléments des variables de type tableau on forme donc un tableau de
tableaux.
Un tableau à deux dimensions doit être déclaré, les opérations possibles sur un
tableau sont la lecture et l‟écriture.

2016 Page 59
Elaborer des Algorithmes Simples

1.9 Exercices de Synthèse :


TP1 : Calcule La moyenne générale de N stagiaire pour 03 notes et vérifier si le
stagiaire est admis ou ajourné.
Spécialité : Base de Donnée BTS
Module : Elaborer le Algorithmes Simples
Durée : 01 Heure
But : Calcule de la Moyenne générale des Stagiaires
Matériels requis : Tableau + Marqueurs .
Outils : Tableau + Marqueurs .
Mise en Situation : Vous êtes des informaticiens de spécialité Base de donnée on
vous a demandé de calculer la moyenne la moyenne générales des stagiaires .
Analyse :
- On a un N Stagiaire , 03 Notes et 03 Coefficients
- Pour calculer la moyenne , en utilisant la formule suivante :
- Moy_g = ((N1 *2)+(N2*1)+(N3*4))/7
- Donc : N1,N2,N3 et Moy_g sont des réels
- N entier et I entier pour compter et parcourir le nombre de stagiaire
- En utilisant deux variables caracteres (Char) Nom et Prenom
- Le Tratement se fait avec la bouvle(Pour..Faire) et avec un test(Si alors
- Sinon finsi) pour afficher le résultat du stagiaire.

Marche à suivre :
Algorithme Moyenne_Générale ;
Const C1 = 2 , C2 = 1 , C3 = 4 , NBC = 7
Var N,I : Entiers
Nom, Prénom : Chaine[20]
Note1,Note2, Note3, Moy_g : Réel
Début
Ecrire („Entrer Le nombre de stagiaires S.V.P : „) ;
Lire(N) ;
Pour I de 1 à N Faire
Ecrire(„Entrer le nom du stagiaire SVP :‟)
Lire(Nom) ;
Ecrire(„Entrer le Prénom du stagiaire SVP :‟)
Lire(Prenom) ;
Ecrire(Entrer la première note SVP :‟) ;
Lire(Note1) ;
Ecrire(Entrer la Deuxième note SVP :‟) ;
Lire(Note1) ;
Ecrire(Entrer la Troisième note SVP :‟) ;
Lire(Note1) ;
Moy_g  ((Note1*C1) +(Note2*C2) + (Note3*C3))/NBC
Si Moy_G >= 10 alors
Ecrire („Stagiaire Admis‟) ;
Ecrire(„Le nom du stagiaire est :‟,Nom) ;

2016 Page 60
Elaborer des Algorithmes Simples

Ecrire(„Le Prenom du stagiaire est :‟,Prenom) ;


Ecrire(„La moyenne stagiaire est :‟,Moy_g) ;
Sinon
Ecrire(„Stagiaire Ajourné‟) ;
Ecrire(„Le nom du stagiaire est :‟,Nom) ;
Ecrire(„Le Prénom du stagiaire est :‟,Prenom) ;
Ecrire(„La moyenne stagiaire est :‟,Moy_g) ;
Finsi
Finpour
Fin.

Grille d’évaluation formative


Spécialité : Base de Donnée
Module : Elaborer les Algorithmes Simples

Grille d’évaluation formative


Evaluation
Stagiaire Formateur
Eléments d’observation résultats Résultats
Oui Non Non Oui

1 Déclaration des variables


- Déclarer toutes les variables qu‟on doit utiliser
dans l‟algorithme et les constantes

2 Lecture des Valeurs


- Faite entrer le nombre de stagiaire à calculer leurs
moyennes

3 La boucle pour repetetif


- Utiliser la boucle pour pour calculer la moyenne
de touts les stagiaires .

4 La lecture des données


- Lire Nom,Prenom,Note1,Note2,Note3 de
chaque stagiaire

5 Le traitement
- Calculer la moyenne de chaque stagiaire

6 Le Teste Conditionné:
Tester si la moyenne est >= 10 ou < 10

5 L’Affichage
-Afficher le nom,prenom,Moyenne du stagiaire
Le resultat final

2016 Page 61
Elaborer des Algorithmes Simples

BIBLIOGRAPHIE

Initiation à l‟ALGORITHMIQUE exercices corrigés et commentés Mc BELAID

Edition : Pages Bleues.

Le Champion de l‟Algorithmique et de la Programmation - EL MAARIFA


PAGES BLEUES Mohand Chérif Belaid

S. Graine Algorithmique et Structures de données 2éme édition


…..L‟ABEILLE 0770264631

Cour et exercice corriges d‟Algorithmiques


http://Fr.Scribd.com/doc/214641203/

Algorithmique et structure de données BAGHDADI ZITOUNI

Algorithmique et Programmation pour non matheux, cours complet,


CHRISTOPHE DARMANGEAT , université paris 7

http//www.pise info/algo/index.htm, 28/12/2008

cours Algorithmiques /elies jebra


cours chaines de caractéres.pdf

2016 Page 62

Vous aimerez peut-être aussi