tp n°6 : programmation - jfalycee.free.frjfalycee.free.fr/img/pdf/tp6.pdf · jfa 2015 page 2 tp6...

18
JFA 2015 Page 1 TP6 TP N°6 : Programmation A. Introduction : Nous allons maintenant pouvoir programmer notre carte microcontrôleur. Pour cela nous allons devoir exprimer ce que l’on veut faire dans un langage de programmation : c’est le fichier « source » du programme. Puis convertir ce fichier source en un fichier compréhensible par notre processeur : le code objet (le langage machine) qui contiendra les instructions à exécuter pour réaliser la fonction désirée. Pour créer ce programme exécutable, il est nécessaire de passer par plusieurs étapes : analyser de manière rigoureuse les tâches à exécuter, en déduire les actions à effectuer, traduire ces tâches en programme, traduire ce programme en fichier exécutable. B. Etude et traduction : Après l’étude des tâches à réaliser, il décomposer le travail à effectuer en sous tâches et il faut les traduire en algorithme. I. Présentation : Il est impossible d'écrire un programme correct du premier coup, depuis la première ligne jusqu'à la dernière. Un programme est l'aboutissement d'un travail méthodique résumé par le schéma suivant : Programme

Upload: duongtu

Post on 20-Oct-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

JFA 2015 Page 1 TP6

TP N°6 : Programmation

A. Introduction :

Nous allons maintenant pouvoir programmer notre carte microcontrôleur. Pour cela nous allons devoir

exprimer ce que l’on veut faire dans un langage de programmation : c’est le fichier « source » du

programme. Puis convertir ce fichier source en un fichier compréhensible par notre processeur : le

code objet (le langage machine) qui contiendra les instructions à exécuter pour réaliser la fonction

désirée.

Pour créer ce programme exécutable, il est nécessaire de passer par plusieurs étapes :

analyser de manière rigoureuse les tâches à exécuter,

en déduire les actions à effectuer,

traduire ces tâches en programme,

traduire ce programme en fichier exécutable.

B. Etude et traduction :

Après l’étude des tâches à réaliser, il décomposer le travail à effectuer en sous tâches et il faut les

traduire en algorithme.

I. Présentation :

Il est impossible d'écrire un programme correct du premier coup, depuis la première ligne jusqu'à la

dernière. Un programme est l'aboutissement d'un travail méthodique résumé par le schéma suivant :

Programme

JFA 2015 Page 2 TP6

1°) Première étape : Enoncé du problème :

Il faut être capable de définir très précisément tout ce que l'on attend du programme. Pour cela il faut connaître quelles sont les informations nécessaires à la résolution du problème :

qui va les fournir et sous quelle forme,

est-on sûr de la validité de ces données ou faut-il les contrôler pour s'assurer

qu’elles sont conformes à ce que l'on avait prévu ?

Il faut également réfléchir à la présentation des résultats.

Exemple :

Ecrire un programme qui permet d’entrer 10 nombres au clavier.

2°) Seconde étape : Faire l’analyse structurée et pseudo code ou organigramme :

Une fois les données déterminées et les résultats explicités, il ne reste plus qu'à trouver la

méthode qui permet d'obtenir les résultats à partir des données. Si la solution n'est pas

évidente du premier coup d'œil, il est nécessaire :

- de le découper en sous-problèmes,

- et de le structurer.

Lorsqu'un problème est trop complexe, il faut le découper en plusieurs tâches distinctes,

auxquelles on attribue un nom significatif, de manière que le problème paraisse résolu

avec la résolution des sous-problèmes.

Puis on traite chaque tâche suivant le même processus, en la subdivisant en sous-tâches

jusqu'à ce que celles-ci deviennent évidentes à résoudre.

La structuration consiste à organiser les sous-tâches obtenues par la méthode de

découpage, de manière que leur agencement réponde effectivement au problème posé.

Une fois le problème résolu et découpé, il faut le traduire en algorithme. Et c’est la

version traduite de l’algorithme qui sera notre programme. Ce programme dit source sera

aussi traduit ensuite en un programme exécutable par l'ordinateur.

Un algorithme doit être clair et lisible, pour cela un peu de soin dans sa présentation est

nécessaire. Aucun flou artistique n'est tolérable.

Tests

JFA 2015 Page 3 TP6

