Telechargé par vignonamavih

null-1

publicité
Améliorer vos compétences – Booster votre employabilité – Avoir un métier
Module 1 :
ALGORITHMIQUE
Améliorer vos compétences – Booster votre employabilité – Avoir un métier
SOMMAIRE
I.
Introduction à l’algorithmique ................................................................................................... 3
1. Introduction ................................................................................................................................ 3
2. Pourquoi passer par l’algorithme ?............................................................................................. 3
3. Activités ..................................................................................................................................... 3
II.
1.
2.
3.
4.
5.
Notion de base ............................................................................................................................ 5
Définition ................................................................................................................................... 5
Les objets.................................................................................................................................... 5
Formalisme d’un algorithme ...................................................................................................... 5
Comment se prendre pour écrire un algorithme ? ...................................................................... 5
Validité d’un algorithme ............................................................................................................ 6
1.
2.
3.
4.
Instructions élémentaires ............................................................................................................ 6
Déclaration des constantes et des variables................................................................................ 6
Affectation .................................................................................................................................. 6
Expressions et opérateurs ........................................................................................................... 8
Instruction d’entrée et sortie ....................................................................................................... 8
1.
2.
3.
4.
Les structures conditionnelles .................................................................................................... 9
Structure d’un test ...................................................................................................................... 9
Qu’est-ce qu’une condition ........................................................................................................ 9
Conditions composées .............................................................................................................. 10
Tests imbriqués ........................................................................................................................ 10
III.
IV.
V.
VI.
Les structures itératives ............................................................................................................ 11
1. La boucle tant que .................................................................................................................... 12
2. La boucle pour .......................................................................................................................... 12
Travaux dirigés et travaux pratiques ........................................................................................ 13
2
Doumez Technologies --------------------------------------------------------------------------------Algorithmique
Améliorer vos compétences – Booster votre employabilité – Avoir un métier
I.
Introduction à l’algorithmique
1. Introduction
Dans la vie de chaque jour, Comme le montrent les activités des pages suivantes, nous utilisons
consciemment ou inconsciemment des algorithmes. En comparant un ordinateur à notre système, il peut
produire des résultats à partir des informations qui lui sont fournis et les méthodes de résolution
permettant de traiter ces informations.
Un algorithme représente l’enchainement des actions à réaliser nécessaires à la résolution des
problèmes.
Pour résoudre un problème en utilisant l’ordinateur, le développeur doit faire une analyse de la situation
et écrire sa solution à travers l’algorithme. Ensuite cet algorithme sera traduit en un programme en
utilisant un langage de programmation. C’est en exécutant ce programme que l’on pourra avoir les
résultats.
2. Pourquoi passer par l’algorithme ?
L’algorithme est indépendant du langage de programmation. Les analystes programmeurs réfléchissent
sur la spécification du problème et les méthodes pour les résoudre. Ils sont réutilisables et beaucoup sont
dans le domaine public.
3. Activités
a. Activité 1
Chaque matin, Albert va à l'école. Malheureusement en sortant du lit il est encore un peu endormi et ne
sait plus très bien ce qu’il doit faire pour se préparer. Peux-tu aider Albert à se préparer ? Ordonne les
étiquettes suivantes. Attention il y a plusieurs possibilités.
Enlever son pyjama ; s’habiller ; Mettre son manteau ; Laver son bol de céréales ; Déjeuner ; Se coiffer ;
Prendre son sac ; Aller à la douche ; Se laver les dents ; Mettre ses sous-vêtements ; Mettre ses
chaussures.
1.
7.
2.
8.
3.
9.
4.
10.
5.
11.
6.
3
Doumez Technologies --------------------------------------------------------------------------------Algorithmique
Améliorer vos compétences – Booster votre employabilité – Avoir un métier
b. Activité 2
Chaque matin, juste avant d’aller à l’école, Marcel doit choisir mettre un manteau ou non et prendre un
parapluie ou non. Son choix dépend évidemment de la météo. A l’aide des étiques suivants, reconstituer
l’ordre que suit Marcel pour choisir sa tenue.
Mettre un manteau ; Si ; Sinon ; Ne pas mettre de manteau ; prendre un parapluie ; Si ; Il fait froid ; Il
pleut ; Alors ; Ne pas prendre de parapluie ; Alors ; Sinon ; Regarder la météo ; Prendre son sac.
0.
1.
2.
3.
8.
9.
4.
5.
6.
7.
10.
11.
12.
13.
c. Activité 3
Chaque matin, lors de son déjeuner, Antoine mange des beignets. S’il a faim, il peut manger tant qu’il
veut. De même, il peut boire du jus de fruit tant qu’il a soif. A l’aide des étiquettes suivantes
reconstituer un algorithme pour le petit déjeuner de Antoine afin qu’il n’ait pas faim en partant à l’école.
J’ai soif ; Manger un beignet ; Tant que ; Laver son verre ; J’ai faim ; Tant que ; Boire du jus d’orange ;
Tant que ; Ranger la cuisine.
1.
2.
3.
4.
5.
6.
7.
8.
4
Doumez Technologies --------------------------------------------------------------------------------Algorithmique
Améliorer vos compétences – Booster votre employabilité – Avoir un métier
II.
Notion de base
1. Définition
Un algorithme peut être défini comme la séquence d’action permettant d’arriver à un résultat déterminé
à partir d’une situation donnée. Il doit respecter les règles suivantes :
 Il est défini sans ambiguïté ;
 Il se termine après un nombre finis d’opération ;
 Toutes les opérations doivent pouvoir être effectuées par un homme en utilisant des moyens
