Académique Documents
Professionnel Documents
Culture Documents
MODULE 09 : TECHNIQUES DE
PROGRAMMATION STRUCTUREE
ANALYSE d'un problème
en vue de sa résolution
TDI 1 GB
informatique.
2007/2008
TECHNIQUES DE DEVELOPPEMENT INFORMATIQUE PAR Mr AZZI
1
3. Faire une liste des données, avec
leurs caractéristiques.
N.B. On regroupe sous le nom de Une donnée est caractérisée
DONNEES ( ou VARIABLES ) :
par son nom, son type, son
les données, au sens strict : usage, sa valeur.
ENTREES.
2
l' usage : entrée, sortie, Exemple d'algorithme.
entrée/sortie, interne. On désire acquérir 10 nombres au clavier,
Avec un commentaire sur calculer la moyenne de
ces nombres, et afficher le résultat à l'écran.
l'utilisation de la variable.
• Ecriture algorithmique :
ORGANIGRAMME
• Début
somme <-- 0
pour k=1 à 10 avec un pas de 1, faire
lire x ( au clavier )
somme <-- somme + x
fin pour
moyenne <-- somme / 10
écrire moyenne ( écran )
Fin
3
• Remarques ( 1 ) : • Remarques ( 2 ) :
• Les mots clefs sont, en principe, soulignés • Cette analyse est indispensable dès que l'on
veut écrire un programme complexe. Elle doit
( début, fin, pour, finpour, si, alors, sinon, finsi, être faite avant l'écriture du
lire, écrire, faire, appel, répéter, jusqu'à, programme.
tant que, fin tant que, selon, ....).
<-- est le symbole d'affectation. L'algorithme est indépendant du langage que
l'on va utiliser pour écrire ensuite le programme.
somme <-- somme + x veut dire : additionner le ( en principe ! )
contenu L'écriture algorithmique est bien indiquée pour
de la variable somme et de la variable x, le les programmes qui seront écrits dans un
résultat langage évolué : Basic, Pascal, C, ...
( la traduction de l' algorithme vers le langage
est rangé dans la variable somme. est immédiate ).
L'organigramme est préférable lorsque l'on
Il n'y a pas de règles strictes, le principal, c'est programme en langage de bas niveau ( langage
d'être machine, Assembleur ).
clair.
4
FONCTIONNEMENT C’EST UN POINT DELICAT POUR LES
REDACTEURS DES MODES D’EMPLOI.
Pour fonctionner, un algorithme doit donc
contenir uniquement des instructions
compréhensibles par celui qui devra l’exécuter.
HEUREUSEMENT, EN INFORMATIQUE LES
CHOSES AUXQUELLES ON DOIT DONNER
LES INSTRUCTIONS SONT LES
ORDINATEURS QUI ONT LE MEME DEGRE
D’ASSIMILATION.
COMMENT MAITRISER LE
DEUX QUALITES SONT REQUISES:
LANGAGE
ALGORITHMIQUE?
5
1) Il faut avoir une 2) Il faut être méthodique et
rigoureux. En effet, chaque fois
certaine intuition, car qu’on écrit une série d’instructions
aucune recette ne qu’on croit justes, il faut
systématiquement se mettre
permet de savoir a priori mentalement à la place de la
quelles instructions machine qui va les exécuter, armé
d'un papier et d'un crayon, afin de
permettront d’obtenir le vérifier si le résultat obtenu est bien
résultat voulu. celui que l’on voulait.
6
1°une représentation graphique, avec des
CONVENTIONS DE REDACTION carrés, des losanges, etc. qu’on appelait des
D’UN ALGORITHME organigrammes.
Aujourd’hui, cette représentation est
2 MODELES DE REPRESENTATION quasiment abandonnée.
7
les étapes de travail et les outils conceptuels à utiliser lors d’un
processus de programmation descendante.
8
La première chose à faire tout au début de
l’algorithme, avant de pouvoir utiliser des La syntaxe d’une déclaration de variable est la
variables, c’estde faire la déclaration des suivante:
variables.
Lorsqu’on déclare une variable, on lui attribue un VARIABLE nom : TYPE
nom et on lui réserve un emplacement mémoire.
La taille de cet emplacement mémoire dépend du OU
type de variable. C’est pour cette raison qu’on VARIABLES nom1, nom2,… : TYPE
doit préciser lors de la déclaration le type du
variable.
9
1.2 Types alphanumériques
En pseudo-code, une déclaration de variables Dans une variable de ce type, on stocke des
aura la forme suivante : caractères, qu’il s’agisse de lettres, de signes
de ponctuation, d’espaces, ou même de
Variable g en Numérique chiffres.
ou encore
Variables PrixHT, TauxTVA, PrixTTC en ATTENTION: En pseudo-code, une chaîne de
Numérique caractères est toujours notée entre guillemets.
10
2. L’instruction d’affectation:
2.1 syntaxe:
Après avoir créer une variable on peut faire une En pseudo-code, l'instruction d'affectation se note
et une seule chose: avec le signe
C’est qu’on puisse l’affecter, c’est-à-dire lui
attribuer une valeur. C à d , on peut remplir la
boîte.
11
1.Introduction
Soit l’algorithme suivant:
Variable A en Numérique
Début
Partie 2 A ← 12^2
Fin
Lecture et Ecriture
D’une part, ce programme nous donne le carré
de 12. C’est bon.
Mais si l’on veut le carré d’un autre nombre que
12, il faut réécrire le programme. Casse tête!!!
12
Dans un sens, ces instructions permettent à Dans l’autre sens, d’autres instructions
l’utilisateur de rentrer des valeurs au permettent au programme de communiquer
clavier pour qu’elles soient utilisées par le des valeurs à l’utilisateur en les affichant à
programme. l’écran.
Cette opération est la lecture. Cette opération est l’écriture.
13
EXEMPLE:
Partie 3
Ecrire "Entrez votre nom : "
Expressions et opérateurs
Lire Nom
14
» Structure générale des fonctions
Une fonction est donc constituée de trois
parties :
Partie 4 » le nom proprement dit de la fonction.
Exemple:SIN(sinus).
» deux parenthèses, une ouvrante, une
Les Fonctions fermante. Ces parenthèses sont
toujours obligatoires, même lorsqu'on
Prédéfinies n'écrit rien à l'intérieur.
» une liste de valeurs, indispensables à
la bonne exécution de la fonction. Ces
valeurs s’appellent des arguments, ou
des paramètres. Certaines fonctions
exigent un seul argument, d’autres
deux, etc. et d’autres encore aucun.
15
•Len(chaîne) : renvoie le nombre de caractères d’une
chaîne
•Mid(chaîne,n1,n2) : renvoie un extrait de la chaîne,
commençant au caractère n1 et faisant n2 caractères de
Tous les langages presque, long.
Ce sont les deux seules fonctions de chaînes réellement
proposent peu ou prou les indispensables. Mais il y a d’autres:
fonctions suivantes, même si le •Left(chaîne,n) : renvoie les n caractères les plus à
gauche dans chaîne.
nom et la syntaxe peuvent varier •Right(chaîne,n) : renvoie les n caractères les plus à
d’un langage à l’autre : droite dans chaîne
•Trouve(chaîne1,chaîne2) : renvoie un nombre
correspondant à la position de chaîne2 dans chaîne1. Si
chaîne2 n’est pas comprise dans chaîne1, la fonction
renvoie zéro.
Exemples : Il existe aussi dans tous les langages une fonction qui
renvoie le caractère correspondant à un code Ascii
Len("Bonjour, ça va ?") vaut 16 donné (fonction Asc), et (fonction Chr) :
Len("") vaut 0
Mid("Zorro is back", 4, 7) vaut "ro is b"
Mid("Zorro is back", 12, 1) vaut "c" Asc("N") vaut 78
Left("Et pourtant…", 8) vaut "Et pourt" Chr(63) vaut "?"
Right("Et pourtant…", 4) vaut "t…"
Trouve("Un pur bonheur", "pur") vaut 4
Trouve("Un pur bonheur", "techno") vaut 0
16
1.INTRODUCTION
Soit l’algorithmique du touriste égaré :
« Allez tout droit jusqu’au prochain carrefour, puis
prenez à droite et ensuite la deuxième à gauche, et vous
y êtes ».Mais en cas de doute,
17
Explication 2. Condition:
Un booléen est une expression dont la valeur est Une condition est une comparaison
VRAI ou FAUX.
Deux cas de figures se présentent: Cette définition est essentielle ! Elle signifie qu’une
• une variable (ou une expression) de type booléen condition est composée de trois éléments :
• une condition • une valeur
• un opérateur de comparaison
1. Variable booléen: • une autre valeur
Dans la forme simple, arrivé à la première ligne Les valeurs peuvent être a priori de n’importe quel type
(Si… Alors) la machine examine la valeur du (numériques, caractères…). Mais si l’on veut que la
booléen. Si ce booléen a pour valeur VRAI, elle comparaison ait un sens, il faut que les deux valeurs
exécute la série d’instructions. de la comparaison soient du même type !
En revanche, dans le cas où le booléen est faux,
l'ordinateur saute directement aux instructions
situées après le FinSi.
3. Conditions composées
Les opérateurs de comparaison sont : Certains problèmes exigent parfois de formuler
•égal à… des conditions qui ne peuvent pas être exprimées sous
•différent de… la forme simple.
•strictement plus petit que… Soit le cas « X est compris entre 5 et 8 ».
•strictement plus grand que… En fait cette phrase a deux conditions.
•plus petit ou égal à… Car elle revient à dire que
•plus grand ou égal à… « X est supérieur à 5
NB: la comparaison concerne aussi les caractères: ET
“t” < “w” VRAI X est inférieur à 8 ».
“Maman” > “Papa“ FAUX Il y a donc bien là deux conditions, reliées par ce qu’on
“maman” > “Papa” VRAI (vérifier) appelle un opérateur logique(ET).
Il existe opérateurs logiques : ET, OU,NON et XOR.
18
Ces opérateurs logiques peuvent être regroupés dans 4.Tests imbriqués
des tables de vérité (C1 et C2 représentent deux
conditions, et on envisage à chaque fois les quatre cas EXEMPLE 1:
possibles) Variable Temp en Entier
Début
C1 ET C2 C1 VRAI C1 FAUX Ecrire "Entrez la température de l’eau :"
Lire Temp
C2 VRAI VRAI FAUX Si Temp =< 0 Alors
Ecrire "C’est de la glace"
C2 FAUX FAUX FAUX FinSi
Si Temp > 0 Et Temp < 100 Alors
C1 OU C2 C1 VRAI C1 FAUX Ecrire "C’est du liquide"
Finsi
C2 VRAI VRAI VRAI Si Temp > 100 Alors
C2 FAUX VRAI FAUX Ecrire "C’est de la vapeur"
Finsi
NON C1 Fin
C1 FAUX VRAI
19