L'analyse et la programmation sont à notre charge, la compilation est à la charge d'un

programme traducteur, appelé compilateur.

L’algorithme peut être présenté sous deux formes :

En organigramme ou, en pseudo code.

Exemple : Comptage de 10 nombres saisis au clavier :

En Pseudo Code :

VARIABLES :

COMPTEUR : ENTIER

NOMBRE : REEL

DEBUT

COMPTEUR = 0

TANTQUE (COMPTEUR < 10) FAIRE

SAISIR NOMBRE (ON SAISIT LE NOMBRE)

COMPTEUR = COMPTEUR + 1 (ON INCREMENTE LA VARIABLE)

FINTANTQUE

FIN

En organigramme :

JFA 2015 Page 4 TP6

3°) Troisième étape : traduction :

Une fois la décision prise du langage utilisé, si l'analyse et la structuration et la traduction

en pseudo code (ou en algorigramme) ont été faite correctement, la traduction ou le codage est simple à réaliser.

Exemple : en langage C :

Main ()

Int COMPTEUR ;

Float NOMBRE ;

{

COMPTEUR = 0 ;

While (COMPTEUR < 10) do {

Getch (NOMBRE) ;

COMPTEUR = COMPTEUR + 1 ;

}

}

4°) Quatrième étape : Tests :

Il reste maintenant à passer la dernière étape, qui est en faite l'aboutissement de tout notre travail, à savoir si notre programme remplit bien les tâches prévues.

5°) Cinquième étape : Corrections :

Cette étape est normalement inutile si l'analyse et la structuration ont été faites

correctement. Mais l'erreur est humaine !

6°) Sixième étape : Documentation :

Cette étape est souvent négligée à tort car elle permet une meilleure utilisation du

programme, et surtout une maintenance aisée. Il faut penser à l'utilisateur qui ne connaît

pas forcément bien l'informatique. Vous vous êtes sûrement déjà retrouvé devant un programme avec sa documentation et ne pas savoir par où commencer.

C. Enoncé du problème :

1°) Définition des variables d'entrées et de sorties :

Une variable désigne une information qui peut changer au cours du programme. La taille

d'une variable peut être de 8 bits, 16 bits, 32 bits, flottant, exposant, caractère, chaine de

caractères tableau, fichier, pointeur,… .

Utiliser une variable permet de :

- de mémoriser une information provenant de l'extérieur,

- de stocker le résultat d'une opération.

On devra établir la liste des variables d'entrée et de sortie dont le programme a besoin. On pourra se poser les questions suivantes :

o Sous quelle forme se présentent ces entrées ou ces sorties

(bit, octet, caractère, texte, ...)

o Quelle est la nature de ces entrées ou de ces sorties.

(temporaires, constantes, variables)

JFA 2015 Page 5 TP6

o Il faudra leur choisir un nom évocateur de ce qu'elles représentent et ne pas hésiter à mettre un commentaire en face de leur déclaration.

Exemple :

compteur boucle, nom, voyelle, ...

et non toto, tata, titi ...

2°) Contraintes supplémentaires :

Avant de s'attaquer à la résolution du problème, il faut encore répondre à quelques questions :

Quelle est la procédure de base qui transforme les entrées en sorties ?

Y a-t-il des contraintes de temps ?

Y a-t-il des contraintes mémoires ?

Y a-t-il des cas particuliers à traiter ?

Quelle est la précision des résultats à fournir ?

Comment le programme doit-il traiter les erreurs d'exécution, de débordement, d'entrées,

de sorties ?

Toutes ces questions sont à se poser avant d'écrire la moindre ligne de programme !

Exemple :

Ecrire un programme qui permet d’entrer 10 nombres au clavier.

Comment lire les nombres au clavier ?

Doit-on les stocker ?

Le nombre 10 est-il constant ?

Est-ce des nombres à virgules, négatifs, … ? .

Doit-on les afficher ?

….

D. CONCEPTION DU PROGRAMME :

1°) Principes de bases de la conception d'un programme :

Une fois le problème résolu et découpé, il faut le traduire en algorithme. Et c’est la version

traduite de l’algorithme qui sera notre programme. Ce programme dit source sera aussi

traduit ensuite en un programme exécutable par l'ordinateur.

Un algorithme doit être clair et lisible, pour cela un peu de soin dans sa présentation est nécessaire. Aucun flou artistique n'est tolérable.