manuels ;
 Il manipule des objets qui doivent qui doivent être définis de façons très précise.
2. Les objets
Il existe trois (03) types d’objet en algorithmique.
 Les objets d’entrée : ce sont les données fournies à l’algorithme ;
 Les objets de sortie : ce sont les résultats produits par l’algorithme ;
 Les objets internes : ce sont des données des données servant aux manipulations internes de
l’algorithme.
Un objet est parfaitement défini en connaissant ses trois (03) caractéristiques :
 Son identificateur (nom de l’objet) : Il est représenté par un ensemble quelconque de caractère
alphanumérique (lettre + chiffre) commençant obligatoirement par une lettre.
 Son type : le type est l’ensemble de valeur constante ou variable et par l’ensemble des opérations
que nous pouvons leur appliquer. Exemple : Entier, Réel, Caractère, Chaine de caractère,
Booléen etc.
 Sa valeur : (constante ou variable). Une constante est un objet dont sa valeur ne change pas. Par
contre la valeur d’une variable change
3. Formalisme d’un algorithme
Un algorithme est défini par les informations suivantes :
Son nom
Les déclarations des constantes et des variables
La liste des actions constituant les traitements à exécuter. Ils sont délimiter par les termes DEBUT et
FIN.
NB : Afin de permettre une plus grande visibilité de l’algorithme, on fait des commentaires
« explicatifs » délimités par les symboles « /* » et « */ ».
Exemple :
Programme mon_programme
/*Déclaration des constantes et des variables*/
CONST
nom_Const=valeur
VAR
nom_Var :type
DEBUT
Action 1
…
Action n
FIN
4. Comment se prendre pour écrire un algorithme ?
5
Doumez Technologies --------------------------------------------------------------------------------Algorithmique
Améliorer vos compétences – Booster votre employabilité – Avoir un métier
Pour écrire un algorithme, il faut se poser des questions suivantes :
 Quelles sont les données dont on dispose ? (objets d’entrée)
 Quelles sont les résultats que l’on doit avoir ? (informations à la sortie)
 Comment obtenir ces résultats ?
 En appliquant les règles de gestion ;
 En écrivant toutes les actions nécessaires au traitement ;
 (Attention aux cas particuliers)
