Académique Documents
Professionnel Documents
Culture Documents
COURS : algorithme
1EREPARTIE
CHAPITRE 1 : Introduction
1) La démarche algorithmique
2) Les compétences attendues
3) Les logiciels
4) Bref historique
CHAPITRE 2 : Qu’est-ce qu’un algorithme ?
1) Définition
2) Squelette d’un algorithme
3) Langage et règles d’écriture
4) Algorigramme
1) Préparation du traitement
2) Traitement de donnée(s)
3) Sortie de résultat(s)
24 mars 2019
CHAPITRE 4 : Constantes et variables
1) Définitions
2) Conventions de nommage
1) Définitions
2) Types d’opérateurs
3) Priorités des opérateurs
moustaphak 367@gmail.com
Cours d’algorithme 3
1) Affectation
2) Entrée / Lecture
3) Sortie / Écriture
24 mars 2019
« FAIRE …, TANTQUE » ou« REPETER … JUSQU'A … »
moustaphak 367@gmail.com
Cours d’algorithme 4
24 mars 2019
moustaphak 367@gmail.com
Cours d’algorithme 5
1) LA DEMARCHE ALGORITHMIQUE
2) COMPÉTENCES ATTENDUES
24 mars 2019
programmation
Etre capable de mettre en œuvre ces concepts pour analyser des
problèmes simples et écrire les programmes correspondants
comprendre et examiner un algorithme préexistant, son
fonctionnement ou son but ;
modifier un algorithme pour obtenir un résultat précis ;
analyser une situation : identifier les données d’entrée et de sortie, le
traitement, les instructions... ;
créer une solution algorithmique à un problème donné : comment
écrire un algorithme en « langage courant » en respectant un code,
identifier les boucles, les tests, les opérations d’écriture, d’affichage... ;
moustaphak 367@gmail.com
Cours d’algorithme 6
3) LOGICIELLE
24 mars 2019
Le terme algorithme vient du nom du mathématicien arabe
Al-Khawarizmi (820 après J.C.)
L’algorithme est une suite d’instruction qui peut être traduite dans un
langage informatique dont son écriture (sa syntaxe) est moins rigoureuse
que celui d’un langage est informatique.
moustaphak 367@gmail.com
Cours d’algorithme 7
Enoncé du problème
Notion de base
24 mars 2019
Représentation d’un algorithme
Il existe deux façons pour représenter un algorithme:
L’Organigramme:
Représentation graphique avec des symboles (carrés, losanges, etc.)
• offre une vue d’ensemble de l’algorithme
• représentation quasiment abandonnée aujourd’hui
Exemples :
Symbole de traitement
(symbole général)
moustaphak 367@gmail.com
Cours d’algorithme 8
Symbole de test
(symbole de branchement)
Symbole auxiliaire
(symbole de début, fin ou interruption
d’algorithme)
24 mars 2019
PROGRAMMER C’EST QUOI ?
Se communique avec soit même avec les autres programmes ou avec les
machines ou communique avec les machines pour résoudre des
problèmes.
moustaphak 367@gmail.com
Cours d’algorithme 9
24 mars 2019
Elles peuvent être des nombres, du texte, des données issues du disque dur,
fournies par l’utilisateur (frappées au clavier) etc.
A chaque fois nous avons besoin de stocker une information au cours d’un
programme, on utilise une variable.
Il va de même que pour l’algorithme car un programme est issu souvent d’un
algorithme
VARIABLE
Une VARIABLE est une case mémoire de l’ordinateur qui sera utiliser dans un
l’algorithme a chaque fois le besoin se manifeste.
moustaphak 367@gmail.com
Cours d’algorithme 10
Elle doit avoir un nom explicite qui contiendrais des lettres, des chiffres mais ni
des accents des espaces ; peut être de type entier, un réel, des tableaux, un
booléen, un caractère, une chaîne de caractères… Il ne faut pas confondre
constante et variable.
REMARQUE :
Le type d’une variable détermine l’ensemble des valeurs qu’elle peut prendre
et les opérations réalisables qu’elle peut subir.
L’utilisation d’une variable doit être précédée de sa déclaration.
Mais il existe des mots qu’on ne peut pas prendre comme variable
24 mars 2019
Else Short While
Syntaxe
Var N1 : Entier ;
moustaphak 367@gmail.com
Cours d’algorithme 11
Syntaxe
NB elle doit être différente des mots réservés aux langages (par exemple en C:
int, float, else, switch, case, default, for, main, return, …) ; que nous en
perlerons beaucoup en langage C.
La longueur du nom doit être inférieure à la taille maximale spécifiée
par le langage qui sera utilisé
Exemple:
Variables i, j, k : entier;
x, y : réel;
OK: booléen;
ch1, ch2 : chaîne de caractères;
Remarque 1: pour le type numérique on va se limiter aux entiers et réels sans
considérer les sous types.
Maintenant que nous sommes familiers des variables et que nous les manipulons
les yeux fermés (mais les neurones en éveil, toutefois), j’attire votre attention sur
la trompeuse similitude de vocabulaire entre les mathématiques et
l’informatique.
24 mars 2019
En mathématiques, une « variable » est généralement une inconnue, qui
recouvre un nombre non précisé de valeurs.
Lorsque j’écris : y = 3 x + 2
les « variables » x et y satisfaisant à l’équation existent en nombre infini
(graphiquement, l’ensemble des solutions à cette équation dessine une
droite). Lorsque j’écris : ax² + bx + c = 0
la « variable » x désigne les solutions à cette équation, c’est-à-dire
zéro,une ou deux valeurs à la fois….
A la rigueur, elle peut ne pas avoir de valeur du tout (une fois qu’elle a été
déclarée, et tant qu’on ne l’a pas affectée. A signaler que dans certains langages,
moustaphak 367@gmail.com
Cours d’algorithme 12
CONSTANTE
Dans un algorithme pour spécifier un élément est une constante on utilise le mot
clé « const » elle ne peut pas être une expression.
Exemple
Const PI=3,14 ;
Exemple
MAX=50 : entier ;
LAFFECTATION :
Définition l’affectation est une opération par laquelle on attribue une valeur, à
24 mars 2019
une variable, on la note par
Variable constante
Variable variable
Variable expression
NB on doit être vigilant dans nos affections si non nous affecterons certaines
valeurs à des variable dont le type ne correspondes pas dans ces cas de figures
lalgo auras pas problème mais codage sera difficile non performante.
moustaphak 367@gmail.com
Cours d’algorithme 13
OPERANDES ET OPERATEURS
Définitions
Un operateur est un outil qui permet d’agir sur une variable ou d’effectuer des
calculs.
Un operateur est un symbole qui relie un ou plusieurs éléments (opérandes) pour
en formé une expression.
Il existe plusieurs types d’operateur les plus utilisés nous sont :
24 mars 2019
LES OPERATEURS D’INCREMENTATION ET DE DECREMENTATION
Par exemple1,
int a = 3, b, c;
b = ++a; /* a et b valent 4 */
c = b++; /* c vaut 4 et b vaut 5 */
moustaphak 367@gmail.com
Cours d’algorithme 14
Exemples 2 .
Soient i=3 ,k=10 et j=5
24 mars 2019
Opérateur Nom Notation
== teste strict d’égalité x==y
!= teste de non égalité x!=y
<= teste inférieur ou égal x <= y
>= teste supérieur ou égal x >= y
< teste strict inférieur x<y
> teste strict supérieur x>y
moustaphak 367@gmail.com
Cours d’algorithme 15
OPERATEUR DE CONCATENATION
24 mars 2019
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
«, » Ou « ’» Ou « &»
moustaphak 367@gmail.com
Cours d’algorithme 16
Début
A ← "423"
B ← "12"
C←A+B
Fin
Exercice 1.9 Que produit l’algorithme suivant ?
Variables A, B, C en Caractères
Début
A ← "423"
B ← "12"
C←A&B
Fin
OPERATEUR D’AFFECTION
Elle permette d’attribue une valeur à une variable elle est notée
24 mars 2019
Elle peut se présente sous trois formes
Notez bien que cette instruction n’a en rien modifié la valeur de Toto : une
instruction d’affectation ne modifie que ce qui est situé à gauche de la flèche.
Tutu ← Toto + 4 ;
Tutu ← Tutu + 1 ;
Si Tutu valait 6, il vaut maintenant 7. La valeur de Tutu est modifiée, puisque
Tutu est la variable située à gauche de la flèche.
moustaphak 367@gmail.com
Cours d’algorithme 17
Remarque :
24 mars 2019
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 .
Exercices
Exercice 1.1
Quelles seront les valeurs des variables A et B après exécution des instructions
suivantes ?
Variables A, B en Entier
moustaphak 367@gmail.com
Cours d’algorithme 18
Début
A←1;
B←A+3;
A←3;
Fin
Exercice 1.2 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
Exercice 1.3 Quelles seront les valeurs des variables A et B après exécution des
instructions
suivantes ?
Variables A, B en Entier
Début
A←5;
B←A+4;
A←A+1;
24 mars 2019
B←A–4;
Fin
Exercice 1.4 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←3;
B ← 10 ;
C←A+B;
B←A+B;
A←C;
Fin
moustaphak 367@gmail.com
Cours d’algorithme 19
Exercice 1.5 Quelles seront les valeurs des variables A et B après exécution des
instructions suivantes ?
Variables A, B en Entier
Début
A←5;
B←2;
A←B;
B←A;
Fin
Moralité : les deux dernières instructions permettent-elles d’échanger les deux
valeurs de B et A ? Si l’on inverse les deux dernières instructions, cela change-t-
il quelque chose ?
Exercice 1.6 Plus difficile, mais c’est un classique absolu, qu’il faut absolument
maîtriser : écrire un algorithme permettant d’échanger les valeurs de deux
variables A et B, et ce quel quesoit leur contenu préalable.
Exercice 1.7 Une variante du précédent : on dispose de trois variables A, B et C.
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)
24 mars 2019
Types de nouveaux types
Fonction fonction
Vari variable
DEBUT
1. Instruction 1 ;
2. Instruction 2 ;
3. Instruction n ;
FIN
moustaphak 367@gmail.com
Cours d’algorithme 20
ÉCRITURE
L’instruction écriture permet d’affiche sur l’écran (console) ce que
programme en a besoin pour que son exécution progresse ou c’est à partir de
cette instruction que l’utilisateur saura quel type de donnée l’utilisateur doit
introduire sans elle le programme fonctionnera dans l’obscurité du point vu
utilisateur.
Syntaxe
Écrire ("entrez votre nom"); //vous aurez a l’écran entrez votre nom
Ou
Exemple1
24 mars 2019
sont 6 et10)
Exemple2
LECTURE
Les instructions de lecture permettra à la machine de comprendre la chose faite
moustaphak 367@gmail.com
Cours d’algorithme 21
REMARQUE:
Avant de Lire une variable, il est très fortement conseillé d’écrire des libellés
(messages) à l’écran, afin de prévenir l’utilisateur de ce qu’il doit frapper (sinon,
le pauvre utilisateur passe son temps à se demander ce que l’ordinateur attend de
lui… et c’est très désagréable !) :
ATTENTION aux données saisie elles doivent être conformes aux variables
déclarées.
On note: lire (nb) ; la machine met la valeur entrée au clavier dans la zone
mémoire nommée nb.
Syntaxe
Lire (nb);
Ou
Lire (n1, n2 …); évitez certaines répétitions n1, n2
24 mars 2019
CHAPITRE 7 : STRUCTURES DE CONTRÔLE
moustaphak 367@gmail.com
Cours d’algorithme 22
Définitions :
une structure linéaire (ou structure séquentielle) se caractérise par une suite de
traitements à exécuter successivement, dans l’ordre énoncé.
Une CONDITION est une expression logique booléenne, prenant la valeur «
vrai » ou « faux » (c’est- à-dire « oui » ou « non »).
Une structure alternative (ou structure conditionnelle) n’offre que deux issues
possibles à la poursuite de l’algorithme, qui s’excluent mutuellement. Selon
qu’une condition est vraie ou fausse, on effectue un traitement ou un autre.
24 mars 2019
CHAPITRE 8 : STRUCTURES LINEAIRES
A. les structures linéaires est une suite d’action (d’opérations) successive qui
aboutissent un résultat
Dans une séquence d’action, l’exécution d’une action ne commence que lorsque
l’action qui le précède termine
Exemples :
2) Ecrire un algorithme qui vous demande de saisir votre nom puis votre
prénom et qui affiche ensuite votre nom complet.
moustaphak 367@gmail.com
Cours d’algorithme 23
Variables A, B : entier;
Début
écrire ("entrer le nombre ");
Lire(A);
B ← 2*A;
Écrire ("le double de ", A, "est :", B);
Fin.
Algorithme AffichageNomComplet;
Début
lire(Nom);
lire(Prenom);
24 mars 2019
Nom_Complet ← Nom & Prenom;
Fin.
TRAVAUX DE DIRIGER
1. Ecris un algo qui calcul la surface d’un cercle dont le rayon donne en
mètre.
2. Ecris un algo qui convertit la température saisie en degré Celsius et la
couverture en degrés kelvin et qui affiche le résultat.
3. .Écris un algo qui calcule le poids d’un objet connaissant sa masse.
On donne G=9,81.
4. Ecrire un algorithme qui calcule la somme, le produit et la différence de
deux réels saisis au clavier.
moustaphak 367@gmail.com
Cours d’algorithme 24
24 mars 2019
Mais en cas de doute légitime de votre part, cela pourrait devenir :
moustaphak 367@gmail.com
Cours d’algorithme 25
Syntaxe algorigramme
Si condition
Alors traitement ; Condition
(Instructions à effectuer si la
condition est vérifiée)
Traitements
FinSi
Exemple (Si…Alors)
24 mars 2019
Algorithme AffichageValeurAbsolue (version2)
Variable x,y : réel ;
Début
Ecrire (" Entrez un réel : “) ;
Lire (x);
y← x;
Si (x < 0) alors
y ← -x;
Finsi
Ecrire ("la valeur absolue de ", x, "est:",y);
Fin
moustaphak 367@gmail.com
Cours d’algorithme 26
Syntaxe algorigramme
Si (condition) Condition
Alors traitement 1 ;
(instructions à effectuer si la condition est
vérifiée)
Sinon traitement 2 ; Traitements 1 Traitement2
(instructions à effectuer si la condition n’est
pas vérifiée)
FinSi
Exemple (Si…Alors…Sinon)
24 mars 2019
Ecrire ("la valeur absolue de ", x, "est:",-x);
Sinon
Ecrire ("la valeur absolue de ", x, "est:",x);
Finsi
Fin
3) structures alternatives imbriquées
Plusieurs structures alternatives peuvent être imbriquées, si bien que dans un
traitement peut (peuvent) figurer une ou plusieurs structure(s) alternative(s).
Pour une meilleure lisibilité de l’algorithme, on utilise L’indentation, qui
consiste à écrire les instructions sur des lignes différentes en procédant à des
décalages.
moustaphak 367@gmail.com
Cours d’algorithme 27
Si condition
Alors traitement 1 ;
Sinon1 traitement 2 ;
Sinonsi traitement
Si (condition)Alors traitement 4 ;
FinSi
Sinon3 traitement 6 ;
FinSi
24 mars 2019
Ecrire ("Ce nombre est positif");
Finsi
Finsi
Fin
Variable n : entier;
Début
Ecrire ("entrez un nombre : ");
Lire (n) ;
Si (n < 0) alors
moustaphak 367@gmail.com
Cours d’algorithme 28
24 mars 2019
Conseil : utiliser les tests imbriqués pour limiter le nombre de tests et placer
d'abord les conditions les plus probables
moustaphak 367@gmail.com
Cours d’algorithme 29
Exemples :
• x compris entre 2 et 6 : (x > 2) ET (x < 6)
• n divisible par 3 ou par 2 : (n%3=0) OU (n%2=0)
• deux valeurs et deux seulement sont identiques parmi a, b et c :
((a=b) XOR (a=c)) OU ((b=c) XOR (b=a))
L'évaluation d'une condition composée se fait selon des règles présentées
généralement dans ce qu'on appelle tables de vérité
TABLES DE VÉRITÉ
C2 C1 ET C2
C1
6) FAUX
4) VRAI 5) FAUX
9) FAUX
7) FAUX 8) VRAI
C1 C2 C1 OU C2
15) VRAI
13) VRAI 14) VRAI
18) VRAI
16) VRAI 17) FAUX
21) VRAI
19) FAUX 20) VRAI
24 mars 2019
C1 C2 C1 XOR C2 C1 NON C1
27) VRAI 28) VRAI 29) FAUX 30) FAUX 31) VRAI
37) FAUX 38) VRAI 39) VRAI 40) VRAI 41) FAUX
42) FAUX 43) FAUX 44) FAUX 45) FAUX 46) VRAI
moustaphak 367@gmail.com
Cours d’algorithme 30
corrigé de l'exercice V1
Variables nbcopies : entier
prix : réel
Début
Ecrire ("Nombre de photocopies : ") ;
Lire (nbcopies);
Si (copies < 10) Alors
prix ← nbcopies*500;
Sinon Si (nbcopies< 20) alors
prix ← nbcopies*400;
Sinon
prix ← nbcopies*300;
24 mars 2019
Fin
Finsi
Ecrire (“Le prix à payer est : ”, prix) ;
Fin
corrigé de l'exercice V2
Variables nbcopies : entier
prix : réel
Début
moustaphak 367@gmail.com
Cours d’algorithme 31
Fin
EXERCICES
24 mars 2019
5. Ecris un algo qui permet de résoudre une équation du type
Ax2 +Bx +C=0 où A, B et C sont des constants réels saisis par
l’utilisateur.
moustaphak 367@gmail.com
Cours d’algorithme 32
Syntaxe :
break
Default : Traitement m
24 mars 2019
Exercices
Les boucles
Les boucles servent à répéter l'exécution d'un groupe d'instructions un certain
nombre de fois sans réexécution du programme.
moustaphak 367@gmail.com
Cours d’algorithme 33
Exemples
24 mars 2019
À chaque action exécutée l’élément de texte change soit en s’incrémentant ou
en se décrémentant
moustaphak 367@gmail.com
Cours d’algorithme 34
s’arrête quand celle-ci n’est plus remplie. Cette structure répétitive est ainsi
formulée :
Syntaxe :
Début
Tanque (condition) faire
Instruction1
Condit Vrai Instruction
…………
ns
Instruction n Faux
Fin tanque
Fin
Remarques :
Le nombre de répétitions dépendra de la condition.
Si la condition n’est pas vérifiée au début, alors l’Instruction 1 ne sera pas
exécuté du tout.
Si la condition est vérifiée au début et si la condition n’est pas susceptible
d’être modifiée lors de l’instruction 1, alors l instruction 1 sera indéfiniment
exécuté et l’utilisateur sera contraint d’arrêter le programme.
24 mars 2019
Dans ce cas, il s’agit d’une erreur majeure car un programme ne doit pas boucler
indéfiniment mais au contraire s’arrêter automatiquement une fois que la
condition cesse d’être vérifiée.
version 1
i ← 0;
som← 0 ;
moustaphak 367@gmail.com
Cours d’algorithme 35
i ← i+1;
som ← som+i;
FinTantQue
Ecrire (" La valeur cherchée est N= ", i) ;
Fin.
i←1;
TantQue (som <=100) faire
som ← som + i;
i ← i+1;
FinTantQue
Fin.
24 mars 2019
LES BOUCLES FAIRE …TANQUE : on y répète des instructions jusqu'à ce
qu'une certaine condition soit réalisée
Syntaxe :
Début
Faire Instruction
Instruction1 ns
…………
Vrai
Condit
Instruction n
Faux
Tanque (condition)
Fin
moustaphak 367@gmail.com
Cours d’algorithme 36
Syntaxe : Début
I ≥N
Vrai
Faux
Fin
Remarque : le nombre d'itérations dans une boucle Pour est connu avant le
début de la boucle compteur est une variable de type entier (ou caractère). Elle
doit être déclarée.
24 mars 2019
1) La valeur initiale est affectée à la variable compteur
3) Si la valeur du compteur est > à la valeur finale dans le cas d'un pas
positif (ou si compteur est < à finale pour un pas négatif), on sort de la
boucle et on continue avec l'instruction qui suit FinPour
4) Si compteur est <= à finale dans le cas d'un pas positif (ou si compteur
est >= à finale pour un pas négatif), instructions seront exécutées
moustaphak 367@gmail.com
Cours d’algorithme 37
Éléments à maitrise
a) Condition initiale (Initialisation)
b) Pas est un entier qui peut être positif ou négatif.
Le Pas peut ne pas être mentionné, car par défaut sa valeur est égale à 1.
n, i : entier;
Debut
Ecrire (" Entrez la valeur de x ");
Lire (x);
Lire (n);
puiss ← 1 ;
24 mars 2019
puiss← puiss*x ;
FinPour
Ecrire (x, " à la puissance ", n, " est égal à ", puiss);
Fin
moustaphak 367@gmail.com
Cours d’algorithme 38
4) Si on doit
oit tester la condition de contrôle avant de commencer les instructions
de la boucle, on utilisera TantQue
BOUCLES IMBRIQUEES
EXERCICES
24 mars 2019
Chaque élément est repéré par un indice (son rang dans le tableau).
Eléments du tableau
tablea moi Je Contre genre bien toi vous
Indice 0 1 2 3 4 5 6
moustaphak 367@gmail.com
367@gmail.
Cours d’algorithme 39
Initialisation
Syntaxe :
Identificateur [Taille constante] = <Valeur1, Valeur2,…,Valeurn>le type;
Exemples
c [taille1]=<'x', ,'y'> char; /*seuls le 1er et 3ème éléments de c sont initialisés (à x et y)*/
24 mars 2019
Affectation, lecture et l'affichage
L'affectation de valeurs aux éléments d'un tableau se fait également
individuellement (comme pour la lecture et l'affichage).
Remarques :
L'affectation d'un tableau B à un autre tableau A se fait élément par élément.
Une affectation "brutale" de B à A (A=B) n'est pas possible.
L'affectation élément par élément d'un tableau B à un autre tableau A
(A[i]=B[i]) réalise une copie de B dans A.
moustaphak 367@gmail.com
Cours d’algorithme 40
Les fonctions
Nous terminerons la partie I du cours (« Les bases ») par cette notion
fondamentale qui est les fonctions qui sont beaucoup utilisé en langage C ou
dans d’autres langages.
Tous les programmes en C se basent sur le principe que je vais vous expliquer
dans ce chapitre.
Tous les gros programmes en C sont en fait des assemblages de petits bouts de
code, et ces petits bouts de code sont justement ce qu'on appelle… des fonctions
!
Créer et appeler une fonction
Le rôle d'une fonction en programmation est similaire à celui d'une fonction en
mathématique : elle retourne un résultat à partir des valeurs des paramètres
saisies
24 mars 2019
indépendants désignés par un nom. Elles ont plusieurs intérêts :
permettent de "factoriser" les programmes, c-à-d de mettre en commun
les parties qui se répètent
permettent une structuration et une meilleure lisibilité des programmes
facilitent la maintenance du code (il suffit de modifier une seule fois)
ces procédures et fonctions peuvent éventuellement être réutilisées dans
d'autres programmes
Attention
moustaphak 367@gmail.com
Cours d’algorithme 41
Les paramètres servent à nourrir votre fonction. Ils servent à donner des
informations au traitement qu’elle doit effectuer.
24 mars 2019
Elle ne sera pas connue en dehors
Sa valeur est perdue à la sortie du bloc
« Sa durée de vie est celle du bloc »
Fonctions : exemples
La fonction SommeCarre suivante calcule la somme des carrées de
deux réels x et y :
Fonction SommeCarre (x : réel, y: réel ) : réel;
variable z : réel;
moustaphak 367@gmail.com
Cours d’algorithme 42
z ←x*x + y*y;
retourne (z);
FinFonction
La fonction Pair suivante détermine si un nombre est pair :
Fonction Pair (n : entier ) : booléen;
retourne (n%2=0);
FinFonction
24 mars 2019
Si la fonction ne retourne rien et n'admet pas de paramètres
Nom_Fonction ( );
PROCEDURES
Dans certains cas, on peut avoir besoin de répéter une tâche dans plusieurs
endroits du programme, mais que dans cette tâche on ne calcule pas de
résultats ou qu'on calcule plusieurs résultats à la fois.
Dans ces cas on ne peut pas utiliser une fonction, on utilise une procédure
Une procédure est un sous-programme semblable à une fonction mais qui
ne retourne rien.
Une procédure s'écrit en dehors du programme principal sous la forme :
moustaphak 367@gmail.com
Cours d’algorithme 43
24 mars 2019
la procédure, dans ce mode le paramètre effectif ne subit aucune
modification
La transmission par adresse (ou par référence) : les adresses des
paramètres effectifs sont transmises à la procédure appelante, dans ce
mode, le paramètre effectif subit les mêmes modifications que le
paramètre
formel lors de l'exécution de la procédure
• Remarque : le paramètre effectif doit être une variable (et non une
valeur) lorsqu'il s'agit d'une transmission par adresse
En pseudo-code, on va préciser explicitement le mode de transmission
dans la déclaration de la procédure
LES POINTEURS
moustaphak 367@gmail.com
Cours d’algorithme 44
Définition
A la déclaration d'une variable, un emplacement lui est accordé dans la
mémoire. Cet emplacement possède une adresse. Cette adresse peut être stockée
dans une variable de type pointeur.
Pour résumer un pointeur est une variable qui contient l'adresse mémoire d'une
autre variable.
Déclaration
L'opérateur de déclaration de pointeur est l'astérisque '*', et il est caractérisé par
le type de variable sur laquelle il va pointer.
Ainsi pour déclarer un pointeur on doit respecter la syntaxe suivante :
*pointeur: type_variable_pointée;
Exemples :
*p1:caractère; %p1 peut contenir l'adresse d'une variable de type
caractère%
*p2:entier; %p2 peut contenir l'adresse d'une variable de type entier%
Opérateurs & et *
24 mars 2019
Plusieurs langages mettent en jeu deux opérateurs utilisés lors de l'usage de
pointeurs. Il s'agit des opérateurs & et *. Nous allons utiliser ces mêmes
opérateurs en pseudo-code.
Opérateurs & et *
Exemples:
Algo Operateurs Pointeurs;
var i, j: entier;
debut
moustaphak 367@gmail.com
Cours d’algorithme 45
24 mars 2019
avec des langages de programmation comme mplab ; mpasm ; langages
évolué microC qu’ont saura comment ils fonctionnent Les microcontrôleurs
• 2 chiffres : famille du PIC (10, 12, 16, 17, 18, 24, 30, 32, 33) — le PIC14
existe, c'est le PIC14000.
• 1 lettre : type de mémoire de programme (C ou F). Le F indique en général
qu'ils ‘agit d'une mémoire flash et donc effaçable électroniquement. La lettre
C indique en général que la mémoire ne peut être effacée que par exposition
aux ultra-violets (exception pour le PIC16C84 qui utilise une mémoire
EEPROM donc effaçable électriquement). Un L peut être ajouté devant pour
indiquer qu'il s'agit d’un modèle basse tension (exemple : 2 V à 5,5 V si LF
4,2 V à 5,5 V si F).
• un nombre de 2 à 4 chiffres : modèle du PIC au sein de la famille.
Toutefois il y a maintenant des exceptions : PIC18F45K22 par exemple.
• un groupe de lettres pour indiquer le boîtier et la gamme de température.
moustaphak 367@gmail.com
Cours d’algorithme 46
1) Codage d’informations
Le codage est l’ensemble des motifs, symboles ou des signes conventionnelle
ou personnelle des compilateurs dont point du vu est d’échanger des
informations.
Il existe plusieurs façons de coder des informations dont les plus connus sont
1) Le codage en binaire
2) Le codage décimal
3) Le codage en hexadécimale
4) Le codage ASCII
a) Le récupérateur d’information.
b) L’information envoyée.
24 mars 2019
Le récupérateur peut être une broche ou un ensemble de broches comme
des PORT, l’information doit être conformité au nombre des broches
d’un PORT (une broche, portd, portc, un écran, un capteur, une carte .. .)
L’information codée
5) Décodage d’informations
moustaphak 367@gmail.com