L'analyse/programmation peut donc être résumée dans le schéma suivant :

JFA 2015 Page 6 TP6

REALISATION ?

COMPILATION

PROGRAMMATION

ANALYSE

PROGRAMME ECRIT EN

LANGAGE EVOLUE

PROGRAMME

EXECUTABLE

ALGORITHMEPROCESSUS A

AUTOMATISER

L'analyse et la programmation sont à notre charge, la compilation est à la charge d'un

programme traducteur, appelé compilateur.

L’algorithme peut être présenté sous deux formes : En organigramme ou en pseudo code.

2°) Qu'est-ce qu'un algorithme ?

Un algorithme est une série d’actes ou d’opérations élémentaires qu’il faut exécuter en séquence pour accomplir une tâche quelconque, en suivant un enchaînement strict.

Remarque :

Lorsqu’il sera demandé d’élaborer un algorithme, la méthode pour atteindre cet objectif

sera de rédiger en français la succession des opérations élémentaires (phases courtes et

précises) puis de passer à une écriture conventionnelle appelée pseudo-code.

3°) Algorithme : Structure.

1. Un algorithme en pseudo-code, sous forme d'organigramme ou un programme en langage évolué est toujours structuré de façon suivante:

Déclarations,

Constantes

Variables

Programme,

Début

Initialisation des variables

Traitements

Fin

2. Il faut systématiquement déclarer toutes les variables, et préciser leur type (caractère,

chaîne de n caractères, entier, réel, booléen ou logique, etc.) et les constantes.

Toute constante dans le corps d'un algorithme doit être déclarée.

Par exemple, si nous voulons saisir une suite de 10 éléments, il vaut mieux déclarer en

constante N=10 puis utiliser N dans l'algorithme ou le programme. Car si nous devons

changer le programme pour traiter 8 ou 14 éléments, il suffit d'écrire N=8 ou N=14.

3. L'usage des commentaires doit être systématisé. En tête de programme, il doit se trouver un commentaire disant ce que fait le programme.

De même toute partie délicate du traitement doit être commentée.

JFA 2015 Page 7 TP6

Il en est de même pour les variables, leur identificateur doit être explicite et un commentaire doit en préciser l'utilité dans l'algorithme ou le programme.

Un commentaire peut se placer n'importe où (entre {}) dans l'algorithme.

4°) Les organigrammes :

Les organigrammes ne sont en rien une méthode de conception de programme, mais plutôt

un outil et un moyen d'y arriver !

L'organigramme est une représentation graphique normalisée utilisée pour analyser ou

décoder un problème. Il utilise des symboles représentant des traitements, des liaisons, des

données...

Un organigramme bien représenté doit être flêché et fermé, compris entre un début et une fin.

Avantage des organigrammes :

- L'intérêt fondamental réside dans sa représentation imagée.

* les symboles standards sont normalisés

* Ils peuvent être compris par des personnes n'ayant aucune connaissance de la

programmation.

* Ils peuvent servir à diviser le projet entier en sous-tâches. Ils serviront alors à

évaluer les progrès accomplis.

* Ils décomposent les séquences d'opérations et aident ainsi à trouver les erreurs.

Inconvénients des organigrammes :

- Ils sont difficiles à concevoir, dessiner, ou modifier dans tous les cas.

- Il n'existe pas de méthode simple pour mettre au point, optimiser, ou tester un

organigramme.

- Ils tendent à devenir encombrants : il est difficile de décider entre l'introduction de

détails utiles et le nombres de ces détails qui les rendrait à peine plus lisibles.

- Ils ne montrent que l'organisation du programme, mais pas celle des données ou la

structure des entrées-sorties.

- Ils ne sont d'aucun secours pour les problèmes d'ordre matériel ou temporel. Ils ne

suggèrent même pas où de tels problèmes pourraient bien surgir.

- Ils n'autorisent pas une programmation structurée si l'on y prête pas attention. Les

renvois, les flèches, les boucles peuvent réaliser un joli méli-mélo.

Conclusion :

Les organigrammes constituent une technique utile pour la documentation des

programmes. En tant qu'outil de conception, ils ne peuvent cependant offrir qu'un

moyen de commencer et d'éclaircir les idées.

E. Notation algorithmique :

Nous disposons donc de deux notations strictement équivalentes :