5. Validité d’un algorithme
Pour être valable, un algorithme doit répondre aux critères suivant :
 Le résultat donné doit être le résultat attendu (le bon résultat dans tous les cas de figure) ;
 L’algorithme s’arrête une fois que sa tâche est accomplie ;
 Le résultat est donné dans un temps acceptable ;
 L’algorithme doit gérer au mieux la mémoire de l’ordinateur.
III.
Instructions élémentaires
1. Déclaration des constantes et des variables
Déclaration des constantes
Pour déclarer une constante, on utilise le mot clé CONST(ou CONSTANTES).
Syntaxe : CONST
nom_Const=valeur
Exemple :
Déclarer une constante nommé nombre de jour qui a pour valeur 12.
CONST NBE_JR : 12
Déclarer le nombre pi utilisé en trigonométrie
CONST PI=3.14
Déclaration des variables
Pour déclarer une variable, on utilise le mot clé VAR (ou Variables) suivi de l’identificateur de la
variable et de son type.
Syntaxe : VAR
nom_Var : type
Exemple :
VAR
N : Entier
Perimetre : Réel
Reponse : Booléen
Nom_de_famille : chaine de caractère
2. Affectation
Affecter c'est attribuer une valeur à une variable ("on remplit la boîte"). Elle s’effectue en utilisant le
symbole «  ».
Syntaxe : nom_var  valeur.
Exemple :
Nom_de_famille  « SAMATI »
NB : La valeur qu’on affecte peut être une expression dont l’évaluation produit un résultat du type de
nom_var.
6
Doumez Technologies --------------------------------------------------------------------------------Algorithmique
Améliorer vos compétences – Booster votre employabilité – Avoir un métier
Exercices d’application
Exercice 1
Exercice 2 :
7
Doumez Technologies --------------------------------------------------------------------------------Algorithmique
Améliorer vos compétences – Booster votre employabilité – Avoir un métier
3. Expressions et opérateurs
Dans une instruction d’affectation, on trouve à gauche de la flèche, un nom de variable, et uniquement
cela.et à 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
Exemple d’expression :
7
5+4
123-45+844
Toto-12+5-Riri
…sont toutes des expressions valides, pour peu que Toto et Riri soient bien des nombres. Car dans le
cas contraire, la quatrième expression n’a pas de sens. En l’occurrence, les opérateurs employés dans
ces expressions sont l’addition (+) et la soustraction (-).
On peut ainsi définir un opérateur comme un signe qui relie deux valeurs, pour produire un résultat.
a. Opérateurs numériques
Ce sont les quatre opérations arithmétiques tout ce qu’il y a de classique.
+ : addition
- : soustraction
* : multiplication
/ : Division
^ : 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. Opérateur alphanumérique : &
Cet opérateur permet de concaténer, autrement dit d’agglomérer, deux chaînes de caractères. Par
Exemple :
Variables A, B, C en Caractère
Début
A ← "Gloubi"
B ← "Boulga"
C←A&B
Fin
La valeur de C à la fin de l’algorithme est "GloubiBoulga"
Exercice d’application
Variables A, B, C en Caractères
Début
A ← "423"
B ← "12"
C←A+B
Fin
c. Opérateurs logiques (ou booléens) :
Il s’agit du ET, du OU, du NON.
4. Instruction d’entrée et sortie
8
Doumez Technologies --------------------------------------------------------------------------------Algorithmique
Améliorer vos compétences – Booster votre employabilité – Avoir un métier
a. Instruction d’entrée
Dans l’algorithme, on a besoin de dialoguer avec l’utilisateur. Pour cela on pourra lui demander
d’entrée des valeurs au clavier.
Syntaxe :
Saisir (nom_var) ou Lire (nom_var)
Dès que le programme rencontre une instruction Lire, l’exécution s’interrompt, attendant la frappe
d’une valeur au clavier. La seule chose qui fera exécuter la suite des instructions, c'est que la touche
Entrée (Enter) ait été enfoncée.
Ainsi il récupère la valeur entrée au clavier et le stocke dans la variable correspondante « nom_var ».
b. Instruction de sortie
Dans le sens inverse, il est possible d’écrire ou d’afficher quelque chose à l’écran. La syntaxe est :
Ecrire nom_var : permet d’afficher la valeur de la variable « nom_var »
Ecrire "nom de la variable" : permet d’afficher à l’écran « nom de la variable »
Nb : Les bonnes manières du programmeur » :
Avant de Lire une variable, il est très fortement conseillé d’écrire des libellés à l’écran, afin de prévenir
l’utilisateur de ce qu’il doit saisir à l’écran
Exemple
Ecrire "Entrez votre nom : "
Lire NomFamille
IV.
Les structures conditionnelles
1. Structure d’un test
Dans la vie d’une manière générale ou en algorithmique en particulier, on est amené à faire des choix ou
des tests.
La syntaxe est la suivante :
Si condition Alors
Instructions
Finsi
Ou bien
Si condition Alors
Instructions 1
Sinon
Instructions 2
Finsi
Exemple
Allez tout droit jusqu’au prochain carrefour
Si la rue à droite est autorisée à la circulation Alors
Tournez à droite
Avancez
Prenez la deuxième à gauche
Sinon
Continuez jusqu’à la prochaine rue à droite
Prenez la première à droite
Finsi
2. Qu’est-ce qu’une condition
9
Doumez Technologies --------------------------------------------------------------------------------Algorithmique
Améliorer vos compétences – Booster votre employabilité – Avoir un métier
Une condition est une comparaison. Ce signifie qu’elle est composée de trois éléments : une valeur, un
opérateur de comparaison et une autre valeur.
Les valeurs peuvent être a priori de n’importe quel type (numériques, caractères…). Mais si l’on veut
que la comparaison ait un sens, il faut que les deux valeurs de la comparaison soient du même type !
Les opérateurs de comparaison sont :
 égal à…
 différent de…
 strictement plus petit que…
 strictement plus grand que…
 plus petit ou égal à…
 plus grand ou égal à…