Organigrammes et Pseudo-code.

Ce sont deux représentations d'un même processus, elles sont donc identiques. Un organigramme

est une description plus visuelle à l'aide de schémas; le pseudo-code est plus proche de notre langage.

JFA 2015 Page 8 TP6

1°) Le début et la fin d’un programme ou d’un sous-programme.

Cette notation permet de situer le début et la fin du programme. Dans un sous-programme on

écrira le nom du sous-programme plutôt que « début ».

Exemple:

Pseudo Code Organigramme Traduction en langage C

Début

instructions

instructions

instructions

Fin

Fin

Début

Main()

{

Instructions ;

Instructions ;

Instructions ;

}

Elles sont représentées dans un rectangle

avec les côtés arrondis. Il y ne doit y

avoir qu’un seul début et une seule fin

2°) La plus simple : la structure séquentielle.

Une séquence d'instructions est une suite d'instructions. Elles seront exécutées les unes derrière

les autres. Cela peut être des affectations ou des opérations.

Exemple:

Pseudo Code Organigramme Traduction en langage C

A = 10 ;

B = A+5 ;

B = A + 5

A = 10

A=10 ;

B=A+5 ;

Elles sont représentées dans un rectangle

Chaque structure est une boîte. Il y a une

entrée, une sortie.

Attention, chaque ligne se

termine par un point virgule !

3°) Le bloc :

Pour assembler une suite d'instructions qui représente une partie complète on peut la mettre dans

un bloc. Elles seront aussi exécutées les unes derrière les autres.

JFA 2015 Page 9 TP6

Exemple:

Pseudo Code Organigramme Traduction en langage C

Début

A = 10 ;

B = A+5 ;

Fin

A = 10B = A + 5

{

A=10 ;

B=A+5 ;

}

Elles sont représentées dans un rectangle

Chaque structure est une boîte. Il y a une

entrée, une sortie.

Un bloc commence par une

accolade et se termine par

une accolade ;

4°) Les entrées sorties :

Les entrées sorties sont considérées comme des opérations à part car elles sont représentées de

manière différentes, mais c’est toujours une structure séquentielle. Par exemple pour exécuter

l'opération correspondant à l'allumage d'une diode électroluminescente, ou pour aller lire un mot

binaire sur le clavier de la serrure à code.

Exemple:

Pseudo Code Organigramme Traduction en langage C

LIRE A ;

ECRIRE B ;

LIRE A

ECRIRE B

scanf("%d",&A);

printf ("%d",B);

Elles sont représentées dans un losange. Attention au format d’entrée et de sortie.

5°) La structure alternative.

Elle sert à représenter des actions "optionnelles" ; dans certains cas, il faut exécuter une action,

dans l'autre une action différente. Suivant le résultat du test on exécute une action ou une autre.

Dans le cas de l'exemple ci-dessus suivant la valeur de A, B vaut 1 ou 0.

Un algorithme se lisant de haut en bas, nous ne pouvons donc utiliser qu'une seule des deux

branches : pas d'erreur possible. Les réponses à la condition peuvent être écrite de manière lisible

(oui, non) ou le non peut être représenté par une barre oblique ou par un petit rond sur une des sorties.

JFA 2015 Page 10 TP6

Exemple:

Pseudo Code Organigramme Traduction en langage C

Si A<10

Alors

B=1 ;

Sinon

B=0 ;

FinSi

A < 10 ?

B = 1 B = 0

Oui Non

if (A<10)

{

B=1 ;

}

else

{

B=0 ;

}

Elles sont représentées dans un losange.

Remarque : pourquoi ce finsi?

Derrière le finsi, il peut très bien y avoir d'autres actions. Il faut donc marquer la limite entre

les actions optionnelles et celles qui ne le sont pas. Le finsi correspond au point de rencontre des flèches qui sortent des boites de l'organigramme.

Si il n'y a qu'un seul cas, la partie sinon peut est inexistante. On peut très bien écrire :

Exemple:

Pseudo Code Organigramme Traduction en langage C

Si A<10

Alors

B=0 ;

FinSi

A < 10 ?

B = 0

Oui Non

if (A<10)

{

B=0 ;

}

6°) La structure répétitive.

Cette structure nous permet de représenter des processus à caractère répétitif. La condition est évaluée

puis la suite d'actions est exécutée. La suite d'actions est alors répétée tant que la condition reste vraie. Dans ce cas, il se peut que la suite d'actions ne soit pas réalisée si la condition est fausse dès le début.

Exemple:

Pseudo Code Organigramme Traduction en langage C

Tantque A<10

Faire

B=B+1 ;

A=A+1 ;

FinTantque

A < 10 ?

B = B + 1A = A + 1

Oui Non

While (A<10)

{

B=B+1 ;

A=A+1 ;

}

Remarque : pourquoi ce fintantque?

JFA 2015 Page 11 TP6

De même derrière le fintantque, il peut très bien y avoir d'autres actions. Il faut donc marquer

la limite entre les actions optionnelles et celles qui ne le sont pas. Le fintantque correspond à la

fin des instructions à répéter.

7°) La deuxième structure répétitive.

Cette structure permet de réaliser une action ou une suite d'actions tant que la condition de branchement est réalisée. Elle est réalisée au moins une fois !

Exemple:

Pseudo Code Organigramme Traduction en langage C

Faire

B=B+1 ;

A=A+1 ;

Tant que (A<10)

A < 10 ?Oui

Non

B = B + 1A = A + 1

do

{

B=B+1 ;

A=A+1 ;

} while (A<10)

8°) La structure Répétitive avec compteur.

Nous avons vu que certains algorithmes nécessitaient un comptage d'éléments ou de situations

(exemple: comptage des lettres au clavier), pour ce faire, on utilisera une variable entière qui

s’incrémentera (ou décrémentera) automatiquement à chaque passage. Cette autre structure de contrôle permettant de représenter un tel algorithme est la boucle pour :

Syntaxe : effectuer un traitement avec un compteur, aussi appelé indice de boucle, I variant

d'une valeur initiale VI, jusqu'à une valeur finale VF, avec un pas PAS.

pour I VI,VF,PAS faire

| traitement

finpour

Si le pas est omis, on considère qu'il est égal à 1.

I vaudra VI, puis VI + PAS, puis VI + 2xPAS, etc. Si le pas est positif, le processus s'exécute tant que I est inférieur à VF.Si il est négatif, le processus s'exécute tant que I est supérieur à VF.

Cette structure nous permet de représenter des processus à caractère répétitif. La condition est

évaluée puis la suite d'actions est exécutée. La suite d'actions est alors répétée tant que la condition

reste vraie. Dans ce cas, il se peut que la suite d'actions ne soit pas réalisée si la condition est fausse

dès le début. Attention à ne pas modifier l’indice de boucle dans la boucle !

JFA 2015 Page 12 TP6

Exemple:

Pseudo Code Organigramme Traduction en langage C

Pour Y allant de 50000 à 0

par pas de -1

Faire

B=B+1 ;

FinPour

Y=50000 Y=Y-1

Y dans [50000..0]

B=B-1

For (Y=5000 ; Y>=0 ; Y=Y-1)

{

B=B+1 ;

}

9°) Renvoi vers un autre point du programme :

Quand le programme est assez complexe on peut couper une longue ligne de connexion et

mettre des repères numérotés pour clarifier la représentation.

33

10°) Renvoi vers un autre point du programme :

Quand le programme est encore plus complexe on peut le répartir sur plusieurs pages en utilisant les connecteurs suivants.

A A

11°) Appel d’un sous-programme.

TEMPO_Y

JFA 2015 Page 13 TP6

Ce bloc comporte le nom du sous-programme à exécuter. Le sous-programme est un

élément indépendant du programme principal. Lorsqu'un appel de sous-programme est

rencontré, l'exécution s'interrompt dans le programme en cours, elle se poursuit dans le

sous-programme. Dès que dans le sous-programme on rencontre l'instruction de fin de

sous-programme, l'exécution revient au programme l'ayant appelé là où il s'était interrompu.

Le sous-programme est une entité où on y regroupe un ensemble de lignes qui réalisent

une fonction. On devrait trouver pour chaque sous-programme :

La définition précise de la fonction réalisée ;

Les définitions des entrées et sorties de la fonction, exactement de la même manière que pour une fonction de l'électronique câblée.

JFA 2015 Page 14 TP6

Symboles d’organigrammes

Début

Fin

TERMINALE DEBUT TERMINAL FIN OPERATION AUXILIAIRE PROCEDE COMMENTAIRE