L’ensemble des trois éléments composant la condition constitue donc, si l’on veut, une affirmation, qui
à un moment donné est VRAIE ou FAUSSE.
3. Conditions composées
Certains problèmes exigent parfois de formuler des conditions qui ne peuvent pas être exprimées sous la
forme simple exposée ci-dessus.
Supposons qu’une variable moyenne est comprise entre 12 et 16. En fait cette phrase cache non une,
mais deux conditions. Car elle revient à dire que « moyenne est supérieure à 12 et moyenne est
inférieure à 16 ». Il y a donc bien là deux conditions, reliées par ce qu’on appelle un opérateur logique,
le mot ET.
Comme on l’a évoqué plus haut, l’informatique met à notre disposition quatre opérateurs logiques : ET,
OU, NON, et XOR.
 Le ET a le même sens en informatique que dans le langage courant. Pour que "Condition1 ET
Condition2" soit VRAI, il faut impérativement que Condition1 soit VRAI et que Condition2 soit
VRAI. Dans tous les autres cas, "Condition 1 et Condition2" sera faux.
 Il faut se méfier un peu plus du OU. Pour que "Condition1 OU Condition2" soit VRAI, il suffit
que Condition1 soit VRAIE ou que Condition2 soit VRAIE. Le point important est que si
Condition1 est VRAIE et que Condition2 est VRAIE aussi, Condition1 OU Condition2 reste
VRAIE.
 Le NON inverse une condition : NON(Condition1) est VRAI si Condition1 est FAUX, et il sera
FAUX si Condition1 est VRAI. C'est l'équivalent pour les booléens du signe "moins" que l'on
place devant les nombres.
 Le XOR (OU exclusif) fonctionne de la manière suivante. Pour que "Condition1 XOR