Oui Non

CONNECTEURS DECISION RETARD AFFICHAGE

ENTREE / SORTIE SOUS ROUTINE ROUTINE INTERNE ENTREE MANUELLE OPERATION MANUELLE

DOCUMENT CONNECTEUR HORS

PAGE CONDITION OU TRI

JFA 2015 Page 15 TP6

EXTRACTION STOCKAGE EN LIGNE STOCKAGE HORS LIGNE FUSION DISTRIBUTEUR

CARTE PERFOREE BANDE PERFOREE TAMBOUR

MAGNETIQUE MEMOIRE CENTRALE FICHIER DE CARTE

DISQUE MAGNETIQUE LOT DE CARTES BANDE MAGNETIQUE

JFA 2015 Page 16 TP6

Mots clés du pseudo code

Conteneurs

CLASSE : sans description

FONCTION : sans description

PROCEDURE : sans description

Structures conditionnelles

SI ...ALORS ... : condition de type if

SI ...ALORS ... SINON ... : condition de type if else

SI ...ALORS ... SINON_SI ... ALORS ... : condition de type if elseif

AVEC ... EGAL_A ... : branchement conditionnel de type switch case (amélioration de plusieurs if)

Structures itératives

POUR ... FAIRE ... : itération de type for (itération avec compteur)

POUR_TOUT ... FAIRE ... : itération de type foreach (itération de tous les éléments)

VARIANT_DE ... JUSQUE ... : itération de type for (pour i variant_de 1 jusque 10 faire ...)

TANT_QUE ... FAIRE ... : itération de type do while

JUSQUE ... FAIRE ... : itération de type until

FAIRE ... JUSQUE ... : itération de type do until

REPETER : sans description

Entrées-sorties

AFFICHE, AFFICHER : envoyer de l'information vers un dispositif de sortie, le plus souvent vers

l'écran

ECRIT, ECRIRE : envoyer de l'information vers un dispositif de sortie, par exemple un fichier

LIT, LIRE : lire l'information depuis une entrée (clavier, fichier, etc.)

Divers

DEMARRER, COMMENCER : sans description

CONTINUER : sans description

ARRETER, SORTIR, STOP, TERMINER, FIN_PROGRAMME : opération de type exit, break, ou

opération de type return (arrêt de la fonction et affectation de la valeur de retour)

SELECTIONNER : sans description

CHOISIR : choix d'une valeur parmi un set de valeurs. Dépend d'une valeur booléenne (résultat d'un

test, variable, etc.)

Types de données

BOOLEEN : type à deux états (vrai ou faux)

REEL : nombre réel

ENTIER : nombre entiers

DECIMAL : nombre décimal

LETTRE : caractère

MOTS : chaînes de caractères (Strings)

TABLEAU : sans description

COLLECTION : sans description

LISTE : type générique Liste

JFA 2015 Page 17 TP6

RIEN_EN_RETOUR : la méthode ne retourne pas de valeur, il s'agit d'une "procédure" dans certains

langages.

RIEN : signifie l'absence de valeur.

Symboles

> : plus grand que

< : plus petit que

∀ : pour tout

∃ : existe

∈ : appartient

¬ : not (négation)

∉ : n'appartient pas à

∑ : somme

∞ : infini

∧ : et

∨ : ou

Commentaires

// : précède un commentaire sur une ligne

/* ... */ : entoure un commentaire multi lignes

Blocs de code

<CONDITION> : instruction qui effectue un test afin de renvoyer une valeur booléenne

<EXPRESSION> : sans description

<EXPRESSION_V> : expression à exécuter si la condition est respectée (true, vrai, 1, etc.)

<EXPRESSION_F> : expression à exécuter si la condition n'est pas respectée (false, faux, 0, etc.)

<INSTRUCTION> : instruction unique

<INSTRUCTION_S> : une ou plusieurs instructions

<_..._> : remplace n'importe quel bloc de code (accepte toute combinaison de lettres, de chiffres, et le

tiret)

Opérateurs

:= : affectation

Par exemple a:=1 signifie que l'on affecte la valeur 1 à la variable a

= : égalité

Par exemple a=b teste si les deux variables sont égales et renvoie vrai ou faux

Bibliographie :

http://www.gaudry.be/pseudocode-info.php

JFA 2015 Page 18 TP6