Condition2" soit VRAI, il faut que soit Condition1 soit VRAI, soit que Condition2 soit VRAI. Si
toutes les deux sont fausses, ou que toutes les deux sont VRAI, alors le résultat global est
considéré comme FAUX. Le XOR est donc l'équivalent du "ou bien" du langage courant.
Il est à insiste sur le fait que le XOR est une rareté, dont il n’est pas strictement indispensable de
s’encombrer en programmation.
4. Tests imbriqués
Un SI ouvre donc deux voies, correspondant à deux traitements différents. Mais il y a des tas de
10
Doumez Technologies --------------------------------------------------------------------------------Algorithmique
Améliorer vos compétences – Booster votre employabilité – Avoir un métier
situations où deux voies ne suffisent pas. Par exemple, un programme devant donner l’état de l’eau
selon sa température doit pouvoir choisir entre trois réponses possibles (solide, liquide ou gazeuse).
On peut écrire la solution de deux manières différentes :
Solution 1 :
Variable Temp en Entier
Début
Ecrire "Entrez la température de l’eau :"
Lire Temp
Si Temp =< 0 Alors
Ecrire "C’est de la glace"
FinSi
Si Temp > 0 Et Temp < 100 Alors
Ecrire "C’est du liquide"
Finsi
Si Temp > 100 Alors
Ecrire "C’est de la vapeur"
Finsi
Fin
Solution 2 :
Variable Temp en Entier
Début
Ecrire "Entrez la température de l’eau :"
Lire Temp
Si Temp =< 0 Alors
Ecrire "C’est de la glace"
Sinon
Si Temp < 100 Alors
Ecrire "C’est du liquide"
Sinon
Ecrire "C’est de la vapeur"
Finsi
Finsi
Fin
Pour la solution 2, nous avons fait des économies : au lieu de devoir taper trois conditions, dont une
composée, nous n’avons plus que deux conditions simples. Mais aussi, et surtout, nous avons fait des
économies sur le temps d’exécution de l’ordinateur. Si la température est inférieure à zéro, celui-ci écrit
dorénavant « C’est de la glace » et passe directement à la fin, sans être ralenti par l’examen d’autres
possibilités (qui sont forcément fausses).
Cette deuxième version n’est donc pas seulement plus simple à écrire et plus lisible, elle est également
plus performante à l’exécution.
Les structures de tests imbriqués sont donc un outil indispensable à la simplification et à l’optimisation
des algorithmes.
NB : Dans le cas de tests imbriqués, le Sinon et le Si peuvent être fusionnés en un SinonSi. On
considère alors qu’il s’agit d’un seul bloc de test, conclu par un seul FinSi
La solution 2 devient :
Variable Temp en Entier
Début
Ecrire "Entrez la température de l’eau :"
Lire Temp
Si Temp =< 0 Alors
Ecrire "C’est de la glace"
SinonSi Temp < 100 Alors
V.
Ecrire "C’est du liquide"
Sinon
Ecrire "C’est de la vapeur"
Finsi
Fin
Les structures itératives
Les structures itératives ou encore appelées structures répétitives ou encore des boucles sont des
structures qui permettent de répéter des taches quand la condition reste vraie.
11
Doumez Technologies --------------------------------------------------------------------------------Algorithmique
Améliorer vos compétences – Booster votre employabilité – Avoir un métier
1. La boucle tant que
La syntaxe est la suivante :
TantQue condition
Instructions
FinTantQue
Explication :
Le principe est simple : le programme arrive sur la ligne du TantQue. Il examine alors la valeur de la
condition. Si cette valeur est VRAI, le programme exécute les instructions qui suivent, jusqu’à ce qu’il
rencontre la ligne FinTantQue. Il retourne ensuite sur la ligne du TantQue, procède au même examen, et
ainsi de suite. Le manège enchanté ne s’arrête que lorsque la condition prend la valeur FAUX.
Exemple
Variable Rep en Caractère
Début
Rep ← "X"
Ecrire "Voulez vous un café ? (O/N)"
TantQue Rep <> "O" et Rep <> "N"
Lire Rep
Si Rep <> "O" et Rep <> "N" Alors
Ecrire "Saisie Erronée, Recommencez"
FinSi
FinTantQue
Fin
NB : Avec la boucle tant que, il n’est pas possible de savoir au bout de combien d’itération le
programme s’arrête.
2. La boucle pour
La syntaxe est la suivante :
Pour Compteur ← Initial à Final Pas ValeurDuPas
Instructions
Compteur suivant
12
Doumez Technologies --------------------------------------------------------------------------------Algorithmique
Améliorer vos compétences – Booster votre employabilité – Avoir un métier
VI.
Les tableaux
1. Utilité des tableaux
Imaginons que dans un programme, nous ayons besoin simultanément de 12 valeurs (par exemple,
des notes pour calculer une moyenne). Evidemment, la seule solution dont nous disposons à l’heure
actuelle consiste à déclarer douze variables, appelées par exemple Notea, Noteb, Notec, etc. Bien sûr,
on peut opter pour une notation un peu simplifiée, par exemple N1, N2, N3, etc. Mais cela ne change
pas fondamentalement notre problème, car arrivé au calcul, et après une succession de douze
instructions « Lire » distinctes, cela donnera obligatoirement une atrocité du genre :
Moy ← (N1+N2+N3+N4+N5+N6+N7+N8+N9+N10+N11+N12)/12
La programmation nous permet de rassembler toutes ces variables en une seule, au sein de
laquelle chaque valeur sera désignée par un numéro. En bon français, cela donnerait donc quelque chose
du genre « la note numéro 1 », « la note numéro 2 », « la note numéro 8 ». C’est largement plus
pratique, vous vous en doutez.
Un ensemble de valeurs portant le même nom de variable et repérées par un nombre, s’appelle un
tableau, ou encore une variable indicée. Le nombre qui, au sein d’un tableau, sert à repérer
chaque valeur s’appelle l’indice. Chaque fois que l’on doit désigner un élément du tableau, on fait
figurer le nom du tableau, suivi de l’indice de l’élément, entre parenthèses.
Notation et utilisation algorithmique
Dans notre exemple, nous créerons donc un tableau appelé Note. Chaque note individuelle (chaque
élément du tableau Note) sera donc désignée Note(0), Note(1), etc. Eh oui, attention, les indices des
tableaux commencent généralement à 0, et non à 1.
Un tableau doit être déclaré comme tel, en précisant le nombre et le type de valeurs qu’il contiendra
(la déclaration des tableaux est susceptible de varier d'un langage à l'autre. Certains langages réclament
le nombre d'éléments, d'autre le plus grand indice... C'est donc une affaire de conventions).
En nous calquant sur les choix les plus fréquents dans les langages de programmations, nous
déciderons ici arbitrairement et une bonne fois pour toutes que :

les "cases" sont numérotées à partir de zéro, autrement dit que le plus petit indice est
zéro.

lors de la déclaration d'un tableau, on précise la plus grande valeur de l'indice (différente,
donc, du nombre de cases du tableau, puisque si on veut 12 emplacements, le plus grand indice
sera 11). Au début, ça déroute, mais vous verrez, avec le temps, on se fait à tout, même au pire.
Tableau Note(11) en Entier
On peut créer des tableaux contenant des variables de tous types : tableaux de numériques, bien
sûr, mais aussi tableaux de caractères, tableaux de booléens, tableaux de tout ce qui existe dans un
langage donné comme type de variables. Par contre, hormis dans quelques rares langages, on ne peut
pas faire un mixage de types différents de valeurs au sein d’un même tableau.
L’énorme avantage des tableaux, c’est qu’on va pouvoir les traiter en faisant des boucles. Par
exemple, pour effectuer notre calcul de moyenne, cela donnera par exemple :
Tableau Note(11) en Numérique
Variables Moy, Som en Numérique
Début
Pour i ← 0 à 11
Ecrire "Entrez la note n°", i
Lire Note(i)
i Suivant
Som ← 0
Pour i ← 0 à 11
Som ← Som + Note(i)
13
Doumez Technologies --------------------------------------------------------------------------------Algorithmique
Améliorer vos compétences – Booster votre employabilité – Avoir un métier
i Suivant
Moy ← Som / 12
Fin
NB : On a fait deux boucles successives pour plus de lisibilité, mais on aurait tout aussi bien pu
n’en écrire qu’une seule dans laquelle on aurait tout fait d’un seul coup.
Remarque générale : l’indice qui sert à désigner les éléments d’un tableau peut être exprimé
directement comme un nombre en clair, mais il peut être aussi une variable, ou une expression calculée.
Dans un tableau, la valeur d’un indice doit toujours :

être égale au moins à 0 (dans quelques rares langages, le premier élément d’un tableau
porte l’indice 1). Mais comme je l'ai déjà écrit plus haut, nous avons choisi ici de commencer la
numérotation des indices à zéro, comme c’est le cas en langage C et en Visual Basic. Donc
attention, Truc(6) est le septième élément du tableau Truc !

être un nombre entier Quel que soit le langage, l’élément Truc(3,1416) n’existe jamais.

être inférieure ou égale au nombre d’éléments du tableau (moins 1, si l’on commence
la numérotation à zéro). Si le tableau Bidule a été déclaré comme ayant 25 éléments, la présence
dans une ligne, sous une forme ou sous une autre, de Bidule(32) déclenchera automatiquement
une erreur.
2. Tableaux dynamiques
Il arrive fréquemment que l’on ne connaisse pas à l’avance le nombre d’éléments que devra
comporter un tableau.
Pour parer à ce genre de situation, a-t-on la possibilité de déclarer le tableau sans préciser au départ
son nombre d’éléments. Ce n’est que dans un second temps, au cours du programme, que l’on va fixer
ce nombre via une instruction de redimensionnement : Redim.
Notez que tant qu’on n’a pas précisé le nombre d’éléments d’un tableau, d’une manière ou
d’une autre, ce tableau est inutilisable.
Exemple : on veut faire saisir des notes pour un calcul de moyenne, mais on ne sait pas combien il
y aura de notes à saisir. Le début de l’algorithme sera quelque chose du genre :
Tableau Notes() en Numérique
Variable nb en Numérique
Début
Ecrire "Combien y a-t-il de notes à saisir ?"
Lire nb
Redim Notes(nb-1)
…
14
Doumez Technologies --------------------------------------------------------------------------------Algorithmique
Améliorer vos compétences – Booster votre employabilité – Avoir un métier
VII.
Travaux dirigés et travaux pratiques
Exercice 1 :
Q1 : Quelles seront les valeurs des variables A et Q4 : Quelles seront les valeurs des variables A, B
B après exécution des instructions suivantes ?
et C après exécution des instructions suivantes ?
Q2 : Quelles seront les valeurs des variables A et Q5 : Quelles seront les valeurs des variables A, B
B après exécution des instructions suivantes ?
et C après exécution des instructions suivantes ?
Q3 : Quelles seront les valeurs des variables A, et Q6 : On dispose de trois variables A, B et C.
B après exécution des instructions suivantes ?
Ecrivez un algorithme transférant à B la valeur de
A, à C la valeur de B et à A la valeur de C
(toujours quels que soient les contenus préalables
de ces variables).
Exécuter cet algorithme avec le logiciel AlgoBox
15
Doumez Technologies --------------------------------------------------------------------------------Algorithmique
Améliorer vos compétences – Booster votre employabilité – Avoir un métier
Exercice 2
Q1 : Quel résultat produit le programme suivant ?
Q3 : Ecrire un programme qui demande son
prénom à l'utilisateur, et qui lui réponde par un
charmant « Bonjour » suivi du prénom. On aura
ainsi le dialogue suivant :
machine : Quel est votre prénom ?
utilisateur : Akouvi
machine : Bonjour, Akouvi ! ».
Q2 : Ecrire un programme qui demande un Q4 : Ecrire un programme qui lit le prix HT d’un
nombre à l’utilisateur, puis qui calcule et affiche article, le nombre d’articles et le taux de TVA, et
le carré de ce nombre.
qui fournit le prix total TTC correspondant. Faire
en sorte que des libellés apparaissent clairement.
Q5 : Exécuter ces différents algorithmes sur Algobox
Exercice 3
Q1 : Ecrire un algorithme qui demande un nombre Q3 : Ecrire un algorithme qui demande l’âge d’un
à l’utilisateur, et l’informe ensuite si ce nombre enfant à l’utilisateur. Ensuite, il l’informe de sa
est positif, négatif ou nul.
catégorie :
 "Poussin" de 6 à 7 ans
Q2 : Ecrire un algorithme qui demande deux
nombres à l’utilisateur et l’informe ensuite si leur
 "Pupille" de 8 à 9 ans
produit est positif, négatif ou nul.
 "Minime" de 10 à 11 ans
 "Cadet" après 12 ans.
Q4 : Exécuter ces différents algorithmes sur Algobox
Exercice 4
Q1 : Ecrire un algorithme qui demande à Q3 : Ecrire un algorithme qui demande un nombre
l’utilisateur un nombre compris entre 1 et 3 de départ, et qui ensuite affiche les dix nombres
jusqu’à ce que la réponse convienne.
suivants. Par exemple, si l'utilisateur entre le
nombre 17, le programme affichera les nombres
de 18 à 27.
Q2 : Ecrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu’à ce que la réponse
convienne. En cas de réponse supérieure à 20, on fera apparaître un message : « Plus petit ! », et
inversement, « Plus grand ! » si le nombre est inférieur à 10.
16
Doumez Technologies --------------------------------------------------------------------------------Algorithmique
Améliorer vos compétences – Booster votre employabilité – Avoir un métier
Exercice 5
Q1 : Réécrire l'algorithme de l’exercice 4 question Q3 : Ecrire un algorithme qui demande un nombre
Q3, en utilisant cette fois l'instruction Pour
de départ, et qui calcule la somme des entiers
jusqu’à ce nombre. Par exemple, si l’on entre 5, le
programme doit calculer : 1 + 2 + 3 + 4 + 5 = 15
Q2 : Ecrire un algorithme qui demande un nombre Q4 : Ecrire un algorithme qui demande
de départ, et qui ensuite écrit la table de successivement trois (03) nombres à l’utilisateur,
multiplication de ce nombre
et qui lui dise ensuite quel était le plus grand et le
plus petit parmi ces 03 nombres.
Exercice 6
Q1 : Que produit l’algorithme suivant ?
Tableau Nb(5) en Entier
Variable i en Entier
Début
Pour i ← 0 à 5
Nb(i) ← i * i
i suivant
Pour i ← 0 à 5
Ecrire Nb(i)
i suivant
Fin
Q2 : Que produit l’algorithme suivant ?
Tableau N(6) en Entier
Variables i, k en Entier
Début
N(0) ← 1
Pour k ← 1 à 6
N(k) ← N(k-1) + 2
k Suivant
Pour i ← 0 à 6
Ecrire N(i)
i suivant
Fin
Q3 : Ecrivez un algorithme constituant un tableau, à partir de deux tableaux de même longueur
préalablement saisis. Le nouveau tableau sera la somme des éléments des deux tableaux de
départ.
17
Doumez Technologies --------------------------------------------------------------------------------Algorithmique
Téléchargement