Sie sind auf Seite 1von 235

Guide d'utilisation de LARP

Troisime dition
Marco Lavoie
Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP


Troisime dition
Imprim le 2008-02-12

Marco Lavoie

Copyright 2004-2008 Marco Lavoie

Tous droits rservs.


Toute reproduction, en tout ou en partie, sous quelque forme et par quelque procd que ce soit, est
interdite sans l'autorisation crite pralable de l'auteur.
Les images, pseudo-codes, organigrammes, copies d'crans et fentres prsents dans cet ouvrage le sont
titre d'illustration et peuvent tre diffrents dans la ralit. En consquence, les procdure et
manipulations dcrites ainsi que cet ouvrage sont publis en l'tat, et l'utilisateur supporte tous les risques
en ce qui concerne leur qualit et fonctionnement.
Tous les logiciels, ordinateurs et marques cits dans cet ouvrage sont des marques de commerce dposes
et ne sont cits qu' titre d'exemples.
Bien que l'auteur ait test les pseudo-codes, organigrammes, procdures et manipulations dcrites dans cet
ouvrage et revu leur contenu, l'auteur n'offre aucune garanties, expresse ou tactile, concernant l'ouvrage ou
son contenu.
L'auteur a fait tout ce qui tait en son pouvoir pour retrouver les copyrights et marques de commerce. On
peut lui signaler tout renseignement menant la correction d'erreurs ou d'omissions.

Guide d'utilisation de LARP


Table des matires
1

Introduction ..............................................................................................................................17
1.1
Licence d'utilisation ..........................................................................................................18
1.1.1
Version gratuiciel ...................................................................................................19
1.1.2
Version partagiciel .................................................................................................19
1.1.3
Licence ..................................................................................................................19
1.2
Auteur de LARP ...............................................................................................................21
1.3
Installation ........................................................................................................................21
1.3.1
Exigences minimales d'quipements et logiciels ..................................................21
1.3.2
Installation partir d'un CD ...................................................................................22
1.3.3
Installation partir d'un fichier tlcharg .............................................................22
1.3.4
Dsinstallation .......................................................................................................23
1.4
Enregistrement .................................................................................................................23
1.4.1
Procdure d'enregistrement ..................................................................................24
1.4.2
Commander des cls de dbridage ......................................................................25
1.5
Mises jour de LARP ......................................................................................................26
1.6
Support technique ............................................................................................................27
1.6.1
Aide en ligne ..........................................................................................................27
1.6.2
Rapporter un bogue ..............................................................................................28
1.6.3
Site Web de LARP ................................................................................................30

Environnement de dveloppement..........................................................................................33
2.1
Aide disponible dans LARP..............................................................................................33
2.2
lments de l'interface .....................................................................................................33
2.2.1
Barre de menu .......................................................................................................35
2.2.2
Panneau de contrle .............................................................................................39
2.2.3
Navigateur de documents .....................................................................................41
2.2.4
Panneau de modles ............................................................................................41
2.2.5
diteurs .................................................................................................................42
2.2.6
Panneau de messages..........................................................................................44
2.2.7
Panneau de statut .................................................................................................44
2.2.8
Console d'excution ..............................................................................................45
2.2.9
Fentre d'excution pas--pas ..............................................................................46
2.3
Fonctionnalits de l'diteur textuel ...................................................................................47
2.3.1
diter un document textuel....................................................................................47
2.3.2
Recherche et remplacement .................................................................................48
2.3.3
Surligne de contenu ..............................................................................................49
2.3.4
Configuration de l'diteur textuel ...........................................................................49
2.3.5
Commandes d'dition de l'diteur textuel .............................................................49
2.3.5.1
Commandes de l'diteur textuel accessibles via les menus .............................49
2.3.5.2
Commandes de l'diteur textuel accessibles via le clavier ...............................50
2.3.5.3
Contrle de l'diteur textuel via la souris ...........................................................51
2.4
Fonctionnalits de l'diteur graphique .............................................................................51
2.4.1
Instructions dorganigramme .................................................................................52
2.4.2
diter un organigramme ........................................................................................53
2.4.3
Manipulation d'instructions d'organigramme .........................................................54
2.4.3.1
Insertion, dplacement et destruction d'instructions d'organigramme ..............55
2.4.3.2
dition d'instructions d'organigramme ...............................................................56
2.4.4
Recherche et remplacement dans un organigramme ...........................................57
2.4.5
Agrandissement de laffichage ..............................................................................57

Copyright 2004-2008 Marco Lavoie

iii

2.4.6
Surligne dinstructions en excution pas--pas ....................................................57
2.4.7
Configuration de l'diteur graphique .....................................................................58
2.4.8
Commandes d'dition de l'diteur graphique ........................................................58
2.4.8.1
Commandes de l'diteur graphique accessibles via les menus ........................58
2.4.8.2
Commandes de l'diteur graphique accessibles via le clavier ..........................59
2.4.8.3
Contrle de l'diteur graphique via la souris .....................................................60
2.5
Compilation et excution ..................................................................................................60
2.5.1
Excution d'un projet .............................................................................................61
2.5.2
Excution pas--pas ..............................................................................................61
2.5.2.1
Interface de lexcution pas--pas.....................................................................61
2.5.2.2
Modes dexcution pas--pas ............................................................................64
2.5.2.3
Inspection des variables ....................................................................................65
2.5.2.4
Inspection de la pile dappels ............................................................................66
2.5.2.5
Points darrt ......................................................................................................66
2.5.2.6
Animation ...........................................................................................................68
2.5.3
Sauvegarde de scurit ........................................................................................70
2.5.4
Avertissements et erreurs .....................................................................................70
2.6
Configuration de LARP ....................................................................................................71
2.6.1
Configuration gnrale ..........................................................................................71
2.6.1.1
Configuration des diteurs .................................................................................72
2.6.1.2
Configuration de la console d'excution ............................................................73
2.6.1.3
Configuration du mode super-utilisateur et du systme de mises jour ..........74
2.6.2
Slection de couleurs ............................................................................................76
2.6.2.1
Couleurs dans la console d'excution ...............................................................76
2.6.2.2
Couleurs dans les diteurs ................................................................................77
2.6.2.3
Couleurs pour excution pas--pas...................................................................77
3

Mode super-utilisateur .............................................................................................................79


3.1
Prvention du plagiat .......................................................................................................79
3.1.1
Pseudonyme actif ..................................................................................................80
3.1.2
Pseudonyme rattach aux fichiers projet ..............................................................81
3.1.3
Chiffrement des documents ..................................................................................81
3.1.4
Contrle du copier-coller .......................................................................................82
3.1.5
Contrle de l'impression ........................................................................................83
3.2
Dbridage de l'environnement de dveloppement ..........................................................83
3.2.1
Slection d'une technologie de cl ........................................................................84
3.2.2
Statistiques de projet .............................................................................................85
3.2.3
Conversion dorganigramme en pseudo-code ......................................................85
3.2.4
Projets publics .......................................................................................................86

Un premier algorithme .............................................................................................................89


4.1
4.2
4.3
4.4
4.5

Les commentaires ............................................................................................................89


Dbut et fin d'un algorithme .............................................................................................90
Syntaxe des instructions ..................................................................................................90
Sparation des instructions ..............................................................................................91
Cration du projet LARP ..................................................................................................92

Constantes et variables ...........................................................................................................97


5.1
5.2
5.3
5.4
5.5
5.6

Noms de variables ...........................................................................................................97


Oprations ........................................................................................................................98
Valeurs numriques .........................................................................................................99
Les chanes de caractres ...............................................................................................99
Squences d'chappement ............................................................................................100
L'affectation ....................................................................................................................100

Conteneurs ............................................................................................................................101

iv

Copyright 2004-2008 Marco Lavoie

6.1
6.2
6.3
7

Regroupement de valeurs ..............................................................................................101


Accs aux lments .......................................................................................................101
Retirer des lments ......................................................................................................102

Lecture et criture .................................................................................................................105


7.1
7.2
7.3
7.4
7.5

Instruction dentres/sorties pour organigrammes .........................................................105


L'instruction de lecture ...................................................................................................106
L'instruction d'criture ....................................................................................................107
L'instruction de requte ..................................................................................................108
Le sparateur .................................................................................................................109

Oprateurs et fonctions prdfinies ......................................................................................113


8.1
Oprateurs arithmtiques ...............................................................................................113
8.2
Oprateurs de chanes de caractres ............................................................................114
8.3
Oprateurs de conteneurs .............................................................................................115
8.4
Fonctions prdfinies .....................................................................................................116
8.4.1
Fonctions mathmatiques ...................................................................................116
8.4.2
Fonctions de manipulation de chanes ................................................................117
8.4.3
Fonctions de manipulation de conteneurs ..........................................................118

Structures conditionnelles .....................................................................................................121


9.1
9.2
9.3
9.4
9.5
9.6
9.7
9.8
9.9

10

Les conditions ................................................................................................................122


Oprateurs relationnels ..................................................................................................122
Tests de type ..................................................................................................................123
Oprateurs logiques .......................................................................................................124
Priorit des oprateurs ...................................................................................................125
Structures SI et SI-SINON .............................................................................................126
Structures SI-SINON imbriques ...................................................................................128
Structure SI-SINON-SI ...................................................................................................130
Structure de slection ....................................................................................................134
Structures rptitives .........................................................................................................137

10.1
10.2
10.3
11

Structure TANTQUE............................................................................................137
Structure RPTER-JUSQU' ...........................................................................139
Structure POUR ..................................................................................................141
Modules .............................................................................................................................145

11.1
11.2
11.3
11.4
11.5
11.5.1
11.5.2
11.5.3
11.6
11.7
12

Noms de modules ...............................................................................................145


Module principal ..................................................................................................146
Modules auxiliaires ..............................................................................................147
Variables locales .................................................................................................149
Modules auxiliaires avec paramtres ..................................................................150
Dclaration des paramtres d'un module ...........................................................150
Paramtres valeurs .............................................................................................152
Paramtres rfrences ........................................................................................153
Modules avec valeur de retour ............................................................................155
Syntaxe d'invocation alternative ..........................................................................157

Fichiers et tampons d'entres/sorties ................................................................................159

12.1
12.2
12.3
12.3.1
12.3.2
12.3.3
12.3.4

Tampons d'entres/sorties ..................................................................................159


Fichiers ................................................................................................................160
Canaux d'entres/sorties .....................................................................................161
Ouverture d'un document ....................................................................................161
Ouvrir un tampon d'entres/sorties .....................................................................161
Ouvrir un fichier ...................................................................................................162
Modes d'accs.....................................................................................................163

Copyright 2004-2008 Marco Lavoie

12.3.5
12.4
12.5
12.6

Fermeture d'un canal d'entres/sorties ...............................................................164


Lecture via un canal d'entres/sorties .................................................................164
criture via un canal d'entres/sorties ................................................................165
Dtection de fin de contenu via un canal d'entres/sorties .................................166

Annexe A - Calcul binaire ......................................................................................................... 167


A.1
Pourquoi les ordinateurs sont-ils binaires? ........................................................ 167
A.2
La numrotation en base dcimale .................................................................... 167
A.3
La numrotation en base binaire ....................................................................... 168
A.4
La numrotation hexadcimale .......................................................................... 170
Annexe B - Rcursivit ............................................................................................................. 173
Annexe C - Fonctions prdfinies ........................................................................................... 175
ABSOLU ..............................................................................................................175
ALATOIRE ........................................................................................................176
ARCTANGENTE .................................................................................................177
ARRONDIR .........................................................................................................178
CAPACIT ..........................................................................................................179
COMPTER ..........................................................................................................179
COSINUS ............................................................................................................180
DATE ...................................................................................................................181
ENCARACTRES ...............................................................................................182
ENCHANE ..........................................................................................................183
EXP .....................................................................................................................183
FINDECONTENU ................................................................................................184
FORMATER ........................................................................................................185
HEURE ................................................................................................................189
LOG10 .................................................................................................................189
LOGE...................................................................................................................190
MAJUSCULES ....................................................................................................191
MAXIMUM ...........................................................................................................191
MINIMUM ............................................................................................................192
MINUSCULES .....................................................................................................193
PI .........................................................................................................................194
PLAFOND ...........................................................................................................194
PLANCHER .........................................................................................................195
POSITION ...........................................................................................................196
RACINE ...............................................................................................................197
SINUS..................................................................................................................197
SOUSENSEMBLE ...............................................................................................198
Annexe D - lments de syntaxe............................................................................................. 201
D.1
Modules .............................................................................................................. 201
D.2
Structures conditionnelles .................................................................................. 201
D.3
Structures rptitives ......................................................................................... 203
D.4
Fichiers et tampons d'entres/sorties ................................................................ 204
D.5
Lecture et criture .............................................................................................. 205
Annexe E - Avertissements et erreurs .................................................................................... 207
E.1
Messages relis l'environnement de dveloppement ..................................... 207
E.2
Messages relis l'excution d'algorithmes ...................................................... 210
Index .............................................................................................................................................225

vi

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP


Liste des figures
Figure 1-1 : Identification de la version gratuiciel .......................................................................... 19
Figure 1-2 : Identification de la version partagiciel ........................................................................ 19
Figure 1-3 : Dmarrage de LARP .................................................................................................. 24
Figure 1-4 : Enregistrement de LARP ........................................................................................... 25
Figure 1-5 : Cl de dbridage ........................................................................................................ 25
Figure 1-6 : Fentre d'accueil ........................................................................................................ 25
Figure 1-7 : Tlchargement et installation des mises jour ........................................................ 26
Figure 1-8 : Messages d'erreur...................................................................................................... 28
Figure 1-9 : Erreur d'application .................................................................................................... 28
Figure 1-10 : Rapport de bogue (formulaire) ................................................................................. 29
Figure 1-11 : Rapport de bogue (fichiers) ..................................................................................... 30
Figure 1-12 : Rapport de bogue (transmission)............................................................................. 31
Figure 2-1 : Fentre principale ...................................................................................................... 34
Figure 2-2 : Panneau de contrle .................................................................................................. 39
Figure 2-3 : Navigateur de documents .......................................................................................... 41
Figure 2-4 : Modles pour pseudo-code ....................................................................................... 42
Figure 2-5 : Modles pour organigramme ..................................................................................... 42
Figure 2-6 : diteur textuel de LARP ............................................................................................. 43
Figure 2-7 : diteur graphique de LARP ....................................................................................... 43
Figure 2-8 : Panneau de messages .............................................................................................. 44
Figure 2-9 : Panneau de statut ...................................................................................................... 44
Figure 2-10 : Console d'excution ................................................................................................. 45
Figure 2-11 : Fentre d'excution pas--pas................................................................................. 46
Figure 2-12 : Panneau de l'diteur textuel..................................................................................... 47
Figure 2-13 : Fentre de recherche ............................................................................................... 48
Figure 2-14 : Fentre de recherche et remplacement ................................................................... 48
Figure 2-15 : Panneau de l'diteur graphique ............................................................................... 52
Figure 2-16 : Nouveau module principal ....................................................................................... 54
Figure 2-17 : Nouveau module auxiliaire ....................................................................................... 54
Figure 2-18 : Nud d'insertion slectionn................................................................................... 54
Figure 2-19 : Instruction d'organigramme slectionne ................................................................ 54
Figure 2-20 : Insertion d'une instruction d'organigramme via le menu contextuel du noeud ........ 56
Figure 2-21 : dition d'une instruction d'organigramme ................................................................ 57
Figure 2-22 : Prochaine instruction excuter.............................................................................. 58
Figure 2-23 : Point d'arrt surlign ................................................................................................ 58
Figure 2-23 : Fentre de compilation ............................................................................................ 61
Figure 2-24 : lments de la fentre d'excution pas--pas ......................................................... 62
Figure 2-25 : Panneau de statut de la fentre d'excution pas--pas .......................................... 63
Figure 2-26 : Prochaine instruction excuter (pas--pas) dans l'diteur textuel ........................ 64
Figure 2-27 : Prochaine instruction excuter (pas--pas) dans l'diteur graphique .................. 65
Figure 2-28 : Panneau d'inspection des variables ........................................................................ 65
Figure 2-29 : Panneau d'inspection de la pile d'appels ................................................................. 66
Figure 2-30 : Panneau dinspection des points d'arrt .................................................................. 67
Figure 2-31 : Point d'arrt surlign dans l'diteur textuel .............................................................. 67
Figure 2-32 : Point d'arrt surlign dans l'diteur graphique ......................................................... 68
Figure 2-33 : Panneau d'animation d'instruction ........................................................................... 69
Figure 2-34 : Animation de l'valuation d'une condition ................................................................ 69
Figure 2-35 : Configuration gnrale ............................................................................................. 72
Figure 2-36 : Configuration de l'excution dalgorithmes .............................................................. 73
Figure 2-37 : Slection du rpertoire pour fichier temporaires ...................................................... 74

Copyright 2004-2008 Marco Lavoie

vii

Figure 2-38 : Configuration du mode super-utilisateur et du systme de mise jour................... 75


Figure 2-39 : Test de dbridage .................................................................................................... 75
Figure 2-40 : Configuration des couleurs ...................................................................................... 76
Figure 3-1 : Spcifier le pseudonyme actif .................................................................................... 80
Figure 3-2 : Impression des documents ........................................................................................ 83
Figure 3-3 : Cl de dbridage (port USB) ...................................................................................... 83
Figure 3-4 : Cl de dbridage (port parallle) ............................................................................... 84
Figure 3-5 : Indicateur du mode super-utilisateur.......................................................................... 84
Figure 3-6 : Statistiques de projet.................................................................................................. 85
Figure 3-7 : Conversion d'un organigramme en pseudo-code ...................................................... 86
Figure 4-1 : Modles de commentaire ........................................................................................... 90
Figure 4-2 : Fentre d'accueil ........................................................................................................ 92
Figure 4-3 : Fentre d'enregistrement ........................................................................................... 93
Figure 4-4 : Pseudonyme d'utilisateur ........................................................................................... 93
Figure 4-5 : Fentre Nouveau ....................................................................................................... 94
Figure 4-6 : Projet LARP en cours d'dition .................................................................................. 95
Figure 4-7 : Excution du projet .................................................................................................... 95
Figure 4-8 : Messages gnrs lors de la compilation et l'excution ............................................ 96
Figure 4-9 : Sauvegarder le projet ................................................................................................. 96
Figure 7-1 : Instruction d'entres/sorties pour organigrammes ................................................... 105
Figure 7-2 : dition d'une instruction d'entres/sorties d'organigramme .................................... 105
Figure 7-3 : Interprtation du texte fourni lors dune lecture ....................................................... 106
Figure 7-4 : Lecture de valeurs dans un organigramme ............................................................. 107
Figure 7-5 : Instruction d'criture ................................................................................................. 107
Figure 7-6 : criture de valeurs dans un organigramme ............................................................. 108
Figure 7-7 : Interrogation peu lgante ....................................................................................... 108
Figure 7-8 : Instruction REQUTE .............................................................................................. 109
Figure 7-9 : Formuler une requte dans un organigramme ........................................................ 109
Figure 7-10 : Changement de sparateur ................................................................................... 110
Figure 7-11 : Lecture exploitant le sparateur............................................................................. 110
Figure 9-1 : Condition compose ................................................................................................ 126
Figure 9-2 : Ordre d'valuation de la condition prcdente ........................................................ 126
Figure 9-3 : Reprsentation graphique de l'ordre d'valuation ................................................... 126
Figure 11-1 : Cration dun module auxiliaire .............................................................................. 146
Figure 11-2 : Affichage lors de l'excution du module auxiliaire Menu ....................................... 148
Figure 11-3 : Transfert de donnes via paramtres .................................................................... 150
Figure 12-1 : Tampons d'entres/sorties dun projet ................................................................... 160
Figure 12-2 : Spcifier un numro de canal dans une instruction de lecture d'organigramme ... 165
Figure 12-3 : Spcifier un numro de canal dans une instruction d'criture d'organigramme .... 166
Figure C-1 : Rsultats de l'invocation de ABSOLU ..................................................................... 176
Figure C-2 : Rsultats de l'invocation de ALATOIRE ............................................................... 177
Figure C-3 : Rsultats de l'invocation de ARCTANGENTE ........................................................ 178
Figure C-4 : Rsultats de l'invocation de ARRONDIR ................................................................ 178
Figure C-5 : Rsultats de l'invocation de CAPACIT .................................................................. 179
Figure C-6 : Rsultats de l'invocation de COMPTER .................................................................. 180
Figure C-7 : Rsultats de l'invocation de COSINUS ................................................................... 181
Figure C-8 : Rsultats de l'invocation de DATE .......................................................................... 181
Figure C-9 : Rsultats de l'invocation de ENCARACTRES ...................................................... 182
Figure C-10 : Rsultats de l'invocation de ENCHANE ............................................................... 183
Figure C-11 : Rsultats de l'invocation de EXP........................................................................... 184
Figure C-12 : Rsultats de l'invocation de FORMATER ............................................................. 188
Figure C-13 : Rsultats de l'invocation de HEURE ..................................................................... 189

viii

Copyright 2004-2008 Marco Lavoie

Figure C-14 : Rsultats de l'invocation de LOG10 ...................................................................... 190


Figure C-15 : Rsultats de l'invocation de LOGE ........................................................................ 190
Figure C-16 : Rsultats de l'invocation de MAJUSCULES ......................................................... 191
Figure C-17 : Rsultats de l'invocation de MAXIMUM ................................................................ 192
Figure C-18 : Rsultats de l'invocation de MINIMUM ................................................................. 193
Figure C-19 : Rsultats de l'invocation de MINUSCULES .......................................................... 193
Figure C-20 : Rsultats de l'invocation de PI .............................................................................. 194
Figure C-21 : Rsultats de l'invocation de PLAFOND ................................................................. 195
Figure C-22 : Rsultats de l'invocation de PLANCHER .............................................................. 195
Figure C-23 : Rsultats de l'invocation de POSITION ................................................................ 196
Figure C-24 : Rsultats de l'invocation de RACINE .................................................................... 197
Figure C-25 : Rsultats de l'invocation de SINUS ....................................................................... 198
Figure C-26 : Rsultats de l'invocation de SOUSENSEMBLE .................................................... 199

Copyright 2004-2008 Marco Lavoie

ix

Guide d'utilisation de LARP


Liste des tableaux
Tableau 2-1 : Commandes de la barre de menu........................................................................... 39
Tableau 2-2 : lments d'interface du panneau de contrle ......................................................... 41
Tableau 2-3 : Commandes de lditeur textuel accessibles via le clavier ..................................... 51
Tableau 2-4 : Instructions d'organigramme ................................................................................... 53
Tableau 2-5 : Commandes de lditeur graphique accessibles via le clavier ............................... 59
Tableau 5-1 : Squences d'chappement ................................................................................... 100
Tableau 6-1 : Fonctions de manipulation de conteneurs ............................................................ 103
Tableau 7-1 : Interprtation des valeurs lues .............................................................................. 106
Tableau 7-2 : Interprtation des espaces par LIRE et CRIRE .................................................. 110
Tableau 8-1 : Oprateurs arithmtiques ...................................................................................... 113
Tableau 8-3 : Oprateurs de chanes de caractres ................................................................... 114
Tableau 8-4 : Oprateurs de conteneur ...................................................................................... 115
Tableau 8-5 : Fonctions mathmatiques prdfinies .................................................................. 117
Tableau 8-6 : Fonctions prdfinies de manipulation de chanes de caractres ........................ 118
Tableau 8-7 : Fonctions prdfinies de manipulation de conteneurs.......................................... 119
Tableau 9-1 : La structure conditionnelle SI ................................................................................ 121
Tableau 9-2 : Oprateurs relationnels ......................................................................................... 122
Tableau 9-3 : Oprateurs logiques .............................................................................................. 125
Tableau 9-4 : Priorit des oprateurs .......................................................................................... 125
Tableau 9-5 : Structures conditionnelles SI et SI-SINON............................................................ 126
Tableau 9-6 : Structure conditionnelle SI-SINON-SI ................................................................... 132
Tableau 9-7 : Instructions d'organigrammes requises dans une structure SI-SINON-SI ............ 133
Tableau 9-8 : Structure de slection............................................................................................ 135
Tableau 9-9 : Instructions d'organigrammes requises dans une structure de slection ............. 136
Tableau 10-1 : Structure rptitive TANTQUE ............................................................................ 137
Tableau 10-2 : Structure rptitive RPTER-JUSQU' ........................................................... 139
Tableau 10-3 : Structure rptitive POUR ................................................................................... 141
Tableau 12-1 : Table des codes ASCII ....................................................................................... 169
Tableau 12-2 : Correspondance des bases de numrotation ..................................................... 170

Copyright 2004-2008 Marco Lavoie

xi

Guide d'utilisation de LARP


Liste des pseudo-codes
Pseudo-code 1-1 : Un pseudo-code .............................................................................................. 17
Pseudo-code 4-1 : Pseudo-code tout bte .................................................................................... 89
Pseudo-code 4-2 : Les commentaires ........................................................................................... 89
Pseudo-code 4-3 : Syntaxe des instructions ................................................................................. 90
Pseudo-code 4-4 : Sparation des instructions ............................................................................. 91
Pseudo-code 5-1 : Noms de variables .......................................................................................... 98
Pseudo-code 5-2 : Les oprateurs ................................................................................................ 98
Pseudo-code 5-3 : Les valeurs numriques .................................................................................. 99
Pseudo-code 5-4 : La chane de caractres ................................................................................. 99
Pseudo-code 5-5 : L'apostrophe et le guillemet ............................................................................ 99
Pseudo-code 5-6 : L'affectation ................................................................................................... 100
Pseudo-code 6-1 : Les conteneurs.............................................................................................. 101
Pseudo-code 6-2 : Conteneur dans un conteneur ...................................................................... 101
Pseudo-code 6-3 : Accs aux lments d'un conteneur ............................................................. 101
Pseudo-code 6-4 : Accs aux lments d'un conteneur ............................................................. 102
Pseudo-code 6-5 : lments indfinis d'un conteneur ................................................................ 102
Pseudo-code 7-1 : Lecture d'une valeur...................................................................................... 106
Pseudo-code 7-2 : Lecture de plusieurs valeurs ......................................................................... 106
Pseudo-code 7-3 : L'instruction d'criture ................................................................................... 107
Pseudo-code 7-4 : Interroger l'utilisateur..................................................................................... 108
Pseudo-code 7-5 : Instruction REQUTE ................................................................................... 108
Pseudo-code 7-6 : Une requte pour lire plus d'une valeur ........................................................ 109
Pseudo-code 7-7 : Instruction SPARATEUR ............................................................................ 110
Pseudo-code 7-8 : Modification du sparateur............................................................................ 110
Pseudo-code 8-1 : Les oprateurs arithmtiques ....................................................................... 113
Pseudo-code 8-2 : L'oprateur + appliqu des valeurs de type distincts ................................. 114
Pseudo-code 8-3 : Joindre des conteneurs ................................................................................. 115
Pseudo-code 8-4 : Soustraction de conteneurs .......................................................................... 115
Pseudo-code 9-1 : Les conditions simples .................................................................................. 123
Pseudo-code 9-2 : Condition vrifiant si une valeur est dfinie ou non ...................................... 124
Pseudo-code 9-3 : Les conditions composes ............................................................................ 125
Pseudo-code 9-4 : Structures SI et SI-SINON ............................................................................ 127
Pseudo-code 9-5 : Syntaxes invalides de la structure SI ............................................................ 128
Pseudo-code 9-6 : Squence de structures SI relies ................................................................ 128
Pseudo-code 9-7 : Structures SI-SINON imbriques les unes dans les autres .......................... 129
Pseudo-code 9-8 : Structures conditionnelles imbriques .......................................................... 130
Pseudo-code 9-9 : Structure conditionnelle SI-SINON-SI ........................................................... 133
Pseudo-code 9-10 : Structure SI-SINON-SI pour tester une mme valeur ................................ 134
Pseudo-code 9-11 : Structure de slection ................................................................................. 134
Pseudo-code 10-1 : Structure rptitive TANTQUE.................................................................... 138
Pseudo-code 10-2 : Structure rptitive RPTER-JUSQU' ................................................... 140
Pseudo-code 10-3 : Structure TANTQUE quivalente la boucle du Pseudo-code 10-2.......... 140
Pseudo-code 10-4 : Itrer d'une valeur la suivante avec TANTQUE ....................................... 142
Pseudo-code 10-5 : Structure rptitive POUR .......................................................................... 142
Pseudo-code 10-6 : Structure POUR avec incrment autre que 1 ............................................. 143
Pseudo-code 10-7 : Structure rptitive POUR avec dcrment................................................ 143
Pseudo-code 10-8 : Structure rptitive POUR avec dcrment autre que -1 ........................... 144

Copyright 2004-2008 Marco Lavoie

xiii

Pseudo-code 10-9 : Structure POUR invalide ............................................................................. 144


Pseudo-code 11-1 : Le module principal ..................................................................................... 147
Pseudo-code 11-2 : Module auxiliaire ......................................................................................... 147
Pseudo-code 11-3 : Invocation d'un module auxiliaire ................................................................ 148
Pseudo-code 11-4 : Variables locales ......................................................................................... 149
Pseudo-code 11-5 : Module auxiliaire avec paramtres ............................................................. 150
Pseudo-code 11-6 : Invocation d'un module auxiliaire avec arguments ..................................... 151
Pseudo-code 11-7 : Dclaration de paramtres rfrences ....................................................... 152
Pseudo-code 11-8 : Passage d'arguments par valeur ................................................................ 153
Pseudo-code 11-9 : Dclaration de paramtres valeurs et rfrences ....................................... 154
Pseudo-code 11-10 : Module principal ........................................................................................ 154
Pseudo-code 11-11 : Module de slection d'une commande de menu ...................................... 156
Pseudo-code 11-12 : Invocation d'un module avec valeur de retour .......................................... 157
Pseudo-code 11-13 : Syntaxe alternative d'invocation d'un module ........................................... 157
Pseudo-code 11-14 : Invocation d'une fonction prdfinie ......................................................... 158
Pseudo-code 12-1 : Ouvrir un tampon d'entres/sorties ............................................................. 161
Pseudo-code 12-2 : Instructions OUVRIR invalides.................................................................... 162
Pseudo-code 12-3 : Ouvrir un fichier ........................................................................................... 162
Pseudo-code 12-4 : Fermer un tampon d'entres/sorties ou un fichier ...................................... 164
Pseudo-code 12-5 : Lecture d'un document via un canal d'entres/sorties ................................ 164
Pseudo-code 12-6 : Dtection de la fin d'un document lors d'une lecture .................................. 166
Pseudo-code B-1 : Calcul de la factorielle (module rcursif) ...................................................... 173
Pseudo-code B-2 : Calcul de la factorielle (module itratif) ........................................................ 174
Pseudo-code C-1 : Exemples d'invocation de ABSOLU ............................................................. 175
Pseudo-code C-2 : Exemples d'invocation de ALATOIRE ....................................................... 176
Pseudo-code C-3 : Exemples d'invocation de ARCTANGENTE ................................................ 177
Pseudo-code C-4 : Exemples d'invocation de ARRONDIR ........................................................ 178
Pseudo-code C-5 : Exemples d'invocation de CAPACIT.......................................................... 179
Pseudo-code C-6 : Exemples d'invocation de COMPTER.......................................................... 180
Pseudo-code C-7 : Exemples d'invocation de COSINUS ........................................................... 180
Pseudo-code C-8 : Exemples d'invocation de DATE .................................................................. 181
Pseudo-code C-9 : Exemples d'invocation de ENCARACTRES .............................................. 182
Pseudo-code C-10 : Exemples d'invocation de ENCHANE ....................................................... 183
Pseudo-code C-11 : Exemples d'invocation de EXP .................................................................. 184
Pseudo-code C-12 : Exemples d'invocation de FINDECONTENU ............................................. 184
Pseudo-code C-13 : Exemples d'invocation de FORMATER ..................................................... 188
Pseudo-code C-14 : Exemples d'invocation de HEURE ............................................................. 189
Pseudo-code C-15 : Exemples d'invocation de LOG10 .............................................................. 190
Pseudo-code C-16 : Exemples d'invocation de LOGE ................................................................ 190
Pseudo-code C-17 : Exemples d'invocation de MAJUSCULES ................................................. 191
Pseudo-code C-18 : Exemples d'invocation de MAXIMUM ........................................................ 192
Pseudo-code C-19 : Exemples d'invocation de MINIMUM ......................................................... 192
Pseudo-code C-20 : Exemples d'invocation de MINUSCULES .................................................. 193
Pseudo-code C-21 : Exemples d'invocation de PI ...................................................................... 194
Pseudo-code C-22 : Exemples d'invocation de PLAFOND......................................................... 195
Pseudo-code C-23 : Exemples d'invocation de PLANCHER ...................................................... 195
Pseudo-code C-24 : Exemples d'invocation de POSITION ........................................................ 196
Pseudo-code C-25 : Exemples d'invocation de RACINE ............................................................ 197
Pseudo-code C-26 : Exemples d'invocation de SINUS ............................................................... 198
Pseudo-code C-27 : Exemples d'invocation de SOUSENSEMBLE ............................................ 198

xiv

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP


Liste des organigrammes
Organigramme 1-1 : Un organigramme ........................................................................................ 18
Organigramme 4-1 : Organigramme tout bte .............................................................................. 89
Organigramme 4-2 : Syntaxe des instructions .............................................................................. 91
Organigramme 4-3 : Prolongation dune instruction dorganigramme........................................... 92
Organigramme 5-1 : Oprations squentielles .............................................................................. 99
Organigramme 5-2 : Exemple de squences d'chappement .................................................... 100
Organigramme 6-1 : Modifier les lments d'un conteneur ........................................................ 102
Organigramme 6-2 : Compresser un conteneur.......................................................................... 103
Organigramme 7-1 : Changement de sparateur ....................................................................... 111
Organigramme 8-1 : La concatnation de chanes de caractres .............................................. 114
Organigramme 8-2 : Test de type CONTENEUR ........................................................................ 116
Organigramme 9-1 : Condition testant le type du contenu dune variable .................................. 124
Organigramme 9-2 : Structure SI ................................................................................................ 127
Organigramme 9-3 : Structure SI-SINON .................................................................................... 127
Organigramme 9-4 : Structures conditionnelles imbriques ....................................................... 131
Organigramme 9-5 : Structure conditionnelle SI-SINON-SI ........................................................ 133
Organigramme 9-6 : Exemple de structure de slection ............................................................. 135
Organigramme 10-1 : Structure rptitive TANTQUE ................................................................. 138
Organigramme 10-2 : Structure rptitive RPTER-JUSQU' ................................................ 140
Organigramme 10-3 : Structure rptitive POUR........................................................................ 143
Organigramme 11-1 : Le module principal .................................................................................. 147
Organigramme 11-2 : Module auxiliaire simple sous forme d'organigramme ............................. 148
Organigramme 11-3 : Organigramme invoquant un module auxiliaire ....................................... 149
Organigramme 11-4 : Module auxiliaire avec paramtres .......................................................... 151
Organigramme 11-5 : Invocation d'un module auxiliaire avec arguments .................................. 151
Organigramme 11-6 : Dclaration de paramtres rfrences ..................................................... 152
Organigramme 11-7 : Passage d'arguments par valeur ............................................................. 153
Organigramme 11-8 : Dclaration de paramtres rfrences ..................................................... 155
Organigramme 11-9 : Module auxiliaire avec valeur de retour ................................................... 156
Organigramme 11-10 : Deux exemples d'invocation d'un mme module ................................... 158
Organigramme 12-1 : Exploitation du mot rserv TAMPON ..................................................... 162
Organigramme 12-2 : Spcification du mode d'accs un document ........................................ 163
Organigramme 12-3 : Fermer plusieurs canaux d'entres/sorties .............................................. 164
Organigramme 12-4 : criture dans un document via un canal d'entres/sorties ...................... 165

Copyright 2004-2008 Marco Lavoie

xv

Guide d'utilisation de LARP

1. Introduction

1 Introduction
LARP est en fait un acronyme. Il vient de la compression de la phrase Logiciel d'Algorithmes et
de Rsolution de Problmes, conu par Marco Lavoie. LARP est un langage de programmation
permettant le prototypage rapide d'algorithmes.
L'avantage de LARP est que le programme est un langage pseudo-code syntaxe flexible et non
un code source compiler, ce qui permet de formuler des algorithmes en un langage seminaturel plutt que de devoir adhrer une syntaxe rigide et cryptique telle que celle des langages
de programmation traditionnels (C++, Pascal, Java, etc.).
Voici un pseudo-code LARP indiquant l'cran si un nombre entr via le clavier de l'ordinateur
est positif ou ngatif :
\\ Pseudo-code simple
DBUT
CRIRE "Entrez un nombre"
LIRE N
SI N < 0 ALORS
CRIRE "Nombre ngatif"
SINON
CRIRE "Nombre positif"
FINSI
FIN
Pseudo-code 1-1 : Un pseudo-code

Comme vous pouvez le constater, la syntaxe du langage LARP est simple et facile
comprendre.
LARP offre aussi la possibilit de formuler des algorithmes sous forme dorganigrammes. Le
Pseudo-code 1-1 peut ainsi tre formul sous forme dorganigramme tel quillustr par
lOrganigramme 1-1.LARP offre un environnement de dveloppement d'algorithmes simple et
convivial permettant un utilisateur novice de se familiariser rapidement avec le logiciel.
L'utilisateur peut ainsi consacrer ses nergies programmer des algorithmes plutt qu' se
familiariser avec une interface complexe ou une syntaxe de programmation aride.
La flexibilit du langage de programmation LARP ainsi que la convivialit de l'environnement de
dveloppement rend le logiciel particulirement propice l'enseignement de la programmation.
L'enseignant peut exploiter le langage LARP dans des pseudo-codes et/ou des organigrammes
pour prsenter de faon claire et concise les concepts de programmation tels les conditions, les
boucles et la modularit. En pratique, les tudiants peuvent exploiter l'environnement de
dveloppement de LARP pour implmenter et exprimenter les algorithmes prsents par
l'enseignant. En fait, LARP fut l'origine dvelopp par un enseignant en informatique dans le
but d'enseigner les concepts de la programmation structure.

Copyright 2004-2008 Marco Lavoie

17

1. Introduction

Guide d'utilisation de LARP

Organigramme 1-1 : Un organigramme

Afin de faciliter l'exploitation du langage dans un environnement ducatif, LARP est dot d'un
systme d'aide contextuel prsentant la syntaxe du langage LARP sous une forme pdagogique.
Ainsi, la documentation en ligne permet l'utilisateur non seulement d'apprendre la syntaxe de
LARP afin de programmer des algorithmes, mais aussi d'apprendre exploiter des notions de
programmation telles les variables et conteneurs, les structures conditionnelles et rptitives, la
modularit et le stockage de donnes. Ces notions de programmation sont expliques et
accompagnes d'exemples concrets facilitant leur comprhension.
Le logiciel LARP est un outil pdagogique essentiel l'enseignement de la programmation. Que
ce soit en apprentissage autonome ou en classe, LARP rend l'apprentissage de la
programmation plus facile et agrable.

1.1

Licence d'utilisation

LARP est distribu en version gratuiciel ainsi quen version partagiciel. Les deux versions du
logiciel sont identiques lexception des fonctionnalits suivantes :


La version gratuiciel noffre pas de fonctionnalits de prvention du plagiat alors que la


version partagiciel loffre lorsque enregistre.

La version gratuiciel noffre pas la mise jour automatise de linstallation (les mises
jour doivent tre rcupres et installes manuellement) alors que la version partagiciel
loffre lorsque enregistre.

La version gratuiciel ne bridant pas de fonctionnalits, le mode super-utilisateur nest pas


requis. La version partagiciel supporte le mode super-utilisateur lorsque les
fonctionnalits de prvention du plagiat sont actives durant linstallation.

Les deux versions du logiciel sont distribues en un seul fichier dinstallation. La version
installer est slectionne par lutilisateur lors du processus dinstallation.

18

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

1. Introduction

1.1.1 Version gratuiciel


LARP est disponible en version gratuiciel. Le gratuiciel (en anglais : freeware) consiste pour un
auteur mettre en libre circulation une version complte de son logiciel afin de permettre au
public de lutiliser sans frais.
Librement tlchargeable, un gratuiciel est par dfinition gratuit! Aucun engagement financier ne
lie quiconque installe le logiciel son auteur. Lutilisateur peut installer et utiliser le gratuiciel sans
aucune restriction. Le gratuiciel est cependant soumis certaines restrictions quant sa
distribution (voir la section 1.1.3 pour les dtails).
La version gratuiciel de LARP est facilement identifiable via la barre titre de la fentre principale
de lenvironnement de dveloppement :

Figure 1-1 : Identification de la version gratuiciel

La fentre daccueil du logiciel identifie aussi quelle version de LARP est utilise.

1.1.2 Version partagiciel


LARP est disponible en version partagiciel. Le partagiciel (en anglais : shareware) consiste pour
un auteur mettre en libre circulation une version complte de son logiciel afin de permettre au
public de le tester sans s'engager financirement. On peut assimiler ce mode de distribution
une priode de libre essai durant laquelle l'auteur vous offre l'opportunit d'valuer un logiciel
de la faon la plus vidente et la plus efficace qui soit : en l'utilisant comme si vous l'aviez achet.
Librement tlchargeable, un partagiciel n'est pas pour autant gratuit. Un contrat moral lie en
effet son auteur quiconque installe le logiciel. Il stipule que l'utilisateur du partagiciel doit, s'il
souhaite utiliser le produit et mme le conserver sur son ordinateur au terme de la priode
d'valuation, s'acquitter du prix de la licence d'utilisation. En clair : une fois coule un nombre
prdtermin de jours d'essai du partagiciel, il faudra passer la caisse si l'on souhaite en garder
l'usufruit. Dans le cas contraire, l'utilisateur se devra de reposer le logiciel sur son rayonnage,
autrement dit le dsinstaller, si pour quelque raison que ce soit il ne souhaite pas l'acqurir.
La version partagiciel de LARP est facilement identifiable via la barre titre de la fentre principale
de lenvironnement de dveloppement :

Figure 1-2 : Identification de la version partagiciel

La fentre daccueil du logiciel identifie aussi quelle version de LARP est utilise.

1.1.3 Licence
Voici la licence d'utilisation permettant d'valuer le logiciel LARP. Veuillez lire attentivement ce
qui suit avant d'utiliser le logiciel. L'utilisation du logiciel indique que vous acceptez tous les
termes de cette licence.

Copyright 2004-2008 Marco Lavoie

19

1. Introduction

Guide d'utilisation de LARP

Le logiciel (LARP) est distribu en version gratuiciel (gratuite) et partagiciel (non gratuite). L'utilisateur slectionne la
version installer lors du processus d'installation du logiciel. Les deux versions sont identiques l'exception des
outils de prvention du plagiat qui sont restreints la version partagiciel.
Les termes de la licence ci-dessous sont applicables aux deux versions du logiciel l'exception de la premire
section qui est spcifique chaque version.
Version gratuiciel
Le logiciel est distribu comme gratuiciel, ce qui signifie qu'il peut tre utilis sans frais ni obligation d'enregistrement.
Le gratuiciel (en anglais : freeware) consiste pour un auteur mettre en libre circulation une version complte ou
partiellement bride de son logiciel afin de permettre au public de l'exploiter sans s'engager financirement.
Voici la licence d'utilisation permettant d'exploiter le gratuiciel. Veuillez lire attentivement ce qui suit avant d'utiliser le
gratuiciel. L'utilisation du gratuiciel indique que vous acceptez tous les termes de cette licence.
Version partagiciel
Le logiciel est un partagiciel, ce qui implique qu'il n'est pas gratuit. Ceci signifie que, conformment aux termes
noncs ci-dessous, vous pouvez l'utiliser gratuitement, dans un but d'valuation, durant une priode de 120 jours
compter de son installation. Si vous souhaitez continuer l'utiliser l'issu de cette priode, vous devrez vous
enregistrer auprs de l'auteur (Marco Lavoie). Dans le cas contraire, vous devrez supprimer ce logiciel de votre
ordinateur.
Voici la licence d'utilisation permettant d'valuer le partagiciel. Veuillez lire attentivement ce qui suit avant d'utiliser le
partagiciel. L'utilisation du partagiciel indique que vous acceptez tous les termes de cette licence.
Distribution
Vous tre autoris dupliquer le programme d'valuation (non enregistr) et le distribuer sans aucune modification
quiconque par des moyens lectroniques (Internet, BBS's, CD, etc.).
Vous ne devez demander aucun frais de copie, aucun droit de distribution autre qu'une participation raisonnable
relative vos frais (ex: packaging). Vous ne devez en aucun cas mentionner que vous vendez le logiciel lui-mme.
Vous ne devez, en aucun cas, demander une quelconque rtribution pour l'utilisation du logiciel lui-mme. La
distribution de la version d'valuation ne peut engager aucune compensation d'aucune sorte de la part de l'auteur.
Version enregistre
Une copie enregistre de ce logiciel ne peut tre utilise que par une seule et mme personne sur un ou plusieurs
ordinateurs. Vous pouvez accder ce logiciel travers un rseau partir du moment o vous avez obtenu autant de
licences individuelles que d'ordinateurs susceptibles d'excuter le programme sur le rseau. Par exemple, si six
postes diffrents peuvent accder au logiciel, vous avez besoin d'une licence pour six utilisateurs, qu'ils utilisent le
logiciel diffrents moments ou de manire simultane.
Restrictions d'utilisation
Vous ne devez pas altrer ce logiciel en aucune faon, ni ajouter, supprimer ou changer un quelconque message ou
une quelconque bote de dialogue.
Vous ne devez pas dcompiler, faire du reverse engineering , dsassembler ou transformer ce logiciel en un
quelconque code source. Vous ne devez pas modifier, prter, louer ou vendre ce logiciel.
Vous ne devez pas publier ou distribuer des algorithmes ou utilitaires permettant de gnrer des codes
d'enregistrement, ni publier d'information propos de ces codes, ni distribuer ou publier ces codes d'enregistrement
sans une autorisation crite de l'auteur.
Restrictions de garantie
Ce logiciel est fourni tel que et sans garantie quant l'excution, aux performances, la valeur marchande ou
toutes les autres garanties, qu'elles soient exprimes ou implicites. En raison des divers environnements matriels et
logiciels dans lesquels ce programme peut tre install, aucune garantie d'intgration ou de conformit n'est offerte.
La bonne pratique informatique dicte que tout nouveau logiciel doit tre compltement test par l'utilisateur avec des
donnes non critiques avant de l'exploiter avec des donnes critiques. L'utilisateur assume le risque d'utiliser le
logiciel. La responsabilit du vendeur est limite exclusivement au remplacement du produit ou au remboursement du
prix d'achat du logiciel.

20

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

1. Introduction

Copyright
Ce produit est Copyright 2004-2008 Marco Lavoie.
Il est protg par la loi canadienne relative aux droits d'auteurs et par les conventions internationales. Vous
reconnaissez qu'aucun titre de proprit intellectuelle de ce logiciel ne vous est transfr. Vous reconnaissez en outre
que le titre et les pleins droits de ce logiciel demeurent la proprit exclusive de l'auteur, et que vous n'acqurez
aucun droit autres que ceux expressment spcifis dans cet accord de licence.

1.2

Auteur de LARP

L'auteur du logiciel LARP est :

1.3

Nom :

Marco Lavoie
M. Sc. Informatique & mathmatiques

Adresse postale :

1, Avenue du Parc
Gatineau, Qc (Canada)
J8Y 1G5

Courrier lectronique :

info@marcolavoie.ca

Site Web :

www.marcolavoie.ca

Installation

Le programme d'installation du logiciel LARP installe sur l'ordinateur le logiciel, ses fichiers
connexes et les utilitaires essentiels au fonctionnement de LARP. Une fois l'installation termine
et selon les directives d'installation fournies par l'utilisateur, vous pouvez dmarrer LARP :

via le dossier LARP;

via le bouton Dmarrer, sous la rubrique Programmes LARP;

via une icne cre sur le Bureau de l'ordinateur;

via un bouton cr dans la zone de Lancement rapide du bureau.

La procdure d'amorage de l'installation de LARP diffre selon que la source du programme


d'installation est un CD ou un fichier tlcharg via Internet.
Le mme CD ou fichier tlcharg permet dinstaller toutes les versions du logiciel (gratuiciel ou
partagiciel) en plusieurs langues dont le franais et langlais.

1.3.1 Exigences minimales d'quipements et logiciels


Voici la configuration minimale requise pour installer et exploiter LARP sur un ordinateur :
Exigences matrielles :

Ordinateur de type PC

64 Mo de mmoire vive

5 Mo d'espace libre sur le disque rigide

Lecteur CD (si LARP doit tre install partir d'un CD)

Copyright 2004-2008 Marco Lavoie

21

1. Introduction

Guide d'utilisation de LARP

Exigences logicielles :

Microsoft Windows 95, 98, ME, NT, 2000 ou XP.

Netscape Navigator 3.01, Netscape Communicator 4.x ou Microsoft Internet Explorer


v4.0, ou une version plus rcente de ces utilitaires.

1.3.2 Installation partir d'un CD


Si la source d'installation de LARP est un CD, la procdure d'installation est la suivante :

1. Dmarrez votre ordinateur et attendez la fin du chargement de Windows .

REMARQUE : Si Windows est dj lanc, fermez toutes les applications avant de


poursuivre l'installation.
2. Si l'ordinateur est dot d'un antivirus, dsactivez temporairement ce dernier, le temps
d'installer LARP.
3. Insrez le CD d'installation de LARP (tiquette tourne vers le haut) dans le lecteur CD
de l'ordinateur.
4. Si le programme d'installation de LARP ne dmarre pas automatiquement, vous devez le
dmarrer manuellement :
4.1. Ouvrez le Poste de travail ou lancez l'Explorateur Windows.
4.2. Cliquez deux fois sur la lettre correspondant au lecteur CD (en gnral D:, E: ou
F:).
4.3. Cliquez deux fois sur le fichier application Setup.
Suivez les instructions l'cran pour installer le logiciel.

1.3.3 Installation partir d'un fichier tlcharg


Si le fichier d'installation de LARP fut tlcharg via Internet, le nom du fichier tlcharg devrait
tre LarpSetup.exe.
Pour installer LARP partir du fichier tlcharg, la procdure d'installation est la suivante :

1. Dmarrez votre ordinateur et attendez la fin du chargement de Windows .

REMARQUE : Si Windows est dj lanc, fermez toutes les applications avant de


poursuivre l'installation.
2. Si l'ordinateur est dot d'un antivirus, dsactivez temporairement ce dernier, le temps
d'installer LARP. Il est cependant recommand de vous assurer au pralable que le
fichier d'installation est exempt de virus.
3. Ouvrez le Poste de travail ou lancez l'Explorateur Windows.
4. Trouvez le fichier d'installation de LARP tlcharg (si vous avez de la difficult le
localiser sur votre ordinateur, employez la fonction de Recherche de l'Explorateur
Windows).

22

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

1. Introduction

5. Cliquez deux fois sur le fichier d'installation LarpSetup.exe.


Suivez les instructions l'cran pour procder l'installation du logiciel.

1.3.4 Dsinstallation
La procdure d'installation de LARP installe aussi sur l'ordinateur une procdure automatise de
dsinstallation. Celle-ci dtruit :

les fichiers du logiciel LARP (les fichiers excutables, les fichiers de documentation et les
exemples de projets LARP distribus avec le logiciel), et
les raccourcis LARP localiss sur le Bureau, dans la zone de Lancement rapide et dans
le menu Dmarrer.

Il est noter cependant qu'aucun des projets LARP crs par les utilisateurs n'est effac de
l'ordinateur par la procdure de dsinstallation.
Pour dsinstaller compltement le logiciel LARP, procdez comme suit :
1. Cliquez sur le bouton Dmarrer, slectionnez Paramtres, puis Panneau de
configuration.
2. Cliquez deux fois sur l'icne Ajout/Suppression de programmes.
3. Faites dfiler la liste et slectionnez l'item LARP version # (o # est le numro de la
version LARP installe sur l'ordinateur).
4. Cliquez sur le bouton Modifier/Supprimer.
Une fois le logiciel dsinstall, cliquez sur OK pour conclure la dsinstallation.

1.4

Enregistrement
Cette section du guide rfre exclusivement la version partagiciel de LARP.

Tel que stipul dans la licence d'utilisation, vous devez enregistrer LARP en version partagiciel
au terme de la priode d'valuation du logiciel. Dans le cas contraire, vous tes dans l'obligation
de cesser d'exploiter le logiciel et de le dsinstaller de vos ordinateurs.
Lors de la priode d'valuation de LARP, une fentre de rappel d'enregistrement (voir Figure 1-3)
est automatiquement affiche au dmarrage (et ventuellement la fermeture) du logiciel. Cette
fentre numre les bnfices de l'enregistrement et indique le nombre de jours restant la
priode d'valuation (la notice clignote lorsque la priode d'valuation est expire).
Selon la licence d'utilisation laquelle vous avez accept dadhrer lors de l'installation de LARP
en version partagiciel, vous devez cesser d'valuer LARP aussitt la priode d'valuation
coule. Passe la priode d'valuation, vous avez trois alternatives :
1. Enregistrer votre installation LARP afin de continuer l'utiliser.
2. Dsinstaller LARP de vos ordinateurs et cesser de l'utiliser.
3. Dsinstaller LARP et installer la version gratuiciel du logiciel.

Copyright 2004-2008 Marco Lavoie

23

1. Introduction

Guide d'utilisation de LARP

Notez que le fait de dsinstaller puis rinstaller la version partagiciel de LARP afin de contrer
l'expiration de la priode d'valuation est prohibe par la licence d'utilisation. Une telle tentative
est automatiquement dtecte par LARP.

Figure 1-3 : Dmarrage de LARP

1.4.1 Procdure d'enregistrement


Cette section du guide rfre exclusivement la version partagiciel de LARP.

Pour enregistrer votre installation de LARP en version partagiciel, vous devez acheter via Internet
une cl d'enregistrement (squence alphanumrique servant transformer une version
d'valuation du partagiciel en version enregistre) :

Si vous tes dispos faire votre achat par carte de crdit via site Web scuris,
consultez le site Web de LARP. La procdure d'enregistrement via Internet est rapide, et
vous recevrez votre cl d'enregistrement par courrier lectronique dans les minutes
suivant votre paiement par carte de crdit.
Si vous tes rticent faire vos achats par carte de crdit via Internet, il est possible de
transmettre votre demande d'achat par fax. Le traitement d'une demande d'achat reue
par fax est cependant plus long, donc il s'coulera quelques jours avant la rception de
votre cl d'enregistrement par courrier lectronique.
Si vous n'tes pas dispos faire votre achat par carte de crdit, consultez le site Web
de LARP afin d'obtenir plus d'information sur les achats par chques ou par traites
postales.

Lorsque que votre achat est complt et que vous tes en possession de votre cl
d'enregistrement, vous devez accder la fentre d'enregistrement (voir Figure 1-4) via le bouton
Procder l'enregistrement de la fentre de rappel d'enregistrement, ou via la barre de menu.
Compltez les champs indiqus avec les coordonnes d'enregistrement vous ayant t fournies
lors de l'achat (i.e. le nom d'enregistrement et la cl l'accompagnant). Votre version partagiciel de
LARP sera alors enregistre et les rappels d'enregistrement cesseront.

24

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

1. Introduction

Si vous devez ultrieurement installer la version partagiciel de LARP sur un autre ordinateur,
vous devrez rpter cette procdure d'entre des coordonnes d'enregistrement. Dans ces
circonstances, consultez la licence d'utilisation rgissant l'installation du partagiciel sur plus d'un
ordinateur.

Figure 1-4 : Enregistrement de LARP

1.4.2 Commander des cls de dbridage


Cette section du guide rfre exclusivement la version partagiciel de LARP.

Une cl de dbridage est requise pour activer le mode super-utilisateur de LARP en version
partagiciel. Chaque cl est pr-programme avec un pseudonyme unique et non modifiable.

Figure 1-5 : Cl de dbridage

Pour commander des cls de dbridage, vous devez au pralable possder une version
enregistre du partagiciel LARP (lors de la commande de cls, votre nom et cl d'enregistrement
ainsi que votre numro de licence seront exigs). Les coordonnes de votre licence d'utilisation
sont affiches dans la fentre d'accueil de LARP (voir Figure 1-6). Cette fentre est accessible en
tout temps via la barre de menu.

Figure 1-6 : Fentre d'accueil

Copyright 2004-2008 Marco Lavoie

25

1. Introduction

Guide d'utilisation de LARP

Les cls de dbridage pour LARP sont vendues via Internet :

Si vous tes dispos faire votre achat par carte de crdit via site Web scuris,
consultez le site Web de LARP.

Si vous tes rticent transmettre vos coordonnes de carte de crdit via Internet, il est
possible de transmettre votre demande d'achat par fax (consultez le site Web de LARP).

Si vous n'tes pas dispos faire votre achat par carte de crdit, consultez le site Web
de LARP afin d'obtenir plus d'information sur les achats par chques ou par traites
postales.

Les cls de dbridage achetes seront postes par courrier express ds que la transaction
financire sera complte.

1.5

Mises jour de LARP


Cette section du guide rfre exclusivement la version partagiciel de LARP.

LARP en version partagiciel dispose dun systme de mise jour intgr, soit activ
explicitement via la barre de menu ou implicitement chaque dmarrage de lapplication. La mise
jour priodique dune installation LARP assure le bon fonctionnement du partagiciel et donne
accs aux plus rcentes corrections de bogues et aux nouvelles fonctionnalits. Le systme de
mise jour intgr est uniquement accessible lorsque le partagiciel LARP est enregistre.
Lorsque le systme de mise jour intgr est activ, LARP se branche au serveur Web de
distribution des mises jour afin de vrifier si des nouvelles mises jour sont disponibles. Si
cest le cas, celles-ci sont automatiquement tlcharges et installes sur lordinateur (Figure
1-7), puis LARP est redmarr afin de prendre en compte les mises jour.

Figure 1-7 : Tlchargement et installation des mises jour

Le tlchargement des mises jour peut chouer pour divers raisons, dans quel cas linstallation
des mises jour est annule et un message derreur dcrivant lerreur est affich. Parmi les
causes derreur possibles on retrouve :

26

Tlchargement et installation des mises jour annuls par l'utilisateur : lutilisateur


a intentionnellement interrompu le processus de mise jour en appuyant sur le bouton
Annuler.

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

1. Introduction

Connexion Internet interrompue : le lien Internet a t interrompu volontairement ou


involontairement.

Serveur Web dtenteur des mises jour non disponible : le serveur Web distribuant
les mises jour nest prsentement pas disponible. Dans de telles circonstances il est
recommand de tenter une mise jour ultrieurement ou contacter le support technique.

Rpertoire des mises jour non disponible : le serveur Web distribuant les mises
jour est dfectueux. Contacter le support technique de LARP.

Accs aux mises jour prsentement suspendu : la configuration du serveur Web


distribuant les mises jour est corrompue. Contacter le support technique de LARP.

Fichiers de mises jour manquants sur le serveur Web : la configuration du serveur


Web distribuant les mises jour est corrompue. Contacter le support technique de LARP.

Il est fortement recommand dactiver la vrification automatise de mises jour au dmarrage


de LARP. Cette option est active via la fentre de configuration gnrale du partagiciel. Lorsque
loption est active et lordinateur est reli Internet, LARP se connecte silencieusement au
serveur Web de distribution des mises jour au dmarrage, et informe lutilisateur lorsque de
nouvelles mises jour sont disponibles.

1.6

Support technique

Afin de faciliter l'utilisation de LARP, diverses sources d'aide sont mises la disposition de
l'utilisateur :

LARP dispose d'un systme d'aide en ligne offrant une description dtaille de
l'environnement de dveloppement de LARP ainsi que son langage pseudo-code et ses
lments dorganigramme.
De l'aide abrge correspondant aux lments d'interface points par la souris est
affich au bas de l'environnement de dveloppement.
LARP dispose d'un systme automatis de rapports de bogue, permettant l'utilisateur
de rapporter tous les bogues rencontrs durant l'utilisation du logiciel.
Le site Web de LARP est une excellente source d'information sur LARP. On y trouve,
entre autres, la plus rcente version du logiciel.

Si vous ne trouvez pas rponses vos questions via ces sources d'information, vous pouvez
contacter le support technique de LARP via courrier lectronique l'adresse
larp@marcolavoie.ca. Notez cependant que le support technique de LARP ne s'engage pas
rpondre aux questions ou requtes ayant trait la logique de conception d'algorithmes.

1.6.1 Aide en ligne


L'aide en ligne de LARP est accessible en tout temps en pressant la touche F1 du clavier ou via
la barre de menu, sous la rubrique Aide. On y retrouve :

une description dtaille de l'environnement de dveloppement de LARP,

une description de la syntaxe du langage LARP et des instructions dorganigrammes, et

une description dtaille des messages d'erreur et davertissement affichs par LARP.

Copyright 2004-2008 Marco Lavoie

27

1. Introduction

Guide d'utilisation de LARP

De multiples exemples de pseudo-codes et dorganigrammes illustrant les caractristiques du


langage LARP accompagnent les textes de laide en ligne. Diverses notions de programmation y
sont aussi prsentes sous une forme pdagogique.

Les textes composant l'aide en ligne sont accessibles en format standard Microsoft HTML Help.
La plupart des fentres affiches dans LARP offrent un accs direct aux textes d'aide pertinents
via un bouton Aide ou via la touche F1 du clavier.

1.6.2 Rapporter un bogue


Malgr toute l'attention porte par l'auteur de LARP vous offrir un logiciel robuste et sans faille,
les erreurs de programmation sont souvent le lot de la plupart des logiciels, y compris
probablement LARP.
Lorsqu'un bogue survient, soit durant l'dition d'un algorithme ou durant son excution, dans la
plupart des cas un message d'erreur est affich par LARP afin d'en informer l'utilisateur (voir
Figure 1-8).

Figure 1-8 : Messages d'erreur

Il peut aussi arriver selon les circonstances que LARP affiche un message d'erreur plus dtaill :

Figure 1-9 : Erreur d'application

La fentre intitule Erreur d'application (Figure 1-9), affiche des informations supplmentaires sur
la cause du problme ainsi que de linformation facilitant son diagnostique.

28

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

1. Introduction

En de telles circonstances, il est recommand d'informer le support technique du problme afin


que le bogue soit limin de la prochaine version du logiciel.
LARP dispose d'un systme permettant de rapporter les bogues au support technique par
courrier lectronique. Ce systme est accessible via la barre de menu, sous la rubrique Aide.
Ses caractristiques sont :

Un systme de journalisation enregistre dans un fichier journal tous les messages


d'erreur affichs par LARP.
Si un projet est charg dans LARP lors de l'occurrence d'un bogue, une copie du fichier
projet est automatiquement sauvegarde pour envoi au support technique de LARP.

Si l'ordinateur est dot d'un agent de courrier lectronique (par exemple, Microsoft

Outlook ), un courrier lectronique peut tre automatiquement transmis au support


technique de LARP.

Figure 1-10 : Rapport de bogue (formulaire)

Le processus de transmission d'un rapport de bogue via courrier lectronique consiste en une
squence de fentres servant colliger de linformation sur les circonstances ayant men au
bogue dtect :
1. La procdure de rapport de bogue dbute par une fentre permettant l'utilisateur de
s'identifier et de dcrire les circonstances ayant men au bogue (voir Figure 1-10).
2. La seconde fentre (Figure 1-11) identifie les fichiers transmettre au support technique
de LARP afin de faciliter l'identification des causes du bogue. L'utilisateur doit autoriser
l'envoi de chaque fichier.

Copyright 2004-2008 Marco Lavoie

29

1. Introduction

Guide d'utilisation de LARP

3. La troisime fentre (Figure 1-12) permet d'initier l'envoi du rapport par courrier
lectronique via l'agent de courrier lectronique de l'ordinateur.
3.1. Si la transmission via l'agent de courrier lectronique choue, un message
d'erreur en informe l'utilisateur. Ce dernier peut transmettre le rapport
manuellement via un agent de courrier lectronique de son choix.
La transmission de linformation collige permettra l'quipe du support technique de LARP de
corriger le bogue afin que la prochaine version de LARP en soit exempte.

Figure 1-11 : Rapport de bogue (fichiers)

1.6.3 Site Web de LARP


L'utilisateur est encourag consulter le site Web de LARP (larp.marcolavoie.ca) afin d'obtenir
de l'aide supplmentaire sur l'utilisation du logiciel. On y retrouve :

La plus rcente version du logiciel.

Une liste des bogues rapports et du travail accomplit date pour les corriger.

Une liste des questions les plus frquemment poses au support technique de LARP, et
leurs rponses.
Des exemples de projets soulignant les diverses fonctionnalits du langage LARP.

Si vous ne trouvez pas rponses vos questions sur le site Web de LARP, vous pouvez toujours
contacter le support technique via courrier lectronique l'adresse larp@marcolavoie.ca.

30

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

1. Introduction

Figure 1-12 : Rapport de bogue (transmission)

Copyright 2004-2008 Marco Lavoie

31

Guide d'utilisation de LARP

2. Environnement de dveloppement

2 Environnement de dveloppement
L'environnement de dveloppement de LARP est constitu d'une interface graphique conforme

aux standards de Microsoft Windows . L'utilisateur tant dj familier avec le


type

d'environnement accompagnant les outils de dveloppement traditionnels (tels que Microsoft

Development Studio ou Borland Delphi ) n'auront aucune difficult matriser l'environnement


de dveloppement de LARP. Rciproquement, l'utilisateur s'initiant la programmation avec
LARP aura peu de difficults transfrer les aptitudes acquises un produit plus traditionnel
comme ceux cits ci-haut.
L'environnement de dveloppement de LARP est constitu de plusieurs composants, dont les
principaux sont la fentre principale, la console d'excution, la fentre dexcution pas--pas et
l'aide en ligne.

2.1

Aide disponible dans LARP

L'aide en ligne de LARP est constitue de fichiers d'aide installs sur l'ordinateur avec le logiciel.
Elle peut tre invoque de diverses faons :

Appuyez sur la touche F1 en tout temps pour accder une page de l'aide en ligne
correspondant au contexte d'invocation.
Invoquez l'aide en ligne via la barre de menu ou les menus contextuels.
Plusieurs fentres de LARP disposent d'un bouton, nomm Aide, permettant d'accder
l'aide en ligne.
Lorsqu'un message d'erreur avec numro de rfrence est slectionn dans le panneau
de messages, pressez les touches Ctrl+F1 pour obtenir de l'aide sur l'erreur en question.
Pressez sur le bouton
du panneau de contrle pour obtenir de l'aide contextuel
(quivalent Ctrl+F1 si un message d'erreur avec rfrence est slectionn, F1 sinon).
Le panneau de statut affiche de l'aide abrge correspondant l'lment d'interface
point par la souris.
Lors de l'installation de LARP, un lien l'aide en ligne est cr sous la rubrique
Programmes LARP, accessible via le menu Dmarrer.

Le Guide d'utilisation de LARP est aussi disponible en version imprimable (format Acrobat PDF).
Ce guide contient l'ensemble des pages des textes retrouves dans l'aide en ligne de LARP.

2.2

lments de l'interface

La fentre principale (Figure 2-1 : Fentre principale) de l'environnement de dveloppement de


LARP est compose de plusieurs lments d'interface :

La barre de menu donne accs aux commandes de l'environnement de dveloppement


( ne pas confondre avec les instructions pseudo-codes du langage LARP).

Copyright 2004-2008 Marco Lavoie

33

2. Environnement de dveloppement

Guide d'utilisation de LARP

Figure 2-1 : Fentre principale

34

Le panneau de contrle est constitu d'un ensemble d'lments d'interface


(majoritairement des boutons) donnant un accs rapide diverses commandes de la
barre de menu de LARP. Ces boutons correspondent des commandes qui sont
frquemment invoques lors de la conception d'algorithmes.
Les diteurs constituent le panneau central de la fentre, o le programmeur transcrit les
algorithmes excuter. LARP dispose de deux diteurs : l'diteur textuel permet d'diter
les modules en pseudo-code ainsi que les tampons d'entres/sorties, et l'diteur
graphique permet d'diter les modules en organigramme.
Le panneau de messages est situ au bas de l'diteur; LARP y affiche divers messages
(informations, avertissements et erreurs) habituellement gnrs lors de la compilation et
l'excution d'algorithmes. Ce panneau peut tre optionnellement dsactiv via les
menus.
Le navigateur de documents numre les diffrents modules et tampons
d'entres/sorties contenus dans le projet LARP en cours d'dition. L'utilisateur peut
visualiser et/ou diter un document en cliquant sur son nom avec la souris. Ce panneau
peut tre optionnellement dsactiv via les menus.
Le panneau de modles permet l'utilisateur d'insrer des composants d'algorithmes
lors de l'dition de ceux-ci. Les modles disponibles dpendent de l'diteur activ : des
modles d'instructions pseudo-code sont affichs lorsqu'un module en pseudo-code est
dit, et des modles d'instructions d'organigramme sont affichs lorsqu'un module en
organigramme est dit.

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2. Environnement de dveloppement

Le panneau de statut, apparaissant au bas de l'environnement de dveloppement,


affiche diverses informations sur l'tat courant de LARP. On y retrouve la position du
curseur dans l'diteur, le mode d'insertion actif, le pseudonyme d'utilisateur (uniquement
pour LARP en version partagiciel avec fonctionnalits de prvention du plagiat actives)
et l'aide abrge.

2.2.1 Barre de menu


La barre de menu de l'environnement de dveloppement de LARP est situe au haut de la
fentre principale (voir Figure 2-1 : Fentre principale). Elle donne accs toutes les commandes
de LARP ( ne pas confondre avec les instructions pseudo-codes du langage LARP).
Le Tableau 2-1 prsente la liste des commandes accessibles via la barre de menu. Pour chaque
commande sont indiqus la touche acclratrice (combinaison de touches du clavier activant la
commande), l'lment d'interface (.I.) correspondant la commande sur le panneau de
contrle, et une brve description de la fonctionnalit de la commande. Les commandes
identifies par le symbole sont des commandes accs restreint en fonction de la version de
LARP utilise et/ou si le mode super-utilisateur est activ.
Commande

Accl.

Fichier

.I. Description
Regroupe les commandes relatives l'accs aux
fichiers de projets.

Nouveau...

Ctrl+N

Crer un nouveau projet ou


document dans le projet courant.

Ouvrir...

Ctrl+O

Ouvrir un fichier projet.

Rouvrir

Alt+O

Rouvrir un fichier projet ouvert rcemment.

Ctrl+S

Sauvegarder le projet courant dans son fichier.


Sauvegarder le projet courant dans un fichier
spcifi.

Sauvegarder sous...
Imprimer... ()

nouveau

Fermer le fichier projet courant.

Fermer projet
Sauvegarder

un

Ctrl+P

Imprimer le projet ou un de ses documents.


Cette commande n'est pas accessible dans la
version partagiciel de LARP lorsque les
fonctionnalits de prvention du plagiat sont
actives mais que le mode super-utilisateur ne
lest pas.

Quitter

Alt+F4

Quitter l'application.
Regroupe les commandes relatives l'dition de
documents.

diter
Annuler

Ctrl+Z

Annuler la dernire opration d'dition.

Couper

Ctrl+X

Transfrer la slection dans le presse-papiers.

Copier

Ctrl+C

Copier la slection dans le presse-papiers.

Copyright 2004-2008 Marco Lavoie

35

2. Environnement de dveloppement

Guide d'utilisation de LARP

Commande

Accl.

Coller

Ctrl+V

Effacer

Del

Effacer tout
Slectionner tout

Ctrl+Del
Ctrl+A

.I. Description
Insrer le contenu du presse-papiers au curseur.
Efface la slection.
Efface la totalit du contenu du tampon
d'entres/sorties.
Slectionner la totalit du contenu du document
dit.

Contenu

diter le contenu de linstruction dorganigramme


slectionn.

Augmenter
l'indentation

Augmenter l'indentation (vers la droite) de la ligne


au curseur ou du bloc de texte slectionn dans
lditeur textuel.

Rduire l'indentation

Rduire l'indentation (vers la gauche) de la ligne


au curseur ou du bloc de texte slectionn dans
lditeur textuel.

Rechercher...
Rechercher suivant
Remplacer...

Ctrl+F
F3
Ctrl+H

Rechercher des occurrences d'un texte dans les


documents du projet.
Rpter la recherche prcdente.
Rechercher et remplacer des occurrences d'un
texte dans les documents du projet.
Regroupe les commandes relatives l'affichage
d'lments d'interface.

Afficher
Document

Slectionner un document du projet afin de


lditer.

Panneau latral

Activer / dsactiver le navigateur de documents et


le panneau de modles.

Messages

Activer / dsactiver le panneau de messages.

Console

F5

Amener l'avant plan la console d'excution


active.

Agrandir laffichage

Augmenter le facteur dagrandissement


daffichage de lditeur graphique.

Rduire laffichage

Rduire le facteur dagrandissement daffichage


de lditeur graphique.

Aucun
agrandissement

Annuler le facteur dagrandissement daffichage


de lditeur graphique.

Pseudo-code ()

Afficher en pseudo-code lorganigramme dans


lditeur graphique.
Cette commande n'est pas accessible dans la
version partagiciel de LARP lorsque les
fonctionnalits de prvention du plagiat sont
actives mais que le mode super-utilisateur ne
lest pas.

36

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Commande

2. Environnement de dveloppement

Accl.

Regroupe les commandes relatives lexcution


de projets.

Excuter
Compiler...

Ctrl+F7

Excuter...

F7

Excuter pas--pas...

Shift+F7

Excution anime

Compiler le projet (sans l'excuter).


Compiler (au besoin) et excuter le projet.
Compiler (au besoin) et excuter le projet en
mode pas--pas.
Terminer immdiatement lexcution pas--pas du
projet.

Interrompre
lexcution
Excuter un pas

.I. Description

F6
Ctrl+F6

Excuter la prochaine instruction en mode pas.


Animer lexcution de la prochaine instruction en
mode pas.

Marcher

Activer lexcution pas--pas en mode marche.

Continuer lexcution

Activer lexcution pas--pas en mode continu.

Suspendre lexcution
Point darrt

Shift+F6
F8

Suspendre temporairement lexcution pas--pas


du projet.
Activer un nouveau point darrt ou dsactiver
celui au curseur.
Regroupe les commandes relatives la gestion
de projets.

Projet

Commandes permettant de crer un nouveau


projet.

Nouveau
Pseudo-code

Crer un nouveau projet sous forme de pseudocode dans le module principal.

Organigramme

Crer un nouveau projet sous forme


dorganigramme dans le module principal.
Fermer le projet courant.

Fermer
Statistiques... ()

F9

Afficher des statistiques sur la gestion du projet.


Cette commande n'est pas accessible dans la
version partagiciel de LARP lorsque les
fonctionnalits de prvention du plagiat sont
actives mais que le mode super-utilisateur ne
lest pas.

Modules
Nouveau

Regroupe les commandes relatives la gestion


des modules du projet courant.
Commandes permettant de crer un nouveau
module auxiliaire dans le projet.

Pseudo-code

Crer un nouveau module auxiliaire exploitant du


pseudo-code.

Organigramme

Crer un nouveau module auxiliaire exploitant de


lorganigramme.

Copyright 2004-2008 Marco Lavoie

37

2. Environnement de dveloppement

Commande

Guide d'utilisation de LARP

Accl.

.I. Description

Renommer...

Modifier le nom du module prsentement dit.

Supprimer...

Supprimer du projet le module auxiliaire


prsentement dit.

Importer ()

Importer le contenu dun fichier texte dans le


module en pseudo-code prsentement dit.
Cette commande n'est pas accessible dans la
version partagiciel de LARP lorsque les
fonctionnalits de prvention du plagiat sont
actives mais que le mode super-utilisateur ne
lest pas.

Exporter ()

Exporter le contenu du module en pseudo-code


prsentement dit dans un fichier texte.
Cette commande n'est pas accessible dans la
version partagiciel de LARP lorsque les
fonctionnalits de prvention du plagiat sont
actives mais que le mode super-utilisateur ne
lest pas.

Tampons d'E/S

Regroupe les commandes relatives la gestion


des tampons d'entres/sorties du projet courant.

Nouveau...

Crer un nouveau tampon d'entres/sorties dans


le projet.

Renommer...

Modifier le nom du tampon d'entres/sorties


prsentement dit.

Supprimer...

Supprimer du projet le tampon d'entres/sorties


prsentement dit.

Importer

Importer le contenu dun fichier texte dans le


tampon d'entres/sorties prsentement dit.

Exporter

Exporter le contenu du tampon d'entres/sorties


prsentement dit dans un fichier texte.

Options

Regroupe les commandes relatives la


configuration de LARP.

Gnrales...

Configurer les options gnrales de LARP.

Couleurs...

Configurer les options couleurs de LARP.

Enregistrement... ()

Procder l'achat d'une licence d'utilisation.


Cette commande nest pas accessible dans la
version gratuiciel de LARP.

Mises jour ()

Tlcharger et installer les plus rcentes mises


jour du logiciel.
Cette commande nest pas accessible dans la
version gratuiciel de LARP.

38

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2. Environnement de dveloppement

Commande

Accl.

.I. Description
Modifier le pseudonyme actif.

Identification... ()

Cette commande est seulement accessible dans


la version partagiciel de LARP lorsque les
fonctionnalits de prvention du plagiat sont
actives.
Regroupe les commandes relatives l'aide en
ligne et au support technique.

Aide

Afficher de l'aide en ligne approprie selon le


contexte.

F1

Aide contextuelle...
Contenu...

Shift+F1

Afficher la table des matires de l'aide en ligne.

Erreur...

Ctrl+F1

Afficher une description dtaille de l'erreur


slectionne dans le panneau de messages.

Rapporter un bogue...

Transmettre par courrier lectronique un rapport


de bogue au support technique de LARP.

propos...

Afficher la fentre d'accueil de LARP.


Tableau 2-1 : Commandes de la barre de menu

2.2.2 Panneau de contrle


Le panneau de contrle (Tableau 2-2) de LARP regroupe des lments d'interface
(majoritairement des boutons) offrant un accs rapide aux commandes les plus frquemment
invoques de la barre de menu de LARP :

Figure 2-2 : Panneau de contrle

L'accessibilit aux lments (boutons et autres) du panneau de contrle est tablie en fonction
du contexte (par exemple, le bouton Couper n'est activ que lorsqu'un bloc de texte est
slectionn dans l'diteur textuel ou quune instruction dorganigramme est slectionne dans
lditeur graphique).
Voici une description des lments d'interface (.I.) apparaissant dans le panneau de contrle :
.I.

Commande

Description

Fichier Nouveau...

Crer un nouveau projet ou un nouveau document dans le


projet courant.

Fichier Ouvrir...

Ouvrir un fichier projet.

Fichier Fermer projet Fermer le fichier projet courant.


Fichier Sauvegarder Sauvegarder le projet courant dans son fichier.

Copyright 2004-2008 Marco Lavoie

39

2. Environnement de dveloppement

.I.

Guide d'utilisation de LARP

Commande

Description

Fichier Imprimer...

Imprimer le projet ou un de ses documents.


Cette commande n'est pas accessible dans la version
partagiciel de LARP lorsque les fonctionnalits de prvention
du plagiat sont actives mais que le mode super-utilisateur ne
lest pas.

diter Annuler

Annuler la dernire opration d'dition.

diter Couper

Transfrer la slection dans le presse-papiers.

diter Copier

Copier la slection dans le presse-papiers.

diter Coller

Insrer le contenu du presse-papiers au curseur.

Afficher Augmenter
l'indentation

Augmenter l'indentation (vers la droite) de la ligne au curseur


ou du bloc de texte slectionn dans lditeur textuel.

diter Rduire
l'indentation

Rduire l'indentation (vers la gauche) de la ligne au curseur


ou du bloc de texte slectionn dans lditeur textuel.

Afficher
laffichage

Agrandir Augmenter le facteur dagrandissement daffichage de


lditeur graphique.

Afficher
laffichage

Rduire Rduire le facteur dagrandissement daffichage de lditeur


graphique.

diter Rechercher...

Rechercher des occurrences d'un texte dans les documents


du projet.

diter Rechercher
suivant

Rpter la recherche prcdente.

Afficher Console

Amener l'avant plan la console d'excution active.

Excuter Compiler... Compiler le projet (sans l'excuter).


Excuter Excuter... Compiler (au besoin) et excuter le projet.
Excuter Excuter
pas--pas...

Compiler (au besoin) et excuter le projet en mode pas-pas.

Aide Aide
contextuelle...

Afficher l'aide en ligne. La section affiche dpend du


contexte :

40

si une erreur avec rfrence est slectionne dans le


panneau de messages, la section de l'aide en ligne
dcrivant ce type d'erreur est affiche;
si une instruction dalgorithme est slectionne dans
lditeur, la section de l'aide en ligne dcrivant cette
instruction est affiche;
sinon, la table des matires de l'aide en ligne est
affiche.

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

.I.

2. Environnement de dveloppement

Commande

Description
Affiche le nom du document dit et permet de changer de
document.

Tableau 2-2 : lments d'interface du panneau de contrle

2.2.3 Navigateur de documents


Le navigateur de documents (Figure 2-3), situ du ct suprieur gauche de la fentre principale
de l'environnement de dveloppement, affiche les diffrents modules et tampons
d'entres/sorties constituant le projet dit :

Figure 2-3 : Navigateur de documents

Le nom du document en cours d'dition y est surlign. Licne accompagnant chaque nom de
document indique le type du document : une page bleue (par exemple PRINCIPAL dans la Figure
2-3) pour un module en pseudo-code, un diagramme jaune (PADDING dans la Figure 2-3) pour
un module en organigramme et une page blanche (REGISTRE dans la Figure 2-3) pour un
tampon dentres/sorties. L'utilisateur peut slectionner un document diter en cliquant avec la
souris sur le nom du document vis dans le navigateur.
Le navigateur est pourvu d'un menu contextuel (accessible via le bouton droit de la souris)
permettant d'ajouter de nouveaux documents au projet, et renommer ou dtruire les documents
existants.
L'affichage du navigateur de documents est optionnel, pouvant tre activ et dsactiv via la
barre de menu de LARP ou via le menu contextuel du navigateur.

2.2.4 Panneau de modles


Le panneau de modles, situ du ct infrieur gauche de la fentre principale de
l'environnement de dveloppement, offre diffrents modles dinstructions dalgorithmes. Les
modles disponibles dans le panneau dpendent du module de projet en cours ddition : lorsque
le module est sous forme de pseudo-code, le panneau de modles affiche des instructions
dalgorithmes en pseudo-code (Figure 2-4), alors que lorsque le module est un organigramme, le
panneau de modles affiche des instructions dorganigramme (Figure 2-5). Lorsquun tampon
dentres/sorties est dit, le panneau noffre aucun modle.

Copyright 2004-2008 Marco Lavoie

41

2. Environnement de dveloppement

Figure 2-4 : Modles pour pseudo-code

Guide d'utilisation de LARP

Figure 2-5 : Modles pour organigramme

Le panneau de modles permet dinsrer des instructions dalgorithmes dans le module en cours
ddition via des oprations glisser-dposer avec la souris. Ces oprations consistent
slectionner un modle du panneau avec la souris et le glisser vers un emplacement appropri
dans le module affich dans lditeur. Pour des plus amples informations, consultez les sections
Fonctionnalits de lditeur textuel et Fonctionnalits de lditeur graphique.

2.2.5 diteurs
LARP est dot de deux diteurs permettant de modifier le contenu des documents d'un projet.
Lditeur textuel permet dditer les modules en pseudo-code et les tampons dentres/sorties,
alors que lditeur graphique permet dditer les modules en organigramme. Ces diteurs
peuvent ouvrir, diter et sauvegarder les documents numrs dans le navigateur de documents.
L'diteur textuel de LARP (Figure 2-6) dispose de fonctionnalits gnralement retrouves dans
les diteurs de texte conventionnels. On y retrouve, entre autres, des fonctions permettant de
couper, copier et coller du texte vers et depuis le presse-papiers, surligner les mots rservs du
langage LARP, importer et exporter du texte, afficher le numro de chaque ligne en marge de la
fentre d'dition et afficher la position du curseur dans le panneau de statut.

42

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2. Environnement de dveloppement

Figure 2-6 : diteur textuel de LARP

Lditeur graphique de LARP (Figure 2-7) exploite principalement la technologie glisser-dposer


avec le panneau de modles pour construire et modifier des organigrammes. Parmi les
fonctionnalits offertes on retrouve, entre autres, des fonctions permettant de couper, copier et
coller des composants dorganigramme vers et depuis le presse-papiers, insrer, dplacer,
rorienter et dtruire des composants dorganigramme et diter les instructions dans les
composants.

Figure 2-7 : diteur graphique de LARP

Les deux diteurs offrent aussi plusieurs fonctionnalits communes, telles rechercher et
remplacer du texte, annuler les oprations rcentes, imprimer le contenu des documents, crer
une sauvegarde de scurit automatise des documents et surligner des instructions en modes
dexcution pas--pas.

Copyright 2004-2008 Marco Lavoie

43

2. Environnement de dveloppement

Guide d'utilisation de LARP

Notez que certaines fonctionnalits des diteurs sont restreintes selon la version de LARP
utilise et/ou si le mode super-utilisateur est activ. Pour plus d'information consultez les sections
portant sur les fonctionnalits de l'diteur textuel et les fonctionnalits de lditeur graphique.

2.2.6 Panneau de messages


Le panneau de messages (Figure 2-8), situ sous l'diteur, est exploit par LARP pour afficher
divers messages (informations, avertissements et erreurs) gnralement gnrs lors de la
compilation et l'excution d'algorithmes :

Figure 2-8 : Panneau de messages

Les messages d'information et d'avertissement sont gnralement affichs en noir (dpendant

des attributs de configuration de Windows ), alors que les messages d'erreur sont affichs en
rouge. Pour localiser l'erreur correspondant un message, il suffit de cliquer sur le message
d'erreur avec la souris et le contenu de l'diteur appropri est automatiquement repositionn
linstruction dans le module o est situe l'erreur :

dans lditeur textuel, le curseur est repositionn lemplacement dans le pseudo-code


o lerreur est situe;

dans lditeur graphique, linstruction contenant lerreur est slectionn.

Le panneau de messages est pourvu d'un menu contextuel (accessible via le bouton droit de la
souris) permettant d'effacer les messages affichs et de dsactiver le panneau. Celui-ci peut tre
ractiv via la barre de menu de LARP. Le menu contextuel offre aussi la possibilit d'obtenir
plus d'information sur l'erreur dtecte (via l'aide en ligne).
Pour plus d'information sur les messages d'avertissement et d'erreur, consultez la section
Compilation et excution.

2.2.7 Panneau de statut


Le panneau de statut (Figure 2-9) apparaissant au bas de l'environnement de dveloppement
affiche diverses informations sur l'tat courant de LARP :

Figure 2-9 : Panneau de statut

On y retrouve les champs d'affichage suivants (de gauche droite) :


1. le contenu du premier champ dpend de lditeur en fonction : y est affich la position
du curseur dans l'diteur textuel (en format ligne:colonne), ou lidentificateur de
linstruction slectionne dans lditeur graphique.

44

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2. Environnement de dveloppement

2. le mode d'insertion actif ou le facteur dagrandissement : indique si le mode


d'insertion de texte est activ (Ins) ou non dans l'diteur textuel, ou indique le facteur
dagrandissement (en %) dans lditeur graphique.
3. le pseudonyme actif : affiche le pseudonyme de l'utilisateur ou SU (en rouge) si le mode
super-utilisateur est activ. Notez que ce champ est affich uniquement dans la version
partagiciel de LARP lorsque les fonctionnalits de prvention du plagiat sont actives.
4. l'aide abrge : affiche une ligne d'aide contextuelle associe l'lment d'interface
sous la souris.

2.2.8 Console d'excution


Lorsque l'environnement de dveloppement de LARP excute un algorithme, les entres/sorties
sont effectues via la console d'excution (Figure 2-10).

Figure 2-10 : Console d'excution

La console d'excution est une fentre affiche automatiquement ds le dbut d'excution de


l'algorithme. Cette console permet l'utilisateur d'interagir avec l'algorithme excut, fournissant
des valeurs aux instructions de lecture et visualisant les informations affiches par les
instructions d'criture.
Une fois l'excution de l'algorithme termine, l'utilisateur doit fermer la console en pressant une
touche du clavier. La console peut aussi tre ferme en tout temps en fermant la fentre (via le
bouton de fermeture sur la barre d'en-tte de la fentre) ou en interrompant lexcution pas--pas
de lalgorithme. Si un algorithme est en cours d'excution lors de la fermeture de la console, une
confirmation est demande avant d'interrompre son excution (un panneau de statut localis au
haut de la console affiche l'tat de l'excution de l'algorithme : En excution..., En pause ou
Termin).

Copyright 2004-2008 Marco Lavoie

45

2. Environnement de dveloppement

Guide d'utilisation de LARP

L'environnement de dveloppement de LARP ne peut pas grer plus d'une console ouverte
simultanment. Ainsi, la console ouverte doit tre ferme avant que l'algorithme puisse tre
excut de nouveau.
Les barres de droulement droite et au bas de la console permettent de visualiser un contenu
affich plus grand que la capacit visuelle de la fentre (la fentre peut afficher 25 lignes de 80
caractres, mais la console retient jusqu'aux 200 dernires lignes d'entres/sorties). La fentre
de la console peut tre redimensionne en tout temps avec la souris.
Alors que le fond de console est toujours de couleur noire, la couleur du texte y tant affich peut
tre configure (voir la section sur la slection des couleurs).

2.2.9 Fentre d'excution pas--pas


Lorsque lexcution pas--pas de lalgorithme est active, la fentre dexcution pas--pas
(Figure 2-11) est affiche en avant plan de la console dexcution :

Figure 2-11 : Fentre d'excution pas--pas

La fentre dexcution pas--pas permet de contrler lexcution pas--pas de lalgorithme en


offrant les fonctionnalits suivantes :

46

Excution unitaire des instructions : les instructions de lalgorithme peuvent tre excute
individuellement de faon squentielle, avec une pause entre chaque instruction afin de
permettre linspection des variables.

Inspection des variables : entre lexcution de chaque ligne dinstruction de lalgorithme,


la valeur stocke dans chaque variable peut tre visualise. Les lments de conteneurs
peuvent aussi tre inspects individuellement.

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2. Environnement de dveloppement

Inspection de la pile dappels : la pile dappels consiste en la squence dappels de


modules excutes depuis le module principal jusquau module en cours dexcution. La
fentre dexcution pas--pas affiche en continu ltat de la pile dappels correspondant
lexcution en cours.

Gestion des points darrt : un point darrt indique une ligne dalgorithme laquelle
lexcution pas--pas de lalgorithme doit tre momentanment suspendu. La fentre
dexcution pas--pas permet de grer les points darrts actifs.

Animation des instructions : la fentre dexcution pas--pas peut animer lexcution


dune instruction dalgorithme. Lanimation permet de visualiser lordre dvaluation des
composants de linstruction.

Lexcution pas--pas est dcrite en dtails dans la section 2.5.2, intitule Excution pas--pas.

2.3

Fonctionnalits de l'diteur textuel

L'environnement de dveloppement de LARP est dot d'un diteur de texte permettant de


modifier le contenu des documents textuels intgrs un projet (i.e. les modules en pseudo-code
et les tampons d'entres/sorties). L'diteur peut ouvrir, diter et sauvegarder ces documents du
projet (numrs dans le navigateur de documents ). Il est aussi dot de fonctionnalits
gnralement retrouves dans la plupart des diteurs de texte conventionnels, telles que le
copier-coller, la surligne des mots rservs et lindentation automatise.

2.3.1 diter un document textuel


Pour diter un document textuel du projet charg dans LARP (module de pseudo-code ou
tampon d'entres/sorties), il suffit de slectionner le document vis dans le navigateur de
documents ou via le panneau de contrle. Le contenu du document est alors affich dans
l'diteur. En fait, l'diteur textuel de LARP est automatiquement affich lorsque le document dit
est un module en pseudo-code ou un tampon d'entres/sorties.
Le panneau de l'diteur est compos de deux sections :

la marge latrale affiche les numros de lignes, les signets et divers identificateurs
dexcution pas--pas;
la section principale, droite, affiche le contenu du document slectionn pour dition.

Figure 2-12 : Panneau de l'diteur textuel

Copyright 2004-2008 Marco Lavoie

47

2. Environnement de dveloppement

Guide d'utilisation de LARP

La couleur de fond du panneau d'dition (la section de droite) est dpendante du type de
document dit : un fond vert (couleur par dfaut, modifiable via la slection des couleurs)
indique que le document est un module (contenant du pseudo-code), alors qu'un fond blanc
(couleur par dfaut, aussi modifiable via la configuration des couleurs) indique que le document
est un tampon d'entres/sorties contenant des donnes. Lorsque le document dit est un
module, la surligne des mots rservs du langage LARP est automatiquement active.
Les commandes d'dition de documents sont accessibles via les menus (la barre de menu ou le
menu contextuel accessible en cliquant sur le panneau d'dition avec le bouton droit de la
souris), via des boutons sur le panneau de contrle, via le clavier et/ou via la souris. L'accs
certaines de ces commandes peut tre brid (i.e. limit au mode super-utilisateur) dans la version
partagiciel de LARP, comme par exemple la gestion du presse-papiers et l'impression de
documents.

2.3.2 Recherche et remplacement


L'diteur textuel est pourvu de fonctionnalits de recherche et remplacement de texte. La fentre
de recherche (Figure 2-13) permet de rechercher une squence de caractres dans le document
en cours d'dition ou dans l'ensemble du projet. La fentre de recherche et remplacement (Figure
2-14) offre en plus la possibilit de remplacer les occurrences trouves par une squence de
caractres alternative.

Figure 2-13 : Fentre de recherche

Dans la fentre de recherche comme dans celle de recherche et remplacement, les squences
de caractres spcifies antrieurement sont rcuprables via les listes de droulement.

Figure 2-14 : Fentre de recherche et remplacement

Les fonctionnalits de recherche et remplacement sappliquent aussi aux organigrammes.

48

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2. Environnement de dveloppement

2.3.3 Surligne de contenu


Lorsque le pseudo-code d'un module est affich dans l'diteur textuel, les instructions du langage
LARP sont affiches de couleurs distinctes selon leur signification. Par dfaut, ces couleurs sont :

Les mots rservs du langage LARP sont affichs en caractres gras noirs.

Les fonctions prdfinies du langage LARP sont affiches en caractres gras bleus.

Les commentaires sont affichs en caractres italiques magentas.

Les chanes de caractres sont affiches en "caractres rouges".

Les autres composants de pseudo-code sont affichs en caractres noirs.


Lors de lexcution pas--pas du module, les lignes de pseudo-code suivantes sont surlignes :

La prochaine instruction tre excute en mode dexcution par pas.

Les instructions tant associes un point darrt.

L'attribution des couleurs de surligne est configurable via la slection des couleurs.

2.3.4 Configuration de l'diteur textuel


Les caractristiques suivantes de l'diteur textuel sont configurables :

les fonctionnalits d'dition,

les couleurs d'affichage et de surligne de pseudo-code.

Pour plus d'information sur la configuration de l'diteur, consultez les sections correspondantes
(pages 72 et 77).

2.3.5 Commandes d'dition de l'diteur textuel


Les commandes d'dition ainsi que celles de gestion de projet sont accessibles via :

la barre de menu,

les menus contextuels,

le panneau de contrle,

le clavier, et

la souris.

2.3.5.1

Commandes de l'diteur textuel accessibles via les menus

On retrouve dans LARP deux types de menus :


1. la barre de menu, affiche au haut de la fentre principale de l'environnement de
dveloppement, et

Copyright 2004-2008 Marco Lavoie

49

2. Environnement de dveloppement

Guide d'utilisation de LARP

2. les menus contextuels, associs divers lments dinterface de l'environnement de


dveloppement et accessibles via le bouton droit de la souris lorsque celle-ci est
positionne sur l'lment d'interface vis.
L'diteur textuel rpond diverses commandes de la barre de menu (voir la section portant sur la
barre de menu) ainsi qu' celles dans son menu contextuel. L'accessibilit ces commandes
dpend du type de document dit :

Le menu contextuel associ l'diteur lors de l'dition d'un module en pseudo-code


affiche les commandes de gestion du presse-papiers et de recherche et remplacement.
Le menu contextuel associ l'diteur lors de l'dition d'un tampon d'entres/sorties
(contenant des donnes) affiche, en plus des commandes de gestion du presse-papiers
et de recherche et remplacement, les commandes d'importation et d'exportation de
donnes.

Pour une description dtaille des commandes accessibles via les menus, consultez les sections
dcrivant la barre de menu et le panneau de contrle.
2.3.5.2

Commandes de l'diteur textuel accessibles via le clavier

En plus des commandes accessibles via les menus, l'diteur textuel de LARP rpond des
commandes exclusivement accessibles via une touche ou une combinaison de touches du
clavier :
Touches

Description

<End>

Dplace le curseur la fin de la ligne au curseur.

<Home>

Dplace le curseur au dbut de la ligne au curseur.

<Enter>

Insre une nouvelle ligne.

<Ins>

Active et dsactive le mode d'insertion.

<Del>

Supprime le caractre droite du curseur.

<Backspace>

Supprime le caractre gauche du curseur.

<Tab>

Insre une tabulation (contextuelle ou conventionnelle)


droite du curseur.

<Left>

Dplace le curseur au caractre prcdent.

<Right>

Dplace le curseur au caractre suivant.

<Up>

Dplace le curseur la ligne prcdente.

<Down>

Dplace le curseur la ligne suivante.

<Page Up>

Dplace le curseur vers le haut d'un nombre de lignes


correspondant la hauteur du panneau d'dition.

<Page Down>

Dplace le curseur vers le bas d'un nombre de lignes


correspondant la hauteur du panneau d'dition.

<Ctrl>+<Up>

Dplace le curseur au dbut du document.

<Ctrl>+<End>

Dplace le curseur la fin du document.

<Shift>+<Left>|<Right>|<Up>|<Down> Slectionne un bloc de texte conventionnel.


<Alt>+<Left>|<Right>|<Up>|<Down>

50

Slectionne un bloc de texte vertical.

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2. Environnement de dveloppement

Touches

Description

<Ctrl>+<Shift>+0...9

Active ou dsactive un signet (les signets tant


numrots de 0 9) .

<Ctrl>+0...9

Dplace le curseur au signet correspondant.


Tableau 2-3 : Commandes de lditeur textuel accessibles via le clavier

En plus des commandes ci-dessus, LARP rpond aussi aux touches acclratrices associes
la barre de menu.
2.3.5.3

Contrle de l'diteur textuel via la souris

L'diteur textuel de l'environnement de dveloppement rpond de faon standard aux interactions


suivantes via la souris :

Un clic du bouton gauche de la souris dplace le curseur la position pointe par la


souris dans le document dit.
Un clic du bouton droit de la souris affiche le menu contextuel la position pointe par la
souris.
Un clic avec glissement du bouton gauche de la souris sur du texte non-slectionn de
l'diteur permet de slectionner un bloc de texte.
Un clic avec glissement du bouton gauche de la souris sur un bloc de texte slectionn
de l'diteur permet de dplacer ce bloc de texte la nouvelle position du curseur.

De plus, la souris peut tre employe conjointement avec le panneau de modles pour insrer
des instructions dans un pseudo-code via des oprations glisser-dposer. Pour ce faire il faut
slectionner un modle dans panneau de modles, le glisser la ligne o l'instruction doit tre
insre dans l'diteur textuel, et relcher le bouton de la souris afin d'y dposer l'instruction
correspondant au modle slectionn. L'instruction peut ensuite tre modifie afin de l'adapter
aux besoins de l'algorithme.

2.4 Fonctionnalits de l'diteur graphique


L'environnement de dveloppement de LARP est dot d'un diteur graphique permettant de
modifier le contenu des modules en organigramme. L'diteur peut ouvrir, diter et sauvegarder
ces documents du projet (numrs dans le navigateur de documents). L'utilisateur exploite
principalement la technologie glisser-dposer l'aide du panneau de modles pour de construire
et modifier des organigrammes. Parmi les fonctionnalits offertes on retrouve, entre autres, celles
permettant de couper, copier et coller des instructions dorganigramme vers et depuis le pressepapiers, ainsi que celles permettant dinsrer, dplacer, rorienter, transformer et dtruire des
instructions dorganigramme et diter le contenu de ces instructions.

Copyright 2004-2008 Marco Lavoie

51

2. Environnement de dveloppement

Guide d'utilisation de LARP

Figure 2-15 : Panneau de l'diteur graphique

2.4.1 Instructions dorganigramme


Le panneau de modles numre toutes les instructions d'organigramme disponibles dans
LARP :
Instructions

Descriptions
Instruction squentielle : permet de formuler des instructions
squentielles, telles que l'affectation, l'ouverture et la fermeture de canaux
d'entres/sorties, etc.
Instruction de lecture et/ou d'criture : permet de formuler des instructions
d'entres et de sorties d'information.
Invocation d'un module auxiliaire : appel un module auxiliaire (pseudocode ou organigramme) du projet.
Commentaire : insre des informations non excutables dans
l'organigramme.
Structure conditionnelle SI : une squence d'instructions excute
uniquement en fonction du rsultat de l'valuation d'une condition.
Structure conditionnelle SI-SINON : deux squences d'instructions dont
une et une seule est excute en fonction du rsultat de l'valuation d'une
condition.

52

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Instructions

2. Environnement de dveloppement

Descriptions
Structure rptitive TANTQUE : une squence d'instructions excute
rptition en fonction du rsultat de l'valuation d'une condition.

Structure rptitive RPTER-JUSQU' : une squence d'instructions


excute rptition en fonction du rsultat de l'valuation d'une
condition.
Structure rptitive POUR : une squence d'instructions excute
rptition un nombre prdfini de fois.

Structure de slection : structure conditionnelle comportant plusieurs


squences d'instructions alternatives dont une seule est excute en
fonction de la valeur d'une expression arithmtique.
Structure conditionnelle SI-SINON-SI : structure conditionnelle comportant
plusieurs squences d'instructions alternatives dont une seule est
excute en fonction du rsultat de l'valuation de conditions.
Branchement pour structures conditionnelles : permettent d'insrer des
branchements conditionnels supplmentaires dans les structures de
slection et les structures conditionnelles SI-SINON-SI.
Tableau 2-4 : Instructions d'organigramme

Notez que plusieurs instructions offrent deux alternatives d'orientation (par exemples les
structures conditionnelles). L'orientation d'une telle instruction est purement esthtique et n'a
aucun impact sur l'excution de l'organigramme.

2.4.2 diter un organigramme


Pour diter un document du projet charg dans LARP (module ou tampon d'entres/sorties), il
suffit de slectionner le document vis dans le navigateur de documents ou via le panneau de
contrle. Le contenu du document est alors affich dans l'diteur appropri. L'diteur graphique
de LARP est automatiquement affich lorsque le document dit est un module en
organigramme. Lorsque le document est compos de texte (module en pseudo-code ou tampon
d'entres/sorties), c'est l'diteur textuel qui est affich.
Lorsqu'un nouveau module en organigramme est cr (via la barre de menu ou via le navigateur
de documents), un organigramme minimal est automatiquement gnr par LARP :

Si c'est un module principal de projet, l'organigramme comprend les instructions DBUT


et FIN.

Si c'est un module auxiliaire, l'organigramme comprend les instructions ENTRER et


RETOURNER.

Copyright 2004-2008 Marco Lavoie

53

2. Environnement de dveloppement

Figure 2-16 : Nouveau module principal

Guide d'utilisation de LARP

Figure 2-17 : Nouveau module auxiliaire

L'diteur graphique affiche un nud d'insertion entre chaque instruction d'organigramme. Ce


nud permet d'insrer des instructions dans l'organigramme via son menu contextuel ou via des
oprations glisser-dposer partir du panneau de modles.

2.4.3 Manipulation d'instructions d'organigramme


Le panneau de l'diteur graphique de LARP consiste en un canevas o les instructions de
l'organigramme en cours d'dition peuvent tre manipules (voir Figure 2-15). Sur chaque lien
reliant deux instructions d'organigramme apparat un nud d'insertion (petit cercle gris)
permettant d'insrer de nouvelles instructions.
Les instructions et les nuds d'insertion d'un organigramme peuvent tre slectionns en
cliquant sur le composant graphique avec la souris ou via les touches directionnelles du clavier
(entre autres les flches). La slection est indique visuellement par un rectangle pointill
encadrant l'instruction ou le nud (voir Figure 2-18 et Figure 2-19).
Une instruction slectionne peut tre dplace vers un nud d'insertion, modifie ou dtruite.
Par contre, les nuds d'insertions ne servant qu' recevoir des instructions par glisser-dposer
ou via les menus, ils ne peuvent tre dplacs ni dtruits.

Figure 2-18 : Nud d'insertion slectionn

54

Figure 2-19 : Instruction d'organigramme slectionne

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2.4.3.1

2. Environnement de dveloppement

Insertion, dplacement et destruction d'instructions d'organigramme

Des nouvelles instructions peuvent tre insres dans l'organigramme dit en exploitant les
nuds d'insertion :

via le menu contextuel affich lorsqu'un nud est slectionn l'aide du bouton droit de
la souris ou via les touches du clavier (Figure 2-20), ou

via glisser-dposer, en glissant un modle d'instruction du panneau de modles vers un


nud d'insertion et en l'y dposant.

Lorsqu'un modle d'instruction est gliss vers un nud d'insertion de l'organigramme, la couleur
rsultante du nud vis indique si le modle gliss peut y tre dpos : un nud rouge indique
qu'il est logiquement erron d'y dposer le modle gliss, un nud vert autorisant le dpt du
modle.
Une instruction d'organigramme existante peut tre dplace vers un autre nud d'insertion de
l'organigramme par glisser-dposer. Voici les tapes permettant de raliser un tel dplacement
d'instruction :
1. Slectionner l'instruction de l'organigramme dplacer en cliquant sur celle-ci avec la
souris;
2. glisser l'instruction slectionne vers le nud d'insertion correspondant au nouvel
emplacement de l'instruction dans l'organigramme;
3. dposer l'instruction glisse sur le nud vis en relchant le bouton de la souris.
La couleur affiche par le nud destinataire lors du glissement indique si l'instruction peut y tre
dpose : un nud rouge indique qu'il est logiquement erron d'y dposer l'instruction, alors
qu'un nud vert autorise le dpt de l'instruction. Si l'instruction glisse n'est pas dpose sur un
nud acceptant celle-ci, le dplacement est annul.
Les dplacements d'instructions dans l'organigramme peuvent aussi tre effectue par des
oprations couper-coller, via le clavier ou les menus contextuels. Notez cependant que la gestion
du presse-papiers est soumise aux restrictions du mode super-utilisateur.
L'instruction slectionne peut tre limine de l'organigramme via la barre de menu, via le menu
contextuel de l'instruction ou en appuyant sur la touche d'effacement (Del) du clavier.

Copyright 2004-2008 Marco Lavoie

55

2. Environnement de dveloppement

Guide d'utilisation de LARP

Figure 2-20 : Insertion d'une instruction d'organigramme via le menu contextuel du noeud

2.4.3.2

dition d'instructions d'organigramme

Les attributs de l'instruction d'organigramme slectionne dans l'diteur graphique peuvent tre
dits en double cliquant sur celle-ci ou via le menu contextuel associ l'instruction
slectionne (accessible en cliquant sur la slection avec le bouton droit de la souris). La fentre
d'dition d'instruction d'organigramme (Figure 2-21) affiche les attributs associs l'instruction
slectionne et permet de modifier ceux-ci.
Les attributs gnralement associs une instruction d'organigramme dpendent de l'instruction
vise. Certaines instructions sont relativement simples (ex: les oprations squentielles et les
commentaires), alors que d'autres sont plus complexes (structures conditionnelles et structures
rptitives), pouvant mme inclure un attribut d'orientation telle la structure conditionnelle SISINON de la Figure 2-21.
Les menus de LARP permettent aussi diverses oprations d'dition sur l'instruction
d'organigramme slectionne, incluant :

56

le changement d'orientation, consistant intervertir la direction des branchements dans


une structure conditionnelle ou une structure rptitive, et/ou

la transformation de l'instruction en une autre instruction de la mme famille (par exemple


convertir un boucle TANQUE en une boucle RPTER-JUSQU').

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2. Environnement de dveloppement

Figure 2-21 : dition d'une instruction d'organigramme

Les procdures d'dition d'instructions d'organigramme (avec la souris ou via les menus) sont
relativement intuitives et vites matrises aprs quelques minutes d'utilisation de l'diteur
graphique de LARP.

2.4.4 Recherche et remplacement dans un organigramme


Les oprations de recherche et remplacement de LARP sont accessibles dans l'diteur textuel
ainsi que dans l'diteur graphique.
Toutes les occurrences du texte recherch dans une instruction d'organigramme sont surlignes
par l'diteur graphique. Similairement, une opration de remplacement s'applique simultanment
toutes les occurrences du texte recherch dans l'instruction.
Pour plus d'information sur les fonctions de recherche et remplacement dans LARP, consultez la
section correspondante pour l'diteur textuel.

2.4.5 Agrandissement de laffichage


Lditeur graphique permet dajuster les dimensions daffichage des organigrammes. Le facteur
dagrandissement permet ainsi de redimensionner lorganigramme affich de 25% 200% de sa
taille normale. Il est ainsi possible davoir une vue densemble dun grand organigramme ou de
focaliser laffichage sur une petite section de celui-ci.
Le facteur dagrandissement de lditeur graphique est ajustable via la barre de menu ainsi que le
via les commandes de lditeur. Le panneau de statut affiche le facteur dagrandissement
courant.

2.4.6 Surligne dinstructions en excution pas--pas


Lors de lexcution pas--pas dun projet, lditeur graphique surligne la prochaine instruction de
lalgorithme tre excute (Figure 2-22) ainsi que les points darrts actifs (Figure 2-24) :

Copyright 2004-2008 Marco Lavoie

57

2. Environnement de dveloppement

Figure 2-22 : Prochaine instruction excuter

Guide d'utilisation de LARP

Figure 2-23 : Point d'arrt surlign

Les couleurs de surligne dans lditeur graphique sont configurables.

2.4.7 Configuration de l'diteur graphique


Seules les couleurs d'affichage et la police de caractres sont configurables dans l'diteur
graphique. Pour plus d'information consultez la section portant sur la configuration des diteurs
de LARP.

2.4.8 Commandes d'dition de l'diteur graphique


Les commandes d'dition ainsi que celles de gestion de projet sont accessibles via :

la barre de menu,

les menus contextuels,

le panneau de contrle,

le clavier, et

la souris.

De plus, l'diteur graphique est gnralement exploit avec le panneau de modles afin de
concevoir des organigrammes par glisser-dposer.
2.4.8.1

Commandes de l'diteur graphique accessibles via les menus

On retrouve dans LARP deux types de menus :


1. la barre de menu, affiche au haut de la fentre principale de l'environnement de
dveloppement, et
2. les menus contextuels, associs divers lments de l'environnement de dveloppement
et accessibles via le bouton droit de la souris lorsque celle-ci est clique sur l'lment
d'interface vis.

58

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2. Environnement de dveloppement

L'diteur graphique rpond diverses commandes de la barre de menu (voir la section portant
sur la barre de menu) ainsi qu' celles des menus contextuels associs aux instructions et aux
nuds d'insertion dans l'organigramme en cours d'dition. Ces menus comprennent, entre
autres :

des commandes d'dition d'organigramme, telle que l'insertion d'instructions via un nud
(Figure 2-20),
des commandes de manipulation d'instructions, telles que l'dition, le changement
d'orientation et la transformation, et
des commandes de gestion du presse-papiers et de recherche et remplacement.

Pour une description dtaille des commandes accessibles via les menus, consultez les sections
dcrivant la barre de menu, le panneau de contrle et l'dition d'organigrammes.
2.4.8.2

Commandes de l'diteur graphique accessibles via le clavier

En plus des commandes accessibles via les menus, l'diteur graphique de LARP rpond
diverses commandes accessibles via une touche ou une combinaison de touches du clavier :
Touches

Description

<End>

Slectionne la dernire instruction de l'organigramme.

<Home>

Slectionne la premire instruction de l'organigramme.

<Enter>

Affiche le menu contextuel associ l'instruction


slectionne ou au nud d'insertion slectionn.

<Del>

Supprime l'instruction d'organigramme slectionne.

Augmente le facteur dagrandissement.

Rduit le facteur dagrandissement.

<Left>|<Up>

Slectionne l'instruction ou le nud d'insertion


prcdent la slection courante, en fonction des
branchements associs celle-ci.

<Right>|<Down>

Slectionne la prochaine instruction ou le prochain


nud d'insertion en fonction des branchements
associs la slection courante.

<Shift>+<Left>|<Right>|<Up>|<Down> Mmes fonctionnalits que les touches <Left>,


<Right>, <Up> et <Down>, mais tente de trouver une
slection alternative.
<Ctrl>+<Left>|<Right>|<Up>|<Down>

Fonctionnalit similaire lutilisation de la touche


<Shift>.

Tableau 2-5 : Commandes de lditeur graphique accessibles via le clavier

Notez que lemploi des touches <Shift> ou <Ctrl> avec les touches directionnelles (<Left>,
<Right>, <Up> ou <Down>) permet une slection alternative lemploi des touches
directionnelles seules. Puisque lditeur graphique doit dterminer quelle instruction ou nud
dinsertion slectionner en fonction de la touche presse, il peut loccasion effectuer une
slection diffrente de celle anticipe par lutilisateur. Lemploi des touches <Shift> ou <Ctrl>
permet lutilisateur de tenter de corriger la situation.

Copyright 2004-2008 Marco Lavoie

59

2. Environnement de dveloppement

Guide d'utilisation de LARP

En plus des commandes ci-dessus, LARP rpond aussi aux touches acclratrices associes
la barre de menu.
2.4.8.3

Contrle de l'diteur graphique via la souris

L'diteur graphique de l'environnement de dveloppement rpond de faon standard aux


interactions via la souris :

Un clic du bouton gauche de la souris sur une instruction de l'organigramme ou sur un


nud d'insertion slectionne l'lment vis.
Un double clic du bouton gauche sur une instruction ouvre la fentre ddition du contenu
de linstruction (voir Figure 2-21).
Un clic du bouton droit de la souris sur une instruction ou sur un nud d'insertion affiche
le menu contextuel associ l'lment vis.

De plus, la souris peut tre employe avec le panneau de modles pour insrer des instructions
dans l'organigramme via glisser-dposer. Pour se faire il faut slectionner un modle dans
panneau de modles, le glisser au nud d'insertion o l'instruction doit tre insre dans
l'organigramme affich dans l'diteur graphique, et relcher le bouton de la souris. L'instruction
insre peut ensuite tre modifie afin de l'adapter aux besoins de l'algorithme.
La souris peut aussi tre employe pour dplacer une instruction de l'organigramme dit une
autre position dans l'organigramme. Il suffit de slectionner l'instruction de l'organigramme
dplacer en cliquant sur celle-ci avec la souris, glisser l'instruction slectionne vers le nud
d'insertion correspondant son nouvel emplacement dans l'organigramme, et finalement dposer
l'instruction glisse sur le nud vis. L'diteur graphique dplace alors l'instruction slectionne
vers sa nouvelle position.
Lorsqu'un modle ou une instruction est gliss vers un nud d'insertion de l'organigramme, la
couleur rsultante du nud vis indique si l'instruction glisse peut y tre dpose : un nud
rouge indique qu'il est logiquement erron d'y dposer l'instruction ou le modle gliss, un nud
vert autorisant le dpt.

2.5

Compilation et excution

La compilation d'un projet LARP consiste vrifier la conformit des pseudo-codes et


organigrammes du projet la syntaxe permise par LARP, puis transformer ceux-ci en une
forme excutable. Si des erreurs de syntaxe sont dtectes dans un module lors de la
compilation, des messages d'erreur sont affichs dans le panneau de messages et aucun code
excutable n'est produit.
Lors de la compilation d'un projet, LARP affiche une fentre indiquant l'tat de la compilation
(Figure 2-24). Cette fentre indique le nom du projet en cours de compilation, ainsi que le rsultat
de la compilation (i.e. si elle fut un succs ou non). Les compteurs indiquent le nombre de
messages d'avertissement et d'erreur dtects la compilation et affichs dans le panneau de
messages.

60

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2. Environnement de dveloppement

Figure 2-24 : Fentre de compilation

Lorsquil ny a pas derreur dtecte et le projet est compil avec succs, il peut tre excut via
la console d'excution.
Les commandes de compilation et d'excution sont accessibles via la barre de menu et le
panneau de contrle.

2.5.1 Excution d'un projet


Lorsquun projet est compil avec succs, cest--dire sans que des erreurs de syntaxe aient t
dtectes, il peut tre excut via la console d'excution. Si l'utilisateur tente d'excuter un projet
n'ayant pas pralablement t compil, LARP compile automatiquement celui-ci avant de
l'excuter.
Durant l'excution d'algorithmes, les entres/sorties sont diriges vers la console d'excution. Si
une erreur de logique est dtecte, un message d'avertissement ou d'erreur est immdiatement
affich dans le panneau de messages et, si l'erreur est fatale, l'excution est interrompue.
L'utilisateur peut en tout temps interrompre l'excution d'un projet en fermant la console
d'excution.

2.5.2 Excution pas--pas


Lexcution pas--pas permet de contrler lexcution dun algorithme. Dans ce contexte,
lutilisateur peut entre autres momentanment interrompre lexcution de lalgorithme, excuter
celui-ci une instruction la fois, suivre lvolution du contenu des variables et animer lexcution
de certaines instructions.
Lexcution pas--pas est dmarre via la commande Excuter Excuter pas--pas de la
barre de menu. Le panneau de contrle dispose aussi dun bouton permettant dactiver
lexcution pas--pas.
2.5.2.1

Interface de lexcution pas--pas

La Figure 2-25 prsente la fentre dexcution pas--pas et ses diffrents lments. Cette fentre
est affiche en avant plan de la console dexcution lorsque lexcution pas--pas est active (via
la commande Excuter Excuter pas--pas de la barre de menu ou via le bouton
correspondant du panneau de contrle de la fentre principale de lenvironnement de
dveloppement).

Copyright 2004-2008 Marco Lavoie

61

2. Environnement de dveloppement

Guide d'utilisation de LARP

Figure 2-25 : lments de la fentre d'excution pas--pas

Les lments de la fentre dexcution pas--pas sont :


1. Le panneau de contrle : ne pas confondre avec le panneau de contrle de la fentre
principale de lenvironnement de dveloppement, celui de la fentre dexcution pas-pas permet de contrler lexcution de lalgorithme. Chaque bouton du panneau offre une
fonctionnalit distincte :
Excute la prochaine instruction de lalgorithme (mode pas--pas).
Lexcution de lalgorithme est automatiquement suspendue aprs
lexcution dune seule instruction. Voir les modes dexcution pas--pas
pour plus dinformation.
Active le mode dexcution en animation de lalgorithme. La vitesse
danimation est contrle via les boutons sous le bouton de Marche. Voir la
section portant sur lanimation dinstructions pour plus dinformation.
Active le mode dexcution en marche de lalgorithme. Les deux boutons
sous celui de marche permettent de contrler la vitesse de marche.
Lexcution en marche peut tre suspendue en tout temps via le bouton
Pause. Voir les modes dexcution pas--pas pour plus dinformation.
Active le mode dexcution en continu de lalgorithme. Lexcution en continu
peut tre suspendue en tout temps via le bouton Pause. Voir les modes
dexcution pas--pas pour plus dinformation.
Suspend temporairement lexcution en marche ou lexcution en continu de
lalgorithme. Voir les modes dexcution pas--pas pour plus dinformation.
Interrompt dfinitivement lexcution pas--pas de lalgorithme. Ce bouton
ferme la fentre dexcution pas--pas ainsi que la console dexcution.
Accde laide en ligne associ lexcution pas--pas.

62

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2. Environnement de dveloppement

Lexcution pas--pas de lalgorithme peut tre interrompu en tout temps en fermant la


fentre dexcution pas--pas ou en pressant le bouton Arrter du panneau de contrle.
2. Le panneau de statut : Le panneau de statut de la fentre dexcution pas--pas, ne
pas confondre avec celui de la fentre principale de lenvironnement de dveloppement,
affiche de linformation pertinente lexcution en cours :

Figure 2-26 : Panneau de statut de la fentre d'excution pas--pas

Les trois sections du panneau affichent linformation suivante :

La premire section indique les coordonnes de la prochaine instruction tre


excute (nom du module et numro de linstruction).

La deuxime section indique la vitesse dexcution pas--pas et danimation en


secondes. Cette vitesse est ajustable via les boutons flches sous celui de
Marche du panneau de contrle.

La troisime section indique de linformation sur la variable, le point darrt ou


llment de pile dappels slectionn.

3. Le panneau dinspection des variables : affiche la liste des variables dfinies dans le
module dalgorithme en cours dexcution, ainsi que la valeur de chacune des variables.
Le type dune variable est automatiquement affiche dans le panneau de statut lorsque
celle-ci est slectionne dans le panneau dinspection des variables.
Pour plus dinformation sur le panneau dinspection des variables, consultez la section
2.5.2.3.
4. Le panneau dinspection de la pile dappels : affiche ltat de la pile dappels. La pile
dappels consiste en la squence dappels de modules excutes depuis le module
principal jusquau linstruction en cours dexcution. Le panneau affiche le nom de
chaque module dans la pile, ainsi que la valeur des paramtres dappels de chacun.
Lappel de module est automatiquement affiche en entier dans le panneau de statut
lorsque celle-ci est slectionne dans le panneau dinspection de la pile dappels.
Pour plus dinformation sur le panneau dinspection de pile dappels, consultez la section
2.5.2.4.
5. Le panneau danimation : affiche lanimation dexcution dinstructions. Lorsque
lanimation dune instruction est active, ce panneau prsente une animation vido du
processus dvaluation des diffrents composants de linstruction.
Pour plus dinformation sur le panneau danimation dinstructions, consultez la section
2.5.2.6.
6. Le panneau de gestion des points darrt : affiche les points darrts actuellement
dfini dans lalgorithme en cours dexcution, et permet de dsactiver ceux-ci au besoin.
Pour plus dinformation sur la gestion des points darrt, consultez la section 2.5.2.5.
Les prochaines sections dcrivent en dtails les fonctionnalits des principaux lments de la
fentre dexcution pas--pas.

Copyright 2004-2008 Marco Lavoie

63

2. Environnement de dveloppement

2.5.2.2

Guide d'utilisation de LARP

Modes dexcution pas--pas

Un projet peut tre excut pas--pas selon trois modes dexcution :


1. Par pas : une seule instruction dalgorithme est excute. Lutilisateur peut par la suite
exploiter la fentre dexcution pas--pas pour inspecter le contenu des variables et de la
pile dappel. Lanimation peut tre active durant lexcution de linstruction. Le panneau
de contrle de la fentre dexcution pas--pas dispose du bouton Un pas permettant
dactiver lexcution de la prochaine instruction dalgorithme. Le bouton Animer fait de
mme tout en animant lexcution de linstruction.
2. En marche : le projet est excut au ralenti, une pause de dure ajustable tant insre
entre lexcution de chaque instruction. Le panneau de contrle de la fentre dexcution
pas--pas dispose du bouton Marcher activant le mode dexcution en marche de
lalgorithme. Les boutons flchs sous le bouton Marcher permettent de modifier la
vitesse de marche. Celle-ci est affiche (en secondes de dlai insr entre lexcution
dinstructions) dans le panneau de statut de la fentre dexcution pas--pas.
Lexcution en marche est interrompue ds que la fin du module principal est atteinte ou
quun point darrt est rencontr. Le bouton Pause du panneau de contrle permet en
tout temps de suspendre lexcution en marche.
3. En continue : ce mode dexcution est sembles celui en marche, mais aucun dlai
nest insr entre chaque excution dinstruction. Lexcution en continue est
interrompue ds que la fin du module principal est atteinte ou quun point darrt est
rencontr. Le bouton Pause du panneau de contrle permet en tout temps de suspendre
lexcution.
Il est noter que lexcution en continue via la fentre dexcution pas--pas est
considrablement plus lente que lexcution conventionnelle (sans exploiter la fentre
dexcution pas--pas), cette dernire ignorant les points darrts rencontrs. La gestion
des points darrts en excution pas--pas ainsi que laffichage du contenu de la fentre
dexcution pas--pas exigent plus de ressources de calculs de lordinateur.
Lors de lexcution en mode par pas ou en mode marche dun projet, lditeur textuel et lditeur
graphique surlignent la prochaine instruction de lalgorithme en attente dexcution :

Figure 2-27 : Prochaine instruction excuter (pas--pas) dans l'diteur textuel

64

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2. Environnement de dveloppement

Figure 2-28 : Prochaine instruction excuter (pas--pas) dans l'diteur graphique

2.5.2.3

Inspection des variables

Le panneau dinspection des variables (Figure 2-29) affiche le contenu de chaque variable du
module en excution durant les pauses lors de lexcution pas--pas.

Figure 2-29 : Panneau d'inspection des variables

Le panneau affiche chaque variable dfinie dans le module en cours dexcution ainsi que sa
valeur. Lorsque la dernire instruction excute modifie une valeur de variables, celle-ci est
affiche en caractres gras dans le panneau.
Lorsquune variable est slectionne dans le panneau, le type de son contenu est affich dans le
panneau de statut. Si la variable slectionne est un conteneur, le panneau dinspection de la
pile dappels est remplac temporairement par un panneau, intitul Conteneur, permettant
dinspecter les lments du conteneur en question.
Le suivi de lvolution du contenu des variables lors de lexcution pas--pas facilite
lidentification et llimination de bogues dans les algorithmes dun projet LARP.

Copyright 2004-2008 Marco Lavoie

65

2. Environnement de dveloppement

2.5.2.4

Guide d'utilisation de LARP

Inspection de la pile dappels

La pile dappels dun projet LARP en excution consiste en la squence dappels de modules
excutes depuis le module principal jusquau linstruction en cours dexcution. La fentre
dexcution pas--pas affichage droite un panneau numrant le nom de chaque module dans
la pile (en commenant par le module principal), ainsi que la valeur des paramtres dappels de
chacun :

Figure 2-30 : Panneau d'inspection de la pile d'appels

Dans la Figure 2-30, lexcution pas--pas est en attente dexcuter linstruction 0003 du module
CalculerDepenses, celui-ci ayant t invoqu par le module MoyenneDepenses qui fut
invoqu par le module principal (PRINCIPAL). Le panneau dinspection de la pile dappels affiche
la valeur de chaque paramtre dappel.
Lappel de module est automatiquement affiche en entier dans le panneau de statut lorsque
celle-ci est slectionne dans le panneau dinspection de la pile dappels.
2.5.2.5

Points darrt

Le panneau dinspection des points darrt (Figure 2-31) numre les points darrt actifs durant
lexcution pas--pas du projet LARP. Un point darrt indique une instruction de module o
lexcution pas--pas en mode marche ou en continue doit sinterrompre afin de permettre
lutilisateur dinspecter les variables, dinspecter la pile dappel, de changer de mode dexcution
pas--pas ou dactiver lanimation.
Le panneau dinspection des points darrt affiche tous les points darrt dfinis et surligne (en
rouge dans la Figure 2-31) le point darrt ayant interrompu lexcution pas--pas :

66

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2. Environnement de dveloppement

Figure 2-31 : Panneau dinspection des points d'arrt

Le menu contextuel du panneau dinspection des points darrt, accessible en cliquant sur le
panneau avec le bouton droit de la souris, permet de localiser lemplacement dun point darrt
dans le projet, et de dsactiver les points darrt.
Lditeur textuel et lditeur graphique de lenvironnement de dveloppement surlignent les points
darrt associs aux instructions dun module :

Figure 2-32 : Point d'arrt surlign dans l'diteur textuel

Copyright 2004-2008 Marco Lavoie

67

2. Environnement de dveloppement

Guide d'utilisation de LARP

Figure 2-33 : Point d'arrt surlign dans l'diteur graphique

Les menus contextuels des diteurs ainsi que la barre de menu donnent accs aux commandes
permettant de crer et supprimer des points darrt.
2.5.2.6

Animation

Le panneau danimation de la fentre dexcution pas--pas (Figure 2-34) permet de visualiser le


processus dvaluation dune instruction dalgorithme. Lanimation aide ainsi comprendre les
tapes dexcution dune instruction dalgorithme en fonction de ses composants. Lanimation
vise essentiellement atteindre un objectif pdagogique particulier : aider lapprenant
comprendre limportance des priorits dans lvaluation des oprateurs arithmtiques, des
oprateurs relationnels et des oprateurs logiques.
La Figure 2-34 prsente en exemple lanimation dune linstruction daffectation. Lanimation
dcompose le processus dvaluation de lquation mathmatique droite du symbole
daffectation (=) selon les priorits dvaluation des oprateurs arithmtiques. Ainsi 2^K (qui
donne 4.59479341889914) est valu avant la multiplication, cette dernire rsultant
16.8628918513565. Laddition est effectue par la suite, et son rsultat est
37.8628918513565. Cette dernire valeur est finalement affecte la variable Z. chaque
tape de dcomposition du processus dvaluation, le panneau danimation affiche les rsultats
intermdiaires de lapplication des oprateurs arithmtiques (par exemple lvaluation de la
variable X donne 45, dont la racine carr donne 6.70820393249937).
La Figure 2-35 prsente un exemple dvaluation dune condition de structure conditionnelle (la
structure SI). La dcomposition de lvaluation de la condition permet dobserver que celle-ci est
affirmative (i.e. le rsultat est VRAI).

68

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2. Environnement de dveloppement

Figure 2-34 : Panneau d'animation d'instruction

Pour animer lexcution de la prochaine instruction lors de lexcution pas--pas, il suffit de


presser le bouton Animer plutt que le bouton Un pas. Le panneau danimation est
automatiquement activ et le processus dvaluation de linstruction est anim avec des pauses
entre lvaluation de chaque composant, et ce jusqu ce que lvaluation de linstruction soit
complte. La dure des pauses entre lvaluation de chaque composant de linstruction
correspond la pause insre entre lexcution des instructions en mode marche. Les boutons
flchs sous le bouton Marcher permettent de modifier la vitesse danimation (et de marche).
Celle-ci est affiche (en secondes de dlai insr entre lexcution de composants) dans le
panneau de statut de la fentre dexcution pas--pas.

Figure 2-35 : Animation de l'valuation d'une condition

Copyright 2004-2008 Marco Lavoie

69

2. Environnement de dveloppement

Guide d'utilisation de LARP

Voici quelques notes importantes propos de lanimation :

Une fois lanimation dune instruction dbute, le processus danimation ne peut pas tre
interrompu, et ce jusqu la fin de lanimation de linstruction.

La vitesse danimation peut tre modifie en tout temps (via les boutons flchs sous le
bouton Marcher), mme durant une animation.

Lanimation est limite lvaluation doprateurs arithmtiques, relationnels et logiques.


Lvaluation des autres composants dune instruction dalgorithme ne peuvent
gnralement pas tre anims.

Le panneau danimation affiche toujours linstruction animer sous forme pseudo-code,


mme si le module contenant linstruction est sous forme dorganigramme.

2.5.3 Sauvegarde de scurit


Puisque la technologie n'est pas infaillible (ainsi que ne le sont pas les talents en programmation
de l'auteur de LARP), il peut arriver l'occasion que LARP cesse abruptement de fonctionner
sans avoir donn l'opportunit l'utilisateur de sauvegarder les dernires modifications son
projet.
Pour minimiser les pertes de travail advenant de un tel incident, LARP effectue priodiquement
(par dfaut, toutes les 10 minutes) une sauvegarde de scurit du projet dit dans un fichier
temporaire. De plus, puisque les probabilits de dfaillance de LARP sont accrues durant
l'excution d'un projet, LARP effectue une sauvegarde de scurit avant chaque excution du
projet.
Si, comme c'est gnralement le cas, tout se droule normalement et l'utilisateur sauvegarde son
projet selon la procdure normale (via la barre de menu ou le panneau de contrle), la
sauvegarde de scurit du projet est automatiquement dtruite. Si par contre LARP crashe avant
que l'utilisateur ait eu l'opportunit de sauvegarder son travail, la sauvegarde de scurit
demeure intacte, n'tant pas dtruite.
chaque dmarrage, LARP recherche la prsence d'une sauvegarde de scurit antrieure. Si
une telle sauvegarde est localise, LARP propose l'utilisateur de recharger cette sauvegarde
afin de rcuprer le projet modifi. Si l'utilisateur refuse cette option, le projet n'est pas recharg
dans LARP. Dans un cas comme dans l'autre, la sauvegarde de scurit est ensuite dtruite.

2.5.4 Avertissements et erreurs


Lors de la compilation et de l'excution d'un projet, LARP affiche dans le panneau de messages
une brve description des erreurs rencontres :

Lors de la compilation : les erreurs de syntaxe rencontres dans les pseudo-codes et


organigrammes du projet sont identifies.
Lors de l'excution : les erreurs de logique rencontres dans les pseudo-codes et
organigrammes du projet sont identifies.

LARP affiche aussi l'occasion des messages d'avertissement. Ces messages identifient
gnralement des erreurs de logique qui ne sont pas fatales, n'empchant pas l'algorithme d'tre
excut mais pouvant rendre son comportement imprvisible lors de l'excution.

70

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2. Environnement de dveloppement

Chaque message d'avertissement ou d'erreur affich dans le panneau de messages comprend


gnralement les informations suivantes :
1. le type de message (avertissement ou erreur);
2. la position de l'anomalie dans le projet (le nom du module et la position de linstruction
dans le module o est localise l'anomalie);
3. une brve description de l'anomalie;
4. optionnellement, un numro de rfrence permettant d'obtenir plus dinformation via
l'aide en ligne de LARP.
Pour localiser l'emplacement de l'erreur ou de l'avertissement dans le projet, l'utilisateur peut
double cliquer sur le message vis dans le panneau de messages. Lditeur appropri (soit
lditeur textuel ou lditeur graphique, dpendant du type de module) affiche alors le module
contenant lerreur et linstruction errone y est identifie. Pour obtenir de linformation
supplmentaire via l'aide en ligne, il faut cliquer sur le message avec le bouton droit de la souris
afin d'accder au menu contextuel du panneau de message, qui permet dinvoquer laide en
ligne.
Pour plus dinformation sur les messages d'avertissement et d'erreur, consultez l'Annexe E. Vous
pouvez aussi consulter les sections portant sur le panneau de messages et sur l'aide en ligne
pour en connatre plus sur la gestion des messages d'avertissement et d'erreur dans LARP.

2.6

Configuration de LARP

L'environnement de dveloppement de LARP est configurable du point de vue :

des fonctionnalits d'dition,

de lexcution dalgorithmes,

de la gestion gnrale, et

des couleurs d'affichage.

La configuration courante est sauvegarde dans les registres de l'ordinateur la fermeture de


LARP. Cette configuration est automatiquement ractive au prochain dmarrage du logiciel.
Note : Il est fortement dconseill d'altrer la configuration de LARP directement via les registres
de l'ordinateur (avec un utilitaire tel regedit). Une corruption des registres peut irrmdiablement
endommager le systme d'exploitation de l'ordinateur. Il est recommand d'utiliser les
fonctionnalits de configuration intgres LARP pour modifier la configuration du logiciel.

2.6.1 Configuration gnrale


La fentre de configuration gnrale (Figure 2-36) de LARP permet de configurer diffrents
lments de l'environnement de dveloppement ainsi que le processus d'excution d'algorithmes.

Copyright 2004-2008 Marco Lavoie

71

2. Environnement de dveloppement

Guide d'utilisation de LARP

Cette fentre est accessible via la barre de menu, sous l'item Options Gnrales :

Figure 2-36 : Configuration gnrale

Les options de configuration sont regroupes sous trois rubriques (accessibles via les onglets au
haut de la fentre) :
1. diteurs : options de configuration des diteurs de LARP.
2. Excution : options de configuration de la console d'excution de LARP.
3. Gestion : options de configuration du mode super-utilisateur et du systme de mise
jour intgr LARP.
2.6.1.1

Configuration des diteurs

Les options de configuration sous la rubrique diteurs permettent de modifier les attributs
ddition.
Les attributs suivants ont trait aux deux diteurs (lditeur textuel et lditeur graphique) :

Police : ces attributs indiquent la police de caractres ainsi que la taille des caractres
employs dans les diteurs. Il est recommand demployer une police taille fixe, telle
Courier New, car une telle police facilite lalignement des caractres dans les
instructions daffichage.
Nombre d'oprations annulables : cette valeur correspond la taille du tampon de
sauvegarde des oprations d'dition. Ce tampon permet d'annuler les plus rcentes
oprations d'dition effectues par l'utilisateur. La valeur spcifie correspond au nombre
d'oprations enregistres et annulables.

Les attributs suivants ont trait lditeur textuel exclusivement :

Tabulation contextuelle : lorsque la tabulation contextuelle est active, la touche de


tabulation insre des espaces au curseur de sorte que ce dernier soit dplac vis--vis le
prochain caractre de la ligne prcdent celle au curseur. La tabulation contextuelle
facilite l'alignement des instructions de pseudo-code sur des lignes successives.
Lorsque la tabulation contextuelle est dsactive, la touche de tabulation insre un
caractre de tabulation au curseur.

72

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2.6.1.2

2. Environnement de dveloppement

Surligne de syntaxe : lorsque la surligne syntaxique est active, les mots rservs et
autres attributs d'un pseudo-code sont affichs dans l'diteur l'aide de couleurs
distinctes. La surligne permet l'utilisateur d'identifier rapidement les diffrents lments
d'un pseudo-code.
Marge de numrotation : lorsque la marge de numrotation est active, une marge
apparat gauche du panneau d'dition de lditeur textuel. Cette marge affiche le
numro des lignes de texte du document dit, ainsi que les signets.
Colonne de tabulation : cette valeur correspond la taille d'une tabulation
conventionnelle (i.e. lorsque la tabulation contextuelle est dsactive). Par exemple, si la
valeur spcifie est 4, une pression de la touche de tabulation dplacera le curseur la
prochaine colonne multiple de 4 (i.e. 4, 8, 12, 16, 20, ...).
Configuration de la console d'excution

Les options de configuration sous la rubrique Excution (Figure 2-37) permettent de configurer
les paramtres d'excution de projets LARP.

Figure 2-37 : Configuration de l'excution dalgorithmes

Les paramtres configurables sont :

Taille maximale de conteneurs : ce paramtre indique l'index maximal que peut avoir
un lment dans un conteneur (l'index minimal tant fix 1). Cette limite vite la
cration de conteneurs de taille excessivement grande, ce qui peut engendrer un
manque de mmoire vive de l'ordinateur. La cration de conteneurs trop grands est
gnralement cause par une erreur de logique dans lalgorithme.
Taille de la pile d'appels : fixe le nombre maximum d'invocations de modules pouvant
tre imbriques lors de l'excution de l'algorithme (des invocations sont imbriques
lorsqu'un module invoque un second module, qui invoque un troisime module, qui en
invoque un quatrime, ...). Cette limite est essentiellement utilise pour interrompre les
invocations rcursives infinies. Voir la section portant sur la rcursivit pour plus
d'information.

Copyright 2004-2008 Marco Lavoie

73

2. Environnement de dveloppement

Guide d'utilisation de LARP

Rpertoire des fichiers temporaires : indique le chemin et le nom du rpertoire o sont


stocks les divers fichiers temporaires crs par LARP lors de l'excution d'algorithmes.
Ces fichiers incluent ceux servant la gestion de tampons d'entres/sorties, ainsi que les
fichiers de sauvegarde de scurit (en cas d'erreur fatal de LARP).
Il est recommand de laisser LARP la tche de slectionner un rpertoire appropri o
stocker ses fichiers temporaires. Il est important que cet emplacement soit toujours
accessible lors de l'exploitation de LARP, sinon le bon fonctionnement du logiciel peut en
tre affect.
Si vous dsirez modifier le rpertoire o sont stocks les fichiers temporaires, dcochez
l'option Laisser LARP dterminer le rpertoire et slectionnez le rpertoire vis via le
bouton ... :

Figure 2-38 : Slection du rpertoire pour fichier temporaires

2.6.1.3

Configuration du mode super-utilisateur et du systme de mises jour


Cette section du guide rfre exclusivement la version partagiciel de LARP.

Les options de configuration sous la rubrique Gestion (Figure 2-39) permettent de configurer la
dtection de cls de dbridage activant le mode super-utilisateur et configurer le systme de
mise jour intgr LARP.
Le mode super-utilisateur est uniquement accessible dans la version partagiciel de LARP lorsque
les fonctionnalits de prvention du plagiat sont actives lors de linstallation du logiciel. Lorsque
les fonctionnalits de prvention du plagiat ne sont pas actives, la section Super-utilisateur
nest pas affiche sous longlet Gestion de la fentre de configuration gnrale de LARP.

74

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2. Environnement de dveloppement

Figure 2-39 : Configuration du mode super-utilisateur et du systme de mise jour

Les cls de dbridage permettent de dsactiver les fonctions de prvention du plagiat en activant
le mode super-utilisateur. La liste droulant numre les gestionnaires de cls disponibles sur
l'ordinateur. Lorsqu'un gestionnaire est slectionn, le bouton Vrifier permet de tester la
prsence et le bon fonctionnement d'une cl de dbridage en fonction du pseudonyme spcifi :

Figure 2-40 : Test de dbridage

Le systme de mise jour intgr LARP est configurable en fonction :


1. de la source des mises jour, et
2. du moment de tlchargement de ces mises jour.
Par dfaut, les mises jour sont tlcharges partir dun serveur Web gr par le fournisseur
de LARP. Ladresse URL par dfault de ce serveur et du fichier rpertoriant les plus rcentes
mises jour est http://larp.marcolavoie.ca/fr/Updates/updates.inf. Si aucune adresse nest
spcifie dans la bote intitule Source de la fentre de configuration (Figure 2-39), les mises
jour sont obtenues partir du serveur par dfaut. En spcifiant une adresse alternative dans
cette bote, les mises jour seront tlcharges partir de cette adresse. Dans la plupart des
circonstances le serveur par dfaut peut tre exploit.
En activant loption Rechercher les mises jour au dmarrage de LARP, le serveur est
automatiquement et silencieusement interrog chaque dmarrage de LARP afin de vrifier la
disponibilit de nouvelles mises jour. Si cest le cas, LARP en informe lutilisateur et demande
une confirmation avant de les tlcharger et les installer. Lorsque cette option est dsactive, les
mises jour doivent tre explicitement tlcharges par lutilisateur via la barre de menu. Il est
fortement recommand dactiver cette option afin de maintenir linstallation LARP jour.

Copyright 2004-2008 Marco Lavoie

75

2. Environnement de dveloppement

Guide d'utilisation de LARP

Pour plus d'information sur les cls de dbridage et sur les fonctions de prvention du plagiat
disponibles dans LARP, consultez la section traitant de la prvention du plagiat. Pour de
linformation supplmentaire sur la gestion des mises jour dans LARP, consultez la section
Mises jour de LARP.

2.6.2 Slection de couleurs


L'environnement de dveloppement de LARP peut tre configur au niveau des couleurs
d'affichage dans la console d'excution ainsi que dans les diteurs, incluant celles lies
lexcution pas--pas. Les options de couleurs sont accessibles via la barre de menu, sous l'item
Options Couleurs.
La fentre de configuration des couleurs (Figure 2-41) est constitue d'onglets permettant de
slectionner les composants de l'environnement de dveloppement configurer : la Console, les
diteurs et les lments dexcution Pas--pas mme les diteurs. Les lments
configurables sont numrs sous forme de boutons radio permettant de contrler l'attribution
des couleurs. La slection des couleurs est ralise via les contrles de slection situs dans la
partie droite de la fentre de configuration.
Le bouton Par dfaut permet de rinitialiser les couleurs aux configurations par dfaut, c'est-dire celles prslectionnes l'installation de LARP.

Figure 2-41 : Configuration des couleurs

2.6.2.1

Couleurs dans la console d'excution

Les couleurs d'affichage dans la console d'excution peuvent tre configures en fonction du
type de valeur affiche par l'algorithme. Les couleurs d'affichage des trois types suivants sont
configurables :
1. les nombres entiers,
2. les nombres flottants et
3. les chanes de caractres.
L'affichage de ces valeurs en couleurs distinctes permet l'utilisateur de dterminer le type d'une
valeur affiche dans la console d'excution en fonction de sa couleur.
Par dfaut, les trois types de valeurs sont affichs en blanc dans la console dexcution.

76

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

2.6.2.2

2. Environnement de dveloppement

Couleurs dans les diteurs

Pour les diteurs, les attributs d'affichage suivants sont configurables du point de vue de leur
couleur :

Le fond du panneau d'dition lorsqu'un module pseudo-code ou organigramme est dit.

Le fond du panneau d'dition lorsqu'un tampon d'entres/sorties est dit.

Le fond de la marge de numrotation ( gauche du panneau d'dition).

De plus, puisque l'diteur textuel dispose d'une fonctionnalit de surligne de mots rservs, les
couleurs de surligne suivantes sont aussi configurables :

Les mots rservs du langage LARP.

Le nom de fonctions prdfinies du langage LARP.

Les lignes de commentaires.

Les chanes de caractres.

La couleur d'affichage du texte non surlign dans les modules et les tampons d'entres/sorties
est aussi configurable (via l'option Autres). Notez que la surligne de mots rservs nest pas
applique au contenu des instructions dorganigrammes.
2.6.2.3

Couleurs pour excution pas--pas

Les attributs d'affichage dans les diteurs et relatifs lexcution pas--pas sont configurables du
point de vue de leur couleur. Lditeur textuel et lditeur graphique exploitent tous deux cette
configuration de couleurs pour surligner les instructions de modules suivantes :

La prochaine instruction tre excute en mode dexcution par pas et en mode


marche.

Les instructions auxquelles sont rattachs des points darrt.

Copyright 2004-2008 Marco Lavoie

77

Guide d'utilisation de LARP

3. Mode super-utilisateur

3 Mode super-utilisateur
Cette section du guide rfre exclusivement la version partagiciel de LARP. De plus, les fonctionnalits de
prvention du plagiat doivent tre actives lors de linstallation pour avoir accs au mode super-utilisateur.

Tout projet cr avec la version partagiciel de LARP dispose ds sa cration de la signature


de son auteur : le pseudonyme de l'utilisateur ayant cr le projet est irrmdiablement intgr
au fichier projet. De plus, lorsque les fonctionnalits de prvention du plagiat sont actives lors de
linstallation du logiciel, aucun utilisateur ne peut modifier le pseudonyme rattach un projet
moins d'avoir accs au mode super-utilisateur de LARP.
Ainsi, en mode d'utilisation normal, l'environnement de dveloppement de LARP est brid afin de
restreindre les opportunits de plagier les projets d'utilisateurs. Le bridage de commandes LARP
restreint l'accessibilit aux commandes de l'environnement de dveloppement qui seraient
susceptibles d'tre exploites par l'utilisateur pour plagier le projet d'un autre utilisateur.
L'intgration du pseudonyme de l'auteur ainsi que les autres fonctionnalits dcrites dans les
prochaines pages constituent les mesures de prvention du plagiat de LARP. Ces mesures
visent empcher tout utilisateur de s'approprier le projet d'autrui, c'est--dire tricher, dans un
contexte de groupe ou classe d'tudiants ayant produire un travail scolaire avec LARP. Dans
un tel contexte, le mode super-utilisateur permet l'enseignant de dsactiver les fonctionnalits
de prvention du plagiat des fins pdagogiques ou de gestion de classe telles la distribution de
projets ou la correction de travaux.
Afin de restreindre l'accs au mode super-utilisateur, une cl de dbridage est requise pour
l'activer.

3.1

Prvention du plagiat
Cette section du guide rfre exclusivement la version partagiciel de LARP. De plus, les fonctionnalits de
prvention du plagiat doivent tre actives lors de linstallation pour avoir accs au mode super-utilisateur.

Afin de prvenir le plagiat, l'environnement de dveloppement de LARP en version partagiciel


peut tre brid, c'est--dire certaines commandes de l'environnement sont dsactives ou leurs
fonctionnalits sont restreintes. Le bridage de fonctionnalits dans LARP vise empcher les
utilisateurs (considrs comme des tudiants dans un contexte de classe) d'changer ou de
partager des modules d'algorithmes.
Grce au bridage de commandes, les documents d'un projet cr par un tudiant ne peuvent pas
tre transfrs au projet d'un autre tudiant. De plus, toute modification illgale un fichier projet
(par exemple, en exploitant un diteur autre que ceux de LARP) est automatiquement dtecte
par LARP, qui refuse alors le chargement du fichier projet dans son environnement de
dveloppement. Enfin, le chiffrement est intgr la gestion du presse-papiers (impliqu dans les
commandes copier-coller), prvenant l'exploitation de ce dernier pour transfrer des modules du
projet d'un tudiant celui d'un autre tudiant.
Les fonctionnalits de prvention du plagiat de LARP sont bases sur l'unicit des pseudonymes
d'utilisateur. Dans un contexte de classe regroupant plusieurs tudiants, il est donc primordial
qu' chaque tudiant soit attribu un pseudonyme distinct (tel un numro d'tudiant).
Le bridage de commandes est seulement disponible dans la version partagiciel de LARP lorsque
les fonctionnalits de prvention du plagiat sont actives lors de linstallation du logiciel. Les
fonctionnalits de prvention du plagiat ne sont pas disponibles dans la version gratuiciel de
LARP.

Copyright 2004-2008 Marco Lavoie

79

3. Mode super-utilisateur

Guide d'utilisation de LARP

3.1.1 Pseudonyme actif


Cette section du guide rfre exclusivement la version partagiciel de LARP. De plus, les fonctionnalits de
prvention du plagiat doivent tre actives lors de linstallation pour avoir accs au mode super-utilisateur.

Le bridage de l'environnement de dveloppement de LARP en version partagiciel est bas sur


l'utilisation de pseudonymes pour distinguer les utilisateurs d'un groupe. Le pseudonyme est une
chane de caractres distincte identifiant l'utilisateur de LARP.
Lors du dmarrage de LARP, une fentre de configuration (Figure 3-1) exige que l'utilisateur
fournisse un pseudonyme. Si l'utilisateur ne possde aucun pseudonyme (i.e. aucun enseignant
ne lui en a attribu un), il peut spcifier une chane de caractres (par exemple son nom ou sa
date de naissance). Le pseudonyme spcifi deviendra le pseudonyme actif dans LARP. Lors de
la cration de projets LARP, le pseudonyme actif est rattach aux projets afin d'identifier l'auteur
de ces projets.

Figure 3-1 : Spcifier le pseudonyme actif

LARP offre la possibilit de toujours utiliser le mme pseudonyme actif lors des dmarrages
subsquents. Si la case intitule Employer ce pseudonyme... est coche, le pseudonyme
spcifi sera automatiquement slectionn comme pseudonyme actif lors des prochains
dmarrages de LARP. La fentre ci-dessus ne sera donc pas affiche au dmarrage.
L'utilisateur peut en tout temps modifier le pseudonyme actif via la commande Options
Identification... de la barre de menu. Il est noter que le projet en cours d'dition doit tre ferm
avant de changer le pseudonyme actif de LARP, puisque ce projet peut ne pas tre dit dans le
contexte du nouveau pseudonyme.
Si une cl de dbridage est active et que le pseudonyme spcifi correspond celui de cette
cl, le mode super-utilisateur est alors activ. Pour configurer le mode super-utilisateur, consultez
la section Configuration du mode super-utilisateur.
Le pseudonyme actif est toujours affich dans le panneau de statut. Notez cependant que
lexploitation de pseudonymes est seulement disponible dans la version partagiciel de LARP
lorsque les fonctionnalits de prvention du plagiat sont actives lors de linstallation du logiciel.

80

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

3. Mode super-utilisateur

Les fonctionnalits de prvention du plagiat ne sont pas disponibles dans la version gratuiciel de
LARP.

3.1.2 Pseudonyme rattach aux fichiers projet


Cette section du guide rfre exclusivement la version partagiciel de LARP. De plus, les fonctionnalits de
prvention du plagiat doivent tre actives lors de linstallation pour avoir accs au mode super-utilisateur.

Lors de la cration d'un nouveau projet LARP (via la barre de menu ou le panneau de contrle),
le pseudonyme actif au moment de la cration (i.e. celui apparaissant dans le panneau de statut)
est rattach au projet de faon permanente. En aucun temps l'tudiant (i.e. l'utilisateur) peut
ultrieurement modifier le pseudonyme rattach au projet. Lorsqu'un projet est sauvegard dans
un fichier projet, le pseudonyme lui tant rattach est aussi sauvegard dans ce mme fichier,
accompagnant ainsi le projet.
Lors du chargement d'un fichier projet existant, LARP n'autorise le chargement que si le
pseudonyme rattach au projet (lu mme le fichier) est identique celui actif (apparaissant
dans le panneau de statut). Ainsi, un tudiant est dans l'impossibilit de charger dans l'diteur de
LARP un fichier projet cr par un autre tudiant, moins d'usurper son pseudonyme.
Cependant, mme en usurpant l'identit de l'tudiant auteur du fichier projet charg, l'utilisateur
illgitime est dans l'impossibilit de changer le pseudonyme rattach au projet, et ainsi de
remettre l'enseignant le projet usurp comme tant le sien.
Cette fonctionnalit assure ainsi l'enseignant qu'un seul tudiant puisse soumettre un mme
fichier projet, puisqu'un seul pseudonyme est rattach au fichier projet et que ce pseudonyme ne
peut tre modifi.
En utilisant le mode super-utilisateur, l'enseignant peut dsactiver cette fonctionnalit et charger
dans LARP le projet de tout tudiant, sans gard au pseudonyme actif.
Lors de la cration d'un projet en mode super-utilisateur, aucun pseudonyme n'est rattach au
nouveau projet (i.e. le projet n'a pas dauteur). On peut considrer un projet sans pseudonyme
rattach comme un projet public, pouvant tre charg par quiconque et sans gard au
pseudonyme actif. Lorsqu'un tudiant charge dans LARP un projet public, le pseudonyme actif
est automatiquement rattach au projet charg. Ainsi, lorsque l'tudiant aura modifi et
sauvegard le projet, son pseudonyme sera dornavant rattach au fichier projet et aucun autre
tudiant ne pourra charger ce projet dans LARP afin d'en plagier le contenu.
Notez que lexploitation de pseudonymes est seulement disponible dans la version partagiciel de
LARP lorsque les fonctionnalits de prvention du plagiat sont actives lors de linstallation du
logiciel. Les fonctionnalits de prvention du plagiat ne sont pas disponibles dans la version
gratuiciel de LARP. Notez de plus que les fichiers projets ne sont pas transfrables entre la
version partagiciel et la version gratuiciel de LARP, afin dviter que des utilisateurs exploitent la
version gratuiciel (nexploitant pas les pseudonymes) pour changer des fichiers projet.

3.1.3 Chiffrement des documents


Cette section du guide rfre exclusivement la version partagiciel de LARP. De plus, les fonctionnalits de
prvention du plagiat doivent tre actives lors de linstallation pour avoir accs au mode super-utilisateur.

Afin d'empcher un utilisateur d'accder au contenu du fichier projet d'un autre utilisateur pour en
extraire les modules, la version partagiciel de LARP exploite le chiffrement numrique pour
brouiller le contenu des documents. Lorsque LARP transcrit un projet dans son fichier, le contenu
des documents du projet (i.e. ses modules et ses tampons d'entres/sorties) est chiffr en
utilisant le pseudonyme actif comme cl de chiffrement (un algorithme de chiffrement robuste et
public, Blowfish, est exploit par LARP pour le chiffrement de documents).

Copyright 2004-2008 Marco Lavoie

81

3. Mode super-utilisateur

Guide d'utilisation de LARP

Le contenu d'un fichier projet LARP tant chiffr, un utilisateur illgitime est dans l'impossibilit
d'utiliser un diteur autre que ceux de LARP pour accder aux documents contenus dans le
fichier. En d'autres mots, le chiffrement des fichiers projet LARP l'aide du pseudonyme de
l'auteur assure la confidentialit du projet, seul l'auteur tant apte dchiffrer le contenu de ses
fichiers projet.
De plus, afin d'empcher un utilisateur illgitime d'altrer illgalement un fichier projet LARP via
un diteur de texte autre que celui de LARP, un code de vrification d'intgrit est insr dans
chaque fichier projet LARP. Si le fichier projet est altr illgalement, la modification sera
automatiquement dtecte par LARP lors du prochain chargement du fichier projet dans
l'environnement de dveloppement.
La seule faon pour un utilisateur illgitime de charger un projet LARP cr par un autre
utilisateur est d'usurper son identit (i.e. spcifier le pseudonyme de l'auteur du projet comme
pseudonyme actif). Cependant, puisque l'utilisateur illgitime est par la suite dans l'impossibilit
de changer le pseudonyme rattach au projet (voir la section traitant des pseudonymes rattachs
aux fichiers projet), il ne peut en aucun temps prsenter le projet usurp comme tant sien.
En utilisant le mode super-utilisateur, un enseignant peut dsactiver cette fonctionnalit de
prvention du plagiat et charger dans l'environnement de dveloppement de LARP les projets de
ses tudiants.
Notez que lexploitation de pseudonymes pour chiffrer les fichiers projet est seulement disponible
dans la version partagiciel de LARP lorsque les fonctionnalits de prvention du plagiat sont
actives lors de linstallation du logiciel. Les fonctionnalits de prvention du plagiat ne sont pas
disponibles dans la version gratuiciel de LARP.

3.1.4 Contrle du copier-coller


Cette section du guide rfre exclusivement la version partagiciel de LARP. De plus, les fonctionnalits de
prvention du plagiat doivent tre actives lors de linstallation pour avoir accs au mode super-utilisateur.

Afin d'empcher quiconque d'exploiter le presse-papiers pour transfrer des modules d'un projet
LARP en version partagiciel au projet d'un autre utilisateur, le contenu du presse-papiers est
chiffr l'aide du pseudonyme actif apparaissant dans le panneau de statut. Ainsi, les
commandes de l'environnement de dveloppement impliquant le presse-papiers (couper, copier
et coller) restreignent l'utilisateur copier du pseudo-code et des lments d'organigrammes d'un
module vers un autre module du mme projet, ou vers un module d'autres projets du mme
auteur. Grce au chiffrement, la version partagiciel de LARP ne permet pas l'utilisateur de
coller le contenu du presse-papiers au projet d'un autre utilisateur ou dans une application autre
que LARP.
Le chiffrement de documents est uniquement appliqu au presse-papiers lorsque le contenu y
tant copi provient d'un module. Lorsque la source est un tampon d'entres/sorties, le contenu
n'est pas chiffr et peut ainsi tre coll dans un tampon d'entres/sorties de tout autre projet, ou
dans un diteur autre que celui de LARP. Par dfinition, les tampons d'entres/sorties
contiennent des donnes ou des rsultats, qui sont gnralement considrs comme publiques.
En exploitant le mode super-utilisateur, un enseignant peut dsactiver cette fonctionnalit de
prvention du plagiat et utiliser le presse-papiers pour copier le contenu de modules dans
n'importe quel projet dit avec LARP ou avec tout autre diteur.
Notez que lexploitation de pseudonymes pour chiffrer le contenu du presse-papiers est
seulement disponible dans la version partagiciel de LARP lorsque les fonctionnalits de
prvention du plagiat sont actives lors de linstallation du logiciel. Les fonctionnalits de
prvention du plagiat ne sont pas disponibles dans la version gratuiciel de LARP.

82

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

3. Mode super-utilisateur

3.1.5 Contrle de l'impression


Cette section du guide rfre exclusivement la version partagiciel de LARP. De plus, les fonctionnalits de
prvention du plagiat doivent tre actives lors de linstallation pour avoir accs au mode super-utilisateur.

Afin d'viter qu'un tudiant produise une copie papier d'un projet LARP pour le distribuer ses
pairs, la commande d'impression de modules est bride dans la version partagiciel de LARP,
sauf en mode super-utilisateur. Tout utilisateur peut cependant imprimer les tampons
d'entres/sorties.
Lorsque la commande d'impression est invoque, une fentre de slection de document est
affiche :

Figure 3-2 : Impression des documents

L'utilisateur peut ainsi slectionner le module ou tampon d'entres/sorties du projet imprimer,


ou imprimer l'ensemble du projet. Les options d'impression incluent la slection d'imprimante et
l'orientation du papier d'impression. Lorsque le mode super-utilisateur est dsactiv, seuls les
tampons d'entres/sorties peuvent tre imprims.
Notez que le contrle de limpression est seulement disponible dans la version partagiciel de
LARP lorsque les fonctionnalits de prvention du plagiat sont actives lors de linstallation du
logiciel. Limpression de modules est accessible en tout temps dans la version gratuiciel de LARP
ainsi que dans la version partagiciel lorsque les fonctionnalits de prvention du plagiat ne sont
pas actives.

3.2

Dbridage de l'environnement de dveloppement


Cette section du guide rfre exclusivement la version partagiciel de LARP. De plus, les fonctionnalits de
prvention du plagiat doivent tre actives lors de linstallation pour avoir accs au mode super-utilisateur.

Dans un contexte de classe d'tudiants ayant produire des algorithmes avec la version
partagiciel de LARP dans le cadre d'valuations scolaires, l'enseignant doit avoir la possibilit de
dsactiver les fonctionnalits de prvention du plagiat afin de crer des fichiers projet LARP
tre distribus aux tudiants, ainsi qu' charger dans LARP les projets de ces derniers pour fins
d'valuation. Le mode super-utilisateur permet l'enseignant d'effectuer ces tches en
dsactivant les fonctionnalits de prvention du plagiat.

Figure 3-3 : Cl de dbridage (port USB)

Copyright 2004-2008 Marco Lavoie

83

3. Mode super-utilisateur

Guide d'utilisation de LARP

Figure 3-4 : Cl de dbridage (port parallle)

Afin d'interdire aux tudiants l'accs au mode super-utilisateur, une cl de dbridage est requise
pour activer le mode super-utilisateur. Les cls de dbridage pour LARP sont des priphriques
physiques brancher dans le port USB (Universal Serial Bus) ou le port parallle de l'ordinateur.
Chaque cl de dbridage est vendue pr-configure avec un pseudonyme exclusif.
chaque dmarrage de la version partagiciel de LARP, le logiciel interroge les ports USB et
parallles de l'ordinateur afin de dtecter la prsence d'une cl de dbridage. Si une telle cl est
dtecte et que son pseudonyme correspond celui de l'utilisateur (i.e. le pseudonyme actif), le
mode super-utilisateur est automatiquement activ. L'activation du mode super-utilisateur est
indique dans le panneau de statut, o le pseudonyme actif est remplac par les lettres SU (pour
Super-Utilisateur) dans le champ correspondant :

Figure 3-5 : Indicateur du mode super-utilisateur

Pour commander des cls de dbridage LARP, consultez la section Commander des cls de
dbridage.
Notes : la prsence de cl de dbridage est uniquement vrifie au dmarrage de la version
partagiciel de LARP et lors d'un changement de pseudonyme via la barre de menu. En tout autre
temps la cl de dbridage peut tre dbranche sans pour autant dsactiver le mode superutilisateur.
Notez aussi que les cls de dbridage peuvent seulement tre exploites dans la version
partagiciel de LARP lorsque les fonctionnalits de prvention du plagiat sont actives
linstallation du logiciel. Le bridage de fonctionnalits nest pas disponible dans la version
gratuiciel de LARP ainsi que dans la version partagiciel lorsque les fonctionnalits de prvention
du plagiat ne sont pas actives.

3.2.1 Slection d'une technologie de cl


Cette section du guide rfre exclusivement la version partagiciel de LARP. De plus, les fonctionnalits de
prvention du plagiat doivent tre actives lors de linstallation pour avoir accs au mode super-utilisateur.

Puisque plusieurs technologies de cls de dbridage sont acceptes par LARP, l'utilisateur doit
configurer le logiciel en spcifiant la technologie correspond la cl de dbridage qu'il entend
employer. Consultez la section Configuration du mode super-utilisateur pour plus d'information
sur la slection d'une technologie de cl.

84

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

3. Mode super-utilisateur

3.2.2 Statistiques de projet


Lorsqu'un utilisateur cre et dveloppe un projet LARP, les statistiques suivantes sont
accumules pour le projet :

la date de cration du projet;

le temps total consacr par l'utilisateur diter les documents du projet dans LARP;

le nombre de compilations du projet effectues depuis sa cration; et

le nombre de sauvegardes dans le fichier projet (excluant les sauvegardes de scurit)


effectues par l'utilisateur depuis la cration du projet.

Ces statistiques permettent l'enseignant d'avoir un aperu des heures consacres par l'tudiant
son projet. Des statistiques improbables peuvent ainsi mettre en vidence le plagiat. Par
exemple, un projet constitu de plusieurs documents mais n'ayant t dit que quelques
minutes est gnralement considr suspect.
Dans la version partagiciel de LARP avec les fonctionnalits de prvention du plagiat actives,
les statistiques accumules sur un projet LARP sont exclusivement accessibles en mode superutilisateur, via la barre de menu. Dans la version partagiciel sans prvention de plagiat ainsi que
dans la version gratuiciel de LARP, les statistiques sont toujours accessibles, aucun pseudonyme
ntant cependant affich.

Figure 3-6 : Statistiques de projet

Le bouton Rinitialiser permet de remettre zro les statistiques associes au projet dit,
incluant le pseudonyme rattach, qui est alors effac. Ainsi, l'enseignant peut rendre publique
le projet LARP d'un tudiant.

3.2.3 Conversion dorganigramme en pseudo-code


LARP permet de convertir tout module sous forme dorganigramme en module pseudo-code.
Lorsquun organigramme est affich dans lditeur graphique, la commande de la barre de menu
Afficher Pseudo-code affiche une fentre contenant le pseudo-code quivalent
lorganigramme affich :

Copyright 2004-2008 Marco Lavoie

85

3. Mode super-utilisateur

Guide d'utilisation de LARP

Figure 3-7 : Conversion d'un organigramme en pseudo-code

Le bouton Copier au presse-papiers permet de copier le pseudo-code sous forme textuelle le


pseudo-code de la fentre vers le presse-papiers. Ce pseudo-code peut ainsi tre rintroduit
dans un module du projet par copier-coller.
Dans la version partagiciel de LARP avec les fonctionnalits de prvention du plagiat actives,
cette fonctionnalit de conversion est limite au mode super-utilisateur afin de permettre un
enseignant dimposer aux lves quils crivent leurs algorithmes en pseudo-code. Dans la
version partagiciel sans prvention de plagiat ainsi que dans la version gratuiciel de LARP, la
fonctionnalit de conversion est toujours disponible.

3.2.4 Projets publics


Cette section du guide rfre exclusivement la version partagiciel de LARP. De plus, les fonctionnalits de
prvention du plagiat doivent tre actives lors de linstallation pour avoir accs au mode super-utilisateur.

Lorsqu'un projet est cr par un utilisateur avec la version partagiciel de LARP avec
fonctionnalits de prvention du plagiat actives, son pseudonyme (i.e. le pseudonyme actif) est
rattach au projet de faon permanente, et seul cet utilisateur peut ultrieurement charger dans
LARP le fichier projet (voir la section Pseudonyme rattach aux fichiers projet).
Dans un tel contexte, comment l'enseignant peut-il distribuer des tudiants un fichier projet
LARP tre complt par ces derniers ?
En fait, lorsqu'un projet est cr en mode super-utilisateur, aucun pseudonyme nest rattach au
projet lorsque ce dernier est sauvegard dans son fichier. Lorsque l'utilisateur tente de charger
un fichier projet n'ayant aucun pseudonyme rattach, LARP permet le chargement du projet quel
que soit le pseudonyme actif (i.e. tous les utilisateurs peuvent charger le projet), puis rattache le
pseudonyme actif au projet charg.
En rsum, un enseignant dsirant distribuer un fichier projet doit crer le projet en mode superutilisateur et le sauvegarder ainsi, crant ainsi un fichier projet public. Tout tudiant peut ensuite
charger ce fichier projet dans LARP et le modifier sa guise. Lorsqu'il sauvegarde le projet
modifi, son pseudonyme est automatiquement rattach au projet dans le fichier modifi,
prvenant ainsi toute tentative ultrieure de plagiat.
Un super-utilisateur peut en tout temps transformer un projet avec pseudonyme rattach en
projet public (i.e. sans pseudonyme rattach) via la rinitialisation des statistiques du projet.

86

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

3. Mode super-utilisateur

Notez que les fichiers projets crs avec la version partagiciel de LARP sans fonctionnalits de
prvention du plagiat ainsi que ceux crs avec la version gratuiciel de LARP sont toujours
publics puisque aucun pseudonyme nest rattach ces fichiers. Notez de plus que les fichiers
projets ne sont pas transfrables entre la version partagiciel et la version gratuiciel de LARP, afin
dviter que des utilisateurs exploitent la version gratuiciel (nexploitant pas les pseudonymes)
pour changer des fichiers projet.

Copyright 2004-2008 Marco Lavoie

87

Guide d'utilisation de LARP

4. Un premier

4 Un premier algorithme
La syntaxe du langage pseudo-code de LARP est souple et intuitive, comme vous pourrez le
constater dans la suite de ce document.
Pour illustrer cette syntaxe, voici un premier algorithme qui ne fait qu'afficher la chane de
caractres Bonjour le monde! l'cran. Lalgorithme est formul sous forme de pseudo-code et
dorganigramme :
\\ Pseudo-code tout bte!
DBUT
CRIRE "Bonjour le monde!"
FIN
Pseudo-code 4-1 : Pseudo-code tout bte

Organigramme 4-1 : Organigramme tout bte

Les diffrents composants de cet algorithme sont expliqus dans les prochaines sections.

4.1

Les commentaires

Comme dans la plupart des langages de programmation, on peut insrer des commentaires dans
les algorithmes de LARP.
Dans le pseudo-code LARP, il faut prcder une ligne de commentaires des symboles \\ (deux
antslashs conscutifs) : tout ce qui suit jusqu' la fin de la ligne est alors ignor lors de la
compilation de l'algorithme. Pour prolonger un commentaire sur plusieurs lignes, il faut
commencer chaque ligne par \\ :
\\ Voici un exemple de commentaire se
\\ propageant sur plus d'une ligne
DBUT
CRIRE "Bonjour le monde!"
\\ Commentaire en fin de ligne
FIN
Pseudo-code 4-2 : Les commentaires

Copyright 2004-2008 Marco Lavoie

89

4. Un premier

Guide d'utilisation de LARP

Dans les organigrammes LARP, linstruction Commentaire (Figure 4-1), disponible via le panneau
de modles ou via le menu contextuel de lditeur graphique, permet dinsrer des commentaires
dans les organigrammes (tel que dans lOrganigramme 4-1).

Figure 4-1 : Modles de commentaire

4.2

Dbut et fin d'un algorithme

Un algorithme LARP doit dbuter par l'instruction DBUT. Cette instruction indique le point de
dpart de l'excution de l'algorithme. L'instruction suivant DBUT (dans le Pseudo-code 4-1 et
lOrganigramme 4-1, CRIRE "Bonjour le monde!") est la premire instruction excute.
Rciproquement, l'instruction FIN indique le point o l'algorithme se termine. C'est ce point que
l'excution de l'algorithme cesse.
Comme nous le verrons ultrieurement, un algorithme LARP peut tre divis en modules, o
chaque module est un pseudo-code ou un organigramme distinct. Dans un tel contexte, un seul
de ces modules doit contenir les instructions DBUT et FIN. Ce sont ces instructions qui
indiquent o dbute et cesse l'excution de l'algorithme parmi les modules le constituant.
Puisqu'un algorithme contient gnralement un seul point de dpart de son excution, un seul
module de l'algorithme doit dbuter par l'instruction DBUT. Similairement, l'algorithme doit
contenir une seule instruction FIN, et celle-ci doit tre la dernire instruction du module
comprenant l'instruction DBUT. Ce module est appel le module principal. Si l'algorithme
comprend d'autres modules, ceux-ci sont dits modules auxiliaires.
Lorsquun nouveau projet est cr dans lenvironnement de dveloppement de LARP, les
instructions DBUT et FIN sont automatiquement insres dans le module principal du projet.

4.3

Syntaxe des instructions

Comme langage de programmation, LARP offre un ensemble d'instructions permettant de


formuler des algorithmes sous forme de pseudo-code et dorganigramme. Ces instructions
acceptent optionnellement un ou plusieurs arguments et leur syntaxe correspond l'un des deux
formats suivants :
instruction arg1, arg2, ...
ou
instruction (arg1, arg2, ...)
L'exemple ci-dessous (voir Pseudo-code 4-3 et Organigramme 4-2) utilise l'instruction CRIRE
afin d'afficher un rsultat dans la console d'excution. Une mme instruction CRIRE peut
afficher plus d'un rsultat :
\\ Exemple dinstructions
DBUT
CRIRE "Maximum = ", MAXIMUM(12, 2, 9)
FIN
Pseudo-code 4-3 : Syntaxe des instructions

90

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

4. Un premier

Comme on le constate dans cet exemple, l'instruction CRIRE adopte la premire forme de
syntaxe alors que l'instruction MAXIMUM adopte la deuxime forme de syntaxe.

Organigramme 4-2 : Syntaxe des instructions

Notez que les instructions du langage LARP peuvent tre crites avec accents (CRIRE,
JUSQU', SLECTION, ...) ou sans accents (ECRIRE, JUSQU'A, SELECTION, ...). Puisque la
grande majorit des langages de programmation n'acceptent pas les accents, LARP supporte de
facto ce standard .
Notez aussi que LARP ne fait aucune distinction entre les lettres majuscules et les lettres
minuscules. Ainsi, les instructions CRIRE, JUSQU' et SLECTION peuvent aussi bien s'crire
respectivement crire, Jusqu' et Slection, ou crire, jusqu' et slection.
Dans les textes d'aide en ligne de LARP, toutes les instructions retrouves dans les exemples
sont formules en lettres majuscules (avec accents). Cette pratique permet d'identifier
rapidement les mots rservs du langage LARP dans un pseudo-code ou un organigramme.

4.4

Sparation des instructions

Les instructions pseudo-code d'un module sont gnralement crites sur des lignes spares.
Ainsi, un changement de ligne (i.e. l'insertion d'un retour de chariot la fin d'une ligne) indique la
fin d'une instruction et le dbut de la suivante. Cependant il est possible de prolonger une longue
instruction sur la ligne suivante en terminant la premire ligne de l'instruction par le symbole $ :
\\ Pseudo-code moins bte
DBUT
LIRE a, b, c
CRIRE "Le maximum parmi les trois valeurs ", a, ", ", b, " et ", $
c , " est ", MAXIMUM(a, b, c)
FIN
Pseudo-code 4-4 : Sparation des instructions

Une longue instruction peut ainsi tre prolonge sur plusieurs lignes, chaque ligne sauf la
dernire tant termine par $.

Copyright 2004-2008 Marco Lavoie

91

4. Un premier

Guide d'utilisation de LARP

Le mme principe sapplique aux instructions dorganigramme. Une instruction peut tre termine
par le symbole $ et ensuite poursuivie dans linstruction squentielle suivante :

Organigramme 4-3 : Prolongation dune instruction dorganigramme

4.5

Cration du projet LARP

Voici les tapes menant la cration et l'excution d'un premier algorithme avec la version
partagiciel de LARP. Si vous utilisez la version gratuiciel de LARP, les tapes 2 et 3 doivent tre
ignores :
1. Dmarrez LARP et fermez la fentre d'accueil (celle-ci se ferme automatiquement aprs
quelques secondes si vous ne le faites pas).

Figure 4-2 : Fentre d'accueil

2. Si le partagiciel n'est pas enregistr, la fentre d'enregistrement (Figure 4-3) est alors
affiche. Cette fentre indique comment enregistrer votre installation LARP. Si c'est le
cas, pressez le bouton Enregistrer plus tard. Pour plus d'information sur
l'enregistrement de votre installation LARP, consultez la section Enregistrement. Notez
que cette fentre nest pas affiche si le partagiciel est enregistr ou si vous utilisez la
version gratuiciel de LARP.

92

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

4. Un premier

Figure 4-3 : Fentre d'enregistrement

3. Lorsque les fonctionnalits de prvention du plagiat sont actives, tout utilisateur de


LARP doit spcifier son pseudonyme (Figure 4-4). Ce pseudonyme est exploit pour
identifier l'auteur du projet dans un cadre ducationnel. Si vous n'avez pas de
pseudonyme, entrez un nombre quelconque. Si de plus vous cochez la case Employer
ce pseudonyme..., LARP utilisera le pseudonyme spcifi aux dmarrages subsquents
du logiciel :

Figure 4-4 : Pseudonyme d'utilisateur

La fentre didentification de lutilisateur nest pas affiche lorsque les fonctionnalits de


prvention du plagiat ne sont pas actives, ce qui est toujours le cas pour la version
gratuiciel de LARP.

Copyright 2004-2008 Marco Lavoie

93

4. Un premier

Guide d'utilisation de LARP

4. Si votre installation LARP est enregistre et votre ordinateur reli Internet, le systme
de mise jour intgr tente alors de dterminer si des nouvelles mises jour sont
disponibles pour LARP. Si cest le cas vous en tes averti. Pour linstant vous pouvez
refuser linstallation des mises jour; elles pourront tre installes ultrieurement.
La mise jour automatise nest pas disponible dans la version gratuiciel de LARP.
5. Slectionnez la commande Fichier Nouveau... partir de la barre de menu. Cette
commande cre un nouveau projet ou document LARP. La fentre Nouveau (Figure 4-5)
demande ce qui doit tre cr; puisquil ny a prsentement aucun projet dans LARP, ce
dernier ne permet pas de crer des documents (modules ou tampons dentres/sorties).
Slectionnez l'option Pseudo-code afin de crer un nouveau projet avec pseudo-code
dans le module principal, puis appuyez sur le bouton Accepter.

Figure 4-5 : Fentre Nouveau

6. L'diteur textuel affiche alors un pseudo-code minimal constituant le module principal du


projet et dlimit par les instructions DBUT et FIN. Insrez linstruction CRIRE telle
que prsente dans le pseudo-code suivant :

94

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

4. Un premier

Figure 4-6 : Projet LARP en cours d'dition

7. Pour excuter lalgorithme, slectionnez la commande Projet Excuter... dans la barre


de menu. Cette commande excute le projet LARP et affiche les rsultats dans la
console d'excution (Figure 4-7). Comme indiqu dans la console, appuyez sur une
touche du clavier pour fermer celle-ci et retourner l'environnement de dveloppement
de LARP.

Figure 4-7 : Excution du projet

Il se peut que la commande d'excution choue si vous avez entr le pseudo-code de


faon errone dans l'diteur textuel. Dans ce cas la console d'excution n'apparat pas et
des messages d'erreurs apparaissent dans le panneau de messages (Figure 4-8).

Copyright 2004-2008 Marco Lavoie

95

4. Un premier

Guide d'utilisation de LARP

8. Notez que le panneau de messages (Figure 4-8) affiche de linformation relative la


compilation et l'excution du projet. Si vous avez entr le pseudo-code de faon errone
dans l'diteur textuel, les erreurs seront identifies dans le panneau de messages.

Figure 4-8 : Messages gnrs lors de la compilation et l'excution

9. Si vous dsirez sauvegarder votre travail dans un fichier projet, slectionnez la


commande Fichier Sauvegarder dans la barre de menu. Vous devez alors spcifier le
rpertoire et le nom du fichier projet :

Figure 4-9 : Sauvegarder le projet

Et voil! Vous venez de crer, excuter et sauvegarder votre premier projet LARP. Maintenant
vous pouvez explorer LARP votre guise et dvelopper des algorithmes complexes. Le Guide
d'utilisation de LARP contient toute linformation requise pour produire de tels algorithmes.

96

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

5. Constantes et variables

5 Constantes et variables
Dans la syntaxe des pseudo-codes et organigrammes LARP, une constante est numrique ou
alphanumrique. Par exemple, 12.3 est une constante numrique reprsentant un nombre
fractionnel, et "allo" est une constante alphanumrique reprsentant une chane de caractres.
LARP supporte plusieurs types de constantes.
Une variable dans un algorithme LARP (comme dans la plupart des langages de programmation
tels C++ et Java) est un emplacement dans la mmoire de l'ordinateur o sont stockes des
donnes.
Une variable peut tre vue comme une bote dans laquelle sont ranges des informations qui
peuvent tre rcupres en tout temps. la diffrence de la bote qui redevient vide lorsqu'on en
retire son contenu, la variable stocke une copie des donnes que l'algorithme y range (via
l'affectation). Ainsi, lorsque l'algorithme rcupre les donnes d'une variable, il rcupre en fait
une copie du contenu de la variable. Cette dernire conserve donc ses donnes (i.e. son
contenu), qui peuvent tre rcupres de multiples reprises. En fait, une variable conserve ses
donnes jusqu' ce que d'autres donnes y soient stockes, remplaant les donnes antrieures,
ou jusqu' ce que la variable soit dtruite par l'algorithme.
Puisqu'un algorithme exploite gnralement plusieurs variables pour traiter des donnes, cellesci sont dsignes dans l'algorithme par un nom unique leur tant attribu par le programmeur.
Lunicit des noms de variables permet lalgorithme didentifier prcisment la variable tre
manipule.
Contrairement la plupart des langages de programmation traditionnels (tels C++ et Java), le
langage LARP est polymorphe contextuel. Ce terme signifie qu'un algorithme LARP n'a pas
dfinir au pralable ses variables en spcifiant explicitement leur type. Cette philosophie de
programmation est couramment exploite dans les langages de scriptage, tels Perl et Lisp. Ainsi,
le type d'une variable dpend de son contenu, et de ce fait son type peut varier durant l'excution
de l'algorithme.

5.1

Noms de variables

Comme dans tous les langages de programmation, des rgles prcises rgissent la slection des
noms de variables :

Un nom de variable doit dbuter par une lettre (A Z, a z) ou le caractre de


soulignement (_).
Un nom de variable peut tre constitu de lettres minuscules (a z), de lettres
majuscules (A Z), de chiffres (0 9) et du caractre de soulignement (_).
Un nom de variable ne doit pas correspondre un mot rserv de LARP, tels que
CRIRE, FIN, SI et PI, et ce sans gard aux accents (par exemple ECRIRE est aussi un
mot rserv).
LARP ne fait pas de distinction entre les lettres minuscules et les lettres majuscules, ce
qui signifie que Nom, nom et NOM font rfrence une mme variable.
LARP ignore les accents, ce qui signifie que Cot, Cout et Cot font rfrence une
mme variable.

Copyright 2004-2008 Marco Lavoie

97

5. Constantes et variables

Guide d'utilisation de LARP

Voici des exemples de noms de variables valides et invalides :


VALIDES

INVALIDES

Date
DATE
_201
Table10
Cout_Achat
Franais

101_Francais
Cout Achat
Paie&Bonus

Ne commence pas par une lettre ou _


L'espace n'est pas accept
Les caractres spciaux (autres que _ ) sont interdits

L'affectation de valeurs aux variables se fait gnralement l'aide de l'oprateur d'affectation (=):
\\ Oprateur d'affectation
prix = 10.20
\\ affecte une valeur numrique
nom
= "Gustave Labrie"
\\ affecte un chane de caractres
notes = [75, 56, 94, 69]
\\ affecte un conteneur
Pseudo-code 5-1 : Noms de variables

Note : les conteneurs sont prsents dans une section ultrieure.

5.2

Oprations

Puisque le langage LARP est polymorphe contextuel, le type d'une variable dpend de son
contenu. Consquemment le type d'une variable peut varier durant l'excution de l'algorithme.
En exploitant l'affectation, un algorithme peut emmagasiner une valeur de n'importe quel type
dans une variable. De plus, des valeurs de diffrents types peuvent tre combines dans une
mme instruction, et la conversion des valeurs d'un type l'autre (afin d'effectuer l'opration
demande) est gnralement transparente.
Par exemple :
a
a
a
a

=
=
=
=

1 +
"1"
"x"
"1"

2
+ 2
+ 2
+ "2"

\\
\\
\\
\\

Donne
Donne
Donne
Donne

a = l'entier 3
aussi a = l'entier 3
a = la chane "x2"
a = la chane "12"
Pseudo-code 5-2 : Les oprateurs

Notez dans l'exemple ci-dessus qu'au besoin, LARP tente de convertir les chanes de caractres
en valeurs numriques afin d'effectuer l'opration mathmatique demande (ex : "1"+2 donne 3).
De plus, l'action de certaines oprations sont dfinies en fonction du type de valeurs auxquelles
elles sont appliques (ex : "a"+"b" donne "ab", alors que 1+2 donne 3).
Les oprations squentielles telles que celles dans le Pseudo-code 5-2 sont gnralement
intgres aux organigrammes laide de linstruction squentielle. On retrouve aussi des
oprations dans les autres types dinstructions, telles que dans les conditions et les arguments
dappel de modules.

98

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

5. Constantes et variables

Organigramme 5-1 : Oprations squentielles

5.3

Valeurs numriques

Il existe deux formes de valeurs numriques : les entiers et flottants. Les valeurs entires n'ont
pas de partie fractionnelle alors que les valeurs flottantes en ont une.
Voici des exemples de valeurs numriques :
Valeur = 2345
Valeur = 1234.567
Valeur = 1.23E-10

\\ Entier en notation dcimale


\\ Flottant en notation dcimale
\\ Flottant en notation scientifique
Pseudo-code 5-3 : Les valeurs numriques

La notation scientifique permet d'exprimer de trs petits nombres (ex : 2.5E-201) et de trs
grands nombres (ex : 5E156). La partie aprs le E (qui peut aussi tre crit en minuscule, e)
indique la puissante de 10 multiplier au nombre avant le E. Ainsi, 2.1E7 quivaut 21000000
7
-7
(i.e. 2.1x10 ), et 2.1E-7 quivaut 0.00000021 (i.e. 2.1x10 ).
Les limites de valeurs pouvant tre manipules dans un algorithme sont :

-2147483648 2147483647 pour les valeurs entires, et

5.0E-324 (5.0x10

-324

308

) 1.7E308 (1.7x10

) pour les valeurs flottantes.

Toute valeur excdant ces limites dans une instruction (par exemple 1.7E308 * 12) rsulte en une
erreur fatale lors de l'excution de l'algorithme.

5.4

Les chanes de caractres

Il est possible d'attribuer une chane de caractres comme valeur de variable via l'opration
d'affectation. Il existe deux reprsentations quivalentes des chanes de caractres :
nom = 'Gustave'
nom = "Gustave"

\\ Chane spcifie entre apostrophes


\\ Chane spcifie entre guillemets
Pseudo-code 5-4 : La chane de caractres

La disponibilit de ces deux reprsentations permet l'inclusion d'apostrophes ou de guillemets


dans les constantes de type chane de caractres :
phrase = 'Dis "Allo"'
nom
= "D'Acosta"

\\ Chane contenant des guillemets


\\ Chane contenant une apostrophe

Pseudo-code 5-5 : L'apostrophe et le guillemet

Copyright 2004-2008 Marco Lavoie

99

5. Constantes et variables

5.5

Guide d'utilisation de LARP

Squences d'chappement

LARP traite de faon particulire les antslashs (\) rencontrs dans les chanes de caractres.
L'antslash indique le dbut d'une squence d'chappement reprsentant un caractre spcial.
Une squence d'chappement dans une chane de caractres est compose du caractre \
suivi d'une lettre spcifique.
Les squences d'chappement reconnues par LARP sont :
Squence d'chappement
\n
\a
\b
\\

Description
Retour de chariot
Sonnerie ( bip! )
Retour arrire d'un caractre
Reprsente le \

Tableau 5-1 : Squences d'chappement

Notez que la squence d'chappement \\ est requise pour reprsenter l'antslash dans une
chane de caractres, puisqu'un seul antslash est interprt comme tant le dbut d'une
squence d'chappement.
Voici un exemple d'exploitation de squences d'chappement. L'instruction ci-dessous active la
sonnerie de l'ordinateur puis affiche deux lignes de texte dans la console dexcution :

Organigramme 5-2 : Exemple de squences d'chappement

5.6

L'affectation

Comme mentionn prcdemment, l'oprateur d'affectation (=) permet d'assigner une valeur
une variable. Le nom de la variable rceptrice est spcifi gauche de l'oprateur d'affectation,
alors qu' droite de l'oprateur est spcifie une expression produisant la valeur tre assigne
la variable :
a = 123
b = "Bonjour"
c = SINUS(10.2) + 1

\\ La variable a reoit l'entier 123


\\ La variable b reoit une chane
\\ La variable c reoit 0.3001253124
Pseudo-code 5-6 : L'affectation

Puisque LARP est polymorphe contextuel, il n'est nul besoin de dclarer une variable avant
de l'utiliser (comme c'est le cas dans la plupart des langages de programmation, tels C++ et
Java). Une variable est automatiquement cre ds qu'on lui attribue une valeur (entre autres via
l'oprateur d'affectation).
Lorsque aucune valeur n'est attribue une variable, celle-ci est dite indfinie. Si on tente
d'afficher la valeur d'une variable indfinie dans la console d'excution, l'indicateur #IND est
affich en rouges pour souligner le fait que la variable n'a pas de valeur attribue. Un message
davertissement est aussi affich dans le panneau de messages identifiant quelle variable
manipule dans lalgorithme est indfinie.

100

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

6. Conteneurs

6 Conteneurs
En plus de supporter les valeurs entires, les valeurs flottantes et les chanes de caractres,
LARP supporte les regroupements de valeurs dans des conteneurs. Pour ceux familiers avec les
langages de programmation traditionnels (e.g. C++ et Java), un conteneur est une gnralisation
du tableau. Contrairement au tableau traditionnel qui ne peut contenir que des lments d'un
mme type (c'est le cas en C++), un conteneur LARP peut contenir des donnes de diffrents
types, incluant des valeurs numriques, des chanes de caractres et mme d'autres conteneurs.

6.1

Regroupement de valeurs

Dans la syntaxe du langage LARP, un conteneur est une structure pouvant contenir
simultanment plusieurs valeurs. Chaque valeur stocke dans un conteneur peut tre accde,
modifie et/ou retire du conteneur.
Les constantes de type conteneur sont reprsentes laide des crochets ([ et ]) l'intrieur
desquelles les lments (i.e. les valeurs contenues dans le conteneur) sont numres,
spares par la virgule (,). L'exemple qui suit cre des conteneurs et les affecte des variables :
Jours = ["Lu","Ma","Me","Je","Ve","Sa","Di"]
Notes = [45, 78, 56, 96, 35]

\\ Conteneur de chanes
\\ Conteneur de valeurs
\\ entires

Pseudo-code 6-1 : Les conteneurs

Les lments d'un conteneur peuvent tre de diffrents types. Par exemple, le conteneur cidessous contient diffrentes donnes propos d'un employ (son nom, son matricule, son
salaire, l'anne de son embauche et le montant de ses quatre dernires paies). Un conteneur
peut mme contenir d'autres conteneurs (les quatre paies sont regroupes dans un conteneur) :
Dossier = ["Gustave Labrie", 2013345, 56320.00, 1996, $
[1401.98, 1456.02, 1399.57, 1423.41]]
Pseudo-code 6-2 : Conteneur dans un conteneur

Dans l'exemple ci-dessus, le conteneur stock dans la variable Dossier contient 5 lments,
dont le dernier est un conteneur contenant quatre lments.

6.2

Accs aux lments

Les lments d'un conteneur sont accessibles directement via leur position dans le conteneur,
cette dernire tant spcifie entre crochets ([ et ]) en suffixe du nom de la variable conteneur.
Le premier lment d'un conteneur est la position 1. Dans l'exemple suivant, deux lments du
conteneur affect la variable a sont accds (la deuxime instruction accde au premier
lment du conteneur, et la dernire instruction accde au troisime lment) :
a = [10, 2.3E-12, "Lundi", -17, 0.234]
b = a[1] - 3
c = a[3]

\\ a est un conteneur
\\ b = 7
\\ c = "Lundi"

Pseudo-code 6-3 : Accs aux lments d'un conteneur

Copyright 2004-2008 Marco Lavoie

101

6. Conteneurs

Guide d'utilisation de LARP

Pour modifier les lments d'un conteneur, on utilise l'affectation. On peut aussi utiliser
l'affectation pour ajouter des lments un conteneur :

Organigramme 6-1 : Modifier les lments d'un conteneur

6.3

Retirer des lments

Le fait de faire rfrence l'lment d'un conteneur ne retire pas cet lment du conteneur. Ainsi
dans l'exemple ci-dessous le conteneur a demeure inchang :
CRIRE a[4]
i = 2
b = a[i] + a[i+1]
CRIRE b + a[i-1]
Pseudo-code 6-4 : Accs aux lments d'un conteneur

Pour retirer un lment d'un conteneur, il faut faire appel l'instruction DTRUIRE. Cette
instruction retire l'lment spcifi du conteneur, mais ne libre pas pour autant sa position. La
position libre contient alors un lment indfini. Les valeurs indfinies sont reprsentes dans
la console d'excution par l'identificateur #IND :
a = [10, 20, 30, 40]
DTRUIRE a[3]
CRIRE a
a[3] = 30

\\
\\
\\
\\

a est un conteneur
a = [10, 20, , 40]
affiche [10 20 #IND 40]
a = [10, 20, 30, 40]

Pseudo-code 6-5 : lments indfinis d'un conteneur

102

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

6. Conteneurs

L'instruction COMPRESSER permet d'liminer les lments indfinis d'un conteneur :

Organigramme 6-2 : Compresser un conteneur

LARP dispose de fonctions prdfinies visant compter les lments dans un conteneur :
Fonction

Description

CAPACIT

Retourne le nombre de positions dans un conteneur, incluant celles n'ayant pas


d'lment.

COMPTER

Retourne le nombre d'lments dfinis dans un conteneur (i.e. excluant ceux


indfinis).
Tableau 6-1 : Fonctions de manipulation de conteneurs

Copyright 2004-2008 Marco Lavoie

103

Guide d'utilisation de LARP

7. Lecture et criture

7 Lecture et criture
LARP dispose d'instructions pour la lecture de donnes (LIRE) et pour l'criture de rsultats
(CRIRE). Ces deux instructions interagissent avec la console d'excution afin de permettre
lalgorithme en excution de lire des donnes via le clavier et d'afficher des rsultats l'cran
(ces instructions peuvent aussi interagir avec les fichiers et les tampons d'entres/sorties). De
plus, l'instruction REQUTE du langage LARP permet simultanment d'afficher une requte et de
lire une rponse de l'utilisateur.
LARP offre aussi une instruction dentres/sorties pour organigrammes. Cette instruction permet
de formuler des lectures, des critures et des requtes dans un organigramme.
Lorsque plusieurs donnes sont lues via une mme instruction de lecture ou plusieurs rsultats
sont affichs par une mme instruction d'criture, un caractre de sparation, le sparateur,
permet de dlimiter les valeurs dans la console d'excution.
Les instructions d'entres/sorties de LARP sont dcrites dans les prochaines sections.

7.1

Instruction dentres/sorties pour organigrammes

Les entres/sorties sont reprsentes dans les organigrammes LARP par linstruction
dentres/sorties :

Figure 7-1 : Instruction d'entres/sorties pour organigrammes

Cette instruction permet de formuler une lecture, une criture ou une requte. Le type
dinstruction reprsente dpend des attributs de linstruction tels que spcifis dans la fentre
d'dition d'instruction d'organigramme lorsque linstruction est dite :

Figure 7-2 : dition d'une instruction d'entres/sorties d'organigramme

Copyright 2004-2008 Marco Lavoie

105

7. Lecture et criture

Guide d'utilisation de LARP

Si un attribut est spcifi dans la champ Lecture, linstruction dorganigramme en est une de
lecture. Si un attribut est spcifi dans le champ criture, cen est une dcriture. Si les champs
Lecture et criture sont tous deux combls, cest alors une instruction de requte. Lattribut
Canal permet de spcifier un canal dentres/sorties afin de rediriger linstruction vers un fichier
ou un tampon dentres/sorties. Notez quune instruction de requte peut uniquement tre dirige
vers la console dexcution et ne peut consquemment pas impliquer un canal dentres/sorties.
Pour plus dinformation sur les attributs dinstructions dentres/sorties, consultez les sections
suivantes.

7.2

L'instruction de lecture

L'instruction LIRE permet de lire une ou plusieurs valeurs (et mme des conteneurs) tout en les
affectant des variables. Les lectures sont gnralement effectues partir de la console
d'excution, via le clavier de l'ordinateur.
Dans sa plus simple expression, l'instruction LIRE lit une unique valeur et l'affecte la variable
spcifie :
LIRE a

\\ Lit une valeur dans la variable a


Pseudo-code 7-1 : Lecture d'une valeur

l'excution de cette instruction, la console d'excution affiche un curseur clignotant et attend


l'entre d'une valeur via le clavier. Sitt le retour de chariot press, la valeur entre est affecte
la variable spcifie (a). Le type de valeur affecte la variable dpend du format du texte entr
par l'utilisateur :
Format de l'entre

Exemples Type de valeur

Squence de chiffre

234, -76

Entier

Squence de chiffres avec dcimale ou exposant

2.1, -2E17

Flottant

Squence de caractres dbutant par autre chose qu'un chiffre

Allo, a234

Chane

Tableau 7-1 : Interprtation des valeurs lues

L'instruction LIRE peut lire plus d'une valeur si une liste de variables lui est fournie :
LIRE a, b, c

\\ Lit une valeur pour chaque variable


Pseudo-code 7-2 : Lecture de plusieurs valeurs

Lors de la lecture, l'instruction LIRE considre l'espace et le retour de chariot comme sparateurs
de valeurs. Ainsi, l'excution de l'exemple ci-dessus et avec les entres suivantes dans la
console d'excution :
Allo 234 -14.78
Figure 7-3 : Interprtation du texte fourni lors dune lecture

Les trois valeurs fournies sont respectivement affectes aux variables correspondantes
(a = "Allo", b = 234 et c = -14.78).
Si l'utilisateur ne fourni pas assez de valeurs pour le nombre de variables lire, l'instruction LIRE
attend que le nombre requis de valeurs soient fournies avant de poursuivre l'excution la

106

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

7. Lecture et criture

prochaine instruction. Si l'utilisateur fourni trop de valeurs avant le retour de chariot, celles
superflues sont ignores.
Le format de lattribut Lecture dune instruction dentres/sorties dans un organigramme est
similaire celui dune lecture en pseudo-code :

Figure 7-4 : Lecture de valeurs dans un organigramme

7.3

L'instruction d'criture

L'instruction CRIRE permet d'crire une ou plusieurs valeurs la console d'excution. Utilise
seule, l'excution de cette instruction rsulte en l'affichage d'un retour de chariot (i.e. un
changement de ligne) dans la console. L'instruction CRIRE accepte aussi une ou plusieurs
valeurs (ou expressions) afficher. Lorsque plus d'une valeur sont fournies l'instruction
CRIRE, celle-ci les affiche spares par des espaces (le sparateur par dfaut).
Le Pseudo-code 7-3 utilise linstruction CRIRE pour afficher la valeur dexpressions :
a = 100
CRIRE "ALLO"
CRIRE
CRIRE 1, 10+2, a * 2

\\ crit une chane


\\ crit une ligne vide
\\ crit trois valeurs
Pseudo-code 7-3 : L'instruction d'criture

Lorsque LARP excute le Pseudo-code 7-3, les rsultats suivants sont affichs dans la console
d'excution :
ALLO
1 12 200
Figure 7-5 : Instruction d'criture

Notez qu'une instruction CRIRE produit toujours un changement de ligne aprs l'affichage de sa
dernire valeur. L'instruction REQUTE permet d'afficher des rsultats sans retour de chariot.

Copyright 2004-2008 Marco Lavoie

107

7. Lecture et criture

Guide d'utilisation de LARP

Le format de lattribut criture dune instruction dentres/sorties dans un organigramme est


similaire celui dune criture en pseudo-code :

Figure 7-6 : criture de valeurs dans un organigramme

7.4

L'instruction de requte

L'instruction CRIRE insre automatiquement un changement de ligne aprs la dernire valeur


affiche dans la console d'excution. Ce changement de ligne peut tre un inconvnient
esthtique lorsqu'on veut afficher une requte et lire une ou plusieurs valeurs sur une mme
ligne.
Considrons le pseudo-code suivant :
CRIRE "Entrez un nombre: "
LIRE Nombre

\\ Libell de la requte

Pseudo-code 7-4 : Interroger l'utilisateur

Ce pseudo-code affiche le libell de la requte sur une ligne, puis effectue la lecture du nombre
sur la ligne suivante (car l'instruction CRIRE termine toujours l'affichage des valeurs avec un
retour de chariot) :
Entrez un nombre:
17
Figure 7-7 : Interrogation peu lgante

L'instruction REQUTE vite ce dsagrment en permettant d'afficher un libell et d'effectuer une


lecture dans une mme instruction :
REQUTE "Entrez un nombre: ", Nombre

\\ Libell et lecture

Pseudo-code 7-5 : Instruction REQUTE

108

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

7. Lecture et criture

L'instruction ci-dessus affiche le libell de la requte et effectue la lecture du nombre sur une
mme ligne :
Entrez un nombre: 17
Figure 7-8 : Instruction REQUTE

Notez que, tout comme l'instruction CRIRE, l'instruction REQUTE peut obtenir la chane
composant le libell partir de l'valuation d'une expression. L'instruction REQUTE peut aussi
lire plus d'une valeur, tout comme l'instruction LIRE :
Libell = "Entrez trois nombres: "
REQUTE Libell, N1, N2, N3

\\ Libell via une variable

Pseudo-code 7-6 : Une requte pour lire plus d'une valeur

La lecture de valeurs est optionnelle dans une instruction REQUTE. Si seul un libell est fourni,
l'instruction REQUTE affiche cette chane de caractres sans changement de ligne et sans
effectuer une lecture.
Le format des attributs criture et Lecture dune instruction dentres/sorties dans un
organigramme est similaire celui dune instruction REQUTE en pseudo-code :

Figure 7-9 : Formuler une requte dans un organigramme

7.5

Le sparateur

Par dfaut, les instructions LIRE et REQUTE utilisent le caractre d'espacement pour sparer
les valeurs lors de la lecture via la console d'excution, et linstruction CRIRE (ainsi que
REQUTE) utilise aussi le caractre d'espacement pour sparer les valeurs crites dans la
console d'excution :

Copyright 2004-2008 Marco Lavoie

109

7. Lecture et criture

Guide d'utilisation de LARP

Instruction

Interprtation par dfaut des espaces

LIRE

Les espaces permettent l'instruction de distinguer une valeur de la suivante.

CRIRE

Un espace spare les valeurs affiches par une mme instruction. CRIRE
utilise aussi l'espace pour sparer les lments d'un conteneur l'affichage.
Tableau 7-2 : Interprtation des espaces par LIRE et CRIRE

LARP dispose d'une instruction permettant de modifier le caractre utilis comme sparateur :
CRIRE 10, 20
SPARATEUR ","
CRIRE 10, 20

\\ crit deux valeurs spares par un espace


\\ Changement de sparateur
\\ crit deux valeurs spares par une virgule
Pseudo-code 7-7 : Instruction SPARATEUR

Les instructions ci-dessus affichent dans la console d'excution :


10 20
10,20
Figure 7-10 : Changement de sparateur

Le sparateur a aussi un impact sur l'instruction LIRE : l'utilisateur doit entrer le sparateur actif
afin de distinguer les donnes entres. Par exemple, considrons le pseudo-code suivant :
CRIRE "Nom?"
LIRE Nom
CRIRE "Nom lu = ", Nom
SPARATEUR ","
CRIRE "Nom?"
LIRE Nom
CRIRE "Nom relu = ", Nom

\\ Changement de sparateur

Pseudo-code 7-8 : Modification du sparateur

Si l'utilisateur fourni la chane Gustave Labrie pour chaque instruction de lecture lors de
lexcution de ce pseudo-code, celui-ci affiche dans la console d'excution :
Nom?
Gustave Labrie
Nom lu = Gustave
Nom?
Gustave Labrie
Nom relu = Gustave Labrie
Figure 7-11 : Lecture exploitant le sparateur

L'utilisation d'un sparateur alternatif permet ainsi un algorithme de lire une chane contenant
des espaces. Notez que le retour de chariot est toujours considr comme un sparateur, quel
que soit le caractre spcifi comme sparateur actif avec l'instruction SPARATEUR.

110

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

7. Lecture et criture

Dans un organigramme, linstruction SPARATEUR doit tre insre lintrieur dune


instruction squentielle :

Organigramme 7-1 : Changement de sparateur

Copyright 2004-2008 Marco Lavoie

111

Guide d'utilisation de LARP

8. Oprateurs et fonctions prdfinies

8 Oprateurs et fonctions prdfinies


Afin de permettre les calculs mathmatiques, LARP supporte les oprations arithmtiques de
base et les principales fonctions mathmatiques gnralement retrouves dans les langages de
programmation traditionnels tels Java et C++. LARP offre aussi plusieurs fonctions servant la
manipulation de chanes de caractres et de conteneurs.

8.1

Oprateurs arithmtiques

LARP supporte les principaux oprateurs arithmtiques. Ceux-ci sont prsents ci-dessous, en
ordre croissant de priorits (les oprateurs de priorit commune sont numrs sur une mme
ligne) :
Oprateurs

Description

+, -

Addition et soustraction

*, /, //, %

Multiplication, division flottante, division entire et modulo

Puissance

Ngation
Tableau 8-1 : Oprateurs arithmtiques

La division entire est la division d'une valeur entire par une autre valeur entire et donnant un
rsultat entier; s'il y a un reste, celui-ci est ignor. Ainsi, 17//5 donne 3, le reste ignor tant 2.
L'oprateur modulo (%) permet d'obtenir le reste d'une division entire. Par exemple, 17%5
donne 2, soit le reste de 17//5.
Dans une expression, LARP value donc d'abord - (la ngation), puis ^, puis *, /, // et %, et enfin
+ et -. Pour deux oprateurs successifs de priorit gale, l'valuation se fait de la gauche vers la
droite. Les expressions peuvent tre regroupes lintrieur de parenthses afin de modifier
lordre dvaluation de celles-ci :
CRIRE
CRIRE
CRIRE
CRIRE
CRIRE
CRIRE

7/5
7//5
7%5
2^5
4+8/2+1
(4+8)/(2+1)

\\
\\
\\
\\
\\
\\

affiche 1.4
affiche 1
affiche 2
affiche 32
quivaut 4+(8/2)+1 = 9
affiche 4

Pseudo-code 8-1 : Les oprateurs arithmtiques

Lanimation peut tre exploite en excution pas--pas pour visualiser limpact des priorits
dvaluation des oprateurs arithmtiques dans une expression.
Certains oprateurs arithmtiques n'acceptent qu'un type de valeurs. Ainsi, la division entire (//)
et le module (%) convertissent au besoin les deux expressions chaque ct de l'oprateur en
valeurs entires. Lorsquune telle conversion un entier est requise, la partie fractionnelle de la
valeur flottante est limine. Ainsi, 14.8%5 deviendra lors de l'valuation 14%5, donnant 4.
Lorsqu'une expression arithmtique implique des types non compatibles, LARP interrompt
l'excution de l'algorithme et affiche un message d'erreur indiquant l'incompatibilit. Une telle
incompatibilit est aussi rapporte lorsqu'une valeur indfinie est implique dans l'valuation
d'une expression.

Copyright 2004-2008 Marco Lavoie

113

8. Oprateurs et fonctions prdfinies

8.2

Guide d'utilisation de LARP

Oprateurs de chanes de caractres

LARP supporte un seul oprateur applicable aux chanes de caractres :


Oprateur

Description
Concatnation (i.e. joindre deux chanes)

Tableau 8-2 : Oprateurs de chanes de caractres

L'oprateur + est utilis pour joindre des chanes bout bout (communment appele la
concatnation). L'exemple ci-dessous dmontre l'utilisation de cet oprateur (lorganigramme
affiche la chane tre ou ne pas tre) :

Organigramme 8-1 : La concatnation de chanes de caractres

Notez que les chanes de caractres impliques dans l'opration demeurent inchanges. Ainsi
dans la deuxime instruction daffectation de lOrganigramme 8-1, la chane dans la variable a est
inchange.
Attention : lorsque l'oprateur + implique une chane de caractres et un nombre (entier ou
flottant), LARP tente d'abord de convertir la chane de caractres en nombre afin d'effectuer une
addition. Si la tentative de conversion choue, le nombre est convertit en chane de caractres
puis il y a concatnation. Les exemples qui suivent dmontrent ces conversions de type :
a
b
c
d
e
f

=
=
=
=
=
=

"12" + 10
10 + "12"
"12z" + 10
"12" + "10"
d + 2000
"12" + "10" + 5

\\
\\
\\
\\
\\
\\
\\

a
b
c
d
e
f

=
=
=
=
=
=

l'entier 22
l'entier 22
la chane "12z10"
la chane "1210"
l'entier 3210
l'entier 1215, car le premier +
produit "1210"

Pseudo-code 8-2 : L'oprateur + appliqu des valeurs de type distincts

114

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

8.3

8. Oprateurs et fonctions prdfinies

Oprateurs de conteneurs

LARP supporte deux oprateurs applicables aux conteneurs :


Oprateur

Description

Concatnation (i.e. joindre deux conteneurs).

Diffrence, liminant d'un conteneur les lments retrouvs dans un second


conteneur.
Tableau 8-3 : Oprateurs de conteneur

L'oprateur +, communment appel la concatnation, est utilis pour joindre deux conteneurs
bout bout ou ajouter un lment au dbut ou la fin d'un conteneur. L'exemple qui suit
dmontre l'utilisation de cet oprateur :
a = [20, 30] + [30, 40]
b = 10 + a + 50

\\ a = [20, 30, 30, 40]


\\ b = [10, 20, 30, 30, 40, 50]

Pseudo-code 8-3 : Joindre des conteneurs

L'oprateur - limine du premier conteneur tout lment retrouv dans le second conteneur. On
peut aussi spcifier une valeur plutt quun second conteneur :
a = [1, 2, 3, 2, 4] - [2, 5]
b = a - 3

\\ a = [1, 3, 4]
\\ b = [1, 4]

Pseudo-code 8-4 : Soustraction de conteneurs

Notez que les conteneurs impliqus dans l'opration demeurent inchangs. Ainsi dans la
deuxime ligne du Pseudo-code 8-4, le conteneur dans la variable a demeure inchang.
Attention : lorsque l'oprateur - limine tous les lments dun conteneur, la valeur retourne est
indfinie (#IND). On peut utiliser le mot rserv CONTENEUR dans un test de type pour
dterminer si l'opration rsulte en un conteneur. Dans l'exemple suivant rien ne sera affich
puisque la diffrence produit un rsultat indfini (i.e. aucun conteneur rsultant) :

Copyright 2004-2008 Marco Lavoie

115

8. Oprateurs et fonctions prdfinies

Guide d'utilisation de LARP

Organigramme 8-2 : Test de type CONTENEUR

8.4

Fonctions prdfinies

Les fonctions prdfinies de LARP sont catgorises selon les types de valeurs auxquelles elles
sont applicables :
1. les fonctions mathmatiques, applicables aux valeurs numriques,
2. les fonctions de manipulation de chanes de caractres, et
3. les fonctions de manipulation de conteneurs.
Les sections suivantes dcrivent brivement les fonctions de chaque catgorie. Pour obtenir plus
d'information ou connatre la syntaxe d'invocation de ces fonctions, consultez l'Annexe C.

8.4.1 Fonctions mathmatiques


Voici les principales constantes et fonctions mathmatiques offertes dans le langage LARP :
Fonctions

Descriptions

Exemples

ABSOLU

Retourne la valeur absolue de la


valeur donne.

ABSOLU(-6)

ALATOIRE

ALATOIRE
Retourne un nombre flottant ou
entier choisi au hasard (plusieurs ALATOIRE(11)
ALATOIRE(2.3, 15.0)
versions de la fonction sont
disponibles).

ARCTANGENTE

Retourne tan de la valeur donne ARCTANGENTE(0.0)


en radians.

ARRONDIR

Retourne la valeur donne


arrondie au plus proche entier.

116

-1

ARRONDIR(12.6) retourne 13

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

8. Oprateurs et fonctions prdfinies

Fonctions

Descriptions

Exemples

COSINUS

Retourne le cosinus de la valeur


donne en radians.

COSINUS(1.5707963)

ENCHANE

Convertit la valeur donne en


chane de caractres.

ENCHANE(12.34)

EXP

Retourne la base du logarithme


naturel (e).

LOGE(EXP) retourne 1

LOG10

Retourne le logarithme en base 10 LOG10(100) retourne 2


de la valeur donne.

LOGE

Retourne le logarithme base e de LOGE(2.1)


la valeur donne.

MAXIMUM

Retourne la plus grande valeur


parmi celles donnes (deux
valeurs ou plus)

MAXIMUM(11.1, 12, 7)

MINIMUM

Retourne la plus petite valeur


parmi celles donnes (deux
valeurs ou plus).

MINIMUM(11.1, 12, 7)

PI

Retourne la valeur de la constante aire = PI * r ^ 2


mathmatique Pi.

PLAFOND

Retourne le plus petit entier


suprieur ou gal la valeur
donne.

PLAFOND(12.1) retourne 13

PLANCHER

Retourne le plus grand entier


infrieur ou gal la valeur
donne.

PLANCHER(12.1) retourne 12

RACINE

Retourne la racine carre de la


valeur donne.

RACINE(25) retourne 5

SINUS

Retourne le sinus de la valeur


donne en radians.

SINUS(1.5707963)

Tableau 8-4 : Fonctions mathmatiques prdfinies

8.4.2 Fonctions de manipulation de chanes


LARP dispose de plusieurs fonctions prdfinies destines la manipulation de chanes de
caractres. Malgr le nombre limit de fonctions, celles-ci offrent l'essentiel de la fonctionnalit
requise afin d'crire des modules de manipulation de chanes sophistiqus :
Fonctions

Descriptions

COMPTER

Retourne le nombre de caractres COMPTER("allo") retourne 4


dans la chane (synonyme de
LONGUEUR).

ENCARACTRES

Convertit la chane de caractres ENCARACTRES("Bye") retourne


donne en un conteneur ayant
['B', 'y', 'e']
chaque caractre comme lment
distinct.

Copyright 2004-2008 Marco Lavoie

Exemple

117

8. Oprateurs et fonctions prdfinies

Guide d'utilisation de LARP

Fonctions

Descriptions

Exemple

FORMATER

Retourne une chane de


caractres forme partir d'une
chane de formatage et d'une
squence d'arguments.

FORMATER("%5.2f", 3.1)
retourne " 3.10"

LONGUEUR

Retourne le nombre de caractres LONGUEUR("allo") retourne 4


dans la chane (synonyme de
COMPTER).

MAJUSCULES

Retourne la chane donne avec MAJUSCULES("Allo") retourne


ses lettres minuscules converties "ALLO"
en majuscules.

MINUSCULES

Retourne la chane donne avec MINUSCULES("Allo") retourne


ses lettres majuscules converties "allo"
en minuscules.

POSITION

Retourne la position o dbute la POSITION("cd","abcde")


retourne 3
premire occurrence de la
premire chane dans la seconde.

SOUSENSEMBLE

Retourne un sous-ensemble de la SOUSENSEMBLE("abcde", 2,


ime
chane fournie (le 2
paramtre 3) retourne "bcd"
ime
indique l'index de dpart, et le 3
indique le nombre de caractres
extraire).

Tableau 8-5 : Fonctions prdfinies de manipulation de chanes de caractres

8.4.3 Fonctions de manipulation de conteneurs


LARP dispose de plusieurs fonctions prdfinies destines la manipulation de conteneurs :
Fonctions

Descriptions

Exemple

CAPACIT

Retourne le nombre d'lments


dfinis et non dfinis (voir la
commande DTRUIRE) dans le
conteneur.

CAPACIT([1, , 2, ])
retourne 4

COMPTER

Retourne le nombre d'lments


dfinis dans le conteneur.

COMPTER([1, , 2, ]) retourne
2

ENCARACTRES

ENCARACTRES(["ab", 2])
Convertit rcursivement les
lments du conteneur donn en retourne ['a', 'b', '2']
un conteneur ayant chaque
caractre comme lment distinct.

ENCHANE

Convertit les lments du


conteneur en chanes de
caractres et joint celles-ci
ensembles.

ENCHANE([10, "x"]) retourne


"10x"

MAXIMUM

Retourne la plus grande valeur


parmi celles du conteneur.

MAXIMUM([11, 12, 7])

MINIMUM

Retourne la plus petite valeur


parmi celles du conteneur.

MINIMUM([11, 12, 7])

118

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

8. Oprateurs et fonctions prdfinies

Fonctions

Descriptions

Exemple

POSITION

Retourne la position de la premire POSITION(8, [1, 8, 5])


retourne 2
occurrence de la valeur donne
dans le conteneur.

SOUSENSEMBLE

Retourne un sous-ensemble du
ime
conteneur donn (le 2
paramtre indique l'index de
ime
dpart, et le 3
indique le
nombre d'lments extraire).

SOUSENSEMBLE([1, 4, 9, 5,
11], 2, 3) retourne [4, 9, 5]

Tableau 8-6 : Fonctions prdfinies de manipulation de conteneurs

Copyright 2004-2008 Marco Lavoie

119

Guide d'utilisation de LARP

9. Structures conditionnelle

9 Structures conditionnelles
Les algorithmes prsents dans les sections prcdentes sont constitus d'instructions
excutes squentiellement, de linstruction Dbut jusqu linstruction Fin.
La plupart des problmes rsoudre par programmation comporte lventualit d'effectuer un
choix dans l'algorithme. Une structure conditionnelle est une instruction permettant de spcifier
des squence d'instructions alternatives dans un algorithme.
LARP offre quatre structures conditionnelles :
1. La structure SI
2. La structure SI-SINON
3. La structure SI-SINON-SI
4. La structure de SLECTION
Dans sa forme la plus simple (la structure SI), une structure conditionnelle sous forme pseudocode est compose des mots rservs SI, ALORS et FINSI, d'une condition et d'une squence
d'instructions excuter lorsque la condition est vraie. Dans un organigramme la structure SI est
compose dun instruction conditionnelle o la squence dinstructions est associe la branche
tiquete Vrai :
Structure conditionnelle SI
SI condition ALORS
Squence d'instructions
FINSI

Tableau 9-1 : La structure conditionnelle SI

Dans la structure pseudo-code ci-dessus ( gauche dans le Tableau 9-1), le mot rserv SI
indique le dbut de la structure conditionnelle, et le mot rserv FINSI en indique la fin. Dans la
structure en organigramme correspondante ( droite dans le Tableau 9-1) la condition indique le
dbut de la structure conditionnelle et la convergence des deux branches (branches Vrai et Faux)
en indique la fin. Notez que LARP permet dorienter la branche Vrai droite ou gauche de la
condition.
Les structures conditionnelles sont bases sur l'valuation d'une condition, dont le rsultat est
vrai ou faux. C'est sur la base de cette condition que le flux d'excution est dtermin.

Copyright 2004-2008 Marco Lavoie

121

9. Structures conditionnelle

9.1

Guide d'utilisation de LARP

Les conditions

Une condition est une comparaison. Cet nonc dcrit l'essentiel de ce qu'est une condition. En
pratique, une condition simple est compose d'au moins trois lments :
1. une premire valeur,
2. un oprateur de comparaison, et
3. une seconde valeur.
Les valeurs peuvent tre a priori de n'importe quel type (numriques, chanes de caractres ou
conteneurs) et peuvent tre spcifies explicitement sous forme de constantes ou implicitement
sous forme dexpressions valuer. Si l'on veut que la comparaison ait un sens, il faut cependant
que les deux valeurs compares soient du mme type ou de types comparables.
L'oprateur de comparaison dans une condition simple est appel un oprateur relationnel. Ces
oprateurs permettent de comparer l'envergure de deux valeurs.
Une condition simple peut aussi tre un test de type : ce test sert vrifier le type de la valeur
rsultant de l'valuation d'une expression.
Enfin, des conditions simples peuvent tre regroupes en une condition compose l'aide des
oprateurs logiques.

9.2

Oprateurs relationnels

Les oprateurs relationnels de LARP permettent de comparer deux valeurs :


Oprateurs Descriptions
<

Plus petit : a < b

<=

Plus petit ou gal : a <= b

>

Plus grand : a > b

>=

Plus grand ou gal : a >= b

galit : a = b

!=

Ingalit : a != b. Le symbole quivalent <> est aussi support par LARP.


Tableau 9-2 : Oprateurs relationnels

Les oprateurs relationnels permettent de comparer deux valeurs de types comparables. Des
valeurs sont de types comparables lorsquelles peuvent tre logiquement compares. Ainsi, alors
qu'il est logique de comparer une valeur entire une valeur flottante, a ne lest pas de
comparer une valeur entire un conteneur.

122

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

9. Structures conditionnelle

Voici des exemples de conditions simples :


\\ Lire deux valeurs
CRIRE "Entrez deux valeurs: "
LIRE a, b
\\ Identifier la plus petite de deux valeurs lues
SI a < b ALORS
CRIRE "Minimum = ", a
FINSI
SI a >= b ALORS
CRIRE "Minimum = ", b
FINSI
\\ Dterminer si une des deux valeurs est 0
SI a*b = 0 ALORS
CRIRE "Au moins une valeur est 0"
CRIRE "Veuillez entrer de nouvelles valeurs: "
LIRE a, b
FINSI
Pseudo-code 9-1 : Les conditions simples

Comme le dmontre l'exemple ci-dessus, la condition simple peut en fait tre compose
d'expressions, et la squence d'instructions dans la structure conditionnelle peut tre constitue
d'une ou plusieurs instructions.
Notez que les oprateurs relationnels peuvent trs bien tre employs pour comparer des
chanes de caractres ou des conteneurs :

Lorsque deux chanes de caractres sont compares, celles-ci le sont selon l'ordre
alphabtique en fonction du codage ASCII. Ainsi, "abc" < "b", mais "abc" > "B".
L'galit de conteneurs est dtermine selon leurs lments. La comparaison est
rcursive lorsque des lments sont eux-mmes des conteneurs. Seuls les oprateurs =
sont != sont applicables aux conteneurs.

Attention : les oprateurs relationnels ne peuvent pas tre enchans. Par exemple, la condition
5 < a < 10 est invalide. Il faut exploiter les oprateurs logiques pour exprimer de telles conditions.

9.3

Tests de type

Il est parfois ncessaire de vrifier le type d'une valeur avant de procder son traitement. C'est
ainsi le cas lorsqu'on veut valider une valeur entre par l'utilisateur. LARP dispose des mots
rservs ENTIER, FLOTTANT, CHANE et CONTENEUR qui, utiliss conjointement avec le mot
rserv EST, permettent de vrifier le type de la valeur rsultante de l'valuation d'une
expression :

Copyright 2004-2008 Marco Lavoie

123

9. Structures conditionnelle

Guide d'utilisation de LARP

Organigramme 9-1 : Condition testant le type du contenu dune variable

Les mots rservs DFINIE et INDFINIE, utiliss aussi avec le mot rserv EST, permettent de
vrifier si une variable ou un lment de conteneur est dfini :
SI Tab[1] EST INDFINIE ALORS
COMPRESSER Tab
FINSI
Pseudo-code 9-2 : Condition vrifiant si une valeur est dfinie ou non

Notez que LARP reconnat les mots rservs DTERMINE et INDETERMINE comme tant
respectivement des synonymes de DFINIE et INDFINIE. Notez aussi que ces quatre mots
rservs peuvent aussi bien tre crits au masculin (i.e. DFINI, INDTERMIN) quau fminin.

9.4

Oprateurs logiques

Les oprateurs logiques permettent de relier des conditions simples en une seule supercondition . Le regroupement de conditions est parfois requis pour spcifier qu'un ensemble de
conditions doit tre satisfait pour procder l'excution d'une squence d'instructions. Par
exemple, une condition compose est requise pour exprimer la condition la valeur doit tre
suprieure zro et infrieure 100 ou la couleur doit tre rouge ou verte . Les oprateurs
logiques permettent de tels regroupements de conditions simples.

124

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

9. Structures conditionnelle

Trois oprateurs logiques permettent de regrouper des conditions. Ceux-ci sont :


Oprateurs

Descriptions

ET

Les deux conditions doivent tre satisfaites : a > 0 ET a < 100

OU

Au moins une des deux conditions doit tre satisfaite : a < 1 OU a > 99

Ngation logique de la condition : !(a EST ENTIER). Le mot rserv NON est
quivalent.
Tableau 9-3 : Oprateurs logiques

Notez que l'oprateur logique de ngation est employ avec les parenthses; celles-ci permettent
de prciser la condition devant tre inverse.
Contrairement aux oprateurs relationnels, les oprateurs logiques peuvent tre enchans :
\\ Lire et valider une couleur
CRIRE "Entrez une couleur: "
LIRE couleur
SI couleur="bleu" OU couleur="blanc" OU couleur="rouge" ALORS
CRIRE "Couleur invalide"
FINSI
Pseudo-code 9-3 : Les conditions composes

9.5

Priorit des oprateurs

Comme discut dans la section portant sur les oprateurs arithmtiques, tous les oprateurs de
LARP ont un niveau de priorit leur tant attribu. La priorit d'un oprateur a un impact sur
l'ordre d'valuation des composants d'une expression ou d'une condition. Le Tableau 9-4
prsente les oprateurs de LARP en ordre croissant de priorit; les oprateurs de mme priorit
sont regroups sur une mme ligne :
Oprateurs

Descriptions

OU

Ou logique

ET

Et logique

NON

Ngation logique (le symbole ! est quivalent).

<, <=, >, >=, =, !=

Oprateurs relationnels

+, -

Addition et soustraction

*, /, //, %

Multiplication, division flottante, division entire et modulo

Puissance

Ngation arithmtique
Tableau 9-4 : Priorit des oprateurs

Dans une expression ou une condition, les priorits d'oprateurs peuvent tre circonscrites avec
l'emploi des parenthses.

Copyright 2004-2008 Marco Lavoie

125

9. Structures conditionnelle

Guide d'utilisation de LARP

Voici un exemple d'ordre d'valuation d'une condition compose en fonction de la priorit des
oprateurs impliqus :
! a+2 < 30 OU b-c%2 = 28 ET c^11 > 2000*c+1
Figure 9-1 : Condition compose

Cette condition est quivalente :


(! ((a+2) < 30)) OU ((((b-(c%2)) = 28) ET ((c^11) > ((2000*c)+1))))
Figure 9-2 : Ordre d'valuation de la condition prcdente

L'valuation de la condition est donc effectue ainsi :

Figure 9-3 : Reprsentation graphique de l'ordre d'valuation

Lanimation peut tre exploite en excution pas--pas pour visualiser limpact des priorits
dvaluation des oprateurs dans une expression ou une condition.
Structures SI et SI-SINON
Il n'y a que deux formes possibles de structures SI : la forme de droite dans le Tableau 9-5 est la
forme complte, celle de gauche la forme simple.
Structure SI
SI

Squence
FINSI

Structure SI-SINON
condition
d'instructions

ALORS SI
condition
#1 Squence
d'instructions
SINON
Squence d'instructions #2
FINSI

ALORS
#1

Tableau 9-5 : Structures conditionnelles SI et SI-SINON

126

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

9. Structures conditionnelle

Une condition est une expression compose d'oprateurs relationnels (parfois aussi d'oprateurs
arithmtiques et logiques) dont la valeur est vraie ou fausse. Cela peut donc tre :

une condition, ou

un test de type.

Ces deux structures conditionnelles sont relativement claires. Lorsque le flux d'excution atteint
la structure (i.e. la ligne SI condition ALORS du pseudo-code, ou le losange de la condition dans
l'organigramme), LARP examine la valeur de la condition. Si cette condition est vraie, la
Squence d'instructions #1 est excute. Cette squence d'instructions peut tre constitue
dune seule instruction ou de plusieurs, cela n'a aucune importance. la fin de la Squence
d'instructions #1, lexcution se poursuit la fin de la structure conditionnelle :

Au moment o le flux d'excution arrive au mot SINON du pseudo-code, LARP saute


directement la premire instruction situe aprs le FINSI.
Au moment o le flux d'excution atteint le point de convergence des branchements de la
structure conditionnelle de l'organigramme, LARP quitte cette structure.

Rciproquement, si la condition est fausse, le flux d'excution ignore la Squence d'instructions


#1 et passe directement la premire ligne situe aprs le SINON afin d'excuter la Squence
d'instructions #2 dans le cas du pseudo-code, ou aprs le point de convergence des
branchements de la structure conditionnelle de l'organigramme.
\\ Structure SI
SI a < b ALORS
CRIRE "Minimum = ", a
FINSI
\\ Structure SI-SINON
SI a < b ALORS
CRIRE "Minimum = ", a
SINON
CRIRE "Minimum = ", b
FINSI
Pseudo-code 9-4 : Structures SI et SI-SINON

La forme simplifie correspond au cas o la branche fausse du SI est vide. Ds lors, plutt
qu'crire sinon ne rien faire du tout , il est plus simple de ne rien crire.

Organigramme 9-2 : Structure SI

Copyright 2004-2008 Marco Lavoie

Organigramme 9-3 : Structure SI-SINON

127

9. Structures conditionnelle

Guide d'utilisation de LARP

Notez que LARP permet dorienter la branche Vrai droite ou gauche de la condition dans un
organigramme. Dans le cas de la structure SI-SINON, la branche Faux est videmment oriente
loppos de la branche Vrai.
Puisque LARP utilise le changement de ligne pour distinguer les instructions dans le pseudocode, il est important de respecter la syntaxe de LARP dans les structures conditionnelles. Ainsi,
le pseudo-code suivant n'est pas accept par LARP :
\\ Syntaxe errone (il manque un changement de ligne aprs ALORS)
SI a < b ALORS CRIRE "Minimum = ", a
FINSI
\\ Syntaxe errone (il y a un changement de ligne superflu avant ALORS)
SI a < b
ALORS
CRIRE "Minimum = ", a
FINSI
Pseudo-code 9-5 : Syntaxes invalides de la structure SI

Notez que l'diteur graphique de LARP ne permet pas de formuler une structure conditionnelle
invalide dans un organigramme.

9.7

Structures SI-SINON imbriques

Graphiquement, on peut trs facilement imaginer une structure conditionnelle SI-SINON comme
un aiguillage de chemin de fer : cette structure conditionnelle ouvre deux voies, correspondant
deux flux d'excution diffrents. Mais il y a des situations o deux voies ne suffisent pas. Par
exemple, un programme devant donner l'tat de l'eau selon sa temprature peut devoir choisir
entre trois rponses possibles (solide, liquide ou gazeuse).
Une premire solution est la suivante :
CRIRE "Temprature de l'eau? "
LIRE Temp
SI Temp <= 0 ALORS
CRIRE "C'est de la glace"
FINSI
SI Temp > 0 ET Temp < 100 ALORS
CRIRE "C'est du liquide"
FINSI
SI Temp >= 100 ALORS
CRIRE "C'est de la vapeur"
FINSI

\\ Est-ce de la glace?
\\ Est-ce du liquide?
\\ Est-ce de la vapeur?

Pseudo-code 9-6 : Squence de structures SI relies

Notez que cet algorithme est assez laborieux. Les conditions se ressemblent plus ou moins, mais
surtout on oblige le flux d'excution examiner trois conditions successives alors que toutes
portent sur un mme thme, soit la temprature (la valeur de la variable Temp). Il est cependant
plus rationnel d'imbriquer les structures :

128

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

CRIRE "Temprature de l'eau? "


LIRE Temp
SI Temp <= 0 ALORS
CRIRE "C'est de la glace"
SINON
SI Temp > 0 ET Temp < 100 ALORS
CRIRE "C'est du liquide"
SINON
CRIRE "C'est de la vapeur"
FINSI
FINSI

9. Structures conditionnelle

\\ Est-ce de la glace?
\\ Est-ce du liquide?
\\ C'est donc de la vapeur

Pseudo-code 9-7 : Structures SI-SINON imbriques les unes dans les autres

Nous avons fait des conomies en termes de pseudo-code : au lieu de devoir taper trois
conditions, nous n'avons plus que deux conditions. De plus, nous avons fait des conomies en
temps d'excution de l'algorithme. En effet, si la temprature est infrieure zro, celui-ci crit
dornavant C'est de la glace et le flux d'excution passe directement aprs le dernier FINSI,
sans examiner d'autres possibilits (qui sont forcment fausses).
Cette deuxime version est donc non seulement plus simple crire et plus lisible, mais
galement plus performante l'excution. Les structures conditionnelles imbriques sont donc un
outil indispensable la simplification et l'optimisation des algorithmes.
Notez que les structures conditionnelles peuvent aussi tre imbriques dans un organigramme :

Il est cependant important de souligner le principal danger reli l'utilisation de structures


conditionnelles imbriques dans un pseudo-code : chaque commande SI...ALORS doit
correspondre un FINSI. Souvent, un FINSI manquant ou de trop sera facilement repr si le
pseudo-code est indent adquatement (i.e. dcal droite l'intrieur des structures, comme
c'est le cas dans les pseudo-codes prcdents).

Copyright 2004-2008 Marco Lavoie

129

9. Structures conditionnelle

9.8

Guide d'utilisation de LARP

Structure SI-SINON-SI

Comme nous l'avons vu dans la section prcdente, l'emploi de structures conditionnelles


imbriques engendre une conomie en temps d'excution puisque le flux d'excution quitte la
structure ds qu'une condition est satisfaite et la squence d'instructions correspondante est
excute.
L'avantage des structures conditionnelles imbriques est par contre amoindri par une complexit
algorithmique plus grande lorsque plusieurs conditions sont impliques. Le Pseudo-code 9-8 est
un exemple de structures conditionnelles imbriques rendant lalgorithme difficile comprendre :
REQUTE "Temprature de l'eau? ", Temp
SI Temp <= 0 ALORS
CRIRE "C'est gel"
SINON
SI Temp <= 12 ALORS
CRIRE "C'est froid"
SINON
SI Temp <= 25 ALORS
CRIRE "C'est confortable"
SINON
SI Temp <= 75 ALORS
CRIRE "C'est chaud"
SINON
SI Temp <= 100 ALORS
CRIRE "C'est trs chaud"
SINON
CRIRE "C'est brlant"
FINSI
FINSI
FINSI
FINSI
FINSI
Pseudo-code 9-8 : Structures conditionnelles imbriques

On constate que ce pseudo-code peut porter confusion et qu'il est facile d'oublier un FINSI lors
de sa rdaction.
Les structures imbriques nombreuses causent aussi des problmes de comprhension de
lalgorithme lorsque exprimes dans un organigramme. Dans lOrganigramme 9-4 la structure
rsultante est trs large et ne peut pas tre affiche en entier dans la fentre de lditeur
graphique ( moins de rduire le format daffichage une taille telle que lorganigramme en
devient gnralement illisible lcran) :

130

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

9. Structures conditionnelle

Organigramme 9-4 : Structures conditionnelles imbriques

La structure conditionnelle SI-SINON-SI vise simplifier l'utilisation de structures imbriques


dans un contexte o le flux d'excution doit quitter la structure ds qu'une condition est satisfaite
et la squence d'instructions correspondante excute :

Copyright 2004-2008 Marco Lavoie

131

9. Structures conditionnelle

Guide d'utilisation de LARP

Structure conditionnelle SI-SINON-SI


SI condition #1 ALORS
Squence d'instructions #1
SINON SI condition #2 ALORS
Squence d'instructions #2
SINON SI condition #3 ALORS
Squence d'instructions #3
SINON SI ...
...
SINON SI condition #n ALORS
Squence d'instructions #n
SINON
Squence d'instructions #n+1
FINSI

Tableau 9-6 : Structure conditionnelle SI-SINON-SI

Cette structure conditionnelle est employe lorsqu'on doit excuter une et une seule squence
d'instructions en fonction d'une condition associe. Cette structure peut tre interprte ainsi :

excuter Squence d'instructions #1 si et seulement si condition #1 est vraie;


excuter Squence d'instructions #2 si et seulement si condition #1 est fausse et
condition #2 est vraie;
excuter Squence d'instructions #3 si et seulement si condition #1 et condition #2 sont
fausses, mais condition #3 est vraie;
...

132

excuter Squence d'instructions #i si et seulement si condition #1 condition #i-1 sont


fausses, mais condition #i est vraie;
finalement, si aucune des conditions de la structure n'est vraie et la structure dispose
d'une section SINON, la Squence d'instructions #n+1 est excute.

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

9. Structures conditionnelle

La structure conditionnelle SI-SINON-SI en organigramme est construite en utilisant deux


instructions dorganigrammes :
Instructions

Descriptions
Structure conditionnelle SI-SINON-SI : structure conditionnelle comportant
plusieurs squences d'instructions alternatives dont une seule est
excute en fonction du rsultat de l'valuation de conditions.
Branchement pour structures conditionnelles : permettent d'insrer des
branchements conditionnels supplmentaires dans les structures de
slection et les structures conditionnelles SI-SINON-SI.

Tableau 9-7 : Instructions d'organigrammes requises dans une structure SI-SINON-SI

Voici l'exemple prcdent reformul l'aide d'une structure conditionnelle SI-SINON-SI sous
forme de pseudo-code et dorganigramme :
REQUTE "Temprature de l'eau? ", Temp
SI Temp <= 0 ALORS
CRIRE "C'est gel"
SINON SI Temp <= 12 ALORS
CRIRE "C'est froid"
SINON SI Temp <= 25 ALORS
CRIRE "C'est confortable"
SINON SI Temp <= 75 ALORS
CRIRE "C'est chaud"
SINON SI Temp <= 100 ALORS
CRIRE "C'est trs chaud"
SINON
CRIRE "C'est brlant"
FINSI
Pseudo-code 9-9 : Structure conditionnelle SI-SINON-SI

Dans une structure SI-SINON-SI en pseudo-code, la dernire squence d'instructions (SINON


Squence d'instructions #n+1) est optionnelle. Il en est de mme dans la structure SI-SINON-SI
en organigramme.

Organigramme 9-5 : Structure conditionnelle SI-SINON-SI

Alors que les deux formes de structures conditionnelles (les SI-SINON imbriques et le SISINON-SI) sont quivalentes, la seconde est plus populaire parce qu'elle vite l'indentation
profonde du code vers la droite. Une telle indentation ne laisse souvent que peu d'espace sur
une ligne de pseudo-code et en force la continuation sur plus dune ligne ( l'aide de $),
diminuant par consquent la lisibilit de lalgorithme. La structure SI-SINON-SI en organigramme
est aussi plus lisible que sa contrepartie imbrique grce sa linarit.

Copyright 2004-2008 Marco Lavoie

133

9. Structures conditionnelle

Guide d'utilisation de LARP

Comment LARP fait-il la distinction entre une structure conditionnelle SI-SINON-SI et des
structures conditionnelles imbriques dans un pseudo-code ? Lorsque les mots rservs SINON
et SI se retrouvent de suite sur une mme ligne, alors LARP suppose qu'ils font parti d'une
structure SI-SINON-SI.

9.9

Structure de slection

Un algorithme peut parfois contenir une srie de dcisions dans laquelle une variable ou une
expression est teste sparment pour chacune des valeurs qui peut en rsulter, et o
diffrentes squences d'instructions sont excutes consquemment. LARP offre la structure de
slection pour reprsenter de telles prises de dcisions.
La structure de slection permet de formuler une structure SI-SINON-SI tout en amliorant la
lisibilit de lalgorithme. Considrez la section dalgorithme suivant, crite en utilisant une
structure SI-SINON-SI :
LIRE Valeur1, Valeur2, Oprateur
SI Oprateur = '+' ALORS
Rsultat = Valeur1 + Valeur2
SINON SI Oprateur = '-' ALORS
Rsultat = Valeur1 - Valeur2
SINON SI Oprateur = '*' OU Oprateur = 'x' ALORS
Rsultat = Valeur1 * Valeur2
SINON SI Oprateur = '/' ALORS
Rsultat = Valeur1 / Valeur2
SINON
CRIRE "Oprateur erron"
FINSI
CRIRE Rsultat
Pseudo-code 9-10 : Structure SI-SINON-SI pour tester une mme valeur

La formulation de ce pseudo-code en utilisant la structure de slection ( l'aide des mots


rservs SLECTIONNER, SINON et FINSLECTIONNER) donne :
LIRE Valeur1, Valeur2, Oprateur
SLECTIONNER Oprateur
'+'
: Rsultat = Valeur1 +
'-'
: Rsultat = Valeur1 '*', 'x' : Rsultat = Valeur1 *
'/'
: Rsultat = Valeur1 /
SINON
Rsultat = "Oprateur erron"
FINSLECTIONNER
CRIRE Rsultat

Valeur2
Valeur2
Valeur2
Valeur2

Pseudo-code 9-11 : Structure de slection

Dans l'exemple ci-dessus, la valeur de la variable Oprateur est compare chaque constante
spcifie. Si une constante teste correspond la valeur de Oprateur, la squence
d'instructions associe cette constante est excute.
Si la valeur de la variable Oprateur ne correspond pas une constante, elle est compare la
constante suivante, et ainsi de suite. La section SINON permet de prendre les mesures
ncessaires lorsque la variable Oprateur ne correspond aucune des constantes numres.

134

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

9. Structures conditionnelle

Notez que :

l'expression teste doit tre compare des constantes (ex: '+'),


plus d'une constante peuvent tre associes une mme squence d'instructions (ex: '*',
'x'), et
la section SINON est optionnelle.

Sous forme dorganigramme, la structure de slection est similaire la structure conditionnelle


SI-SINON-SI, avec lajout dun composant initial contenant lexpression comparer aux
constantes :

Organigramme 9-6 : Exemple de structure de slection

Voici la syntaxe gnralise de la structure de slection :


Structure de slection
SLECTIONNER expression
Liste de constantes #1 : Squence d'instructions #1
Liste de constantes #2 : Squence d'instructions #2
Liste de constantes #3 : Squence d'instructions #3
...
Liste de constantes #n : Squence d'instructions #n
SINON
Squence d'instructions #n+1
FINSLECTIONNER

Tableau 9-8 : Structure de slection

Copyright 2004-2008 Marco Lavoie

135

9. Structures conditionnelle

Guide d'utilisation de LARP

Voici les caractristiques de cette structure :

Une Liste de constantes peut tre constitue d'une ou plusieurs constantes spares par
des virgules; ne pas oublier le symbole : la fin de la liste dans le pseudo-code.
Chaque Squence d'instructions peut contenir une ou plusieurs instructions LARP. Dans
un pseudo-code la premire instruction peut tre positionne aprs le symbole :, sur la
mme ligne que la Liste de constantes correspondante.
La section SINON et sa squence d'instructions sont optionnelles. Dans un
organigramme la Squence d'instructions #n+1 est aussi optionnelle.

Lors de l'excution d'une structure de slection, la valeur de l'expression est compare


successivement aux constantes retrouves dans chaque Liste de constantes, en commenant
par la premire (Liste de constantes #1). Lorsqu'une constante correspondant la valeur de
l'expression est trouve, la Squence d'instructions correspondante est excute puis le flux
d'excution quitte la structure de slection. Si aucune constante correspondant la valeur de
l'expression n'est trouve et que la structure dispose d'une section SINON, la Squence
d'instructions correspondante (Squence d'instructions #n+1) est excute.
Si plus d'une Liste de constantes contient la constante correspondant la valeur de l'expression,
seule la Squence d'instructions associe la premire Liste de constantes est excute,
puisque le flux d'excution quitte la structure de slection aprs l'excution de cette squence
dinstructions.
Comme pour la structure SI-SINON-SI, la structure de slection en organigramme est construite
dans lditeur graphique en utilisant deux instructions dorganigrammes :
Instructions

Description
Structure de slection : structure conditionnelle comportant plusieurs
squences d'instructions alternatives dont une seule est excute en
fonction de la valeur d'une expression arithmtique.
Branchement pour structures conditionnelles : permettent d'insrer des
branchements conditionnels supplmentaires dans les structures de
slection et les structures conditionnelles SI-SINON-SI.

Tableau 9-9 : Instructions d'organigrammes requises dans une structure de slection

136

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

10. Structures rptitives

10 Structures rptitives
Il arrive frquemment qu'un algorithme doive rpter une squence d'instructions un certain
nombre de fois afin daccomplir une tche; en fait, la plupart des algorithmes requirent de telles
rptitions. LARP offre trois structures cette fin, gnralement appeles structures rptitives
ou boucles :
1. La structure TANTQUE
2. La structure RPTER-JUSQU'
3. La structure POUR
Les structures rptitives sont bases sur l'valuation d'une condition, dont le rsultat est vrai ou
faux. C'est sur la base de cette condition que la rptition est dtermine.

10.1 Structure TANTQUE


Dans sa forme la plus simple (structure TANTQUE) telle que prsente dans le Tableau 10-1,
une structure rptitive sous forme pseudo-code est compose des mots rservs TANTQUE,
FAIRE et FINTANTQUE, d'une condition et d'une squence d'instructions excuter tant que la
condition est vraie.
Dans un organigramme (voir Tableau 10-1), la structure TANTQUE comprend une condition dans
un hexagone suivie de la squence d'instructions sur la branche tiquete Vrai. Lorientation de
la branche Faux peut tre gauche ou droite de la condition. Notez que la branche Vrai
retourne la condition, indiquant ainsi que le flux dexcution retourne valuer la condition une
fois la squence dinstructions excute.
Structure rptitive TANTQUE
TANTQUE condition FAIRE
Squence d'instructions
FINTANTQUE

Tableau 10-1 : Structure rptitive TANTQUE

Dans la structure pseudo-code ci-dessus, le mot rserv TANTQUE indique le dbut de la


structure rptitive, et le mot rserv FINTANTQUE en indique la fin. Dans la structure en

Copyright 2004-2008 Marco Lavoie

137

10. Structures rptitives

Guide d'utilisation de LARP

organigramme, la condition indique le dbut de la structure rptitive et la fin de la branche


tiquete Faux en indique la fin.
Les structures rptitives sont bases sur l'valuation d'une condition, dont le rsultat est vrai ou
faux. C'est sur la base de cette condition que le flux d'excution est dtermin. Dans le cas d'une
structure TANTQUE, la squence d'instructions est excute tant que la condition est satisfaite
(i.e. vraie).
L'exemple ci-dessous (sous forme pseudo-code et dorganigramme) exploite une structure
TANTQUE afin d'additionner des valeurs lues jusqu' ce que leur somme atteigne ou dpasse
1000 :
Somme = 0
TANTQUE Somme < 1000 FAIRE
LIRE Valeur
Somme = Somme + Valeur
FINTANTQUE
Pseudo-code 10-1 : Structure rptitive TANTQUE

Organigramme 10-1 : Structure rptitive TANTQUE

La condition d'une structure TANTQUE est value avant chaque itration (une itration est une
et une seule excution de la squence d'instructions dans la boucle). Ainsi, l'excution de la
structure peut tre rsume ainsi :
1. vrifier la condition
2. si elle est vraie alors
2.1. excuter la squence d'instructions
2.2. retourner l'tape 1.

138

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

10. Structures rptitives

Ainsi, la condition doit obligatoirement tre satisfaite pour que la squence d'instructions soit
excute. Ds que la condition devient non satisfaite (i.e. fausse), le flux d'excution est redirig
vers les instructions suivant la structure rptitive (aprs le FINTANTQUE en pseudo-code).
Une particularit de la structure TANTQUE est que la squence dinstructions peut ne pas tre
excute du tout si la premire valuation de la condition (i.e. lorsque le flux dexcution entre
dans la structure rptitive) retourne faux. En effet, si la condition est fausse ds le dpart,
aucune itration de la boucle ne sera effectue.
Puisque quune excution de la squence dinstructions dans une structure rptitive est
gnralement appele une itration, les structures rptitives sont aussi appeles structures
itratives. Ce sont des synonymes.

10.2 Structure RPTER-JUSQU'


La structure RPTER-JUSQU' est semblable la structure TANTQUE. Comme cette dernire,
elle inclut l'excution d'une squence d'instructions rptition et en fonction de la valeur dune
condition. Cependant, les structures RPTER-JUSQU' et TANTQUE diffrent sur deux points :
1. La structure TANTQUE excute la squence d'instructions tant et aussi longtemps que la
condition est satisfaite, alors que la structure RPTER-JUSQU' excute la squence
d'instructions tant et aussi longtemps que la condition n'est pas satisfaite. En d'autres
mots, la structure RPTER-JUSQU' itre jusqu' ce que la condition devienne vraie.
2. La structure TANTQUE vrifie la condition avant chaque itration, alors que la structure
RPTER-JUSQU' vrifie la condition aprs chaque itration.
La diffrence principale entre ces deux structures rside dans le fait que, pour la structure
RPTER-JUSQU', la squence d'instructions est excute au moins une fois, sans gard la
valeur de la condition. Cette caractristique est mise en vidence par la position de la condition
dans la structure : elle est situe la fin de celle-ci (alors que dans la structure TANTQUE la
condition est situe au dbut de la structure).
Structure rptitive RPTER-JUSQU'
RPTER
Squence d'instructions
JUSQU' condition

Tableau 10-2 : Structure rptitive RPTER-JUSQU'

La structure RPTER-JUSQU' sous forme pseudo-code, prsente dans le Tableau 10-2, est
compose des mots rservs RPTER et JUSQU', d'une condition et d'une squence

Copyright 2004-2008 Marco Lavoie

139

10. Structures rptitives

Guide d'utilisation de LARP

d'instructions excuter jusqu ce que la condition devienne vraie (en dautres mots, tant quelle
est fausse). Dans un organigramme la structure RPTER-JUSQU' comprend une condition
dans un hexagone prcde de la squence d'instructions. Lorientation de la branche Faux, qui
reprsente litration, peut tre gauche ou droite de la condition. Notez que la branche Vrai
sort de la boucle, indiquant ainsi que le flux dexcution cesse dexcuter la squence
dinstructions lorsque la condition est vraie.
L'exemple ci-dessous exploite une structure RPTER-JUSQU' afin de lire un entier positif et le
valider :
RPTER
CRIRE "Nombre positif?"
LIRE Nombre
JUSQU' Nombre > 0
Pseudo-code 10-2 : Structure rptitive RPTER-JUSQU'

Organigramme 10-2 : Structure rptitive RPTER-JUSQU'

Puisque au moins une lecture doit tre effectue, la structure RPTER-JUSQU' est prfrable
car elle fait obligatoirement une itration (i.e. une lecture) avant de vrifier la condition. La
structure RPTER-JUSQU' est gnralement prfre la structure TANTQUE lorsque les
variables dont dpend la condition reoivent leur valeur dans la squence d'instructions, ce qui
exige obligatoirement une premire itration.
Notez cependant qu'une structure TANTQUE peut remplacer toute structure RPTERJUSQU', au cot de quelques instructions supplmentaires (dans le Pseudo-code 10-3 une
opration de lecture supplmentaire doit tre insre avant la premire itration) :
CRIRE "Nombre positif?"
LIRE Nombre
TANTQUE Nombre <= 0 FAIRE
CRIRE "Nombre positif?"
LIRE Nombre
FINTANTQUE
Pseudo-code 10-3 : Structure TANTQUE quivalente la boucle du Pseudo-code 10-2

140

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

10. Structures rptitives

10.3 Structure POUR


La troisime structure rptitive est plus sophistique que les deux premires (les structures
TANTQUE et RPTER-JUSQU). La structure POUR a la forme suivante :
Structure rptitive POUR
POUR variable = valeur_initiale JUSQU' valeur_finale INCRMENT valeur_incrment FAIRE
Squence d'instructions
FINPOUR

Tableau 10-3 : Structure rptitive POUR

Dans la structure pseudo-code ci-dessus, le mot rserv POUR indique le dbut de la structure
rptitive, et le mot rserv FINPOUR en indique la fin.
La structure rptitive POUR est gnralement employe lorsqu'on veut rptitivement faire
varier la valeur d'une variable (identificateur variable ci-dessus) d'une valeur initiale (identificateur
valeur_initiale ci-dessus) jusqu' une valeur finale (identificateur valeur_finale ci-dessus), tout en
excutant une squence d'instructions pour chaque valeur de cette variable. Lidentificateur
valeur_incrment indique le changement appliquer variable la fin de chaque itration.
Ainsi, dans la structure ci-dessus, les identificateurs signifient :

variable : variable dont la valeur varie de valeur_initiale valeur_finale, changeant de


valeur_incrment units chaque itration.

valeur_initiale : valeur de la variable la premire itration.

valeur_finale : valeur de la variable la dernire itration.

valeur_incrment : incrment appliqu la variable aprs chaque itration.

Squence d'instructions : instructions excutes chaque itration. La variable peut tre


employe dans ces instructions.

Notez que lincrment peut tre omis de la structure POUR. Dans ce cas, lincrment par dfaut
appliqu est de 1. La variable employe pour compter les itrations dans une structure POUR est
gnralement appele une variable d'itration.
Voici un exemple d'utilisation d'une telle structure. Supposons qu'on veuille afficher les
tempratures en Fahrenheit correspondant aux 20 premiers degrs Celsius du thermomtre. On
peut produire une telle grille de tempratures avec une structure TANTQUE :

Copyright 2004-2008 Marco Lavoie

141

10. Structures rptitives

Guide d'utilisation de LARP

\\ Affiche les tempratures de 0C 19C en Fahrenheit


Celsius = 0
TANTQUE Celsius <= 19 FAIRE
Fahrenheit = Celsius * 9/5 + 32
CRIRE Celsius, ' = ', Fahrenheit
Celsius = Celsius + 1
FINTANTQUE
Pseudo-code 10-4 : Itrer d'une valeur la suivante avec TANTQUE

La structure ci-dessus effectue exactement 20 itrations, augmentant de 1 la valeur de la variable


Celsius chaque itration.
La structure POUR offre une syntaxe plus compacte et naturelle pour reprsenter les structures
rptitives telles que celle ci-dessus :
\\ Affiche les tempratures de 0C 19C en Fahrenheit
POUR Celsius = 0 JUSQU' 19 FAIRE
Fahrenheit = Celsius * 9/5 + 32
CRIRE Celsius, ' = ', Fahrenheit
FINPOUR
Pseudo-code 10-5 : Structure rptitive POUR

Dans cette structure, la variable Celsius est initialise 0 avant la premire itration, puis
successivement augmente de 1 la fin de chaque itration (1 est lincrment par dfaut puisque
aucune valeur dincrmentation nest fournie dans la structure POUR). On constate donc que
l'incrmentation est implicite (nul besoin de l'incrmenter explicitement dans la boucle avec
l'instruction Celsius = Celsius + 1). Lorsque la variable Celsius atteint la valeur 20, le flux
d'excution quitte la structure POUR et poursuit l'excution du pseudo-code suivant la boucle,
aprs le FINPOUR.
LOrganigramme 10-3 prsente le mme algorithme que Pseudo-code 10-5. Notez que la
structure comporte une condition sous une forme diffrente de celles retrouves dans les
structures TANTQUE et RPTER-JUSQU en organigramme. Le symbole hexagonal de la
structure POUR contient tous les lments de son quivalente en pseudo-code : linitialisation de
la variable ditration en entre de la structure (Celsius = 0), une vrification de continuer les
itrations (Celsius dans [0...19]) et lincrmentation de la variable ditration la fin de chaque
itration (Celsius = Celsius + 1). Les branchements de la structure POUR en organigramme
indiquent clairement le parcours du flux dexcution dans la structure :
1. En entrant dans la structure, linstruction dinitialisation (Celsius = 0) est excute une et
une seule fois.
2. La variable ditration est ensuite valide en fonction des valeurs limites ditration
(Celsius dans [0...19]). Si la valeur de la variable ditration est dans cette intervalle,
alors il y a itration :
2.1. Les deux instructions dans la boucle sont excutes.
2.2. La variable ditration est incrmente (Celsius = Celsius + 1).
2.3. Enfin le flux dexcution retourne ltape 2 afin de valider la valeur de la variable
ditration.

142

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

10. Structures rptitives

Organigramme 10-3 : Structure rptitive POUR

Loption de spcifier une valeur incrment dans la structure POUR offre la possibilit dutiliser un
incrment autre que 1 dans une boucle. Ainsi, lexemple suivant convertit seulement les
tempratures Celsius paires en Fahrenheit :
\\ Affiche les tempratures 0C, 2C, 4C, 6C... 18C en Fahrenheit
POUR Celsius = 0 JUSQU' 18 INCRMENT 2 FAIRE
Fahrenheit = Celsius * 9/5 + 32
CRIRE Celsius, ' = ', Fahrenheit
FINPOUR
Pseudo-code 10-6 : Structure POUR avec incrment autre que 1

Notez qu'une structure POUR incrmente la valeur de la variable d'une unit par dfaut chaque
itration. Si cependant la valeur_initiale est suprieure la valeur_finale, la variable sera
automatiquement diminue de un chaque itration :
\\ Affiche les tempratures de 19C 0C en Fahrenheit
POUR Celsius = 19 JUSQU' 0 FAIRE
Fahrenheit = Celsius * 9/5 + 32
CRIRE Celsius, ' = ', Fahrenheit
FINPOUR
Pseudo-code 10-7 : Structure rptitive POUR avec dcrment

Copyright 2004-2008 Marco Lavoie

143

10. Structures rptitives

Guide d'utilisation de LARP

On peut aussi spcifier une valeur dincrmentation ngative afin de rduire la variable (Celsius)
par bonds autres que dune seule unit :
\\ Affiche les tempratures de 18C, 16C, 14C ... 0C en Fahrenheit
POUR Celsius = 18 JUSQU' 0 INCRMENT 2 FAIRE
Fahrenheit = Celsius * 9/5 + 32
CRIRE Celsius, ' = ', Fahrenheit
FINPOUR
Pseudo-code 10-8 : Structure rptitive POUR avec dcrment autre que -1

La valeur de la variable ditration (Celsius dans l'exemple ci-dessus) peut tre employe dans
les instructions incluses dans la structure POUR, mais elle ne peut pas tre modifie par ces
instructions. Ainsi, dans Pseudo-code 10-9, l'instruction LIRE i est interdite car elle vise
modifier la valeur de la variable d'itration i. Par contre, linstruction Log(i * 100) est permise
dans la boucle, tout comme Fahrenheit = Celsius * 9/5 + 32 dans Pseudo-code 10-8,
puisquelles ne modifient pas la valeur de la variable ditration.
POUR i = 0 JUSQU' 10 FAIRE
CRIRE Log(i * 100)
LIRE i
FINPOUR
Pseudo-code 10-9 : Structure POUR invalide

Mme si elle s'avre souvent pratique, la structure POUR n'est pas indispensable; on pourrait fort
bien programmer toutes les situations de boucle uniquement avec la structure TANTQUE. Le
seul intrt de la structure POUR est d'pargner un peu de travail au programmeur, en lui vitant
de grer lui-mme la progression de la variable d'itration. Autrement dit, la structure POUR est
un cas particulier de la structure TANTQUE : celui o le programmeur peut dterminer l'avance
le nombre d'itrations effectuer.
Conceptuellement, on dit que la structure POUR est une boucle inconditionnelle car le nombre
ditrations effectues par la boucle est prdtermine et ne dpend pas de la squence
dinstructions dans la boucle. Par exemple dans le Pseudo-code 10-5 on connat le nombre
ditrations qui seront effectues par la boucle (20 itrations) avant mme de dbuter la premire
itration. Il en est de mme dans Pseudo-code 10-6 (10 itrations) et dans Pseudo-code 10-7 (20
itrations). Les structures TANTQUE et RPTER-JUSQU sont gnralement catgorises
comme boucles conditionnelles car le nombre ditrations quelles effectuent dpend dune
condition dont la valeur est gnralement dtermine par la squence dinstructions dans la
boucle. Cest par exemple le cas dans Pseudo-code 10-2 et Pseudo-code 10-3, o la variable
Nombre est modifie dans la boucle (ce nest donc pas une variable ditration).
La plupart des langages de programmation traditionnels offre une structure inconditionnelle
quivalente la structure POUR de LARP. Ainsi, C++ et Java ont la boucle for, dont la syntaxe
est similaire POUR quoique plus complexe.

144

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

11. Modules

11 Modules
La programmation modulaire est une technique utilise lors de la conception dalgorithmes
complexes. Elle consiste diviser un algorithme en sections. Chaque section est appele un
module et excute une tche simple.
Voici des exemples de tches qu'un module peut excuter :

Afficher un menu d'options

Afficher des rsultats

Calculer une moyenne de donnes

Valider des donnes

Trier des donnes

Un module est identifi par un nom unique et consiste en une squence d'instructions dbutant
avec le mot rserv ENTRER et se terminant avec le mot rserv RETOURNER. La squence
d'instructions contenue dans le module est excute lorsque le nom du module est rencontr
durant l'excution d'autres modules. On dit alors que le module est invoqu.
LARP supporte trois types de modules :

Les modules simples sont non paramtrs, n'acceptant aucun argument lors de leur
invocation.
Les modules paramtrs acceptent des arguments lors de l'invocation, permettant ainsi
de contrler leur excution.
Les modules avec valeur de retour, lorsqu'ils sont invoqus, retournent un rsultat au
module invoquant. Comme les modules paramtrs, ils peuvent accepter des arguments.

Les modules aident structurer les algorithmes et permettent le dveloppement de sections


dalgorithme configurables et rutilisables. Les modules sont essentiellement des fragments
d'algorithmes .
La gestion des modules d'un projet LARP est effectue via le navigateur de documents ainsi que
la barre de menu. Ceux-ci permettent de crer et/ou supprimer les modules du projet.

11.1 Noms de modules


Les modules d'un projet LARP doivent tre nomms selon les rgles suivantes :

Un nom de module doit dbuter par une lettre (A Z, a z) ou le caractre de


soulignement (_).
Un nom de module peut tre constitu de lettres minuscules, de lettres majuscules, de
chiffres et du caractre de soulignement.
Un nom de module ne doit pas correspondre un mot rserv de LARP, tels que
CRIRE, FIN, SI et PI, et ce sans gard aux accents (par exemple ECRIRE est aussi un
mot rserv).

Copyright 2004-2008 Marco Lavoie

145

11. Modules

Guide d'utilisation de LARP

Le langage ne fait pas de distinction entre les lettres minuscules et les lettres majuscules,
ce qui signifie que Module_1, module_1 et MODULE_1 font rfrence au mme
module.
Le langage ignore les accents, ce qui signifie que Cot, Cout et Cot font rfrence au
mme module.

Un module peut tre ajout au projet :

via la barre de menu, en slectionnant la commande Fichier Nouveau..., puis en


slectionnant le type de module auxiliaire,

via le bouton

du panneau de contrle, ou

via le menu contextuel du navigateur de document.

Avant dajouter un nouveau module au projet, LARP affiche la fentre suivante, o l'utilisateur
doit spcifier le type de module auxiliaire crer (pseudo-code ou organigramme) ainsi que son
nom :

Figure 11-1 : Cration dun module auxiliaire

noter que tous les modules dun mme projet doivent avoir un nom distinct.

11.2 Module principal


Lorsqu'un algorithme est divis en plusieurs modules, un de ces modules doit tenir le rle de
module principal. Contrairement aux autres modules (appels modules auxiliaires) qui dbutent
par le mot rserv ENTRER et se terminent par RETOURNER, le module principal dbute par le
mot rserv DBUT et se termine par le mot rserv FIN :

146

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

11. Modules

\\ Module principal
DBUT
CRIRE "Bonjour"
FIN
Pseudo-code 11-1 : Le module principal

Un projet LARP doit obligatoirement disposer d'un et un seul module principal, car LARP dbute
l'excution de l'algorithme l'instruction DBUT et termine l'excution de l'algorithme
l'instruction FIN. Seul le module principal peut contenir les instructions DBUT et FIN. Par contre,
un projet peut contenir ou non des modules auxiliaires, et ceux-ci doivent dbuter avec
linstruction ENTRER et se terminer avec linstruction RETOURNER.

Organigramme 11-1 : Le module principal

Lors de la cration dun nouveau projet, LARP cre automatiquement le module principal
(nomm PRINCIPAL) de lalgorithme et y insre les instructions DBUT et FIN.

11.3 Modules auxiliaires


Les modules simples (i.e. sans paramtre) sont utiliss pour excuter des tches simples comme
afficher des menus pour l'utilisateur. Le module se compose d'une squence d'instructions
regroupes entre les mots rservs ENTRER et RETOURNER.
Tous les modules autres que le module principal sont appels modules auxiliaires et effectuent
gnralement des tches requises par le module principal.
Voici un exemple de module auxiliaire affichant un menu :
\\ Module auxiliaire Menu
ENTRER
CRIRE "Le menu est"
CRIRE " 1 - Lire le dossier"
CRIRE " 2 - Sauvegarder le dossier"
CRIRE " 3 - Afficher le dossier"
CRIRE " 4 - Modifier le dossier"
CRIRE " 5 - Quitter"
RETOURNER
Pseudo-code 11-2 : Module auxiliaire

Le module ci-dessus, appel Menu, excute les instructions squentiellement, de ENTRER


jusqu' RETOURNER. Pour l'invoquer dans un algorithme, le nom du module doit tre spcifi
dans un module (gnralement un autre module du projet), prcd du mot rserv
EXCUTER :

Copyright 2004-2008 Marco Lavoie

147

11. Modules

Guide d'utilisation de LARP

\\ Module principal
DBUT
RPTER
\\ Afficher le menu
EXCUTER Menu
REQUTE "Commande? ", Commande
JUSQU' Commande = 5
FIN
Pseudo-code 11-3 : Invocation d'un module auxiliaire

Dans le module principal ci-dessus, le module simple Menu est excut (i.e. invoqu) chaque
itration afin d'afficher le menu. Toutes les instructions du module Menu sont excutes
chaque invocation. L'instruction REQUTE suivant l'invocation du module est excute aprs
chaque invocation de Menu.
Le rsultat la console d'excution du module principal avec les valeurs 1 et 5 fournies par
l'utilisateur est :
Le menu est
1 - Lire le dossier
2 - Sauvegarder le dossier
3 - Afficher le dossier
4 - Modifier le dossier
5 - Quitter
Commande? 1
Le menu est
1 - Lire le dossier
2 - Sauvegarder le dossier
3 - Afficher le dossier
4 - Modifier le dossier
5 - Quitter
Commande? 5
Figure 11-2 : Affichage lors de l'excution du module auxiliaire Menu

videmment, le module principal ci-dessus est incomplet puisque aucune action n'est entreprise
lorsque l'utilisateur slectionne les commandes 1 4.
Dans LARP, un module auxiliaire peut aussi tre formul sous forme dorganigramme. Le module
auxiliaire suivant affiche la date courante sous la forme JJ/MM/AAAA :

Organigramme 11-2 : Module auxiliaire simple sous forme d'organigramme

148

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

11. Modules

Le module auxiliaire dans lOrganigramme 11-2, nomm AfficherDate, peut aussi tre invoqu
dun module principal sous forme dorganigramme. Notez que LARP dispose dune instruction
dorganigramme spcifique linvocation de modules auxiliaires :

Organigramme 11-3 : Organigramme invoquant un module auxiliaire

11.4 Variables locales


Un module peut exploiter ses propres variables pour accomplir des tches. Ces variables,
appartenant exclusivement au module et n'tant pas partages avec les autres modules du
projet, sont appeles des variables locales car elles sont locales au module.
Les variables locales sont accessibles partout entre les mots rservs ENTRER et RETOURNER
du module auxiliaire ou DBUT et FIN du module principal. Lorsque deux modules utilisent le
mme nom pour une variable locale, les deux variables sont distinctes. Les modules qui suivent
illustrent cette indpendance :
\\ Module principal
DBUT
Valeur = 1
EXCUTER Module_A
CRIRE Valeur
FIN

\\ Affiche 1 comme valeur

\\ Module auxiliaire Module_A


ENTRER
Valeur = 2
RETOURNER
Pseudo-code 11-4 : Variables locales

Mme si les deux modules exploitent une variable nomme Valeur, ces deux variables sont
distinctes, celle du module principal n'tant pas modifie par l'invocation du module auxiliaire.
La seule faon que deux modules puissent partager une donne est via lutilisation de
paramtres.

Copyright 2004-2008 Marco Lavoie

149

11. Modules

Guide d'utilisation de LARP

11.5 Modules auxiliaires avec paramtres


Les modules auxiliaires peuvent accepter des valeurs, appeles paramtres, leur tant
transmises lors de l'invocation. Les paramtres permettent ainsi au module invoquant (i.e.
module contenant l'instruction EXCUTER) de fournir des donnes au module invoqu (i.e. le
module vis par l'instruction EXCUTER).
Les paramtres d'un module auxiliaire permettent au module invoquant de configurer
l'excution du module invoqu en fonction d'une ou plusieurs valeurs spcifies.
LARP offre deux types de paramtres de module :
1. Paramtres valeurs : le module invoquant peut transmettre une valeur au module
invoqu via ce type de paramtres, mais le module invoqu ne peut pas transmettre un
rsultat via ce mme paramtre. Par dfaut, les paramtres dun module sont de type
valeur.
2. Paramtres rfrences : le module invoquant peut transmettre une valeur au module
invoqu via ce type de paramtres, et le module invoqu peut transmettre un rsultat via
ce mme paramtre. Le paramtre doit tre identifi comme rfrence avec le mot
rserv RFRENCE.
La figure suivante illustre le transfert de donnes via chaque type de paramtres entre deux
modules, un (Module_A) invoquant lautre (Module_B) :

Figure 11-3 : Transfert de donnes via paramtres

11.5.1

Dclaration des paramtres d'un module

Les paramtres d'un module auxiliaire sont des variables numres droite du mot rserv
ENTRER. Si plus d'un paramtre sont spcifis, ceux-ci sont spars par des virgules. Dans
l'exemple suivant (Pseudo-code 11-5 et Organigramme 11-4) V1 et V2 sont les paramtres du
module Addition :
\\ Module auxiliaire Addition
ENTRER V1, V2
Rsultat = V1 + V2
CRIRE "Somme de", V1, "et", V2, "est", Rsultat
RETOURNER
Pseudo-code 11-5 : Module auxiliaire avec paramtres

150

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

11. Modules

Organigramme 11-4 : Module auxiliaire avec paramtres

Les paramtres d'un module auxiliaire sont des variables dont le rle est de recevoir des valeurs
fournies lors de l'invocation. Les valeurs fournies lors de l'invocation sont appeles arguments, et
doivent tre numres entre parenthses suivant linvocation.
\\ Module principal
DBUT
REQUTE "Entrez deux valeurs: ", N1, N2
EXCUTER Addition(N1, N2)
FIN
Pseudo-code 11-6 : Invocation d'un module auxiliaire avec arguments

Organigramme 11-5 : Invocation d'un module auxiliaire avec arguments

Lors de l'invocation dans Pseudo-code 11-6 et Organigramme 11-5, les valeurs des arguments
(N1 et N2) sont respectivement copies dans les paramtres du module invoqu (V1 et V2).
Ainsi, la valeur de N1 est copie dans V1 et la valeur de N2 est copie dans V2. Puisque les

Copyright 2004-2008 Marco Lavoie

151

11. Modules

Guide d'utilisation de LARP

paramtres servent recevoir les valeurs provenant des arguments, les paramtres doivent
obligatoirement tre des variables.
Par dfaut, les paramtres numrs dans linstruction ENTRER dun module sont dit paramtres
valeurs car ils reoivent les valeurs darguments correspondant lors dune invocation. Un
paramtre peut alternativement tre dsign comme paramtre rfrence en prcdent son nom
dans linstruction ENTRER du mot rserv RFRENCE :
\\ Module auxiliaire Interchanger
ENTRER RFRENCE V1, RFRENCE V2
Temp = V1
V1
= V2
V2
= Temp
RETOURNER
Pseudo-code 11-7 : Dclaration de paramtres rfrences

Organigramme 11-6 : Dclaration de paramtres rfrences

Lindicateur RFRENCE sapplique seulement au paramtre suivant le mot rserv. Cest


pourquoi il doit tre rpt devant chaque paramtre rfrence.
Un paramtre rfrence permet de retourner un rsultat au module invoquant via largument
correspondant. Par exemple, lorsquun module invoque EXCUER Interchanger(N1, N2), le
module Interchanger (Pseudo-code 11-7) transpose en ralit le contenu des variables N1 et N2
donnes comme arguments. Consultez la section 11.5.3 pour obtenir plus dinformation.
Notez que le module principal ne peut pas disposer de paramtres.

11.5.2

Paramtres valeurs

Lorsque les arguments dans une invocation sont des variables, le module invoqu travaille avec
une copie de la variable servant d'argument, et ce mme si les deux variables ont le mme nom.
Le contenu de la variable servant d'argument n'est pas chang. Le paramtre du module invoqu
peut tre modifi par ce dernier, mais cela n'affecte pas la valeur de la variable en argument.
Lexemple suivant illustre cette indpendance entre les arguments et les paramtres :
\\ Module auxiliaire SansChangement
ENTRER Lettre, Nombre
CRIRE Lettre, Nombre
\\ Affiche B et 12 (voir invocation)
Lettre = 'A'
Nombre = 32
CRIRE Lettre, Nombre
\\ Affiche A et 22
RETOURNER

152

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

11. Modules

\\ Module principal
DBUT
Lettre = 'B'
Nombre = 12
CRIRE Lettre, Nombre
EXCUTER SansChangement(Lettre, Nombre)
CRIRE Lettre, Nombre
FIN

\\ Affiche B et 12
\\ Affiche B et 12

Pseudo-code 11-8 : Passage d'arguments par valeur

Dans le module principal ci-dessus, les variables Lettre et Nombre ne sont pas modifies par
l'invocation du module auxiliaire SansChangement, et ce mme si les paramtres ont des noms
identiques aux arguments.
Lorsquun module reoit des valeurs de variables fournies en arguments sans pouvoir modifier le
contenu de ces variables, on appelle ces paramtres des paramtres valeurs. Dans la littrature
technique on appelle ce type de transfert dinformation la transmission par valeur. Dans LARP,
les paramtres dun module sont par dfaut des paramtres valeurs.
Puisquun argument est indpendant dun paramtre valeur correspondant, largument na pas
tre exclusivement une variable; il peut tre une constante ou le rsultat dune expression :

Organigramme 11-7 : Passage d'arguments par valeur

Dans cet exemple, le premier argument est une constante alors que le deuxime est le rsultat
dune expression.
Contrairement aux paramtres valeurs qui peuvent recevoir comme argument des variables ou
des expressions, les paramtres rfrences doivent absolument recevoir des variables comme
argument.

11.5.3

Paramtres rfrences

Lorsquun paramtre numr dans linstruction ENTRER dun module auxiliaire est prcd du
mot rserv RFRENCE, ce paramtre est un paramtre rfrence. Contrairement au
paramtre valeur qui reoit la valeur de largument correspondant lors de lappel, le paramtre

Copyright 2004-2008 Marco Lavoie

153

11. Modules

Guide d'utilisation de LARP

rfrence fait rfrence la mme variable que celle passe comme argument lors de lappel, et
ce mme si la variable argument est nomme diffremment du paramtre rfrence.
Cette distinction entre les paramtres valeurs et les paramtres rfrences est mieux explique
via un exemple. Considrons les deux modules auxiliaires du Pseudo-code 11-9 : les deux
modules ont exactement les mmes instructions lexception de la dfinition des paramtres, o
Interchanger_1 exploite des paramtres valeurs alors que Interchanger_2 exploite des
paramtres rfrences.
\\ Module auxiliaire Interchanger_1
ENTRER V1, V2
Temp = V1
V1
= V2
V2
= Temp
RETOURNER
\\ Module auxiliaire Interchanger_2
ENTRER RFRENCE V1, RFRENCE V2
Temp = V1
V1
= V2
V2
= Temp
RETOURNER
Pseudo-code 11-9 : Dclaration de paramtres valeurs et rfrences

Le module principal suivant fait appel aux deux modules auxiliaires du Pseudo-code 11-9. Alors
que lappel au module Interchanger_1 naffecte en rien le contenu des arguments N1 et N2,
lappel au module Interchanger_2 change le contenu de ces deux variables :
\\ Module principal
DBUT
N1 = 10
N2 = 20
EXCUTER Interchanger_1(N1, N2)
CRIRE N1, N2
EXCUTER Interchanger_2(N1, N2)
CRIRE N1, N2
FIN

\\ Affiche 10 20
\\ Affiche 20 10

Pseudo-code 11-10 : Module principal

Puisque le module auxiliaire Interchanger_2 exploite des paramtres rfrences, les variables
paramtres V1 et V2 sont en fait des synonymes des arguments N1 et N2, respectivement. Ainsi,
lorsque le module Interchanger_2 affecte une valeur V1, il affecte en ralit cette valeur la
variable N1 du module principal. Il en est de mme avec V2 et N2. Cette relation entre les
paramtres du module auxiliaire (V1 et V2) et les arguments fournis en appel (N1 et N2) nexiste
pas lors de lappel au module auxiliaire Interchanger_1 puisque ce dernier exploite des
paramtres valeurs : les valeurs des arguments (en occurrence les valeurs dans N1 et N2) sont
copies dans les paramtres valeurs V1 et V2 ; lorsque le module Interchanger_1 modifie le
contenu de ses paramtres V1 et V2, ceci naffecte en rien le contenu des arguments N1 et N2.
Cette relation entre les paramtres rfrences et leurs arguments correspondants impose une
restriction majeure sur ces mmes arguments : largument correspondant un paramtre
rfrence doit tre une variable. En effet, puisque le paramtre rfrence est une variable qui fait
rfrence largument (i.e. un synonyme), ce dernier doit aussi tre une variable. Cette

154

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

11. Modules

restriction ne sapplique pas aux paramtres valeurs car ceux-xi reoivent la valeur de leur
argument, mais ne maintiennent pas une relation de rfrence avec celui-ci.
Les paramtres rfrences sont identifis laide du mot rserv RFRENCE en en-tte du
module auxiliaire, tel quillustr dans le module en pseudo-code Interchanger_2 (Pseudo-code
11-9). Il en est de mme pour les modules exprims sous forme dorganigramme :

Organigramme 11-8 : Dclaration de paramtres rfrences

Dans la littrature technique, la relation entre les paramtres rfrences et les arguments fournis
en appel est nomme la transmission par rfrence.

11.6 Modules avec valeur de retour


Les modules auxiliaires acceptent gnralement des donnes en paramtres lors de l'excution
de l'algorithme. Les modules avec valeur de retour peuvent aussi avoir des paramtres, mais ont
en plus la particularit de retourner un rsultat au module invoquant via linstruction
RETOURNER. Les modules avec valeur de retour peuvent tre utiliss pour effectuer des
oprations ncessitant le retour dun rsultat, tels des oprations mathmatiques complexes ou
laffichage dun menu avec lecture de litem slectionne par l'utilisateur.
Le module auxiliaire de lOrganigramme 11-9 calcule et retourne via valeur de retour la factorielle
de son paramtre. La factorielle d'une valeur n est dfinie comme le rsultat du produit de la
squence 1 x 2 x 3 x ... x n :

Copyright 2004-2008 Marco Lavoie

155

11. Modules

Guide d'utilisation de LARP

Organigramme 11-9 : Module auxiliaire avec valeur de retour

La valeur de retour du module est spcifie droite du mot rserv RETOURNER. La valeur de
retour peut tre le rsultat d'une expression : RETOURNER I+1. Par contre une seule valeur de
retour peut tre spcifie : RETOURNER I,I+1 est errone, mais RETOURNER [I,I+1] est
accepte car un conteneur est retourn.
Voici un autre exemple de module auxiliaire avec valeur de retour. Ce module affiche une menu,
puis lit un numro de commande jusqu' ce qu'une commande valide soit slectionne, et enfin
retourne le numro de cette commande :
\\ Module auxiliaire Menu
ENTRER
RPTER
CRIRE "Le menu est"
CRIRE " 1 - Factorielle"
CRIRE " 2 - Addition"
CRIRE " 3 - Quitter"
LIRE Commande
JUSQU' Commande >= 1 ET Commande <= 3
RETOURNER Commande
Pseudo-code 11-11 : Module de slection d'une commande de menu

156

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

11. Modules

Lors de l'invocation d'un module comme ceux ci-dessus, la valeur de retour peut tre rcupre
dans une variable via l'affectation ou peut tre directement exploite dans une instruction LARP,
tels que dmontrs dans le module principal suivant :
\\ Module principal
DBUT
Opration = EXCUTER Menu
SI Opration = 1 ALORS
LIRE N
CRIRE EXCUTER Factorielle(N)
SINON SI Opration = 2 ALORS
LIRE N1, N2
CRIRE N1+N2
FINSI
FIN
Pseudo-code 11-12 : Invocation d'un module avec valeur de retour

Notez quun module auxiliaire peut retourner un seul rsultat via la valeur de retour. Des
paramtres rfrences peuvent tre exploits pour retourner plus dun rsultat.

11.7 Syntaxe d'invocation alternative


Un module auxiliaire est gnralement invoqu l'aide de l'instruction EXCUTER. LARP permet
aussi d'invoquer un module sans le mot rserv EXCUTER, comme le dmontre le module cidessous :
\\ Module principal
DBUT
Opration = Menu
// Invoque le module Menu
SI Opration = 1 ALORS
LIRE N
CRIRE Factorielle(N)
// Invoque le module Factorielle
SINON SI Opration = 2 ALORS
LIRE N1, N2
CRIRE N1+N2
FINSI
FIN
Pseudo-code 11-13 : Syntaxe alternative d'invocation d'un module

Par souci de lisibilit il est recommand d'employer le mot rserv EXCUTER pour invoquer un
module sans valeur de retour, mais de l'viter lorsque le module invoqu retourne un rsultat.
Ainsi, dans l'exemple qui suit (Organigramme 11-10), la deuxime invocation du module auxiliaire
Factorielle rsulte en une instruction plus lgante que la premire :

Copyright 2004-2008 Marco Lavoie

157

11. Modules

Guide d'utilisation de LARP

Organigramme 11-10 : Deux exemples d'invocation d'un mme module

De plus, la seconde invocation est conforme l'invocation de fonctions prdfinies de LARP telle
que linvocation de RACINE :
\\ Module principal
DBUT
LIRE N
Rsultat = RACINE(N) / Factorielle(N)
FIN
Pseudo-code 11-14 : Invocation d'une fonction prdfinie

158

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

12. Fichiers et tampons d'entres/sorties

12 Fichiers et tampons d'entres/sorties


Par dfaut, lors de lexcution dun algorithmes les donnes sont lues via le clavier et les
rsultats sont affiches la console d'excution (i.e. l'cran). Le clavier (en lecture) et la console
d'excution (en criture) sont les interfaces d'entres/sorties standards de LARP.
Dans certains cas cependant, l'algorithme doit exploiter des donnes provenant d'autres sources
que le clavier. Ces donnes sont gnralement stockes dans un document externe
l'algorithme. Dans d'autres cas, l'algorithme doit conserver les rsultats produits dans un
document externe permanent, ce qui n'est pas le cas avec la console d'excution o les rsultats
affichs sont perdus lorsque la console est ferme.
LARP supporte deux sources d'informations externes :

Tampons d'entres/sorties : support de donnes intgr un projet LARP. Ce support


permet de lire et crire directement dans un document intgr au projet LARP. Comme
un module, un tampon d'entres/sorties est identifi dans le projet par un nom unique.
Fichiers : support de donnes gnralement stock sur le disque rigide de l'ordinateur
(ou sur un autre ordinateur accessible via une connexion rseau). Le fichier est identifi
par un nom unique au systme de fichiers de l'ordinateur excutant LARP.

Un algorithme qui lit des donnes ou crit des rsultats dans un fichier ou un tampon
d'entres/sorties accomplit une opration d'entre/sortie. Un tel transfert d'information est
effectu via un canal d'entres/sorties. Dans LARP, l'information traite via un canal
d'entres/sorties est prsente sous forme textuelle (c'est--dire une squence de caractres)
dans le document vis. On considre un canal d'entres/sorties comme une squence de
caractres. Les rfrences un canal d'entres/sorties se font via un numro de canal.

12.1 Tampons d'entres/sorties


Un projet LARP est constitu d'au moins un module principal et peut-tre un ou plusieurs
modules auxiliaires. LARP permet aussi de dfinir des modules de donnes , communment
appels tampons d'entres/sorties. Dans l'environnement de dveloppement de LARP, les
tampons d'entres/sorties sont accessibles via le navigateur de documents (voir Figure 12-1).
Les tampons d'entres/sorties sont crs par l'utilisateur de faon similaire la cration de
modules auxiliaires :

via les menus Fichier Nouveau et Projet Nouveau sur la barre de menu, ou
via le menu contextuel du navigateur de documents, accessible en cliquant le bouton
droit de la souris lorsqu'elle est positionne sur le navigateur.

Les rgles rgissant comment nommer un tampon sont identiques celle dictant les noms de
modules.
Aprs avoir cr un tampon d'entres/sorties, l'utilisateur peut y insrer des donnes via l'diteur
textuel. Lalgorithme peut ensuite lire ou crire dans un tampon d'entres/sorties du projet l'aide
des instructions LIRE et CRIRE. Notez que l'instruction REQUTE ne permet pas d'accder au
contenu des tampons d'entres/sorties ni celui des fichiers.
Note importante : la gestion des tampons d'entres/sorties ne peut tre faite que via
l'environnement de dveloppement de LARP. Il est impossible pour un algorithme de crer un
nouveau tampon ou dtruire un tampon existant durant son excution.

Copyright 2004-2008 Marco Lavoie

159

12. Fichiers et tampons d'entres/sorties

Guide d'utilisation de LARP

Figure 12-1 : Tampons d'entres/sorties dun projet

12.2 Fichiers
Comme pour les tampons d'entres/sorties, LARP peut accder des fichiers grs par le
systme d'exploitation de l'ordinateur pour la lecture de donnes ou l'criture de rsultats. Voici
les distinctions entre les tampons d'entres/sorties et les fichiers :

160

Les tampons d'entres/sorties sont grs par LARP, alors que les fichiers sont grs par
le systme d'exploitation de l'ordinateur supportant LARP. C'est pourquoi les fichiers
n'apparaissent pas dans le navigateur de documents de LARP, alors que les tampons
d'entres/sorties y figurent.
Dans un algorithme, un tampon d'entres/sorties est identifi par son nom lors de son
ouverture. En plus de son nom, un fichier dispose d'un chemin d'accs indiquant la
position du fichier (i.e. son rpertoire) dans le systme de fichiers de l'ordinateur. Ainsi,
pour ouvrir un fichier, il faut fournir son nom ainsi que le chemin d'accs menant au
rpertoire o est situ le fichier.
Un tampon d'entres/sorties exploit dans un algorithme doit au pralable tre cr via
l'environnement de dveloppement de LARP, alors qu'un fichier peut tre implicitement
cr par lalgorithme lors de l'excution de celui-ci.
Un tampon d'entres/sorties n'est pas accessible l'extrieur de l'environnement de
dveloppement de LARP. Par contre, un fichier est accessible en tout temps, par tout
logiciel (LARP ou autres) excutable sur l'ordinateur. Ainsi, un fichier cr l'aide d'un
autre logiciel peut tre lu par un algorithme LARP, et un fichier cr par un algorithme
LARP est accessible aux autres logiciels. Ce n'est pas le cas des tampons
d'entres/sorties. Notez cependant que l'environnement de dveloppement de LARP
permet de convertir un tampon d'entres/sorties en fichier (via la commande Projet
Tampons dE/S Exporter de la barre de menu), et vice-versa (via la commande
Projet Tampons dE/S Importer de la barre de menu).

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

12. Fichiers et tampons d'entres/sorties

Du point de vue de l'algorithme excut, la seule distinction majeure entre un fichier et un tampon
d'entres/sorties est la faon d'ouvrir le document avec l'instruction OUVRIR.

12.3 Canaux d'entres/sorties


L'exploitation d'un document (i.e. un tampon d'entres/sortie ou un fichier) dans un algorithme
LARP est effectue via un canal d'entres/sorties. LARP permet d'associer un numro unique
chaque document lors de son ouverture. Par la suite toute instruction impliquant ce document
exploite le numro de canal d'entres/sorties pour identifier le document vis.
LARP dispose de 256 canaux d'entres/sorties, numrots de 1 256. Ainsi, un algorithme
LARP peut accder simultanment 256 tampons d'entres/sorties et/ou fichiers. Lorsqu'un
canal d'entres/sorties est associ un document (lors de son ouverture), cette association doit
tre explicitement rompue (par la fermeture du document) avant d'associer le canal un autre
document. Similairement, deux canaux d'entres/sorties ne peuvent pas simultanment tre
associs un mme document. Toute violation ces restrictions entrane automatiquement une
interruption de l'excution de l'algorithme.
Lutilisation des canaux d'entres/sorties est bien illustre dans les exemples des prochaines
sections.

12.3.1

Ouverture d'un document

L'instruction d'ouverture d'un document est OUVRIR. Cette instruction permet :

d'associer un canal d'entres/sorties un fichier ou un tampon d'entres/sorties, et

d'indiquer le mode d'accs au canal d'entres/sorties.

Un tampon d'entres/sorties ou un fichier ne peut tre associ plus d'un canal simultanment,
et il demeure associ au canal jusqu' ce que celui-ci soit ferm.
l'exception de l'instruction d'association de canal (OUVRIR), LARP ne fait aucune distinction
entre les accs un tampon d'entres/sorties et un fichier. Les instructions de gestion de canal
(LECTURE, CRITURE, FERMER, ...) de LARP utilisent le canal d'entres/sorties comme
rfrence au document ouvert.

12.3.2

Ouvrir un tampon d'entres/sorties

Par dfaut, l'instruction OUVRIR associe un tampon d'entres/sorties au canal d'entres/sorties


spcifi :
\\ Ouvrir un tampon en mode Lecture
OUVRIR "DONNEES" SUR 3 EN LECTURE
Pseudo-code 12-1 : Ouvrir un tampon d'entres/sorties

Cette instruction associe le canal 3 au tampon d'entres/sorties nomm DONNEES afin d'en lire
le contenu.
Par dfaut, LARP associe une requte d'ouverture un tampon. On peut explicitement spcifier
le document comme tant un tampon. Lorganigramme suivant est quivalent au pseudo-code
prcdent :

Copyright 2004-2008 Marco Lavoie

161

12. Fichiers et tampons d'entres/sorties

Guide d'utilisation de LARP

Organigramme 12-1 : Exploitation du mot rserv TAMPON

Notez que linstruction squentielle dorganigramme est utilise pour insrer une instruction
douverture de tampon dentres/sorties ou de fichier dans un organigramme.
Comme stipul prcdemment, il est impossible d'associer plus d'un canal un mme tampon. Il
est de mme impossible d'associer deux tampons d'entres/sorties un mme canal :
\\ Ouvrir un tampon en mode Lecture
OUVRIR "DONNEES" SUR 3 EN LECTURE
OUVRIR "DONNEES" SUR 4 EN LECTRUE
\\ Erreur: fichier dj associ
\\
au canal 3
OUVRIR "DATA" SUR 3 EN LECTURE
\\ Erreur: canal 3 occup
Pseudo-code 12-2 : Instructions OUVRIR invalides

Il est important de noter qu'un algorithme ne peut pas crer des tampons d'entres/sorties lors de
son excution. Un projet LARP doit donc au pralable disposer des tampons entres/sorties
requis pour l'excution de ses modules. L'utilisateur doit crer les tampons via l'environnement de
dveloppement avant d'excuter l'algorithme exploitant ceux-ci.
Les tampons d'entres/sorties dfinis dans un projet LARP et leur contenu sont sauvegards
avec les modules dans le fichier LARP lors de la sauvegarde du projet.

12.3.3

Ouvrir un fichier

L'instruction permettant d'accder un fichier est semblable celle ouvrant un tampon


d'entres/sorties, avec le mot rserv FICHIER remplaant TAMPON :
\\ Ouvrir un fichier en mode Lecture
OUVRIR FICHIER "C:\\DONNEES.TXT" SUR 3 EN LECTURE
Pseudo-code 12-3 : Ouvrir un fichier

Le pseudo-code ci-dessus ouvre en mode lecture le fichier DONNEES.TXT localis dans le


rpertoire C:\. Le chemin au fichier vis dans la structure de rpertoires doit tre spcifi l'aide
d'antslashs (\\), o le double antslash est la squence d'chappement reprsentant l'antslash
simple (\).
Si aucun chemin de rpertoire n'est spcifi avec le nom du fichier, LARP ouvre le fichier dans le
rpertoire courant (habituellement le rpertoire o est sauvegard le projet LARP en excution).
Cependant, puisqu'il peut y avoir des exceptions cette rgle, il est recommand de toujours
prcder le nom d'un fichier du chemin de rpertoire complet o est situ le fichier dans l'unit de
stockage.
LARP peut tre dans l'impossibilit d'ouvrir le fichier spcifi pour une ou l'autre des raisons
suivantes :

162

Le fichier n'existe pas : l'algorithme tente d'ouvrir en mode lecture un fichier inexistant.

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

12. Fichiers et tampons d'entres/sorties

Le fichier est dj ouvert : l'algorithme tente d'ouvrir un fichier qui est dj ouvert par
LARP ou par une autre application de l'ordinateur.
Le canal d'entres/sorties n'est pas disponible : l'algorithme tente d'ouvrir un fichier
sur un canal d'entres/sorties invalide ou dj associ un autre document.
Le nom du fichier est invalide : le nom de fichier spcifi est invalide (peut tre d au

rpertoire inexistant, au nom du fichier contenant des caractres interdits par Windows
ou l'unit de stockage dfectueuse ou non disponible).

Lorsqu'il y a erreur l'ouverture d'un fichier, LARP interrompt l'excution de l'algorithme et affiche
un message d'erreur prcisant la cause de l'erreur.

12.3.4

Modes d'accs

Lors de l'ouverture d'un tampon d'entres/sorties ou d'un fichier, un mode d'accs doit tre
spcifi :

Organigramme 12-2 : Spcification du mode d'accs un document

Trois modes d'accs aux tampons d'entres/sorties et fichiers sont supports par LARP :

LECTURE : permet de lire le contenu du document l'aide de l'instruction LIRE. Si le


document est inexistant, lexcution de lalgorithme est interrompue.
CRITURE : permet d'crire des rsultats dans le document l'aide de l'instruction
CRIRE. Le contenu antrieur l'ouverture du document est effac. Si le document est
un fichier inexistant, celui-ci est cr. Si le document est un tampon dentres/sorties
inexistant, lexcution de lalgorithme est interrompue.
AJOUT : permet d'crire des rsultats la fin du document l'aide de l'instruction
CRIRE. Le contenu antrieur l'ouverture du document est conserv. Si le document
est un fichier inexistant, celui-ci est cr. Si le document est un tampon dentres/sorties
inexistant, lexcution de lalgorithme est interrompue.

La principale distinction entre les modes d'accs CRITURE et AJOUT est dans la gestion du
contenu antrieur du document :

L'ouverture d'un tampon d'entres/sorties ou d'un fichier en mode CRITURE efface


automatiquement le contenu antrieur du document.
L'ouverture d'un tampon d'entres/sorties ou d'un fichier en mode AJOUT prserve le
contenu existant, les nouveaux rsultats y tant crits la fin.

Seule l'instruction de lecture (LIRE) est autorise sur un canal d'entres/sorties associ un
document ouvert en mode LECTURE. Similairement, seule l'instruction d'criture (CRIRE) est
autorise sur un canal d'entres/sorties associ un document ouvert en mode CRITURE ou

Copyright 2004-2008 Marco Lavoie

163

12. Fichiers et tampons d'entres/sorties

Guide d'utilisation de LARP

AJOUT. Toute instruction de lecture ou d'criture invalide sur un canal d'entres/sorties cause
automatiquement l'arrt de l'excution de l'algorithme et un message d'erreur appropri est
affich.

12.3.5

Fermeture d'un canal d'entres/sorties

Tout tampon d'entres/sorties ou fichier ouvert doit ventuellement tre ferm. L'instruction de
fermeture est applique au canal d'entres/sorties associ au document qu'on dsire fermer :
OUVRIR "DONNEES" SUR 3 EN LECTURE
FERMER 3
Pseudo-code 12-4 : Fermer un tampon d'entres/sorties ou un fichier

Voici les rgles rgissant la fermeture des documents (tampons d'entres/sorties et fichiers) :

Tout document ouvert doit tre ferm. Si l'algorithme termine son excution sans avoir
ferm tous les tampons d'entres/sorties et fichiers ouverts, un message d'avertissement
est affich dans le panneau de messages et les documents ouverts sont
automatiquement ferms par LARP.
L'instruction de fermeture (FERMER) ne fait aucune distinction entre les modes d'accs
(i.e. les canaux ouverts en mode LECTURE, CRITURE et AJOUT sont ferms de faon
identique).
Un document ouvert doit tre ferm qu'une seule fois (une deuxime instruction de
fermeture visant un mme canal cause l'arrt d'excution de l'algorithme).
Une instruction FERMER impliquant un canal d'entres/sorties invalide (par exemple, un
canal non associ un tampon d'entres/sorties ou un fichier) cause l'arrt d'excution
de l'algorithme.

Linstruction FERMER permet de fermer plus dun canal dentres/sorties. Ceux-ci doivent tre
numrs en les sparant par des virgules :

Organigramme 12-3 : Fermer plusieurs canaux d'entres/sorties

12.4 Lecture via un canal d'entres/sorties


La lecture de donnes partir d'un tampon d'entres/sorties ou d'un fichier se fait via le canal
d'entres/sorties associ au document vis :
OUVRIR "DONNEES" SUR 3 EN LECTURE
LIRE Nom, Numro, Salaire DE 3
Pseudo-code 12-5 : Lecture d'un document via un canal d'entres/sorties

La syntaxe d'une instruction LIRE visant un canal d'entres/sorties est semblable une
instruction de lecture visant le clavier; il faut cependant spcifier le canal d'entres/sorties vis
l'aide du mot rserv DE dans un pseudo-code ou de spcifier le numro de canal dans la
fentre ddition dinstruction dorganigramme :

164

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

12. Fichiers et tampons d'entres/sorties

Figure 12-2 : Spcifier un numro de canal dans une instruction de lecture d'organigramme

Le canal d'entres/sorties doit obligatoirement tre associ un document (tampon


d'entres/sorties ou fichier) ouvert en mode LECTURE. Toute tentative de lecture visant un canal
d'entres/sorties associ un document ouvert en mode CRITURE ou AJOUT cause l'arrt
d'excution de l'algorithme.
Comme pour les instructions de lecture visant le clavier, les instructions de lecture visant les
canaux d'entres/sorties sont sujettes au sparateur courant.

12.5 criture via un canal d'entres/sorties


L'criture de rsultats dans un tampon d'entres/sorties ou dans un fichier se fait via le canal
d'entres/sorties associ au document vis :

Organigramme 12-4 : criture dans un document via un canal d'entres/sorties

La syntaxe d'une instruction CRIRE visant un canal d'entres/sorties est semblable une
instruction d'criture visant la console d'excution; il faut cependant spcifier le canal
d'entres/sorties vis l'aide du mot rserv DANS dans un pseudo-code ou de spcifier le
numro de canal dans la fentre ddition dinstruction dorganigramme :

Copyright 2004-2008 Marco Lavoie

165

12. Fichiers et tampons d'entres/sorties

Guide d'utilisation de LARP

Figure 12-3 : Spcifier un numro de canal dans une instruction d'criture d'organigramme

Le canal d'entres/sorties doit obligatoirement tre associ un document (tampon


d'entres/sorties ou fichier) ouvert en mode CRITURE ou AJOUT. Toute tentative d'criture
visant un canal d'entres/sorties associ un document ouvert en mode LECTURE cause l'arrt
d'excution de l'algorithme.
Comme pour les instructions d'criture visant la console d'excution, les instructions d'criture
visant les canaux d'entres/sorties sont sujettes au sparateur courant.

12.6 Dtection de fin de contenu via un canal d'entres/sorties


Puisqu'un tampon d'entres/sorties ou un fichier contient une quantit finie de donnes, il est
possible de dterminer si la dernire opration de lecture a atteint la fin des donnes. La fonction
prdfinie FINDECONTENU applique un canal d'entres/sorties permet de dterminer dans
une condition de structure conditionnelle ou rptitive si la fin du document lu est atteinte :
Somme = 0
OUVRIR "DONNEES" SUR 3 EN LECTURE
RPTER
LIRE Valeur DE 3
Somme = Somme + Valeur
JUSQU' FINDECONTENU(3)
FERMER 3
CRIRE Somme
Pseudo-code 12-6 : Dtection de la fin d'un document lors d'une lecture

La fonction prdfinie FINDECONTENU n'est applicable qu'aux canaux d'entres/sorties


associs en mode lecture. Toute invocation de la fonction FINDECONTENU sur un canal
d'entres/sorties associ un document ouvert en mode CRITURE ou AJOUT cause l'arrt
d'excution de l'algorithme.
La fonction FINDECONTENU n'est pas applicable au clavier puisqu'il est impossible d'associer
un canal d'entres/sorties celui-ci.

166

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe A - Calcul binaire

Annexe A - Calcul binaire


Les ordinateurs calculent d'une faon diffrente de l'humain. Alors que nous calculons
gnralement avec des nombre dcimaux (base 10, avec les chiffres 0 9), les ordinateurs
calculent avec des nombres binaires (base 2, avec les chiffres 0 et 1).

A.1 Pourquoi les ordinateurs sont-ils binaires?


Malgr le fait que les ordinateurs sont des machines capables de traiter du texte, de jouer de la
musique ou de projeter des vidos, en ralit ils ne sont capables que d'une seule chose : faire
des calculs, et uniquement cela. Ce sont en ralit des calculatrices amliores.
L'ordinateur reprsente et traite du texte, du son, des images et de la vido sous forme de
nombres. On dit qu'il manipule des informations binaires. L'information binaire est une unit
d'information ne pouvant avoir que deux tats : activ/dsactiv. Cette reprsentation a comme
origine les supports physiques permettant de stocker l'information. Puisque ces supports
fonctionnent l'lectricit, seules la prsence ou l'absence de courant dans un transistor
permettent de reprsenter une unit d'information.
On symbolise une information binaire, quel que soit son support physique, sous la forme de 1 et
de 0. Ainsi, l'ordinateur utilise comme base arithmtique les chiffres 0 et 1 (contrairement aux
humains qui utilisent les chiffres 0 9). Malgr cette limitation, l'ordinateur est tout de mme
capable d'effectuer des calculs aussi complexes que les humains. En fait, cette limitation en
terme de base de calcul est amplement compense par la vitesse de calcul de l'ordinateur. C'est
pourquoi ce dernier semble si performant par rapport l'humain, mme si la base il ne sait
manipuler que des zros et des uns.

A.2 La numrotation en base dcimale


Pour reprsenter un nombre, nous utilisons la numrotation de position en base dcimale. La
base dcimale met notre disposition un alphabet de dix chiffres (0 9). Lorsque nous crivons
un nombre avec ces chiffres, l'ordre dans lequel nous mettons les chiffres est primordial. Ainsi,
3498 n'est pas du tout le mme nombre que 8439. Cet ordonnancement est la deuxime
caractristique de notre systme de notation numrique: sa base dcimale.
Ainsi, le nombre 3498 peut tre dcompos en fonction de la position de chaque chiffre dans le
nombre :
3498, c'est 3000 + 400 + 90 + 8
Les zros apparaissant dans cette dcomposition proviennent d'un facteur multiplicatif
permettant de positionner chaque chiffre dans le nombre :
3000
400
90
8

c'est
c'est
c'est
c'est

3
4
6
8

x
x
x
x

1000
100
10
1

On peut donc crire le nombre 3498 de multiples faons :


3498 = 3 x 1000 + 4 x 100 + 9 x 10 + 8 x 1
ou bien :
3498 = (3 x 10 x 10 x 10) + (4 x 10 x 10) + (9 x 10) + (8 x 1)

Copyright 2004-2008 Marco Lavoie

167

Annexe A - Calcul binaire

Guide d'utilisation de LARP

ou encore :
3498 = 3 x 103 + 4 x 102 + 9 x 101 + 8 x 100
Voil donc le mcanisme gnral de la reprsentation par numrotation de position en base
dcimale. Comme on le constate dans la dernire reprsentation du nombre 3498, les chiffres de
ce nombre sont positionns en fonction d'une puissance de 10, de droite vers la gauche, en
commenant par la puissance 0.

A.3 La numrotation en base binaire


La technologie permettant de stocker et manipuler de l'information dans un ordinateur est
rudimentaire; l'information y est stocke sous forme binaire, par paquets de 0 et de 1. Par
convention, la taille de ces paquets est de 8 informations binaires. Une information binaire
(symbolise par 0 ou 1) s'appelle un bit. Un groupe de huit bits est un octet (byte en anglais).
Combien d'tats un octet peut-il possder ? Retournons momentanment la base dcimale.
Combien de nombres peut-on reprsenter avec trois chiffres en base dcimale ? En fait, trois
3
chiffres en base 10 permettent de reprsenter 10 ou 1000 nombres (i.e. de 0 999). De faon
8
analogue, un octet contenant 8 bits en base 2 peut reprsenter 2 = 256 nombres. Un octet
permet donc de coder les nombres 0 255 en binaire (ou de -127 +128 si les nombres ngatifs
doivent tre reprsents). Pour reprsenter de plus grands nombres, plus d'un octet sont requis.
16
Ainsi, deux octets (i.e. 16 bits) permettent de reprsenter 2 = 65536 nombres, trois octets
24
permettent de reprsenter 2 = 16777216 nombres, et ainsi de suite.
Puisque l'ordinateur doit manipuler divers types d'information, un octet peut servir coder autre
chose qu'un nombre, comme par exemple du texte. Puisqu'il y a seulement 26 lettres dans
l'alphabet, mme en comptant les majuscules, les minuscules, les caractres accentus ainsi
que les chiffres et les signes de ponctuation, le nombre total de caractres reprsenter est tout
de mme infrieur 256. Ainsi, un seul octet peut tre employ pour reprsenter distinctivement
n'importe quel caractre conventionnel d'un texte franais.
Il existe un standard international et universel de codage des caractres, chiffres et signes de
ponctuation bas sur le codage binaire : le codage ASCII (pour American Standard Code for
Information Interchange). Le codage ASCII tablit une correspondance entre les caractres
standards de l'alphabet (ainsi que d'autres symboles couramment employs en typographie) et
les nombres binaires 0 255. Le Tableau 12-1 prsente les codes ASCII correspondant aux
caractres affichables couramment employs dans les algorithmes.
Revenons au codage des nombres sur un octet. La conversion d'un nombre binaire en nombre
dcimal correspondant est obtenue en appliquant la dcomposition prsente prcdemment en
base dcimale, mais cette fois-ci applique en base binaire. Prenons un octet au hasard :
1 0 0 1 1 1 0 1
Ce nombre reprsente en base 10, de gauche vers la droite :
1 x 27 + 0 x 26 + 0 x 25 + 1 x 24 + 1 x 23 + 1 x 22 + 0 x 2 1 + 1 x 20 =
1 x 128 + 1 x 16 + 1 x 8 + 1 x 4 + 1 x 1 =
128 + 16 + 8 + 4 + 1 =
157

168

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe A - Calcul binaire

ASCII

Lettre

ASCII

Lettre

ASCII

Lettre

ASCII

Lettre

032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063

Espace
!
"
#
$
%
&
'
(
)
*
+
,
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?

064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095

@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_

096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127

`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~

128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159

Tableau 12-1 : Table des codes ASCII

Inversement, pour convertir un nombre dcimal en base binaire, il faut rechercher dans ce
nombre les puissances successives de 2 partir de la plus grande des puissances infrieures au
nombre. Par exemple, 157 sera convertit ainsi :
157
29
29
29
13
5
1
1

contient 1 x 128 (2 ),
6
contient 0 x 64 (2 ),
5
contient 0 x 32 (2 ),
4
contient 1 x 16 (2 ),
3
contient 1 x 8 (2 ),
2
contient 1 x 4 (2 ),
1
contient 0 x 2 (2 ),
0
contient 1 x 1 (2 ),

et il reste 29.
et il reste toujours 29.
et il reste toujours 29.
et il reste 13.
et il reste 5.
et il reste 1.
et il reste toujours 1.
et finalement il ne reste rien.

En reportant ces rsultats dans l'ordre de calcul, on obtient 10011101.

Copyright 2004-2008 Marco Lavoie

169

Annexe A - Calcul binaire

Guide d'utilisation de LARP

A.4 La numrotation hexadcimale


Puisque l'humain n'est gnralement pas familier avec la notation binaire, il lui est difficile de
"lire" un nombre binaire, i.e. convertir mentalement un nombre de la base binaire la base
dcimale (par exemple, convertir 10011101 en base 2 157 en base 10 exige un calcul
difficilement ralisable mentalement). Pour faciliter la lecture binaire l'humain, un troisime
codage est exploit couramment en informatique, le codage hexadcimal, en base 16.
La base hexadcimale reprsente l'octet non pas comme 8 bits mais comme deux paquets de 4
4
bits (les quatre bits de gauche, et les quatre bits de droite). Quatre bits permettent de coder 2 =
16 nombres diffrents. Alternativement, un seul chiffre hexadcimal est requis pour reprsenter
16 nombres (de mme qu'en base 10, un chiffre permet de reprsenter 10 nombres, i.e. de 0
9).
En base hexadcimale, aux dix premiers chiffres de la base dcimale (0 9) sont ajoutes les 6
premires lettres de l'alphabet (A F). Par convention, A vaut 10, B vaut 11, C vaut 12, D vaut
13, E vaut 14 et F vaut 15. Ainsi, les chiffres utiliss pour reprsenter les nombres en base
hexadcimale sont 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E et F.
La table qui suit rsume les correspondances dcimales et binaires aux chiffres hexadcimaux :
Hexadcimal

Dcimal

Binaire

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

Tableau 12-2 : Correspondance des bases de numrotation


4

Puisque chaque chiffre hexadcimal peut reprsenter 16 nombres ou 4 bits (2 = 16), on peut
ainsi utiliser deux chiffres hexadcimaux pour reprsenter un octet. Par exemple, comme nous
l'avons vu prcdemment le nombre 157 (en base dcimale) est reprsent ainsi en binaire :
10011101
Cet octet peut tre reprsent en base hexadcimale en divisant ses bits en deux paquets de 4
bits, puis en reprsentant chacun de ces deux paquets par le chiffre hexadcimal correspondant :
1001

1101

170

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe A - Calcul binaire

Ainsi, le nombre binaire 10011101 est reprsent en hexadcimal par 9D, c'est--dire 157 en
base dcimale.
Le codage hexadcimal est couramment utilis pour reprsenter les octets individuellement, la
valeur d'un octet pouvant ainsi tre reprsente par deux chiffres (9D) en base hexadcimale
plutt quen huit chiffres (10011101) en base binaire. De plus, lorsque la table de conversion
hexadcimale binaire (Tableau 12-2) est mmorise, il est facile pour le programmeur de
convertir mentalement des nombre hexadcimaux en nombres binaires, et vice-versa.

Copyright 2004-2008 Marco Lavoie

171

Guide d'utilisation de LARP

Annexe B - Rcursivit

Annexe B - Rcursivit
En algorithmique, la programmation de modules permet d'implanter une logique emprunte aux
mathmatiques : la programmation rcursive. Celle-ci est prsente dans cette annexe en
prenant comme exemple le calcul de la factorielle mathmatique.
La factorielle d'un nombre n, communment crite n!, est dfinie selon la formule suivante :
n! = 1 x 2 x 3 x ... x n
Cette quation peut tre gnralise sous forme rcursive :
n! = (n-1)! x n
On dit cette quation rcursive car la factorielle d'un nombre est dfinie en fonction de ce nombre
multipli par la factorielle du nombre prcdent. Donc la factorielle est dfinie l'aide de la
factorielle. On semble tourner en rond, mais ce n'est pas le cas puisqu'on peut au pralable
calculer (n-1)! afin de calculer n!. Puisque (n-1)! = (n-2)! x (n-1), il faut au pralable calculer (n-2)!,
et ainsi de suite. Puisque par dfinition 0! = 1, le cycle de calcul de la factorielle du nombre
prcdent s'arrte n = 0 dont on connat la rponse, 1.
Dans LARP comme dans la plupart des langages de programmation, on peut crire un module
Factorielle qui calcule la factorielle d'un paramtre donn. Cette fonction effectue la
multiplication du nombre fourni en paramtre par la factorielle du nombre prcdent. Et cette
factorielle du nombre prcdent va bien entendu tre elle-mme calcule par la fonction
Factorielle. Autrement dit, on cre une fonction qui fait appel elle mme. C'est la rcursivit.
Voici un pseudo-code LARP rcursif calculant la factorielle de son paramtre n :
\\ Module Factorielle
ENTRER n
SI n = 0 ALORS
nFac = 1
SINON
nFac = n * Factorielle(n-1)
FINSI
RETOURNER nFac
Pseudo-code B-1 : Calcul de la factorielle (module rcursif)

On remarque premirement dans ce module que le processus d'appels rcursifs est prcd
d'une condition s'assurant que les appels rcursifs vont ventuellement s'arrter (lorsque n
atteindra 0). Sans une telle condition, la rcursivit serait applique indfiniment. Ceci est une
caractristique commune tous les modules rcursifs : ils doivent disposer d'une condition qui
cessera ventuellement les appels rcursifs.
On peut aussi remarquer que le processus rcursif remplace en quelque sorte une structure
rptitive, c'est--dire un processus itratif. En fait, le module ci-dessus peut facilement tre crit
sous une forme itrative plutt que rcursive, tel que dmontr dans le pseudo-code suivant.
Ceci est une autre caractristique des modules rcursifs : il est toujours possible d'crire un
module itratif quivalent qui nexploite pas la rcursivit.

Copyright 2004-2008 Marco Lavoie

173

Annexe B - Rcursivit

Guide d'utilisation de LARP

\\ Module Factorielle
ENTRER n
nFac = 1
TANTQUE n > 0 FAIRE
nFac = nFac * n
n = n - 1
FINTANTQUE
RETOURNER nFac
Pseudo-code B-2 : Calcul de la factorielle (module itratif)

Pour conclure voici trois observations importantes sur la rcursivit :

174

La programmation rcursive est trs intuitive pour rsoudre certains problmes; elle
permet d'crire des modules simples et comportant peu d'oprations.
Par contre la rcursivit est trs dispendieuse en ressources machine. Chaque appel
rcursif dans un module requiert de l'espace mmoire de l'ordinateur (car la valeur de
chaque variable locale du module doit tre temporairement stocke en mmoire avant de
passer l'appel rcursif).
Tout problme rsolu par rcursivit peut aussi l'tre de faon itrative. En fait la
rcursivit n'est pas essentielle en programmation. Cependant elle est parfois plus
lgante!

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe C - Fonctions prdfinies

Annexe C - Fonctions prdfinies


Cette section offre une description dtaille de chaque fonction prdfinie de LARP.
Voici les fonctions prdfinies disponibles :
ABSOLU

DATE

LOG10

PI

ALATOIRE

ENCARACTRES

LOGE

PLAFOND

ARCTANGENTE

ENCHANE

LONGUEUR

PLANCHER

ARRONDIR

EXP

MAJUSCULES

POSITION

CAPACIT

FINDECONTENU

MAXIMUM

RACINE

COMPTER

FORMATER

MINIMUM

SINUS

COSINUS

HEURE

MINUSCULES

SOUSENSEMBLE

Notez que :

Dans les descriptions de fonctions qui suivent , les crochets ([ et ]) sont gnralement
employs pour indiquer des lments de syntaxe pouvant tre omis.
Les lments de syntaxe prsents en italique sont descriptifs et ne sont pas partie
intgrante de la syntaxe de l'appel de la fonction.

ABSOLU
Nom :

ABSOLU

Synonymes :

ABS

Type de retour :

Numrique

Nombre d'arguments :

Description :

ABSOLU retourne la valeur absolue (i.e. positive) du nombre donn


en paramtre.

Format(s) d'appel :

ABSOLU(numrique)

Cette fonction retourne la valeur absolue de la valeur numrique fournie en paramtre. Le type
de la valeur de retour correspond au type du paramtre (ex : si le paramtre est flottant, la valeur
de retour est flottante).
Si le paramtre fourni est une chane de caractres, il y a tentative de conversion de celle-ci en
valeur numrique.
Exemples
CRIRE ABSOLU(-3.2)
CRIRE ABS(17+4)
CRIRE ABSOLU("-4.1")
Pseudo-code C-1 : Exemples d'invocation de ABSOLU

Copyright 2004-2008 Marco Lavoie

175

Annexe C - Fonctions prdfinies

Guide d'utilisation de LARP

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
3.2
21
4.1
Figure C-1 : Rsultats de l'invocation de ABSOLU

ALATOIRE
Nom :

ALATOIRE

Synonymes :

ALA

Type de retour :

Numrique

Nombre d'arguments :

0, 1 ou 2

Description :

ALATOIRE retourne un nombre flottant ou entier choisi au hasard


(plusieurs versions de la fonction sont disponibles).

Format(s) d'appel :

ALATOIRE
ALATOIRE(numrique)
ALATOIRE(numrique, numrique)

Cette fonction retourne une valeur numrique choisie au hasard. La valeur retourne dpend des
paramtres fournis :

Aucun paramtre : ALATOIRE retourne une valeur flottante x telle que 0 < x < 1.
Un paramtre : ALATOIRE(p) retourne une valeur x telle que 0 < x < p. Le type de x
correspond au type de p.
Deux paramtres : ALATOIRE(p,q) retourne une valeur x telle que p < x < q. Le type
de x correspond aux types de p et q (si p ou q est flottant, la valeur de retour x est
flottante; si p et q sont entiers, la valeur de retour est entire).

Si un des paramtres fournis est une chane de caractres, il y a tentative de conversion de celleci en valeur numrique.
Exemples
POUR i =
CRIRE
CRIRE
CRIRE
FINPOUR

1 JUSQU' 5 FAIRE
"ALA= ", ALATOIRE
"ALA(4)= ", ALATOIRE(4)
"ALA(1,5.0)=", ALA(1, 5.0)
Pseudo-code C-2 : Exemples d'invocation de ALATOIRE

176

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe C - Fonctions prdfinies

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
ALA= 0.232930421130732
ALA(4)= 3
ALA(1,5.0)= 3.8551177335903
ALA= 0.438837686553597
ALA(4)= 3
ALA(1,5.0)= 1.61782418005168
ALA= 0.0393810363020748
ALA(4)= 0
ALA(1,5.0)= 1.03878780175
ALA= 0.378834913019091
ALA(4)= 1
ALA(1,5.0)= 2.45533445477486
ALA= 0.0822982566896826
ALA(4)= 1
ALA(1,5.0)= 3.0188071122393
Figure C-2 : Rsultats de l'invocation de ALATOIRE

ARCTANGENTE
Nom :

ARCTANGENTE

Synonymes :

ARCTAN

Type de retour :

Numrique flottant

Nombre d'arguments :

Description :

ARCTANGENTE retourne la fonction trigonomtrique inverse Tan


de l'angle donne en paramtre (en radians).

Format(s) d'appel :

ARCTANGENTE(numrique)

-1

-1

Cette fonction retourne l'arc tangente (Tan ) de la valeur numrique (angle en radians) fournie en
paramtre. La valeur de retour est de type flottant.
Si le paramtre fourni est une chane de caractres, il y a tentative de conversion de celle-ci en
valeur numrique.
Notez que diverses fonctions trigonomtriques peuvent tre calcules l'aide des fonctions
prdfinies SINUS, COSINUS et ARCTANGENTE :
Tan(x) = SINUS(x) / COSINUS(x)
-1

Sin (x) = ARCTANGENTE(x / RACINE (1 - (x * x)))


-1

Cos (x) = ARCTANGENTE (RACINE(1 - (x * x)) / x)


Exemples
CRIRE ARCTANGENTE(1.2)
CRIRE ARCTAN("-1.7")
Pseudo-code C-3 : Exemples d'invocation de ARCTANGENTE

Copyright 2004-2008 Marco Lavoie

177

Annexe C - Fonctions prdfinies

Guide d'utilisation de LARP

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
0.876058050598193
-1.03907225953609
Figure C-3 : Rsultats de l'invocation de ARCTANGENTE

ARRONDIR
Nom :

ARRONDIR

Synonymes :

ARR

Type de retour :

Numrique entier

Nombre d'arguments :

Description :

ARRONDIR retourne son paramtre arrondi l'entier le plus prs.

Format(s) d'appel :

ARRONDIR(numrique)

Cette fonction retourne son paramtre arrondi l'entier le plus prs. Si le paramtre est dj
entier, il est simplement retourn. Si par contre le paramtre est flottant, il est converti en entier le
plus prs; et si le flottant est exactement mi-chemin entre deux entiers (i.e. x + 0.5), il est
arrondi l'entier le plus grand en magnitude absolue.
Si le paramtre fourni est une chane de caractres, il y a tentative de conversion de celle-ci en
valeur numrique.
Exemples
CRIRE ARRONDIR(11.32)
CRIRE ARR("-1.5")
Pseudo-code C-4 : Exemples d'invocation de ARRONDIR

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
11
-2
Figure C-4 : Rsultats de l'invocation de ARRONDIR

178

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe C - Fonctions prdfinies

CAPACIT
Nom :

CAPACIT

Synonymes :

CAP

Type de retour :

Numrique entier

Nombre d'arguments :

Description :

CAPACIT retourne le nombre d'lments dfinis et indfinis


retrouvs dans le conteneur.

Format(s) d'appel :

CAPACIT(conteneur)

Cette fonction compte le nombre total de positions (i.e. les lments dfinis et indfinis) dans le
conteneur fourni en paramtre.
Cette fonction n'est pas applique rcursivement aux dimensions d'un conteneur
multidimensionnel, le compte des lments se faisant uniquement la premire dimension du
conteneur.
Contrairement la fonction CAPACIT, la fonction COMPTER retourne uniquement le nombre
d'lments dfinis dans un conteneur.
Exemples
CRIRE CAPACIT([1, , 3, ])
a = [1, [2, 3], 4]
CRIRE CAP(a)
Pseudo-code C-5 : Exemples d'invocation de CAPACIT

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
4
3
Figure C-5 : Rsultats de l'invocation de CAPACIT

COMPTER
Nom :

COMPTER

Synonymes :

COMPT, LONGUEUR

Type de retour :

Numrique entier

Nombre d'arguments :

Description :

COMPTER retourne le nombre d'lments dfinis dans le conteneur,


ou le nombre de caractres dans une chane de caractres.

Format(s) d'appel :

COMPTER(conteneur)
COMPTER(chane de caractres)

Si le paramtre est une chane de caractres, cette fonction compte le nombre de caractres
dans la chane.

Copyright 2004-2008 Marco Lavoie

179

Annexe C - Fonctions prdfinies

Guide d'utilisation de LARP

Si le paramtre est un conteneur, cette fonction compte le nombre total d'lments dfinis dans
le conteneur. Cette fonction n'est pas applique rcursivement aux dimensions d'un conteneur
multidimensionnel, le compte des lments se faisant uniquement dans la premire dimension du
conteneur.
Contrairement la fonction COMPTER, la fonction CAPACIT retourne le nombre d'lments
dfinis et indfinis dans un conteneur.
Exemples
CRIRE COMPTER([1, , 3, ])
a = [1, [2, 3], 4]
CRIRE COMPT(a)
CRIRE LONGUEUR("Bonjour le monde!")
Pseudo-code C-6 : Exemples d'invocation de COMPTER

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
2
3
17
Figure C-6 : Rsultats de l'invocation de COMPTER

COSINUS
Nom :

COSINUS

Synonymes :

COS

Type de retour :

Numrique flottant

Nombre d'arguments :

Description :

COSINUS retourne la valeur de la fonction trigonomtrique Cos


applique l'angle donne en paramtre (en radians).

Format(s) d'appel :

COSINUS(numrique)

Cette fonction retourne le cosinus (Cos) de la valeur numrique (angle en radians) fournie en
paramtre. La valeur de retour est de type flottant.
Si le paramtre fourni est une chane de caractres, il y a tentative de conversion de celle-ci en
valeur numrique.
Exemples
CRIRE COSINUS(1 + 0.2)
CRIRE COS("-1.7")
Pseudo-code C-7 : Exemples d'invocation de COSINUS

180

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe C - Fonctions prdfinies

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
0.362357754476674
-0.128844494295525
Figure C-7 : Rsultats de l'invocation de COSINUS

DATE
Nom :

DATE

Synonymes :

Aucun

Type de retour :

Conteneur

Nombre d'arguments :

Description :

DATE retourne un conteneur de quatre valeurs : lanne courante, le


mois courant (1 12), le jour courant (1 31) et le jour de la
semaine (1 7).

Format(s) d'appel :

DATE

Cette fonction retourne la date courante dans un conteneur. Les quatre valeurs contenues dans
le conteneur retourn sont :
DATE[1] est lanne courante,
DATE[2] est le mois courant (1 = janvier 12 = dcembre),
DATE[3] est le jour courant, et
DATE[4] est le jour de la semaine (1 = dimanche jusqu 7 = samedi).
Exemples
CRIRE DATE
CRIRE "Anne =", DATE[1]
Pseudo-code C-8 : Exemples d'invocation de DATE

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
[2006 3 13 2]
2006
Figure C-8 : Rsultats de l'invocation de DATE

Copyright 2004-2008 Marco Lavoie

181

Annexe C - Fonctions prdfinies

Guide d'utilisation de LARP

ENCARACTRES
Nom :

ENCARACTRES

Synonymes :

ENCARAC

Type de retour :

Conteneur

Nombre d'arguments :

Description :

ENCARACTRES convertit le paramtre donn en un conteneur


ayant chaque caractre comme lment distinct.

Format(s) d'appel :

ENCARACTRES(chane de caractres)
ENCARACTRES(numrique)
ENCARACTRES(conteneur)

Cette fonction retourne un conteneur contenant chaque caractre du paramtre donn. La


conversion en caractres du paramtre est effectue en fonction du type du paramtre.
Si le paramtre est une chane de caractres, le conteneur retourn contient comme lments
les caractres de la chane.
Si le paramtre est une valeur numrique, celle-ci est convertie en chane de caractres avant
d'effectuer la sparation en caractres.
Si le paramtre est un conteneur, la fonction ENCARACTRES convertit chaque lment en
caractres individuels, regroupant tous les caractres obtenus dans un conteneur. Si le
paramtre est un conteneur multidimensionnel, l'extraction de caractres est applique
rcursivement.
Exemples
SPARATEUR ","
CRIRE ENCARACTRES("Bravo!")
CRIRE ENCARACTRES(132.4)
CRIRE ENCARAC([1, ["Bye", 3], 4])
Pseudo-code C-9 : Exemples d'invocation de ENCARACTRES

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
[B,r,a,v,o,!]
[1,3,2,.,4]
[1,B,y,e,3,4]
Figure C-9 : Rsultats de l'invocation de ENCARACTRES

Notez que chaque lment des conteneurs ci-dessus est un caractre. Ainsi, le conteneur
[1,B,y,e,3,4] est en fait constitu des lments '1', 'B', 'y', 'e', '3' et '4'.

182

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe C - Fonctions prdfinies

ENCHANE
Nom :

ENCHANE

Synonymes :

Aucun

Type de retour :

Chane de caractres

Nombre d'arguments :

Description :

ENCHANE convertit le paramtre en une chane de caractres.

Format(s) d'appel :

ENCHANE(numrique)
ENCHANE(conteneur)

Cette fonction retourne une chane de caractres contenant le paramtre tel que reprsent par
une opration d'criture la console. Le paramtre peut tre un numrique, un conteneur ou
mme une chane de caractres (dans lequel cas aucune conversion n'est effectue).
La fonction FORMATER peut tre employe pour convertir plus d'un argument ou pour appliquer
des formats de conversion.
Exemples
CRIRE ENCHANE("Bravo!")
CRIRE ENCHANE(132.4)
CRIRE ENCHANE([1, ["Bye", 3], 4])
Pseudo-code C-10 : Exemples d'invocation de ENCHANE

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
Bravo!
132.4
1Bye34
Figure C-10 : Rsultats de l'invocation de ENCHANE

Notez dans l'exemple ci-dessus que l'invocation ENCHANE(132.4) retourne la chane "132.4".

EXP
Nom :

EXP

Synonymes :

Aucun

Type de retour :

Numrique flottant

Nombre d'arguments :

Description :

EXP retourne la base du logarithme naturel.

Format(s) d'appel :

EXP

Cette fonction retourne e (2.71828182845905), la base du logarithme naturel (voir la fonction


LOGE).

Copyright 2004-2008 Marco Lavoie

183

Annexe C - Fonctions prdfinies

Guide d'utilisation de LARP

Exemples
CRIRE EXP
CRIRE LOGE(EXP)
Pseudo-code C-11 : Exemples d'invocation de EXP

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
2.71828182845905
1
Figure C-11 : Rsultats de l'invocation de EXP

FINDECONTENU
Nom :

FINDECONTENU

Synonymes :

FDC

Type de retour :

Vrai ou faux

Nombre d'arguments :

Description :

FINDECONTENU retourne vrai si le canal d'entres/sorties fourni a


atteint la fin du contenu du fichier lu ou tampon lu.

Format(s) d'appel :

FINDECONTENU(canal d'entres/sorties)

La fonction prdfinie FINDECONTENU applique un canal d'entres/sorties permet de


dterminer dans une condition si la fin du contenu d'un document lu (fichier ou tampon
d'entres/sorties) est atteinte.
La fonction n'est applicable qu'aux canaux d'entres/sorties accessibles en mode lecture. Tout
appel cette fonction avec un canal d'entres/sorties associ un document ouvert en mode
CRITURE ou AJOUT cause l'arrt d'excution de l'algorithme.
La fonction FINDECONTENU n'est pas applicable au clavier puisqu'il est impossible d'associer
ce dernier un canal d'entres/sorties.
Exemples
OUVRIR "DONNEES" SUR 3 EN LECTURE
RPTER
LIRE Valeur DE 3
CRIRE Valeur
JUSQU' FINDECONTENU(3) OU Valeur < 0
SI FDC(3) ALORS
CRIRE "Toutes les donnes lues"
FINSI
Pseudo-code C-12 : Exemples d'invocation de FINDECONTENU

184

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe C - Fonctions prdfinies

FORMATER
Nom :

FORMATER

Synonymes :

Aucun

Type de retour :

Chane de caractres

Nombre d'arguments :

1 ou plus

Description :

FORMATER retourne une chane de caractres constitue partir


d'une chane de formatage et d'une squence optionnelle
d'arguments.

Format(s) d'appel :

FORMATER(chane de formatage, squence d'arguments)

Cette fonction formate une squence d'arguments selon des directives de formatage fournies via
la chane de formatage. On peut ainsi utiliser cette fonction pour formater des rsultats avant de
les afficher. La valeur retourne est une chane de caractres contenant les arguments formats.
La fonction ENCHANE peut tre employe pour convertir un seul argument en chane de
caractres, sans spcification de formatage.
Chane de formatage
Une chane de formatage contient deux types d'lments : des caractres conventionnels et des
spcificateurs de format. Les caractres conventionnels sont copis tels quels dans la chane
retourne. Les spcificateurs de format extraient les valeurs de la squence d'arguments et y
appliquent des directives de formatage.
Les spcificateurs de format ont la structure suivante (les crochets [ et ] indiquent un champs
optionnel et ne font pas partie de la syntaxe des spcificateurs de format) :
%[-][largeur][.prcision]type
Un spcificateur de format dbute par le caractre %. Les lments suivants font suite au % :

Un indicateur de justification gauche optionnel, -

Un spcificateur de largeur optionnel, largeur

Un spcificateur de prcision optionnel, .prcision

Un spcificateur de conversion de type, type

Le tableau suivant rsume les valeurs possibles de type et l'interprtation correspondante des
lments de formatage.
Type

Signification

Description

Dcimal

L'argument doit tre une valeur entire (LARP tente de convertir


toute valeur d'un type autre un entier). La valeur est convertie en
chane de chiffres. Si le spcificateur de format comprend un
spcificateur de prcision, celui-ci indique que la chane rsultante
doit contenir au minimum le nombre indiqu de chiffres, des 0
tant insrs gauche au besoin.

Copyright 2004-2008 Marco Lavoie

185

Annexe C - Fonctions prdfinies

Guide d'utilisation de LARP

Type

Signification

Description

Scientifique

L'argument doit tre une valeur flottante (LARP tente de convertir


toute valeur d'un type autre un flottant). La valeur est convertie en
chane de la forme d.ddd...E+ddd . La chane rsultante dbute
par le signe ngatif si la valeur est ngative. Un chiffre prcde
toujours le point dcimal. Le nombre total de chiffres dans la chane
rsultante (incluant ceux prcdant le point dcimal) est donn via le
spcificateur de prcision, une prcision par dfaut de 15 chiffres
tant applique. Le caractre d'exposant E dans la chane rsultante
est toujours suivi d'un signe + ou - et d'au moins trois chiffres.

Fixe

L'argument doit tre une valeur flottante (LARP tente de convertir


toute valeur d'un type autre un flottant). La valeur est convertie en
chane de la forme d.ddd . La chane rsultante dbute par le
signe ngatif si la valeur est ngative. Un chiffre prcde toujours le
point dcimal, un 0 tant affich au besoin. Le nombre total de
chiffres aprs le point dcimal est donn via le spcificateur de
prcision, une prcision par dfaut de 2 chiffres tant applique.

Gnral

L'argument doit tre une valeur flottante (LARP tente de convertir


toute valeur d'un type autre un flottant). La valeur est convertie en
chane de la plus petite longueur possible selon la notation fixe (f) ou
scientifique (e). Le nombre total de chiffres dans la chane rsultante
(incluant ceux prcdant le point dcimal) est donn via le
spcificateur de prcision, une prcision par dfaut de 15 chiffres
tant applique. Les zros inutiles sont limins de la fin de la
chane rsultante, et le point dcimal n'est affich qu'en cas de
ncessit. La chane rsultante exploite la notation fixe (f) si le
nombre de chiffres gauche du point dcimal est moindre ou gal
au spcificateur de prcision, et si la valeur est suprieure ou gale
0.00001. Sinon la chane rsultante exploite la notation scientifique
(e).

Nombre

L'argument doit tre une valeur flottante (LARP tente de convertir


toute valeur d'un type autre un flottant). La valeur est convertie en
chane de la forme d,ddd,ddd.ddd . Le format n correspond au
format f avec l'ajout de sparateurs de milliers (gnralement la
virgule).

Montant d'argent

L'argument doit tre une valeur flottante (LARP tente de convertir


toute valeur d'un type autre un flottant). La valeur est convertie en
chane reprsentant un montant d'argent. La conversion est

contrle par la configuration Windows et ajustable via les Options


rgionales du Panneau de configuration. Si un spcificateur de
prcision est donn, ce dernier dtermine le nombre de chiffres
affichs aprs le point dcimal (par dfaut, 2 chiffres sont affichs).

Chane

L'argument doit tre une chane de caractres (LARP tente de


convertir toute valeur d'un type autre une chane). Cette chane est
insre la place du spcificateur de format. Le spcificateur de
prcision, si donn, indique la taille maximale de la chane
rsultante. Si la chane donne en argument est plus longue, elle est
tronque.

186

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe C - Fonctions prdfinies

Type

Signification

Description

Hexadcimal

L'argument doit tre une valeur entire (LARP tente de convertir


toute valeur d'un type autre un entier). Cette valeur est convertie
en une chane de chiffres hexadcimaux (base 16). Si le
spcificateur de format comprend un spcificateur de prcision,
celui-ci indique que la chane rsultante doit contenir au minimum le
nombre indiqu de chiffres, des 0 tant insrs gauche au
besoin.

Puisque le caractre % indique le dbut d'un spcificateur de format, il ne peut pas tre employ
directement pour insrer le caractre % dans la chane rsultante. Pour palier cette restriction,
le spcificateur %% reprsente le caractre % dans la chane de formatage. Ainsi, toute
occurrence de %% dans la chane de formatage est remplace par un seul % dans la chane
rsultante.
Les spcificateurs de conversion de type peuvent tre donns en lettres majuscules ou
minuscules, sans distinction. Dans tous les spcificateurs de format pour arguments flottants, les
caractres utiliss pour reprsenter le point dcimal et le sparateur de milliers sont contrls via

la configuration Windows (voir Options rgionales du Panneau de configuration de Windows ).


Les spcificateurs de largeur et de prcision doivent tre donns sous forme dcimale (exemple:
%8.3f). Un spcificateur de largeur indique la largeur minimale du champs de conversion. Si la
chane rsultante est de longueur infrieure la largeur spcifie, des caractres blancs (i.e. des
espaces) sont joints la chane afin de l'allonger la largeur prescrite. Par dfaut, cette
justification est vers la droite (i.e. les caractres blancs sont insrs avant la chane en
argument); cependant si le spcificateur de justification gauche (-) est compris dans le
spcificateur de format, la justification est effectue vers la gauche (i.e. les caractres blancs
sont ajouts aprs la chane en argument).
Exemples
Considrez les instructions suivantes faisant appel l'instruction FORMATER afin de convertir
diverses valeurs en chanes de caractres :

Copyright 2004-2008 Marco Lavoie

187

Annexe C - Fonctions prdfinies

Guide d'utilisation de LARP

\\ Exemples un argument
CRIRE '................................'
CRIRE FORMATER(' 1. ***%8d***', 999)
CRIRE FORMATER(' 2. ***%8.7d***', 999)
CRIRE FORMATER(' 3. ***%-8d***', 999)
CRIRE FORMATER(' 4. ***%e***', -999.99)
CRIRE FORMATER(' 5. ***%14.5e***', -999.99)
CRIRE FORMATER(' 6. ***%f***', -999.0)
CRIRE FORMATER(' 7. ***%f***', -999.99)
CRIRE FORMATER(' 8. ***%14.5f***', -999.99)
CRIRE FORMATER(' 9. ***%g***', -999.0)
CRIRE FORMATER('10. ***%g***', -999.99)
CRIRE FORMATER('11. ***%14.5g***', -999.99)
CRIRE FORMATER('12. ***%8n***', 99999.99)
CRIRE FORMATER('13. ***%8m***', 99999.99)
CRIRE FORMATER('14. ***%s***', "Allo")
CRIRE FORMATER('15. ***%10s***', "Allo")
CRIRE FORMATER('16. ***%-10s***', "Allo")
CRIRE FORMATER('17. ***%x***', 123)
\\ Exemple avec plusieurs arguments
CRIRE FORMATER("\n18. V=%d \n19. %s(V)=%8.4f", V, "Sin", $
Sinus(V-4.5))
Pseudo-code C-13 : Exemples d'invocation de FORMATER

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
................................
1. ***
999***
2. *** 0000999***
3. ***999
***
4. ***-9.999900000000000E+002***
5. *** -9.9999E+002***
6. ***-999***
7. ***-999.99***
8. ***
-999.99000***
9. ***-999***
10. ***-999.99***
11. ***
-999.99***
12. ***99,999.99***
13. ***$99,999.99***
14. ***Allo***
15. ***
Allo***
16. ***Allo
***
17. ***7B***
18. V=10
19. Sin(V)= -0.7055
Figure C-12 : Rsultats de l'invocation de FORMATER

188

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe C - Fonctions prdfinies

HEURE
Nom :

HEURE

Synonymes :

Aucun

Type de retour :

Conteneur

Nombre d'arguments :

Description :

HEURE retourne un conteneur de quatre valeurs donnant lheure


courante : les heures, les minutes, les secondes et les millimes de
seconde.

Format(s) d'appel :

HEURE

Cette fonction retourne lheure courante dans un conteneur. Les quatre valeurs contenues dans
le conteneur retourn sont :
HEURE[1] sont les heures coules depuis le dbut du jour (0 23),
HEURE[2] sont les minutes coules depuis le dbut de lheure (0 59),
HEURE[3] sont les secondes coules depuis le dbut de la minute (0 59), et
HEURE[4] sont les millimes de secondes couls depuis le dbut de la seconde (0
999).
Exemples
CRIRE HEURE
CRIRE "Heure =", HEURE[1]
Pseudo-code C-14 : Exemples d'invocation de HEURE

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
[15 23 54 921]
15
Figure C-13 : Rsultats de l'invocation de HEURE

LOG10
Nom :

LOG10

Synonymes :

Aucun

Type de retour :

Numrique flottant

Nombre d'arguments :

Description :

LOG10 retourne le logarithme en base 10 de la valeur donne en


paramtre.

Format(s) d'appel :

LOG10(numrique)

Cette fonction retourne le logarithme en base 10 (i.e. Log10) de la valeur donne en paramtre.

Copyright 2004-2008 Marco Lavoie

189

Annexe C - Fonctions prdfinies

Guide d'utilisation de LARP

Si le paramtre fourni est une chane de caractres, il y a tentative de conversion de celle-ci en


valeur numrique.
Exemples
CRIRE LOG10(100)
CRIRE LOG10("5.5")
Pseudo-code C-15 : Exemples d'invocation de LOG10

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
2
0.740362689494244
Figure C-14 : Rsultats de l'invocation de LOG10

LOGE
Nom :

LOGE

Synonymes :

Aucun

Type de retour :

Numrique flottant

Nombre d'arguments :

Description :

LOGE retourne le logarithme en base e de la valeur donne en


paramtre.

Format(s) d'appel :

LOGE(numrique)

Cette fonction retourne le logarithme naturel (i.e. base e) de la valeur donne en paramtre.
Si le paramtre fourni est une chane de caractres, il y a tentative de conversion de celle-ci en
valeur numrique.
La base du logarithme naturel peut tre obtenue via la fonction EXP.
Exemples
CRIRE LOGE(100)
CRIRE LOGE(EXP)
Pseudo-code C-16 : Exemples d'invocation de LOGE

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
4.60517018598809
1
Figure C-15 : Rsultats de l'invocation de LOGE

190

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe C - Fonctions prdfinies

MAJUSCULES
Nom :

MAJUSCULES

Synonymes :

Aucun

Type de retour :

Chane de caractres

Nombre d'arguments :

Description :

MAJUSCULES retourne la chane donne en paramtre avec ses


lettres minuscules converties en majuscules.

Format(s) d'appel :

MAJUSCULES(chane de caractres)

Cette fonction retourne la chane donne en paramtre avec ses lettres minuscules converties en
majuscules. Tout caractre n'tant pas une lettre minuscule demeure inchang.
La fonction prdfinie MINUSCULES transforme en minuscules les lettres majuscules retrouves
dans la chane donne.
Exemples
CRIRE MAJUSCULES("Bonjour le Monde!")
CRIRE MAJUSCULES("Joe 99")
Pseudo-code C-17 : Exemples d'invocation de MAJUSCULES

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
BONJOUR LE MONDE!
JOE 99
Figure C-16 : Rsultats de l'invocation de MAJUSCULES

MAXIMUM
Nom :

MAXIMUM

Synonymes :

MAX

Type de retour :

Squence de numriques et/ou conteneurs

Nombre d'arguments :

1 ou plus

Description :

MAXIMUM retourne la plus grande valeur parmi celles fournies en


paramtres.

Format(s) d'appel :

MAXIMUM(argument, argument, argument, ...)

Cette fonction accepte un nombre variable de paramtres et retourne la plus grande valeur parmi
ceux-ci. Si un paramtre est un conteneur, la fonction parcourt rcursivement le conteneur afin
d'y identifier la plus grande valeur numrique.
Si un paramtre fourni est une chane de caractres, il y a tentative de conversion de celle-ci en
valeur numrique.

Copyright 2004-2008 Marco Lavoie

191

Annexe C - Fonctions prdfinies

Guide d'utilisation de LARP

La fonction prdfinie MINIMUM retourne la plus petite valeur parmi celles fournies en
paramtres.
Exemples
CRIRE MAXIMUM(10, 100, 20)
CRIRE MAX(10, [100, [20, 200], "50"], 150))
Pseudo-code C-18 : Exemples d'invocation de MAXIMUM

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
100
200
Figure C-17 : Rsultats de l'invocation de MAXIMUM

MINIMUM
Nom :

MINIMUM

Synonymes :

MIN

Type de retour :

Squence de numriques et/ou conteneurs

Nombre d'arguments :

1 ou plus

Description :

MINIMUM retourne la plus petite valeur parmi celles fournies en


paramtres.

Format(s) d'appel :

MINIMUM(argument, argument, argument, ...)

Cette fonction accepte un nombre variable de paramtres et retourne la plus petite valeur parmi
ces paramtres. Si un paramtre est un conteneur, la fonction parcourt rcursivement le
conteneur afin d'y identifier la plus petite valeur numrique.
Si un paramtre fourni est une chane de caractres, il y a tentative de conversion de celle-ci en
valeur numrique.
La fonction prdfinie MAXIMUM retourne la plus grande valeur parmi celles fournies en
paramtres.
Exemples
CRIRE MINIMUM(10, 100, 20)
CRIRE MIN(40, [100, [20, "12"], 50], 150))
Pseudo-code C-19 : Exemples d'invocation de MINIMUM

192

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe C - Fonctions prdfinies

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
10
12
Figure C-18 : Rsultats de l'invocation de MINIMUM

MINUSCULES
Nom :

MINUSCULES

Synonymes :

Aucun

Type de retour :

Chane de caractres

Nombre d'arguments :

Description :

MINUSCULES retourne la chane donne en paramtre avec ses


lettres majuscules converties en minuscules.

Format(s) d'appel :

MINUSCULES(chane de caractres)

Cette fonction retourne la chane donne en paramtre avec ses lettres majuscules converties en
minuscules. Tout caractre n'tant pas une lettre majuscule demeure inchang.
La fonction prdfinie MAJUSCULES transforme en majuscules les lettres minuscules
retrouves dans la chane donne.
Exemples
CRIRE MINUSCULES("Bonjour le Monde!")
CRIRE MINUSCULES("Joe 99")
Pseudo-code C-20 : Exemples d'invocation de MINUSCULES

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
bonjour le monde!
joe 99
Figure C-19 : Rsultats de l'invocation de MINUSCULES

Copyright 2004-2008 Marco Lavoie

193

Annexe C - Fonctions prdfinies

Guide d'utilisation de LARP

PI
Nom :

PI

Synonymes :

Aucun

Type de retour :

Numrique flottant

Nombre d'arguments :

Description :

PI retourne la valeur de la constante trigonomtrique .

Format(s) d'appel :

PI

Cette fonction retourne


(3.14159265358979).

la

valeur

de

la

constante

trigonomtrique

en

radians

Exemples
CRIRE PI
CRIRE SINUS(PI) + COSINUS(PI)
Pseudo-code C-21 : Exemples d'invocation de PI

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
3.14159265358979
-1
Figure C-20 : Rsultats de l'invocation de PI

PLAFOND
Nom :

PLAFOND

Synonymes :

PLAF

Type de retour :

Numrique entier

Nombre d'arguments :

Description :

PLAFOND retourne le plus petit entier suprieur ou gal la valeur


donne.

Format(s) d'appel :

PLAFOND(numrique)

Cette fonction retourne le plus petit entier suprieur ou gal son paramtre. Si le paramtre est
dj entier, il est simplement retourn.
Si le paramtre fourni est une chane de caractres, il y a tentative de conversion de celle-ci en
valeur numrique.
Utilisez la fonction prdfinie PLANCHER pour obtenir le plus grand entier infrieur ou gal la
valeur donne.

194

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe C - Fonctions prdfinies

Exemples
CRIRE PLAFOND(11.32)
CRIRE PLAF("-1.5")
Pseudo-code C-22 : Exemples d'invocation de PLAFOND

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
12
-1
Figure C-21 : Rsultats de l'invocation de PLAFOND

PLANCHER
Nom :

PLANCHER

Synonymes :

PLAN

Type de retour :

Numrique entier

Nombre d'arguments :

Description :

PLANCHER retourne le plus grand entier infrieur ou gal la


valeur donne.

Format(s) d'appel :

PLANCHER(numrique)

Cette fonction retourne le plus grand entier infrieur ou gal son paramtre. Si le paramtre est
dj entier, il est simplement retourn.
Si le paramtre fourni est une chane de caractres, il y a tentative de conversion de celle-ci en
valeur numrique.
Utilisez la fonction prdfinie PLAFOND pour obtenir le plus petit entier suprieur ou gal la
valeur donne.
Exemples
CRIRE PLANCHER(11.32)
CRIRE PLAN("-1.5")
Pseudo-code C-23 : Exemples d'invocation de PLANCHER

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
11
-2
Figure C-22 : Rsultats de l'invocation de PLANCHER

Copyright 2004-2008 Marco Lavoie

195

Annexe C - Fonctions prdfinies

Guide d'utilisation de LARP

POSITION
Nom :

POSITION

Synonymes :

POS

Type de retour :

Numrique entier

Nombre d'arguments :

Description :

POSITION retourne la position d'une chane de caractres dans une


autre chane de caractres, ou la position d'un lment dans un
conteneur.

Format(s) d'appel :

POSITION(chane de caractres, chane de caractres)


POSITION(lment, conteneur)

Cette fonction peut tre utilise pour rechercher la position (i.e. l'index) d'un lment dans une
chane de caractre ou dans un conteneur. La recherche dpend du second paramtre :

Si le second paramtre est une chane de caractre, le premier paramtre doit aussi tre
une chane de caractres ou un seul caractre (sinon, il y a tentative de conversion du
premier paramtre en chane de caractres). La fonction retourne alors la position de la
premire occurrence de la premire chane dans la seconde (la position retourne tant
base sur 1 comme index de dpart). Si la premire chane n'est pas retrouve dans la
seconde, la position 0 est retourne.

Si le second paramtre est un conteneur, le premier paramtre peut alors tre de


n'importe quel type. La fonction recherche alors la premire occurrence du premier
paramtre dans le second (i.e. le conteneur). Si l'lment recherch n'est pas retrouv
dans le conteneur, la position 0 est retourne.

Notez que dans le cas d'une recherche dans un conteneur, la recherche n'est pas rcursive (i.e.
seule la premire dimension d'un conteneur multidimensionnel est recherche).
Exemples
CRIRE
CRIRE
CRIRE
CRIRE

POSITION("le", "Bonjour le
POSITION(3, [1, 2, [3, 4],
POSITION(4, [1, 2, [3, 4],
POS([3, 4], [1, 2, [3, 4],

monde!")
3, 5])
3, 5])
3, 5])

Pseudo-code C-24 : Exemples d'invocation de POSITION

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
9
4
0
3
Figure C-23 : Rsultats de l'invocation de POSITION

196

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe C - Fonctions prdfinies

RACINE
Nom :

RACINE

Synonymes :

Aucun

Type de retour :

Numrique flottant

Nombre d'arguments :

Description :

RACINE retourne la racine carre de la valeur donne en paramtre.

Format(s) d'appel :

RACINE(numrique)

Cette fonction retourne la racine carre de la valeur donne en paramtre.


Si le paramtre fourni est une chane de caractres, il y a tentative de conversion de celle-ci en
valeur numrique.
Exemples
CRIRE RACINE(100)
CRIRE RACINE("5.5")
Pseudo-code C-25 : Exemples d'invocation de RACINE

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
10
2.34520787991171
Figure C-24 : Rsultats de l'invocation de RACINE

SINUS
Nom :

SINUS

Synonymes :

SIN

Type de retour :

Numrique flottant

Nombre d'arguments :

Description :

SINUS retourne la valeur de la fonction trigonomtrique Sin


applique l'angle donne en paramtre (en radians).

Format(s) d'appel :

SINUS(numrique)

Cette fonction retourne le sinus (Sin) de la valeur numrique (angle en radians) fournie en
paramtre. La valeur de retour est de type flottant.
Si le paramtre fourni est une chane de caractres, il y a tentative de conversion de celle-ci en
valeur numrique.

Copyright 2004-2008 Marco Lavoie

197

Annexe C - Fonctions prdfinies

Guide d'utilisation de LARP

Exemples
CRIRE SINUS(1.2)
CRIRE SIN(1 - 2.7)
Pseudo-code C-26 : Exemples d'invocation de SINUS

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
0.932039085967226
-0.991664810452469
Figure C-25 : Rsultats de l'invocation de SINUS

SOUSENSEMBLE
Nom :

SOUSENSEMBLE

Synonymes :

Aucun

Type de retour :

Chane de caractres ou conteneur

Nombre d'arguments :

Description :

SOUSENSEMBLE
paramtre.

Format(s) d'appel :

SOUSENSEMBLE(chane de caractres, dbut, longueur)


SOUSENSEMBLE(conteneur, dbut, longueur)

retourne

un

sous-ensemble

du

premier

Cette fonction est utilise pour obtenir une copie partielle du contenu du premier paramtre, qui
doit tre une chane de caractre ou un conteneur. Le second paramtre (dbut) indique l'index
o commencer extraire les caractres ou lments du premier paramtre, et le troisime
paramtre (longueur) indique le nombre de caractres (ou le nombre dlments) copier. La
valeur retourne dpend du premier paramtre :

Si le premier paramtre est une chane de caractre, la fonction retourne une chane de
caractres compose des longueur caractres du premier paramtre partir de l'index
dbut.

Si le premier paramtre est un conteneur, la fonction retourne un conteneur compos


des longueur lments du premier paramtre partir de l'index dbut.

Si un des deux derniers paramtres fournis est une chane de caractres, il y a tentative de
conversion de celle-ci en valeur numrique.
Exemples
CRIRE SOUSENSEMBLE("Bonjour le monde!", 12, 5)
CRIRE SOUSENSEMBLE("Bonjour le monde!", 9, 50)
CRIRE SOUSENSEMBLE([10, 20, 30, 40, 50], 2, "3")
Pseudo-code C-27 : Exemples d'invocation de SOUSENSEMBLE

198

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe C - Fonctions prdfinies

Les rsultats affichs dans la console dexcution lors de l'excution des instructions ci-dessus
sont :
monde
le monde!
[20 30 40]
Figure C-26 : Rsultats de l'invocation de SOUSENSEMBLE

Copyright 2004-2008 Marco Lavoie

199

Guide d'utilisation de LARP

Annexe D - lments de syntaxe

Annexe D - lments de syntaxe


Cette section rsume les principaux lments de la syntaxe de pseudo-code et dorganigramme
LARP. Dans les tableaux ci-dessous, les mots rservs sont prsents en caractres gras et
majuscules (par exemple, DBUT), les lments dvelopper en caractres italiques (par
exemple, squence d'instructions) et les lments optionnels entre crochets (par exemple, [ liste
de paramtres ]).
Pour plus d'information sur un lment de syntaxe en particulier, consultez la section
correspondante.

D.1 Modules
Module principal

Module auxiliaire

DBUT
squence d'instructions
FIN

ENTRER [liste de paramtres]


squence d'instructions
RETOURNER [valeur de retour]

squence d'instructions est une squence d'instructions LARP autres qu'une dfinition
de module (les dfinitions de modules ne peuvent pas tre imbriques).
liste de paramtres, optionnelle, est une ou plusieurs variables spares par des
virgules.
valeur de retour, optionnelle, est une expression qui retourne une valeur entire, une
valeur flottante, une chane de caractres ou un conteneur.

D.2 Structures conditionnelles


Structure SI

Structure SI-SINON

SI condition ALORS
squence d'instructions
FINSI

SI condition ALORS
squence d'instructions #1
SINON
squence d'instructions #2
FINSI

Copyright 2004-2008 Marco Lavoie

201

Annexe D - lments de syntaxe

Guide d'utilisation de LARP

Structure SI

Structure SI-SINON

condition est une expression boolenne


d'oprateurs logiques et de tests de type.

compose

d'oprateurs

relationnels,

squence d'instructions # sont des squences d'instructions LARP autres qu'une


dfinition de module (les dfinitions de modules ne peuvent pas tre imbriques).

Structure SI-SINON-SI

Structure de slection

SI condition #1 ALORS
squence d'instructions #1
SINON SI condition #2 ALORS
squence d'instructions #2
SINON SI condition #3 ALORS
squence d'instructions #3

SLECTIONNER expression
liste de constantes #1 [:] squence d'instructions #1
liste de constantes #2 [:] squence d'instructions #2
liste de constantes #3 [:] squence d'instructions #3

...

liste de constantes #n [:] squence d'instructions #n


[ SINON
squence d'instructions #n+1 ]
FINSLECTIONNER

Structure SI-SINON-SI

SINON SI condition #n ALORS


squence d'instructions #n
[ SINON
squence d'instructions #n+1 ]
FINSI

...

202

Copyright 2004-2008 Marco Lavoie

Annexe D - lments de syntaxe

Structure de slection

Guide d'utilisation de LARP

condition est une expression boolenne


d'oprateurs logiques et de tests de type.

compose

d'oprateurs

relationnels,

expression est une expression retournant une valeur entire, une valeur flottante, une
chane de caractres ou un conteneur.
squence d'instructions # sont des squences d'instructions LARP autres qu'une
dfinition de module (les dfinitions de modules ne peuvent pas tre imbriques).
liste de constantes sont des numrations de valeurs entires, valeurs flottantes,
chanes de caractres et/ou conteneurs, spares par des virgules. Optionnellement,
deux points (:) peuvent tre insrs entre une liste de constantes et sa squence
dinstructions.
La dernire section, commenant par SINON, est optionnelle.

D.3 Structures rptitives


Structure TANTQUE

Structure RPTER-JUSQU'

TANTQUE condition FAIRE


squence d'instructions
FINTANTQUE

RPTER
squence d'instructions
JUSQU' condition

condition est une expression boolenne


d'oprateurs logiques et de tests de type.

Copyright 2004-2008 Marco Lavoie

compose

d'oprateurs

relationnels,

203

Annexe D - lments de syntaxe

Guide d'utilisation de LARP

squence dinstructions est une squence d'instructions LARP autres qu'une dfinition
de module (les dfinitions de modules ne peuvent pas tre imbriques).

Structure POUR
POUR variable = valeur initiale JUSQU' valeur finale [ INCRMENT valeur incrment ] FAIRE
squence d'instructions
FINPOUR

variable est un nom de variable.


valeur initiale, valeur finale et valeur incrment (optionnelle) sont des expressions
retournant une valeur entire.
squence dinstructions est une squence d'instructions LARP autres qu'une dfinition
de module (les dfinitions de modules ne peuvent pas tre imbriques).

D.4 Fichiers et tampons d'entres/sorties


OUVRIR un tampon d'entres/sorties
OUVRIR [ TAMPON ] nom de tampon SUR numro de canal EN mode d'accs

204

nom de tampon est le nom du tampon d'entres/sorties ouvrir (le tampon doit tre
cr au pralable et apparatre dans le navigateur de documents).
numro de canal est une expression retournant une valeur entire de 1 256.

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe D - lments de syntaxe

mode d'accs est un des mots rservs suivants: LECTURE, CRITURE ou AJOUT.

La mot rserv TAMPON est optionnel.

OUVRIR un fichier
OUVRIR FICHIER nom de fichier SUR numro de canal EN mode d'accs

nom de fichier est le nom du fichier ouvrir.

numro de canal est une expression retournant une valeur entire de 1 256.

mode d'accs est un des mots rservs suivants: LECTURE, CRITURE ou AJOUT.

FERMER des canaux d'entres/sorties


FERMER liste de numros de canal

liste de numros de canal est une liste dexpressions spares par des virgules,
chacune retournant une valeur entire de 1 256.

D.5 Lecture et criture


Instructions de lecture et d'criture
LIRE liste de variables [ DE numro de canal ]
CRIRE liste d'expressions [ DANS numro de canal ]
REQUTE libell [ , liste de variables ]
SPARATEUR caractre

Copyright 2004-2008 Marco Lavoie

205

Annexe D - lments de syntaxe

Guide d'utilisation de LARP

206

liste de variables est constitu dune ou plusieurs variables spares par des virgules.
numro de canal, optionnel, est une expression retournant une valeur entire de 1
256.
liste d'expressions est une liste dune ou plusieurs expressions retournant chacune une
valeur entire, une valeur flottante, une chane de caractres ou un conteneur.
libell est une expression retournant une chane de caractres.
caractre est une expression retournant une chane de caractres contenant un seul
caractre.
si aucun numro de canal n'est fourni, l'entre et la sortie se font via la console
d'excution.

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe E - Avertissements et erreurs

Annexe E - Avertissements et erreurs


Les messages affichs par LARP sont classs en deux catgories :
1. Les messages relis l'environnement de dveloppement : messages affichs suite
des actions ou commandes inappropries de la part de l'utilisateur.
2. Les messages relis l'excution d'algorithmes : messages affichs suite des
erreurs de syntaxes dans les modules ou une opration invalide effectue lors de
l'excution d'un algorithme.

E.1

Messages relis l'environnement de dveloppement

Les messages qui suivent sont gnralement affichs de faon ponctuelle (dans une fentre
informative) lorsque l'environnement de dveloppement refuse une opration de l'utilisateur ou
lorsque plus d'information sont requises afin d'effecteur l'opration demande.
Les messages sont classs par ordre alphabtique, accompagns chacun d'une brve
description.
Aucune aide n'est disponible pour ce type d'erreur.
L'aide en ligne de LARP ne comporte aucune information supplmentaire sur ce type
d'erreur.
Cl SparKey introuvable.
Une erreur s'est produite lors de la dtection et/ou la vrification de la cl de dbridage
prsentement branche l'ordinateur. Assurez-vous que la cl de dbridage est bien
branche, que votre pseudonyme correspond celui de la cl et que la cl n'est pas
endommage. Si tout semble correct, contactez le support technique afin de remplacer votre
cl de dbridage.
Codes d'accs primaires invalides.
Le pseudonyme fourni pour activer le mode super-utilisateur ne correspond pas celui de la
cl de dbridage prsentement branche l'ordinateur. Assurez-vous que la cl de
dbridage est bien branche et que votre pseudonyme correspond celui de la cl.
Configuration de cl invalide.
La configuration de la cl de dbridage prsentement branche l'ordinateur est errone.
Cette erreur est gnralement cause par une cl de dbridage endommage ou d'origine
autre que celles fournies par le fournisseur de LARP. Contactez le support technique afin de
remplacer votre cl de dbridage.
Erreur l'ouverture de cl SparKey.
Une erreur s'est produite lors de la dtection et/ou la vrification de la cl de dbridage
prsentement branche l'ordinateur. Assurez-vous que la cl de dbridage est bien
branche, que votre pseudonyme correspond celui de la cl et que la cl n'est pas
endommage. Si tout semble correct, contactez le support technique afin de remplacer votre
cl de dbridage.

Copyright 2004-2008 Marco Lavoie

207

Annexe E - Avertissements et erreurs

Guide d'utilisation de LARP

Erreur de fermeture de cl SparKey.


Une erreur s'est produite lors de l'accs la cl de dbridage prsentement branche
l'ordinateur. Assurez-vous que la cl de dbridage est bien branche et que votre
pseudonyme correspond celui de la cl.
Erreur inconnue.
Une erreur non prvue par les dveloppeurs de LARP fut dtecte. Veuillez contacter le
support technique de LARP afin d'obtenir de l'aide.
Erreur de lecture - nombre d'octets ou adresse invalide.
Une erreur s'est produite lors de l'accs la cl de dbridage prsentement branche
l'ordinateur. Assurez-vous que la cl de dbridage est bien branche, que votre pseudonyme
correspond celui de la cl et que la cl n'est pas endommage. Si c'est le cas, contactez le
support technique afin de remplacer votre cl de dbridage.
Erreur de lecture de donnes.
Une erreur s'est produite lors de l'accs la cl de dbridage prsentement branche
l'ordinateur. Assurez-vous que la cl de dbridage est bien branche et que la cl n'est pas
endommage. Si c'est le cas, contactez le support technique afin de remplacer votre cl de
dbridage.
Erreur de lecture de donnes d'identification.
Une erreur s'est produite lors de l'accs la cl de dbridage prsentement branche
l'ordinateur. Assurez-vous que la cl de dbridage est bien branche, que votre pseudonyme
correspond celui de la cl et que la cl n'est pas endommage. Si c'est le cas, contactez le
support technique afin de remplacer votre cl de dbridage.
Format du code d'accs invalide.
Le pseudonyme fourni pour activer le mode super-utilisateur est d'un format incompatible
celui de la cl de dbridage prsentement branche l'ordinateur. Assurez-vous que votre
pseudonyme correspond celui de la cl branche l'ordinateur.
Identificateur n'est pas un nom de module valide.
Le nom que vous dsirez donner au module est invalide. Le nom d'un module doit tre
compos de lettres, de chiffres et/ou du caractre de soulignement (_), et le premier
caractre du nom ne doit pas tre un chiffre. Les espaces ne sont pas permis dans un nom
de module.
Pour plus d'information, consultez la section portant sur les modules.
Identificateur n'est pas un nom de tampon d'E/S valide.
Le nom que vous dsirez donner au tampon d'entres/sorties est invalide. Le nom d'un
tampon doit tre compos de lettres, de chiffres et/ou du caractre de soulignement (_), et le
premier caractre du nom ne doit pas tre un chiffre. Les espaces ne sont pas permis dans
un nom de tampon d'entres/sorties.
Pour plus d'information, consultez la section portant sur les tampons d'entres/sorties.

208

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe E - Avertissements et erreurs

Le module principal d'un projet ne peut pas tre supprim.


Vous tentez de dtruire le module principal du projet. Tout projet LARP doit disposer d'un
module principal, car c'est le point de dpart d'excution de l'algorithme. Si vous dsirez
changer le module principal d'un projet, vous devez modifier le contenu du module principal
existant.
Le projet ne contient aucun tampon d'entres/sorties imprimer.
L'impression de modules est restreint au mode super-utilisateur. Cependant l'impression des
tampons d'entres/sorties est permise pour tout utilisateur. Vous tentez d'imprimer un projet
sans tampon d'entres/sorties alors que le mode super-utilisateur n'est pas activ.
Les fichiers d'aide ne sont pas accessibles.
Il semble que certains fichiers relatifs l'aide en ligne de LARP soient manquants. Assurezvous d'avoir bien install LARP et que les fichiers d'aide sont installs. Si ce n'est pas le cas,
rinstallez la plus rcente version de LARP. Si la rinstallation ne corrige pas la situation,
contactez le support technique.
Pseudonyme invalide.
Le pseudonyme fourni lors du dmarrage de LARP ou lors du changement d'utilisateur est de
format invalide. Consultez la section portant sur le mode super-utilisateur pour plus
d'information.
Un document nomm nom de document existe dj dans le projet.
Vous tentez de crer un nouveau document (module ou tampon d'entres/sorties) ayant le
nom d'un autre document du projet. Slectionnez un nom diffrent.
Notez que LARP peut avoir abrg le nom de document que vous avez slectionn en y
liminant les caractres non permis. Notez aussi que LARP ignore les accents des
caractres accentus retrouvs dans un nom de document; ainsi les noms DONNES et
DONNEES font rfrence un mme document, nomm DONNEES.
Un seul fichier la fois peut tre accept.
L'environnement de dveloppement de LARP accepte les fichiers dposs (i.e. par drag-anddrop), mais seulement un fichier la fois.
Une copie de sret gnre suite un crash de LARP est disponible. Voulez-vous
restaurer ce projet?
intervalles rgulires ainsi que lorsque l'algorithme est excut, une copie de sret du
projet est automatiquement conserve dans un fichier temporaire de l'ordinateur. Cette copie
de sret est automatiquement dtruite lorsque le projet dit est sauvegard ou lorsque
l'excution de l'algorithme est termine.
Si une erreur fatale rsultant en un crash de LARP se produit, la copie de sret n'est pas
dtruite. Au redmarrage de LARP, celui-ci dtecte l'existence de la copie et propose
l'utilisateur de recharger ce projet dans l'diteur. Ainsi, si LARP crash avant que vous aillez
eu l'occasion de sauvegarder votre projet, vous pouvez le rcuprer au prochain dmarrage
de LARP.
Consultez la section portant sur les sauvegardes de scurit pour plus d'information.

Copyright 2004-2008 Marco Lavoie

209

Annexe E - Avertissements et erreurs

Guide d'utilisation de LARP

Attention : si vous refusez de restaurer le projet lors du redmarrage de LARP, la copie de


sret est irrmdiablement efface.
Voulez-vous vraiment effacer les donnes ci-dessus associes au projet?
En tant que super-utilisateur, vous avez la possibilit d'effacer les statistiques ainsi que le
pseudonyme rattach au projet. Une fois effaces, ces donnes ne sont plus rcuprables.
Vous devez fermer le projet actuel avant de changer d'utilisateur.
Lors de l'excution d'un algorithme, certaines commandes habituellement accessibles via
l'environnement de dveloppement sont temporairement dsactives jusqu' la fermeture de
la console d'excution, i.e. jusqu' ce que l'excution de l'algorithme soit termine.
Vous devez obligatoirement fermer la console (soit en compltant ou en interrompant
l'excution de l'algorithme) avant de changer le pseudonyme.
Vous devez au pralable fermer la console.
Lors de l'excution d'un algorithme, certaines commandes habituellement accessibles via
l'environnement de dveloppement sont temporairement dsactives jusqu' la fermeture de
la console d'excution, i.e. jusqu' ce que l'excution de l'algorithme soit termine.
Vous devez obligatoirement fermer la console (soit en compltant ou en interrompant
l'excution de l'algorithme) avant d'effectuer l'opration dsire.

E.2

Messages relis l'excution d'algorithmes

Les messages ci-dessous sont affichs lorsqu'un problme est dtect durant la compilation ou
l'excution d'algorithmes. Ces messages sont toujours affichs dans le panneau de messages et,
lorsque le problme est dtect l'excution d'un algorithme, dans une fentre ponctuelle.
Les messages d'avertissement indiquent gnralement une erreur potentielle dans un
algorithme, mais cette erreur n'tant pas fatale, l'excution se poursuit.
Les messages d'erreur sont gnralement affichs :

lors de la compilation d'un algorithme : la compilation est tout de mme complte


afin de valider la syntaxe du reste de l'algorithme, mais il est impossible d'excuter
l'algorithme.

lors de l'excution d'un algorithme : la plupart des erreurs causent gnralement une
interruption de l'excution de l'algorithme.

Certains messages d'erreur identifient une erreur dtecte dans le logiciel LARP. Ces bogues
doivent tre rapports au support technique de LARP afin que le problme soit corrig dans la
prochaine version du logiciel.
E1001

Un module auxiliaire doit dbuter par l'instruction ENTRER

Vous avez un module auxiliaire dbutant avec une instruction autre que ENTRER (avec
optionnellement des paramtres).

210

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe E - Avertissements et erreurs

Si le module en erreur dbute par l'instruction DBUT, rappelez-vous que seul le module
principal peut commencer avec l'instruction DBUT.
Consultez la section portant sur les modules pour plus d'information.
E1002

Le module principal doit dbuter par l'instruction DBUT

Le module principal du projet dbute avec une instruction autre que DBUT.
Si le module en erreur dbute par l'instruction ENTRER, rappelez-vous que seuls les
modules auxiliaires peuvent commencer avec l'instruction ENTRER.
Consultez la section portant sur les modules pour plus d'information.
E1003

En-tte de module invalide

Le format de l'instruction dbutant le module en erreur ne correspond pas celui impos par
LARP.
Consultez la section portant sur les modules pour plus d'information.
E1004

Un module auxiliaire doit tre termin par une instruction RETOURNER

Vous avez un module auxiliaire dont la dernire instruction est autre que RETOURNER (avec
optionnellement une valeur de retour).
Si le module en erreur se termine par l'instruction FIN, rappelez-vous que seul le module
principal peut tre termins avec l'instruction FIN.
Consultez la section portant sur les modules pour plus d'information.
E1005

Le module principal doit tre termin par l'instruction FIN

Le module principal du projet se termine avec une instruction autre que FIN.
Si le module en erreur se termine par l'instruction RETOURNER, rappelez-vous que seuls les
modules auxiliaires peuvent tre termins avec l'instruction RETOURNER.
Consultez la section portant sur les modules pour plus d'information.
E1006

Un module doit tre termin par RETOURNER ou FIN

Le module du projet n'est pas termin par une instruction approprie selon le type de
module. Une instruction approprie serait FIN ou RETOURNER (avec optionnellement une
valeur de retour).
Consultez la section portant sur les modules pour plus d'information.
E1007

Les variables doivent tre spares par des virgules

Certaines instructions requirent une liste de variables (par exemple, LIRE, REQUTE et
ENTRER). Lorsque plus d'une variable sont spcifies, celles-ci doivent tre spares par
une virgule (,) dans la liste.
Par exemple, l'instruction LIRE A B C est invalide; elle devrait plutt s'crire LIRE A, B, C.

Copyright 2004-2008 Marco Lavoie

211

Annexe E - Avertissements et erreurs

E1008

Guide d'utilisation de LARP

L'identificateur nom de variable est un nom de module

Vous tentez d'employer le nom d'un module comme variable (par exemple dans une
affectation). Le nom employ correspond un module du projet, mais ce module n'est pas
invoqu de faon adquate.
Consultez la section portant sur les modules pour plus d'information.
E1009

Le mot rserv mot rserv ne peut pas tre employ dans ce contexte

Vous tentez d'employer un mot rserv du langage LARP dans un contexte autre que ceux
auxquels s'applique l'instruction vise.
La cause de l'erreur peut tre que vous tentiez d'employer un mot rserv comme nom de
variable.
E1010

Je ne comprend pas cet nonc

Vous ne respectez pas la syntaxe du langage LARP, et il est impossible de fournir plus
d'information sur l'erreur dtecte.
Consultez l'aide en ligne correspondant l'instruction que vous tentez d'exploiter et assurezvous de bien respecter la syntaxe permise dans les pseudo-codes et organigrammes LARP.
E1011

Les champs de modles doivent tre remplacs par du pseudo-code valide

Vous avez gliss un modle du panneau de modles vers votre pseudo-code, mais vous
avez oubli de remplacer les champs complter par du pseudo-code valide. Ces champs
sont identifis entre accolades ({ et }) et doivent tre remplacs (accolades comprises) par
du pseudo-code valide.
Par exemple, lorsque vous insrez un modle de lecture dans votre pseudo-code, la ligne
LIRE {liste_variables} apparat. Vous devez obligatoirement remplacer le champ
{liste_variables} par une ou plusieurs variables.
E1012

La condition de la structure conditionnelle ou itrative correspondante est


errone

Une erreur sest glisse dans la formulation de la condition dune structure conditionnelle ou
dune structure rptitive.
Veuillez consulter les sections correspondantes pour plus dinformation sur la formulation des
conditions.
E1999

Erreur inconnue; contactez le support technique

Une erreur non prvue par les dveloppeurs de LARP fut dtecte.
Veuillez contacter le support technique de LARP afin d'obtenir de l'aide.
E2001

Pas assez d'arguments fournis en appel de module

Vous faites appel un module auxiliaire en fournissant un nombre insuffisant d'arguments.


Le nombre d'arguments fournis doit galer le nombre de paramtres numrs en en-tte du
module invoqu.
Consultez la section portant sur les modules paramtrs pour plus d'information.

212

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

E2002

Annexe E - Avertissements et erreurs

Trop d'arguments fournis en appel de module

Vous faites appel un module auxiliaire en fournissant un nombre trop lev d'arguments. Le
nombre d'arguments fournis doit galer le nombre de paramtres numrs en en-tte du
module invoqu.
Consultez la section portant sur les modules paramtrs pour plus d'information.
E2003

Valeur de type invalide

Une valeur numrique, une expression ou une variable contenant une valeur numrique d'un
type inappropri est exploite dans une instruction.
Une cause frquente de cette erreur est d'employer dans une instruction dalgorithme LARP
une variable dont le contenu est inappropri pour l'instruction (par exemple, fournir une
valeur inapproprie comme argument une fonction prdfinie).
E2004

Index invalide

L'index fourni en rfrence un lment de conteneur est invalide. Un index doit absolument
tre une valeur entire.
Par exemple, l'instruction CRIRE a[1.2] rsulte en une erreur car l'index spcifi n'est pas
un entier.
Pour plus d'information, consultez la section portant sur l'accs aux lments de conteneurs.
E2005

Index hors limites

L'index fourni en rfrence un lment de conteneur est de valeur infrieure l'index


minimale permis ou suprieure au nombre d'lments dans le conteneur.
Pour plus d'information, consultez la section portant sur l'accs aux lments de conteneurs.
E2006

La rfrence n'est pas une chane de caractres

L'instruction exploite requiert l'utilisation d'une chane de caractres, mais la valeur fournie
est d'un autre type (i.e. un nombre, un conteneur ou autres).
E2007

La rfrence n'est pas un conteneur

L'instruction exploite requiert l'utilisation d'un conteneur, mais la valeur fournie est d'un autre
type (i.e. un nombre, une chane de caractres ou autres).
E2008

Impossible de dimensionner un conteneur

Le conteneur manipul ne peut tre dimensionn selon les besoins de l'instruction. Cette
erreur est gnralement cause par un manque de mmoire de l'ordinateur.
Pour liminer ce problme, utilisez un conteneur aux dimensions moindres.
Pour configurer la taille maximale d'un conteneur manipulable dans un algorithme LARP,
consulter la section portant sur la configuration de la console d'excution.
E2009

Le conteneur est vide

Le conteneur fourni contient aucune valeur.

Copyright 2004-2008 Marco Lavoie

213

Annexe E - Avertissements et erreurs

E2010

Guide d'utilisation de LARP

Nom de fichier ou tampon d'E/S invalide

Le nom fourni l'instruction OUVRIR est invalide.


Lors de l'ouverture d'un fichier, le nom fourni est invalide s'il n'est pas conforme aux noms de

fichiers permis par Windows , ou si le fichier ouvrir en lecture n'existe pas.


Lors de l'ouverture d'un tampon d'entres/sorties, le nom de tampon fourni est invalide s'il
correspond aucun tampon du projet.
Consultez la section portant sur les fichiers et tampons d'entres/sorties pour plus
d'information.
E2011

Numro de canal invalide

Le numro de canal fourni l'instruction OUVRIR est invalide. Les canaux d'entres/sorties
disponibles dans LARP sont numrots de 1 256.
Consultez la section portant sur les canaux d'entres/sorties pour plus d'information.
E2012

Canal dj allou un autre fichier ou tampon d'E/S

Le numro de canal fourni l'instruction OUVRIR est dj associ un autre fichier ou


tampon d'entres/sorties ouvert. Il est interdit d'associer un mme canal d'entres/sorties
simultanment deux documents ouverts.
Consultez la section portant sur les canaux d'entres/sorties pour plus d'information.
E2013

Accs un canal non allou

Le numro de canal fourni l'instruction n'est associ aucun fichier ou tampon


d'entres/sorties.
Avant d'exploiter un canal d'entres/sorties lors d'une lecture ou d'une criture, le canal doit
au pralable tre associ un fichier ou un tampon d'entres/sorties via l'instruction
OUVRIR.
Consultez la section portant sur les canaux d'entres/sorties pour plus d'information.
E2014

Accs invalide au canal spcifi

Le numro de canal fourni l'instruction de LIRE ou CRIRE ne permet pas l'opration


dsire.
Lors de l'ouverture d'un fichier ou un tampon d'entres/sorties via l'instruction OUVRIR, on
doit spcifier le mode d'accs au document, i.e. si le document est ouvert afin d'y lire des
donnes ou afin d'y crire des rsultats.
Cette erreur est dtecte lorsqu'un algorithme tente de lire dun document (via son canal)
ouvert en mode criture, ou d'crire dans un document ouvert en mode lecture.
Consultez les sections portant sur les canaux d'entres/sorties et l'ouverture d'un canal
d'entres/sorties pour plus d'information.
E2015

Fichier ou tampon d'E/S dj ouvert sur un autre canal

Le nom du fichier ou du tampon d'entres/sorties fourni l'instruction OUVRIR est dj


associ un autre canal d'entres/sorties.

214

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe E - Avertissements et erreurs

Il est interdit d'ouvrir un mme document plus d'une fois simultanment, mme sur des
canaux diffrents. Pour corriger le problme, fermer premirement le canal associ au
document vis (avec l'instruction FERMER); ce dernier peut ensuite tre rouvert sur un
autre canal.
Consultez les sections portant sur les canaux d'entres/sorties et l'ouverture d'un canal
d'entres/sorties pour plus d'information.
E2016

Impossible d'ouvrir le fichier ou tampon d'E/S spcifi

Il est impossible d'ouvrir le fichier ou tampon d'entres/sorties spcifi dans l'instruction


OUVRIR.
Si le document ouvrir est un fichier, l'erreur est probablement due l'impossibilit d'accder
au support mdiatique (disque, disquette ou autres), une dfaillance de ce support
mdiatique ou un fichier corrompu. Assurez-vous que le fichier existe et est accessible s'il
est pour tre lu, ou qu'il peut tre supplant s'il existe dj mais doit tre remplac.
L'erreur peut aussi tre cause par une erreur d'accs au rpertoire des fichiers temporaires.
Ce rpertoire est utilis pour stocker des fichiers crs au besoin par LARP pour grer la
manipulation des tampons d'entres/sorties.
Pour plus d'information sur les fichiers temporaires et la slection du rpertoire o sont
stocks ces fichiers, consulter la section portant sur la configuration de la console
d'excution.
E2017

Impossible d'ouvrir un fichier temporaire

Lors de l'ouverture d'un tampon d'entres/sorties, LARP cre un fichier temporaire afin de
grer les lectures et/ou critures au tampon. Ce fichier temporaire est cre dans un rpertoire

indiqu par Windows . Cette erreur indique que Windows est dans l'impossibilit de fournir
un tel rpertoire LARP.
Les causes probables de telles erreurs sont un manque d'espace sur le support mdiatique
(i.e. disque rigide), l'impossibilit d'accder au support mdiatique en criture ou une
dfaillance de ce support mdiatique.
L'erreur peut aussi tre cause par une erreur d'accs au rpertoire des fichiers temporaires.
Ce rpertoire est utilis pour stocker des fichiers crs par LARP pour grer la manipulation
des tampons d'entres/sorties.
Pour plus d'information sur les fichiers temporaires et la slection du rpertoire o sont
stocks ces fichiers, consulter la section portant sur la configuration de la console
d'excution.
E2018

Impossible d'accder au fichier ou tampon d'E/S spcifi

Un fichier ou un tampon d'entres/sorties fut ouvert avec succs avec l'instruction OUVRIR,
mais une erreur s'est produite lors d'une lecture ou criture via le canal d'entres/sorties
associ au document ouvert.
Les causes de telles erreurs peuvent tre multiples, dont un manque d'espace sur le support
mdiatique (i.e. disque rigide), l'impossibilit soudaine d'accder au support mdiatique ou
une dfaillance de ce support mdiatique.

Copyright 2004-2008 Marco Lavoie

215

Annexe E - Avertissements et erreurs

E2019

Guide d'utilisation de LARP

Fin du fichier ou tampon d'E/S atteinte

Une tentative de lecture est effectue dans un fichier ou un tampon d'entres/sorties alors
que la fin du document est atteinte (i.e. il n'y a plus de donnes lire).
Exploitez la fonction prdfinie FINDECONTENU pour dtecter la fin d'un fichier ou tampon
d'entres/sorties en lecture.
E2020

Chane de formatage invalide

Une chane de formatage invalide est fournie la fonction prdfinie FORMATER.


Consultez la documentation de cette fonction pour corriger le problme.
E2021

Dbordement de capacit de la pile d'appels (rcursivit infinie?)

L'excution de l'algorithme cause une rcursivit infinie. Lorsqu'un module fait appel luimme ou que deux modules s'invoquent mutuellement, il peut ventuellement y avoir
puisement de la mmoire de l'ordinateur si ce processus d'appel ne cesse pas. LARP a
dtect une telle situation.
Consultez la section portant sur la rcursivit pour plus d'information.
E2022

Valeur de variable ne pouvant pas tre modifie

Selon les circonstances, une variable peut parfois tre verrouille de sorte que sa valeur ne
puisse tre modifie. Un exemple d'une telle situation est une variable d'itration ne pouvant
tre modifie l'intrieur d'une structure rptitive POUR.
L'algorithme a tent de modifier la valeur d'une variable verrouille.
E2023

La variable d'itration nom de variable ne peut pas tre modifie dans la boucle

Une variable d'itration ne peut pas tre modifie par les instructions l'intrieur d'une
structure rptitive POUR. Cette variable est implicitement et exclusivement modifie par
l'instruction POUR chaque itration. L'algorithme a tent de modifier explicitement une
variable d'itration.
Consultez la section portant sur la structure rptitive POUR afin d'obtenir plus d'information.
E2024

La variable nom de variable contient un nom de fichier ou de tampon d'E/S


invalide

Le nom fourni l'instruction OUVRIR via la variable spcifie est invalide.


Assurez-vous que la variable spcifie contient le nom du fichier ou du tampon
d'entres/sorties ouvrir. Si ce qui est spcifi n'est pas une variable mais le nom du
document ouvrir, vous avez probablement oubli de spcifier son nom entre guillemets tel
une chane de caractres.
Lors de l'ouverture d'un fichier, le nom fourni est invalide s'il n'est pas conforme aux noms de

fichier permis par Windows , ou si un fichier ouvrir en lecture n'existe pas. Lors de
l'ouverture d'un tampon d'entres/sorties, le nom de tampon fourni est invalide s'il correspond
aucun tampon existant du projet.
Consultez la section portant sur les fichiers et tampons d'entres/sorties pour plus
d'informations.

216

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

E2025

Annexe E - Avertissements et erreurs

Nom de fichier ou de tampon d'E/S invalide (avez-vous oubli les guillemets?)

Le nom fourni l'instruction OUVRIR est invalide. Vous avez peut-tre oubli de spcifier son
nom entre guillemets tel une chane de caractres.
Lors de l'ouverture d'un fichier, le nom fourni est invalide s'il n'est pas conforme aux noms de

fichier permis par Windows , ou si un fichier ouvrir en lecture n'existe pas. Lors de
l'ouverture d'un tampon d'entres/sorties, le nom de tampon fourni est invalide s'il correspond
aucun tampon existant du projet.
Consultez la section portant sur les fichiers et tampons d'entres/sorties pour plus
d'information.
E2026

Boucle infinie cause par un incrment de signe oppos au sens de l'itration

Une structure rptitive POUR impose un incrment de variable ditration contraire


lorientation de la valeur de dpart vers la valeur finale de cette variable. Un exemple dune
telle anomalie est une variable ditration devant varier des valeurs 1 jusqu 10 alors que la
valeur de la variable est rduite chaque itration (POUR i = 1 JUSQU 10 INCRMENT -1
FAIRE).
Assurez-vous dincrmenter la variable ditration en fonction de la direction des valeurs
limites de cette variable (dans lexemple prcdent, puisque i varie de 1 vers 10, la valeur de
la variable doit augmenter chaque itration).
Consultez la section portant sur la structure rptitive POUR afin d'obtenir plus d'information.
E2027

Nombre d'arguments en appel ne correspond pas au nombre de paramtres


requis par le module

Un appel un module auxiliaire dfini dans le projet ne fourni pas le nombre darguments
requis par ce module. Soit lappel de module ne fournit pas assez darguments ou il en fournit
trop.
Pour plus dinformation sur la correspondance impose aux arguments et aux paramtres de
modules, consultez la section Modules auxiliaires avec paramtres.
E2028

Un paramtre rfrence du module n'a pas une variable comme argument


correspondant en appel

Un appel de module auxiliaire ne fournit une variable comme argument correspondant un


paramtre rfrence du module. Lorsquun module dfini un paramtre rfrence, tout appel
ce module doit fournir comme argument correspondant le nom dune variable pouvant
recevoir la valeur dpose par le module dans son paramtre rfrence.
Pour plus dinformation sur les paramtres rfrences, consultez la section Paramtres
rfrences.
E2029

Invocation d'un module non dfini

Lalgorithme fait appel un module auxiliaire ntant pas dfini dans le projet.
Consultez la section sur les modules auxiliaires pour plus dinformation.

Copyright 2004-2008 Marco Lavoie

217

Annexe E - Avertissements et erreurs

E2101

Guide d'utilisation de LARP

Erreur code d'erreur dans le logiciel (adresse adresse) - contactez le support


technique

Ce message d'erreur indique qu'une erreur inconnue s'est produite lors de l'excution de
l'algorithme.
Contactez le support technique et communiquez linformation inclue dans le message
d'erreur (le code d'erreur et l'adresse o l'erreur s'est produite dans LARP).
E2102

Erreur (description) dans le logiciel (adresse adresse) - contactez le support


technique

Ce message d'erreur indique qu'une erreur inconnue s'est produite lors de l'excution de
l'algorithme.
Contactez le support technique et communiquez linformation inclue dans le message
d'erreur (la description de l'erreur et l'adresse en mmoire o l'erreur s'est produite dans
LARP).
E2103

Le processeur a dtect une opration arithmtique invalide

Une erreur s'est produite au niveau des calculs arithmtiques dans le microprocesseur de
l'ordinateur. Cette erreur est probablement due un bogue dans LARP, telle qu'une
opration arithmtique produisant un rsultat trop grand ou trop petit pour tre manipul par
l'ordinateur.
Cette erreur devrait rarement tre affiche par LARP.
E2104

Valeur flottante trop grande pour tre manipule

Un calcul arithmtique dans l'algorithme a produit un rsultat flottant trop grand pour tre
manipul par l'ordinateur.
Pour plus d'information sur la plus grande valeur flottante permise, consultez la section
portant sur les numriques.
E2105

Valeur flottante trop petite pour tre manipule

Un calcul arithmtique dans l'algorithme a produit un rsultat flottant trop petit pour tre
manipul par l'ordinateur.
Pour plus d'information sur la plus petite valeur flottante permise, consultez la section portant
sur les numriques.
E2106

Tentative de division par zro

Un calcul arithmtique dans l'algorithme comprend une division dont le dnominateur est 0.
E2107

Erreur mathmatique inconnue impliquant une valeur flottante

Un calcul arithmtique impliquant un flottant comprend une opration valide du point de vue
de la syntaxe, mais invalide lors de son valuation.
En d'autres termes, le microprocesseur de l'ordinateur est incapable d'effectuer le calcul
demand.

218

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

E2108

Annexe E - Avertissements et erreurs

Erreur mathmatique inconnue impliquant une valeur entire

Un calcul arithmtique impliquant un entier comprend une opration valide du point de vue
de la syntaxe, mais invalide lors de son valuation.
En d'autres termes, le microprocesseur de l'ordinateur est incapable d'effectuer le calcul
demand.
E2109

Valeur entire trop grande ou index invalide

Un calcul arithmtique dans l'algorithme a produit un rsultat entier trop grand pour tre
manipul par l'ordinateur.
Pour plus d'information sur la plus grande valeur entire permise, consultez la section portant
sur les numriques.
L'erreur peut aussi occasionnellement tre cause par un accs un lment de conteneur
inexistant.
E2110

Valeur entire trop grande pour tre manipule

Un calcul arithmtique dans l'algorithme a produit un rsultat entier trop grand pour tre
manipul par l'ordinateur.
Pour plus d'information sur la plus grande valeur entire permise, consultez la section portant
sur les numriques.
E2111

Capacit de la mmoire vive atteinte

Il n'y a plus de mmoire vive disponible dans l'ordinateur pour poursuivre l'excution de
l'algorithme. La cause peut tre un trop grand nombre de conteneurs surdimensionns, ou un
trop grand nombre d'applications autres que LARP s'excutant simultanment.
Pour corriger le problme fermez toutes les applications non essentielles. Si vous exploitez
des conteneurs, rduisez leurs dimensions.
E2112

Fichier introuvable

Le nom de fichier fourni l'instruction OUVRIR en mode LECTURE est invalide. Il est fort
probable que le fichier n'existe pas ou, s'il existe, quil soit inaccessible (peut tre verrouill
par une autre application).
E2113

Nom de fichier invalide

Le nom de fichier fourni l'instruction OUVRIR est invalide. Le nom du fichier doit tre

conforme aux exigences du systme de fichiers de Windows .


Consultez la section portant sur les fichiers et tampons d'entres/sorties pour plus
d'information.
E2114

Trop de fichiers ouverts simultanment

Le systme d'exploitation Windows permet un nombre limit de fichiers pouvant tre ouverts
simultanment. Une tentative d'ouverture de fichier (effectue explicitement dans l'algorithme
via l'instruction OUVRIR, ou implicitement l'ouverture d'un fichier temporaire) a choue car
ce maximum est atteint.

Copyright 2004-2008 Marco Lavoie

219

Annexe E - Avertissements et erreurs

Guide d'utilisation de LARP

Pour corriger le problme, consultez la documentation de Windows afin de dterminer le


maximum de fichiers ouverts permis et modifiez votre algorithme de faon ne pas ouvrir
plus de fichiers ou tampons d'entres/sorties que permis.
E2115

Accs refus au fichier

Le nom de fichier fourni l'instruction OUVRIR correspond un fichier auquel LARP n'a pas
accs.
L'erreur peut tre due une tentative d'ouvrir un fichier en mode CRITURE ou AJOUT alors
qu'aucune modification n'est permise ce fichier. Il se peut aussi que le fichier soit
temporairement verrouill par une autre application.
Pour corriger le problme, assurez-vous que le fichier vis existe et est accessible selon le
mode d'accs dsir.
L'erreur peut aussi tre cause par un accs invalide au rpertoire des fichiers temporaires.
Ce rpertoire est utilis pour stocker des fichiers crs par LARP lors de la manipulation de
tampons d'entres/sorties.
Pour plus d'information sur les fichiers temporaires et la slection du rpertoire o sont
stocks ces fichiers, consultez la section portant sur la configuration de l'excution
d'algorithmes.
E2116

Fin du fichier atteinte

Une tentative de lecture est effectue dans un fichier alors que la fin du fichier est atteinte
(i.e. il n'y a plus de donnes lire).
Exploitez la fonction prdfinie FINDECONTENU pour dtecter la fin d'un fichier ouvert en
mode LECTURE.
E2117

Capacit du support mdiatique atteinte

L'espace disponible sur le support mdiatique (disque, disquette ou autres) o est stock le
fichier manipul par l'algorithme est puise. L'erreur peut aussi tre cause par la
manipulation de tampons d'entres/sorties puisque ceux-ci sont associs des fichiers
temporaires ncessitant de l'espace disque.
Pour corriger le problme, librez de l'espace disque sur le support mdiatique ou utilisez un
support mdiatique plus volumineux.
E2118

Donnes lues invalides

Une instruction LIRE visant un canal d'entres/sorties associ un fichier ouvert en mode
LECTURE a choue. La cause probable est une donne de format invalide retrouve dans
le fichier en question. Il se peut aussi que le fichier ou son contenu soit corrompu.
Pour plus d'information, consultez les sections portant sur les fichiers et tampons
d'entres/sorties, ainsi que sur la lecture via un canal d'entres/sorties.
E2119

Erreur de fichier inconnue

Une erreur de nature inconnue s'est produite lors de la manipulation d'un ficher ( l'ouverture,
la lecture, l'criture ou la fermeture). Il se peut aussi que le fichier ou son contenu soit
corrompu.

220

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe E - Avertissements et erreurs

Consultez la section portant sur les fichiers et tampons d'entres/sorties pour plus
d'information.
E2120

Capacit de la pile d'excution atteinte (peut tre d une rcursivit infinie)

L'excution de l'algorithme cause une rcursivit infinie. Lorsqu'une fonction s'invoque ellemme ou lorsque deux fonctions s'invoquent mutuellement, il peut ventuellement y avoir
puisement de la mmoire de l'ordinateur si ce processus d'appels ne cesse pas. LARP a
dtect une telle situation.
Consultez la section portant sur la rcursivit pour plus d'information. La taille de la pile
d'excution peut aussi tre augmente (consultez la section portant sur la configuration de
l'excution d'algorithmes).
Si l'algorithme n'est pas en cause, contactez le support technique afin de les informer du
problme.
E2121

Opration impliquant des types de donnes incompatibles

Certains types de variables ou de valeurs numriques ne peuvent pas tre combins dans
une expression arithmtique. Un exemple vident est de tenter de diviser un nombre par une
chane de caractres (ex : 10/'allo').
Lors de l'excution de telles expressions, LARP interrompt l'excution de l'algorithme et
affiche ce message d'erreur.
E2122

Erreur d'accs un fichier (description)

Ce message d'erreur indique qu'une erreur s'est produite lors d'un tentative d'accs un
fichier ou un tampon d'entres/sorties. Un message d'erreur retourn par l'ordinateur dcrit
brivement le type d'erreur rencontre.
La cause la plus probable de cette erreur est l'impossibilit d'accder au fichier spcifi car
celui-ci est subitement devenu inaccessible. Assurez-vous que le support mdiatique
(disque, disquette, etc.) contenant le fichier spcifi est oprationnel et accessible.
L'erreur peut aussi tre cause lors d'un accs invalide au rpertoire des fichiers
temporaires. Ce rpertoire est utilis pour stocker des fichiers crs par LARP afin de grer
les accs aux tampons d'entres/sorties.
Pour plus d'information sur les fichiers temporaires et la slection du rpertoire o sont
stocks ces fichiers, consultez la section portant sur la configuration de l'excution
d'algorithmes.
E2999

Erreur inconnue; contactez le support technique

Une erreur non prvue par les dveloppeurs de LARP fut dtecte. Veuillez contacter le
support technique de LARP afin d'obtenir de l'aide.
E3001

Des tampons d'E/S ou des fichiers n'ont pas t ferms

L'algorithme excut a ouvert des fichiers ou tampons d'entres/sorties (avec l'instruction


OUVRIR) mais n'a pas ferm ceux-ci avant de terminer son excution.
Consultez l'aide en ligne portant sur l'instruction FERMER pour plus d'information.

Copyright 2004-2008 Marco Lavoie

221

Annexe E - Avertissements et erreurs

E3002

Guide d'utilisation de LARP

Variable nom de variable sans valeur

L'algorithme fait rfrence la valeur d'une variable alors qu'aucune valeur n'a
prcdemment t attribue cette variable.
Assurez-vous d'affecter une valeur la variable avant de l'employer dans des calculs ou
d'autres instructions LARP. Il est aussi possible que vous aillez fait une erreur d'pellation
dans le nom de la variable, ce qui la rend distinct d'une autre variable laquelle une valeur
fut attribue.
Lorsqu'un algorithme fait rfrence une variable n'ayant pas de valeur attribue, on dit cette
variable indtermine. Les variables indtermines causent parfois des erreurs fatales lors
de l'excution dalgorithmes.
Pour plus d'information, consultez la section portant sur l'affectation.
E3003

Variable nom de variable sans valeur (confondue avec la variable nom de


variable?)

L'algorithme fait rfrence la valeur d'une variable alors qu'aucune valeur n'a
prcdemment t attribue cette variable.
Assurez-vous d'affecter une valeur la variable avant de l'employer dans des calculs ou
d'autres instructions LARP. Il est aussi possible que vous aillez fait une erreur d'pellation
dans le nom de la variable, ce qui la rend distinct d'une autre variable laquelle une valeur
fut attribue.
Lorsqu'un algorithme fait rfrence une variable n'ayant pas de valeur attribue, on dit cette
variable indtermine. Les variables indtermines causent parfois des erreurs fatales lors
de l'excution dalgorithmes.
Pour plus d'information, consultez la section portant sur l'affectation.
E3004

lment du conteneur nom de conteneur sans valeur

L'algorithme fait rfrence la valeur d'un lment inexistant de conteneur.


Assurez-vous d'affecter une valeur la position de conteneur rfre avant de l'employer
dans des calculs ou dans d'autres instructions LARP. Il est aussi possible que vous aillez fait
une erreur d'pellation dans le nom du conteneur, ce qui le rend distinct d'un autre conteneur
auquel des valeurs furent attribues. Enfin, assurez-vous de l'index de l'lment rfr est
valide.
Lorsqu'un algorithme fait rfrence un lment de conteneur n'ayant pas de valeur
attribue, on dit cet lment indtermin. Les variables et lments de conteneur
indtermins causent parfois des erreurs fatales lors de l'excution dalgorithmes.
Pour plus d'information, consultez la section portant sur l'affectation.
E3005

lment du conteneur nom de conteneur sans valeur (confondue avec la


variable nom de variable?)

L'algorithme fait rfrence la valeur d'un lment inexistant de conteneur.


Assurez-vous d'affecter une valeur la position de conteneur rfre avant de l'employer
dans des calculs ou dans d'autres instructions LARP. Il est aussi possible que vous aillez fait
une erreur d'pellation dans le nom du conteneur, ce qui le rend distinct d'un autre conteneur

222

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Annexe E - Avertissements et erreurs

auquel des valeurs furent attribues; LARP a identifi un autre conteneur ou variable ayant
une valeur attribue et dont le nom est semblable celle errone. Enfin, assurez-vous de
l'index de l'lment rfr est valide.
Lorsqu'un algorithme fait rfrence un lment de conteneur n'ayant pas de valeur
attribue, on dit cet lment indtermin. Les variables et lments de conteneur
indtermins causent parfois des erreurs fatales lors de l'excution dalgorithmes.
Pour plus d'informations, consultez la section portant sur l'affectation.
E3006

Appel d'un module ne retournant pas de valeur

Un module ne retournant pas de valeur de retour est invoqu comme si une valeur tait
retourne.
Pour plus d'information, consultez la section portant sur les modules avec valeur de retour.
E3007

Accs un lment de conteneur sans valeur

L'algorithme fait rfrence la valeur d'un lment inexistant de conteneur.


Assurez-vous d'affecter une valeur la position de conteneur rfre avant de l'employer
dans des calculs ou dans d'autres instructions LARP. Il est aussi possible que vous aillez fait
une erreur d'pellation dans le nom du conteneur, ce qui le rend distinct d'un autre conteneur
auquel des valeurs furent attribues. Enfin, assurez-vous de l'index de l'lment rfr est
valide.
Lorsqu'un algorithme fait rfrence un lment de conteneur n'ayant pas de valeur
attribue, on dit cet lment indtermin. Les variables et lments de conteneur
indtermins causent parfois des erreurs fatales lors de l'excution dalgorithmes.
E3008

Les boucles POUR des organigrammes de ce projet doivent tre vrifies car
elles peuvent ne pas correspondre au nouveau format de structures rptitives
inconditionnelles

Le format dune boucle POUR sous forme dorganigramme a d tre modifi afin de rendre
sa syntaxe plus conforme la version pseudo-code de la structure POUR.
Vous avez ouvert un fichier projet qui fut cr avec une version antrieure de LARP, et la
version actuelle a d convertir au nouveau format les structures POUR contenus dans les
organigrammes du fichier projet. Puisque la conversion ne peut garantir lintgrit de la
structure, il est conseill de rviser les structures POUR des organigrammes du projet afin
den valider les composants (la variable ditration, les valeurs de dpart et de fin, et
lincrment).
Pour de linformation sur la structure rptitive POUR et sa syntaxe, consultez la section
Structure POUR.
E9999

Erreur inconnue; contactez le support technique

Une erreur non prvue par les dveloppeurs de LARP fut dtecte. Veuillez contacter le
support technique de LARP afin d'obtenir de l'aide.

Copyright 2004-2008 Marco Lavoie

223

Guide d'utilisation de LARP

Annexe E - Avertissements et erreurs

Index
-

Oprateurs arithmtiques .................................... 113


Oprateurs de conteneurs ................................... 115
Priorit des oprateurs ........................................ 125
' (chane de caractres) ....................... Voir Apostrophe
$ (continuation d'instruction) ...................................... 91
Structure SI-SINON-SI ........................................ 133
\\
Les commentaires ................................................. 89
Ouvrir un fichier ................................................... 162
Squences d'chappement ................................. 100
=
Affectation ............................................................. 98
" (chane de caractres) ...........................Voir Guillemet
\ (squence d'chappement)...................Voir Squence
d'chappement
= (affectation) ........................................ Voir Affectation
#IND ........................................................... Voir Indfini
[ ] (conteneur) ...................... Voir lment de conteneur
, (virgule)
Dclaration des paramtres d'un module............. 150
L'instruction de lecture......................................... 106
L'instruction d'criture .......................................... 107
L'instruction de requte ....................................... 109
Regroupement de valeurs ................................... 101
+
Oprateurs arithmtiques .................................... 113
Priorit des oprateurs ........................................ 125
*
Oprateurs arithmtiques .................................... 113
Priorit des oprateurs ........................................ 125
/
Oprateurs arithmtiques .................................... 113
Priorit des oprateurs ........................................ 125
//
Oprateurs arithmtiques .................................... 113
Priorit des oprateurs ........................................ 125
%
Oprateurs arithmtiques .................................... 113
Priorit des oprateurs ........................................ 125
^
Oprateurs arithmtiques .................................... 113
Priorit des oprateurs ........................................ 125
+
Oprateurs de chanes de caractres .................. 114
Oprateurs de conteneurs ................................... 115
<
Oprateurs relationnels ....................................... 122
Priorit des oprateurs ........................................ 125
<=
Oprateurs relationnels ....................................... 122
Priorit des oprateurs ........................................ 125
>
Oprateurs relationnels ....................................... 122
Priorit des oprateurs ........................................ 125
>=
Oprateurs relationnels ....................................... 122
Priorit des oprateurs ........................................ 125
=
Oprateurs relationnels ....................................... 122
!=
Oprateurs relationnels ....................................... 122
Priorit des oprateurs ........................................ 125

Copyright 2004-2008 Marco Lavoie

<> (ingalit) ....................................................... Voir !=


!
Oprateurs logiques ........................................... 125
Priorit des oprateurs........................................ 125
=
Priorit des oprateurs........................................ 125
()
Dclaration des paramtres d'un module ............ 151
Oprateurs arithmtiques ................................... 113
Priorit des oprateurs........................................ 125
: (double point) ........................................................ 136

A
ABS ......................................................... Voir ABSOLU
ABSOLU ..........................................................116, 175
Accents
Noms de variables ................................................ 97
Syntaxe des instructions ....................................... 91
Achat
Commander des cls de dbridage ...................... 26
Procdure d'enregistrement .................................. 24
Addition ................................................................ Voir +
Affectation ............................................................... 100
Accs aux lments............................................ 102
Animation ............................................................. 68
L'instruction de lecture ........................................ 106
Modules avec valeur de retour ............................ 157
Noms de variables ................................................ 98
Oprations ............................................................ 98
Agrandissement ........................................................ 57
Commandes de l'diteur graphique accessibles via
le clavier ........................................................... 59
Panneau de statut................................................. 45
Aide abrge
Aide disponible dans LARP................................... 33
lments de l'interface.......................................... 35
Panneau de statut................................................. 45
Support technique................................................. 27
Aide en ligne ............................................................. 27
Aide disponible dans LARP................................... 33
Avertissements et erreurs ..................................... 71
Introduction ........................................................... 18
Support technique................................................. 27
Syntaxe des instructions ....................................... 91
AJOUT .................................................................... 163
criture via un canal d'entres/sorties................. 166
Syntaxe (fichier) .................................................. 205
Syntaxe (tampon d'entres/sorties) ..................... 204
ALA ................................................. Voir ALATOIRE
ALATOIRE .....................................................116, 176
Algorithme
Introduction ........................................................... 17
Un premier algorithme .......................................... 89
ALORS
Structure SI-SINON-SI ........................................ 130
Structures conditionnelles ................................... 121
Structures SI et SI-SINON .................................. 126
Syntaxe (structure SI) ......................................... 201
Syntaxe (structure SI-SINON) ............................. 201
Syntaxe (structure SI-SINON-SI) ........................ 202
Animation .................................................................. 68
Interface de lexcution pas--pas ........................ 63
Modes dexcution pas--pas ............................... 64
Oprateurs arithmtiques ................................... 113
Priorit des oprateurs........................................ 126

225

Index

Guide d'utilisation de LARP

Annulation d'oprations ............................................. 72


Apostrophe ................................................................ 99
ARCTAN...................................... Voir ARCTANGENTE
ARCTANGENTE.............................................. 116, 177
Argument
Dclaration des paramtres d'un module............. 151
Paramtres rfrences ........................................ 153
Paramtres valeurs ............................................. 152
Syntaxe des instructions........................................ 90
ARR..................................................... Voir ARRONDIR
ARRONDIR ..................................................... 116, 178
ASCII
La numrotation en base binaire ......................... 168
Oprateurs relationnels ....................................... 123
Auteur de LARP ......................................................... 21
Avertissements .................................................. 70, 207
Aide en ligne ......................................................... 27
Compilation et excution ....................................... 60

B
Barre de menu ........................................................... 35
Aide disponible dans LARP ................................... 33
Commandes de l'diteur graphique accessibles via
le clavier ........................................................... 60
Commandes de l'diteur graphique accessibles via
les menus ......................................................... 58
Commandes de l'diteur textuel accessibles via le
clavier ............................................................... 51
Commandes de l'diteur textuel accessibles via les
menus ............................................................... 49
Commandes d'dition de l'diteur graphique ......... 58
Commandes d'dition de l'diteur textuel............... 49
lments de l'interface .......................................... 33
Panneau de contrle ............................................. 39
Panneau de messages .......................................... 44
Points darrt ......................................................... 68
Statistiques de projet ............................................. 85
Base 10 .......................................... Voir Codage binaire
Base 16 ................................ Voir Codage hexadcimal
Base 2 ............................................ Voir Codage binaire
Binaire ............................................ Voir Codage binaire
Bloc de texte
Contrle de l'diteur textuel via la souris................ 51
Blowfish ............................................... Voir Chiffrement
Bogues
Mises jour de LARP ............................................ 26
Rapporter un bogue .............................................. 28
Support technique ................................................. 27
Boucle ...................................... Voir Structure rptitive
Boucle conditionnelle ............................................... 144
Boucle inconditionnelle ............................................ 144
Bridage .................................................. Voir Dbridage
diter un document textuel .................................... 48
Mode super-utilisateur ........................................... 79
Prvention du plagiat ............................................. 79

C
C++
Constantes et variables ......................................... 97
Conteneurs.......................................................... 101
Introduction ........................................................... 17
L'affectation ......................................................... 100
Oprateurs et fonctions prdfinies ..................... 113
Structure POUR .................................................. 144
Canal dentres/sorties
Instruction dentres/sorties pour organigrammes 106
Ouvrir un tampon d'entres/sorties ...................... 161

226

Canal d'entres/sorties............................................ 161


Dtection de fin de contenu via un canal
d'entres/sorties ............................................. 166
criture via un canal d'entres/sorties................. 165
Fermeture d'un canal d'entres/sorties ............... 164
Fichiers et tampons d'entres/sorties .................. 159
FINDECONTENU ............................................... 184
Lecture via un canal d'entres/sorties ................. 164
Modes d'accs .................................................... 163
Ouverture d'un document.................................... 161
CAP ..................................................... Voir CAPACIT
CAPACIT .......................................................118, 179
COMPTER.......................................................... 180
Retirer des lments ........................................... 103
Caractres accentus ................................Voir Accents
CD
Exigences minimales d'quipements et logiciels ... 21
Installation partir d'un CD ................................... 22
CHANE
Tests de type ...................................................... 123
Chane de caractres ................................................ 99
COMPTER.......................................................... 179
Couleurs dans les diteurs.................................... 77
ENCARACTRES .............................................. 182
ENCHANE ......................................................... 183
Fonctions de manipulation de chanes ................ 117
FORMATER ....................................................... 185
L'instruction de lecture ........................................ 106
MAJUSCULES ................................................... 191
MINUSCULES .................................................... 193
Oprateurs de chanes de caractres ................. 114
Oprateurs relationnels....................................... 123
POSITION .......................................................... 196
Slection de couleurs............................................ 76
Squences d'chappement................................. 100
SOUSENSEMBLE .............................................. 198
Chane de formatage
FORMATER ....................................................... 185
Chiffrement
Chiffrement des documents .................................. 81
Contrle du copier-coller ....................................... 82
Clavier
Commandes de l'diteur textuel accessibles via le
clavier .............................................................. 50
Commandes d'dition de l'diteur graphique......... 58
Commandes d'dition de l'diteur textuel .............. 49
Dtection de fin de contenu via un canal
d'entres/sorties ............................................. 166
Fichiers et tampons d'entres/sorties .................. 159
L'instruction de lecture ........................................ 106
Cl de dbridage
Commander des cls de dbridage ...................... 25
Configuration du mode super-utilisateur et du
systme de mises jour ................................... 74
Mode super-utilisateur .......................................... 79
Port parallle ........................................................ 84
Port USB .............................................................. 84
Slection d'une technologie de cl ........................ 84
Cl d'enregistrement ................................................. 24
Codage binaire........................................................ 167
Codage dcimal ...................................................... 167
Codage hexadcimal .............................................. 170
Coller
Insertion, dplacement et destruction d'instructions
d'organigramme ............................................... 55
Commandes
Barre de menu ...................................................... 35
Commandes de l'diteur graphique accessibles via
le clavier ........................................................... 59

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Commandes de l'diteur textuel accessibles via le


clavier ............................................................... 50
Commandes d'dition de l'diteur graphique ......... 58
Commandes d'dition de l'diteur textuel............... 49
Panneau de contrle ............................................. 39
Commentaires ........................................................... 89
Couleurs dans les diteurs .................................... 77
Comparaison ...........................................Voir Condition
Compilation................................................................ 60
Avertissements et erreurs ...................................... 70
Panneau de messages .......................................... 44
Statistiques de projet ............................................. 85
COMPRESSER ....................................................... 103
COMPT ................................................ Voir COMPTER
COMPTER............................................... 117, 118, 179
CAPACIT .......................................................... 179
Retirer des lments ........................................... 103
Concatnation
Oprateurs de chanes de caractres .................. 114
Oprateurs de conteneurs ................................... 115
Condition ................................................................. 122
Animation .............................................................. 68
Oprateurs logiques ............................................ 124
Oprateurs relationnels ....................................... 122
Priorit des oprateurs ........................................ 125
Structure RPTER-JUSQU' ............................ 139
Structure TANTQUE ............................................ 137
Structures conditionnelles.................................... 121
Structures rptitives ........................................... 137
Tests de type....................................................... 123
Condition compose
Les conditions ..................................................... 122
Oprateurs logiques ............................................ 124
Condition simple ...................................................... 122
Oprateurs logiques ............................................ 124
Oprateurs relationnels ....................................... 123
Configuration ............................................................. 71
Configuration de la console d'excution................. 73
Configuration de l'diteur graphique ...................... 58
Configuration de l'diteur textuel ........................... 49
Configuration des diteurs ..................................... 72
Configuration du mode super-utilisateur et du
systme de mises jour ................................... 74
Couleurs dans les diteurs .................................... 77
Couleurs pour excution pas--pas ....................... 77
Slection de couleurs ............................................ 76
Console dexcution
Fentre d'excution pas--pas .............................. 46
Console d'excution................................................... 45
Compilation et excution ....................................... 61
Configuration de la console d'excution................. 73
Excution d'un projet ............................................. 61
Fichiers et tampons d'entres/sorties .................. 159
Le sparateur ...................................................... 109
Lecture et criture ............................................... 105
Slection de couleurs ............................................ 76
Constante .................................................................. 97
EXP (e) ............................................................... 183
Oprateurs arithmtiques .................................... 113
PI () ................................................................... 194
Structure de slection .......................................... 135
Valeurs numriques .............................................. 99
Conteneur ................................................................ 101
Accs aux lments ............................................ 101
CAPACIT .......................................................... 179
COMPTER .......................................................... 179
Configuration de la console d'excution................. 73
DATE .................................................................. 181
ENCARACTRES ............................................... 182
ENCHANE.......................................................... 183

Copyright 2004-2008 Marco Lavoie

Annexe E - Avertissements et erreurs

Fonctions de manipulation de conteneurs ........... 118


Inspection des variables ....................................... 65
MAXIMUM .......................................................... 191
MINIMUM ........................................................... 192
Oprateurs de conteneurs .................................. 115
Oprateurs relationnels....................................... 123
POSITION .......................................................... 196
Regroupement de valeurs ................................... 101
Retirer des lments ........................................... 102
SOUSENSEMBLE .............................................. 198
CONTENEUR
Tests de type ...................................................... 123
Conversion
Conversion dorganigramme en pseudo-code ....... 85
Conversion de type
ARRONDIR ........................................................ 178
ENCARACTRES .............................................. 182
ENCHANE ......................................................... 183
FORMATER ....................................................... 185
Oprateurs arithmtiques ................................... 113
Oprateurs de chanes de caractres ................. 114
Oprations ............................................................ 98
PLAFOND .......................................................... 194
PLANCHER ........................................................ 195
Copier-coller
Contrle du copier-coller ....................................... 82
Conversion dorganigramme en pseudo-code ....... 86
Copyright ........................................ Voir Droits d'auteur
COS ....................................................... Voir COSINUS
COSINUS ........................................................117, 180
ARCTANGENTE................................................. 177
Couleurs
Configuration de l'diteur graphique...................... 58
Couleurs dans les diteurs.................................... 77
Couleurs pour excution pas--pas ...................... 77
Slection de couleurs............................................ 76
Couper
Insertion, dplacement et destruction d'instructions
d'organigramme ............................................... 55
Courrier lectronique
Auteur de LARP .................................................... 21
Rapporter un bogue .............................................. 29
Site Web de LARP ................................................ 30
Crash de LARP
Rapporter un bogue .............................................. 28
Sauvegarde de scurit ........................................ 70
Curseur
Commandes de l'diteur textuel accessibles via le
clavier .............................................................. 50
Contrle de l'diteur textuel via la souris ............... 51

D
DANS ...................................................................... 205
criture via un canal d'entres/sorties................. 165
DATE ...................................................................... 181
DE........................................................................... 205
Lecture via un canal d'entres/sorties ................. 164
Dbridage ................................................................. 83
Chiffrement des documents .................................. 82
Commander des cls de dbridage ...................... 25
Configuration du mode super-utilisateur et du
systme de mises jour ................................... 74
Contrle du copier-coller ....................................... 82
Mode super-utilisateur .......................................... 79
DBUT.................................................................... 201
Dbut et fin d'un algorithme .................................. 90
diter un organigramme ....................................... 53
Module principal.................................................. 146
Dcimal ......................................... Voir Codage dcimal

227

Index

Guide d'utilisation de LARP

DFINIE
Tests de type....................................................... 124
Dmarrage de LARP ................................................. 21
Configuration du mode super-utilisateur et du
systme de mises jour ................................... 75
Mises jour de LARP ............................................ 26
Dplacement
Insertion, dplacement et destruction d'instructions
d'organigramme ................................................ 55
Dsinstallation ........................................................... 23
Enregistrement ...................................................... 23
Licence d'utilisation ............................................... 19
DTERMINE
Tests de type....................................................... 124
DTRUIRE .............................................................. 102
Diffrence
Oprateurs de conteneurs ................................... 115
Distribution................................................................. 20
Distribution de LARP
Licence d'utilisation ............................................... 19
Division entire ............................................ 113, Voir //
Division flottante .................................................. Voir /
Document
diteurs ................................................................. 42
Navigateur de documents ...................................... 41
Ouverture d'un document .................................... 161
Documentation .......................................................... 18
Droits d'auteur ........................................................... 21

E
E (notation scientifique) ............................................. 99
CRIRE ........................................................... 107, 205
Console d'excution .............................................. 45
criture via un canal d'entres/sorties ................. 165
Le sparateur ...................................................... 109
L'instruction de requte ....................................... 108
Modes d'accs .................................................... 163
criture .................................................................... 107
Le sparateur ...................................................... 109
L'instruction de requte ....................................... 108
CRITURE .............................................................. 163
criture via un canal d'entres/sorties ................. 166
Syntaxe (fichier) .................................................. 205
Syntaxe (tampon d'entres/sorties) ..................... 204
diteur
Couleurs dans les diteurs .................................... 77
diter un document textuel .................................... 47
diter un organigramme ........................................ 53
Fonctionnalits de l'diteur graphique ................... 51
Fonctionnalits de l'diteur textuel ......................... 47
Navigateur de documents ...................................... 41
Slection de couleurs ............................................ 76
Statistiques de projet ............................................. 85
diteur graphique ...................................................... 51
Configuration de l'diteur graphique ...................... 58
diteurs ................................................................. 43
dition d'instructions d'organigramme ................... 56
lments de l'interface .......................................... 34
Instruction dentres/sorties pour organigrammes 105
Modes dexcution pas--pas ................................ 64
Panneau de messages .......................................... 44
Points darrt ......................................................... 67
Structure SI-SINON-SI ........................................ 130
diteur textuel ............................................................ 47
Configuration de l'diteur textuel ........................... 49
Couleurs dans les diteurs .................................... 77
diteurs ................................................................. 42
lments de l'interface .......................................... 34
Modes dexcution pas--pas ................................ 64

228

Panneau de messages ......................................... 44


Points darrt ........................................................ 67
Surligne de contenu .............................................. 49
diteurs..................................................................... 42
Configuration des diteurs .................................... 72
lments de l'interface.......................................... 34
Panneau de messages ......................................... 44
lment de conteneur ............................................. 101
Accs aux lments............................................ 101
Retirer des lments ........................................... 102
lments de l'interface .............................................. 33
EN
Syntaxe (fichier) .................................................. 205
Syntaxe (tampon d'entres/sorties) ..................... 204
ENCARAC ................................ Voir ENCARACTRES
ENCARACTRES.................................... 117, 118, 182
ENCHANE .............................................. 117, 118, 183
FORMATER ....................................................... 185
Enregistrement.......................................................... 23
Licence d'utilisation ............................................... 18
Mises jour de LARP ........................................... 26
Procdure d'enregistrement .................................. 24
Enseignement
Chiffrement des documents .................................. 82
Conversion dorganigramme en pseudo-code ....... 86
Dbridage de l'environnement de dveloppement 83
Introduction ........................................................... 17
Mode super-utilisateur .......................................... 79
Projets publics ...................................................... 86
Statistiques de projet ............................................ 85
Entier
L'instruction de lecture ........................................ 106
Slection de couleurs............................................ 76
Valeurs numriques .............................................. 99
ENTIER
Tests de type ...................................................... 123
Entres/sorties ........................................................ 105
Instruction dentres/sorties pour organigrammes 105
ENTRER ................................................................. 201
Dclaration des paramtres d'un module ............ 150
diter un organigramme ....................................... 53
Modules auxiliaires ............................................. 147
Environnement de dveloppement ............................ 33
Aide en ligne ......................................................... 27
Configuration gnrale.......................................... 71
lments de l'interface.......................................... 33
Introduction ........................................................... 17
Messages relis l'environnement de
dveloppement............................................... 207
Slection de couleurs............................................ 76
Tampons d'entres/sorties .................................. 159
Erreurs
Aide disponible dans LARP................................... 33
Aide en ligne ......................................................... 27
Avertissements et erreurs ..................................... 70
Avertissements et erreurs ................................... 207
Compilation et excution....................................... 60
Erreur d'application ............................................... 28
Panneau de messages ......................................... 44
Rapporter un bogue .............................................. 28
Espace
Le sparateur ..................................................... 109
EST......................................................................... 123
ET
Oprateurs logiques ........................................... 125
Priorit des oprateurs........................................ 125
EXCUTER
Modules auxiliaires ............................................. 147
Modules auxiliaires avec paramtres .................. 150
Syntaxe d'invocation alternative .......................... 157

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Excution................................................................... 60
Avertissements et erreurs ...................................... 70
Configuration de la console d'excution................. 73
Console d'excution .............................................. 45
Dbut et fin d'un algorithme ................................... 90
Excution d'un projet ............................................. 61
Instructions dorganigramme ................................. 53
Messages relis l'excution d'algorithmes ........ 210
Panneau de messages .......................................... 44
Sauvegarde de scurit......................................... 70
Valeurs numriques .............................................. 99
Excution pas--pas .................................................. 61
Animation .............................................................. 68
Couleurs pour excution pas--pas ....................... 77
diter un document textuel .................................... 47
Fentre d'excution pas--pas .............................. 46
Inspection de la pile dappels................................. 66
Inspection des variables ........................................ 65
Interface de lexcution pas--pas ......................... 61
Modes dexcution pas--pas ................................ 64
Oprateurs arithmtiques .................................... 113
Points darrt ......................................................... 66
Priorit des oprateurs ........................................ 126
Slection de couleurs ............................................ 76
Surligne dinstructions en excution pas--pas ...... 57
Surligne de contenu .............................................. 49
Exigences logicielles .................................................. 22
Exigences matrielles ................................................ 21
EXP ................................................................. 117, 183
LOGE .................................................................. 190
Exposant ............................................................. Voir ^

F
F1 (aide) .................................................................... 33
Facteur dagrandissement
Agrandissement de laffichage............................... 57
Factorielle (rcursivit)............................................. 173
FAIRE
Structure POUR .................................................. 141
Structure TANTQUE ............................................ 137
Syntaxe (structure POUR) ................................... 204
Syntaxe (structure TANTQUE) ............................ 203
FDC ............................................Voir FINDECONTENU
Fentre d'accueil ....................................................... 92
Commander des cls de dbridage ....................... 25
Fentre d'enregistrement ........................................... 92
Procdure d'enregistrement .................................. 24
FERMER ................................................................. 164
Syntaxe ............................................................... 205
Fichier...................................................................... 160
Canaux d'entres/sorties ..................................... 161
Dtection de fin de contenu via un canal
d'entres/sorties.............................................. 166
criture via un canal d'entres/sorties ................. 165
Fermeture d'un canal d'entres/sorties ................ 164
Fichiers et tampons d'entres/sorties .................. 159
FINDECONTENU ................................................ 184
Lecture et criture ............................................... 105
Lecture via un canal d'entres/sorties .................. 164
Modes d'accs .................................................... 163
Ouvrir un fichier ................................................... 162
FICHIER .................................................................. 205
Ouvrir un fichier ................................................... 162
Fichier projet
Chiffrement des documents ................................... 82
Rapporter un bogue .............................................. 29
Fichiers temporaires
Configuration de la console d'excution................. 74

Copyright 2004-2008 Marco Lavoie

Annexe E - Avertissements et erreurs

FIN .......................................................................... 201


Dbut et fin d'un algorithme .................................. 90
diter un organigramme ....................................... 53
Module principal.................................................. 146
FINDECONTENU.............................................166, 184
FINPOUR................................................................ 204
Structure POUR .................................................. 141
FINSLECTIONNER .............................................. 202
Structure de slection ......................................... 134
FINSI
Structure SI-SINON-SI ........................................ 130
Structures conditionnelles ................................... 121
Structures SI et SI-SINON .................................. 126
Syntaxe (structure SI) ......................................... 201
Syntaxe (structure SI-SINON) ............................. 201
Syntaxe (structure SI-SINON-SI) ........................ 202
FINTANTQUE ......................................................... 203
Structure TANTQUE ........................................... 137
Flottant
L'instruction de lecture ........................................ 106
Slection de couleurs............................................ 76
Valeurs numriques .............................................. 99
FLOTTANT
Tests de type ...................................................... 123
Fonction prdfinie
Fonctions de manipulation de chanes ................ 117
Fonctions de manipulation de conteneurs ........... 118
Fonctions mathmatiques ................................... 116
Fonctions trigonomtriques ................. Voir Fonctions
mathmatiques
Fonctions de canal d'entres/sorties
FINDECONTENU ............................................... 184
Fonctions de chane
COMPTER.......................................................... 179
FORMATER ....................................................... 185
MAJUSCULES ................................................... 191
MINUSCULES .................................................... 193
POSITION .......................................................... 196
SOUSENSEMBLE .............................................. 198
Fonctions de conteneur
CAPACIT.......................................................... 179
COMPTER.......................................................... 179
DATE .................................................................. 181
ENCARACTRES .............................................. 182
ENCHANE ......................................................... 183
HEURE ............................................................... 189
MAXIMUM .......................................................... 191
MINIMUM ........................................................... 192
POSITION .......................................................... 196
SOUSENSEMBLE .............................................. 198
Fonctions mathmatiques ....................... Voir Fonctions
trigonomtriques
ABSOLU ............................................................. 175
ALATOIRE ....................................................... 176
ARRONDIR ........................................................ 178
EXP .................................................................... 183
LOG10 ................................................................ 189
LOGE ................................................................. 190
MAXIMUM .......................................................... 191
MINIMUM ........................................................... 192
PLAFOND .......................................................... 194
PLANCHER ........................................................ 195
RACINE .............................................................. 197
Fonctions prdfinies .......................................116, 175
ABSOLU ............................................................. 175
ALATOIRE ....................................................... 176
ARCTANGENTE................................................. 177
ARRONDIR ........................................................ 178
CAPACIT.......................................................... 179
COMPTER.......................................................... 179

229

Index

Guide d'utilisation de LARP

COSINUS ............................................................ 180


Couleurs dans les diteurs .................................... 77
DATE .................................................................. 181
ENCARACTRES ............................................... 182
ENCHANE.......................................................... 183
EXP ..................................................................... 183
FINDECONTENU ................................................ 184
FORMATER ........................................................ 185
HEURE ............................................................... 189
LOG10 ................................................................ 189
LOGE .................................................................. 190
MAJUSCULES .................................................... 191
MAXIMUM ........................................................... 191
MINIMUM ............................................................ 192
MINUSCULES ..................................................... 193
PI () ................................................................... 194
PLAFOND ........................................................... 194
PLANCHER......................................................... 195
POSITION ........................................................... 196
RACINE .............................................................. 197
Retirer des lments ........................................... 103
SINUS ................................................................. 197
SOUSENSEMBLE............................................... 198
Syntaxe d'invocation alternative .......................... 158
Fonctions trigonomtriques ..................... Voir Fonctions
mathmatiques
ARCTANGENTE ................................................. 177
COSINUS ............................................................ 180
PI () ................................................................... 194
SINUS ................................................................. 197
FORMATER .................................................... 118, 185
ENCHANE.......................................................... 183
Freeware .................................................Voir Gratuiciel

G
Gestionnaire de cls .................................................. 75
Glisser-dposer
Contrle de l'diteur graphique via la souris .......... 60
Contrle de l'diteur textuel via la souris................ 51
diter un organigramme ........................................ 54
Fonctionnalits de l'diteur graphique ................... 51
Insertion, dplacement et destruction d'instructions
d'organigramme ................................................ 55
Panneau de modles............................................. 42
Glisser-dposer: ........................................................ 58
Gratuiciel
Conversion dorganigramme en pseudo-code ....... 86
Cration du projet LARP........................................ 92
Installation ............................................................. 21
Licence d'utilisation ............................................... 18
Projets publics ....................................................... 87
Statistiques de projet ............................................. 85
Guide d'utilisation ...................................................... 33
Guillemet ................................................................... 99

H
Hasard ................................................ Voir ALATOIRE
HEURE .................................................................... 189
Hexadcimal ......................... Voir Codage hexadcimal
FORMATER ........................................................ 187

I
Impression
Contrle de l'impression ........................................ 83
diter un document textuel .................................... 48

230

INCRMENT
Structure POUR.................................................. 141
Syntaxe (structure POUR) .................................. 204
Indfini
L'affectation ........................................................ 100
Oprateurs arithmtiques ................................... 113
Oprateurs de conteneurs .................................. 115
Retirer des lments........................................... 102
INDFINIE
Tests de type ...................................................... 124
Indentation ............................................. Voir Tabulation
INDTERMINE
Tests de type ...................................................... 124
Insertion
Insertion, dplacement et destruction d'instructions
d'organigramme ............................................... 55
Inspection
Inspection de la pile dappels ................................ 66
Interface de lexcution pas--pas ........................ 63
Installation................................................................. 21
Exigences minimales d'quipements et logiciels ... 21
Licence d'utilisation ............................................... 18
Mises jour de LARP ........................................... 26
Instruction
Sparation des instructions ................................... 91
Syntaxe des instructions ....................................... 90
Instruction conditionnelle
Structures conditionnelles ................................... 121
Instruction dorganigramme
Structure SI-SINON-SI .................................133, 136
Instruction d'organigramme ....................................... 52
Manipulation d'instructions d'organigramme.......... 54
Instruction squentielle
Le sparateur ..................................................... 111
Oprations ............................................................ 98
Interface
Fichiers et tampons d'entres/sorties .................. 159
Internet
Auteur de LARP .................................................... 21
Commander des cls de dbridage ...................... 26
Mises jour de LARP ........................................... 27
Procdure d'enregistrement .................................. 24
Interruption d'excution
Console d'excution.............................................. 45
Excution d'un projet ............................................ 61
Introduction ............................................................... 17
Invocation ........................................... Voir EXCUTER
Configuration de la console d'excution ................ 73
Dclaration des paramtres d'un module ............ 151
Itration ................................................................... 138
Structure RPTER-JUSQU' ........................... 139

J
Java
Constantes et variables ........................................ 97
Conteneurs ......................................................... 101
Introduction ........................................................... 17
L'affectation ........................................................ 100
Oprateurs et fonctions prdfinies .................... 113
Structure POUR .................................................. 144
Journalisation ............................................................ 29
JUSQU'
Structure RPTER-JUSQU' ........................... 139
JUSQU'
Structure POUR .................................................. 141
JUSQU'
Syntaxe (structure RPTER-JUSQU') ............ 203
JUSQU'
Syntaxe (structure POUR) .................................. 204

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

L
Langage de programmation
Introduction ........................................................... 17
Syntaxe des instructions........................................ 91
LARP
Introduction ........................................................... 17
Lecture .................................................................... 106
Chane contenant des espaces ........................... 110
FINDECONTENU ................................................ 184
Le sparateur ...................................................... 109
L'instruction de requte ....................................... 108
LECTURE ................................................................ 163
Lecture via un canal d'entres/sorties .................. 165
Syntaxe (fichier) .................................................. 205
Syntaxe (tampon d'entres/sorties) ..................... 204
Licence ...................................................................... 19
Licence d'utilisation .................................................... 18
Enregistrement ...................................................... 23
LIRE ................................................................ 106, 205
Console d'excution .............................................. 45
Le sparateur ...................................................... 109
Lecture via un canal d'entres/sorties .................. 164
Modes d'accs .................................................... 163
Lisp
Constantes et variables ......................................... 97
LOG10 ............................................................. 117, 189
LOGE .............................................................. 117, 190
EXP ..................................................................... 183
LONGUEUR ................................. 118, Voir COMPTER

M
Majuscules
Noms de variables................................................. 97
MAJUSCULES ................................................ 118, 191
Majuscules et minuscules
Conversion .................................................. 191, 193
Syntaxe des instructions........................................ 91
Marcher
Modes dexcution pas--pas ................................ 64
Marge de numrotation
Configuration des diteurs ..................................... 73
Couleurs dans les diteurs .................................... 77
MAX ..................................................... Voir MAXIMUM
MAXIMUM ............................................... 117, 118, 191
Menu contextuel
Avertissements et erreurs ...................................... 71
Commandes de l'diteur graphique accessibles via
les menus ......................................................... 58
Commandes de l'diteur textuel accessibles via les
menus ............................................................... 50
Commandes d'dition de l'diteur graphique ......... 58
Commandes d'dition de l'diteur textuel............... 49
Contrle de l'diteur graphique via la souris .......... 60
Contrle de l'diteur textuel via la souris................ 51
diter un document textuel .................................... 48
Insertion, dplacement et destruction d'instructions
d'organigramme ................................................ 55
Navigateur de documents ...................................... 41
Panneau de messages .......................................... 44
Messages
Avertissements et erreurs ...................................... 70
Messages relis l'excution d'algorithmes
E1001.................................................................. 210
E1002.................................................................. 211
E1003.................................................................. 211
E1004.................................................................. 211
E1005.................................................................. 211
E1006.................................................................. 211

Copyright 2004-2008 Marco Lavoie

Annexe E - Avertissements et erreurs

E1007 ................................................................. 211


E1008 ................................................................. 212
E1009 ................................................................. 212
E1010 ................................................................. 212
E1011 ................................................................. 212
E1012 ................................................................. 212
E1999 ................................................................. 212
E2001 ................................................................. 212
E2002 ................................................................. 213
E2003 ................................................................. 213
E2004 ................................................................. 213
E2005 ................................................................. 213
E2006 ................................................................. 213
E2007 ................................................................. 213
E2008 ................................................................. 213
E2009 ................................................................. 213
E2010 ................................................................. 214
E2011 ................................................................. 214
E2012 ................................................................. 214
E2013 ................................................................. 214
E2014 ................................................................. 214
E2015 ................................................................. 214
E2016 ................................................................. 215
E2017 ................................................................. 215
E2018 ................................................................. 215
E2019 ................................................................. 216
E2020 ................................................................. 216
E2021 ................................................................. 216
E2022 ................................................................. 216
E2023 ................................................................. 216
E2024 ................................................................. 216
E2025 ................................................................. 217
E2026 ................................................................. 217
E2027 ................................................................. 217
E2028 ................................................................. 217
E2029 ................................................................. 217
E2101 ................................................................. 218
E2102 ................................................................. 218
E2103 ................................................................. 218
E2104 ................................................................. 218
E2105 ................................................................. 218
E2106 ................................................................. 218
E2107 ................................................................. 218
E2108 ................................................................. 219
E2109 ................................................................. 219
E2110 ................................................................. 219
E2111 ................................................................. 219
E2112 ................................................................. 219
E2113 ................................................................. 219
E2114 ................................................................. 219
E2115 ................................................................. 220
E2116 ................................................................. 220
E2117 ................................................................. 220
E2118 ................................................................. 220
E2119 ................................................................. 220
E2120 ................................................................. 221
E2121 ................................................................. 221
E2122 ................................................................. 221
E2999 ................................................................. 221
E3001 ................................................................. 221
E3002 ................................................................. 222
E3003 ................................................................. 222
E3004 ................................................................. 222
E3005 ................................................................. 222
E3006 ................................................................. 223
E3007 ................................................................. 223
E3008 ................................................................. 223
E9999 ................................................................. 223
MIN ........................................................ Voir MINIMUM
MINIMUM ................................................. 117, 118, 192

231

Index

Guide d'utilisation de LARP

Minuscules
Noms de variables................................................. 97
MINUSCULES ................................................. 118, 193
Mises jour ............................................................... 26
Configuration du mode super-utilisateur et du
systme de mises jour ................................... 74
Licence d'utilisation ............................................... 18
Mode daccs
FINDECONTENU ................................................ 184
Mode dexcution
Couleurs pour excution pas--pas ....................... 77
Modes dexcution pas--pas ................................ 64
Mode d'accs........................................................... 163
Dtection de fin de contenu via un canal
d'entres/sorties.............................................. 166
Ouverture d'un document .................................... 161
Mode d'insertion ........................................................ 45
Modle
lments de l'interface .......................................... 34
Insertion, dplacement et destruction d'instructions
d'organigramme ................................................ 55
Module..................................................................... 145
Commandes de l'diteur textuel accessibles via les
menus ............................................................... 50
Contrle de l'impression ........................................ 83
Contrle du copier-coller ....................................... 82
Couleurs dans les diteurs .................................... 77
Dbut et fin d'un algorithme ................................... 90
Navigateur de documents ...................................... 41
Noms de modules ............................................... 145
Module auxiliaire ...................................................... 147
Dclaration des paramtres d'un module............. 150
Modules avec valeur de retour ............................ 155
Syntaxe d'invocation alternative .......................... 157
Module avec valeur de retour................................... 145
Module paramtr
Modules .............................................................. 145
Module principal....................................................... 146
Dclaration des paramtres d'un module............. 152
Module simple ......................................................... 145
Modules auxiliaires .............................................. 147
Modulo........................................................113, Voir %
Mot rserv
Surligne de contenu .............................................. 49
Mots rservs
Couleurs dans les diteurs .................................... 77
Noms de variables................................................. 97
Multiplication ........................................................ Voir *

N
Navigateur de documents .......................................... 41
diter un document textuel .................................... 47
diter un organigramme ........................................ 53
lments de l'interface .......................................... 34
Fichiers ............................................................... 160
Tampons d'entres/sorties .................................. 159
Ngation .................................................................. 113
Nud d'insertion
Contrle de l'diteur graphique via la souris .......... 60
diter un organigramme ........................................ 54
Insertion, dplacement et destruction d'instructions
d'organigramme ................................................ 55
Manipulation d'instructions d'organigramme .......... 54
Nom de module ....................................................... 145
Nom de variable......................................................... 97
L'affectation ......................................................... 100
Nom d'enregistrement................................................ 24
Commander des cls de dbridage ....................... 25

232

NON...................................................................... Voir !
Priorit des oprateurs........................................ 125
Notation scientifique .................................................. 99
Numro de canal
Canaux d'entres/sorties .................................... 161
Fichiers et tampons d'entres/sorties .................. 159
Numro de licence
Commander des cls de dbridage ...................... 25

O
Octet
La numrotation hexadcimale ........................... 170
Oprateur................................................................ 113
Oprateurs arithmtiques ................................... 113
Oprateurs de chanes de caractres ................. 114
Oprateurs de conteneurs .................................. 115
Priorit des oprateurs........................................ 125
Oprateur arithmtique ........................................... 113
Animation ............................................................. 68
Priorit des oprateurs........................................ 125
Oprateur logique ................................................... 124
Animation ............................................................. 68
Les conditions..................................................... 122
Oprateurs relationnels....................................... 123
Priorit des oprateurs........................................ 125
Oprateur relationnel .............................................. 122
Animation ............................................................. 68
Les conditions..................................................... 122
Priorit des oprateurs........................................ 125
Ordinateur
Exigences minimales d'quipements et logiciels ... 21
Pourquoi les ordinateurs sont-ils binaires? .......... 167
Organigramme .......................................................... 89
Conversion dorganigramme en pseudo-code ....... 85
Couleurs dans les diteurs.................................... 77
Fonctionnalits de l'diteur graphique ................... 51
Instruction dentres/sorties pour organigrammes 105
Le sparateur ..................................................... 111
Les commentaires ................................................ 90
L'instruction de lecture ........................................ 107
L'instruction de requte....................................... 109
L'instruction d'criture ......................................... 108
Navigateur de documents ..................................... 41
Noms de modules ............................................... 146
Panneau de modles ............................................ 41
Structure de slection ......................................... 135
Structure RPTER-JUSQU' ........................... 140
Structure SI-SINON-SI ........................................ 130
Structure TANTQUE ........................................... 137
Structures conditionnelles ................................... 121
Structures SI et SI-SINON .................................. 127
Structures SI-SINON imbriques ........................ 129
Un premier algorithme .......................................... 89
Orientation
dition d'instructions d'organigramme ................... 56
Instructions dorganigramme ................................. 53
OU
Oprateurs logiques ........................................... 125
Priorit des oprateurs........................................ 125
OUVRIR .................................................................. 161
Fichiers ............................................................... 161
Ouvrir un fichier .................................................. 162
Ouvrir un tampon d'entres/sorties ..................... 161
Syntaxe (fichier) .................................................. 205
Syntaxe (tampon d'entres/sorties) ..................... 204

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

P
Panneau de contrle.................................................. 39
Aide disponible dans LARP ................................... 33
Barre de menu ...................................................... 35
Commandes de l'diteur graphique accessibles via
les menus ......................................................... 59
Commandes de l'diteur textuel accessibles via les
menus ............................................................... 50
Commandes d'dition de l'diteur graphique ......... 58
Commandes d'dition de l'diteur textuel............... 49
diter un document textuel .................................... 47
diter un organigramme ........................................ 53
lments de l'interface .......................................... 34
Interface de lexcution pas--pas ......................... 62
Panneau de messages .............................................. 44
Aide disponible dans LARP ................................... 33
Avertissements et erreurs ...................................... 70
Compilation et excution ....................................... 60
lments de l'interface .......................................... 34
Messages relis l'excution d'algorithmes ........ 210
Panneau de modles ................................................. 41
Commandes d'dition de l'diteur graphique ......... 58
Contrle de l'diteur graphique via la souris .......... 60
Contrle de l'diteur textuel via la souris................ 51
lments de l'interface .......................................... 34
Fonctionnalits de l'diteur graphique ................... 51
Insertion, dplacement et destruction d'instructions
d'organigramme ................................................ 55
Instructions dorganigramme ................................. 52
Panneau de statut...................................................... 44
Aide disponible dans LARP ................................... 33
Dbridage de l'environnement de dveloppement . 84
lments de l'interface .......................................... 35
Inspection des variables ........................................ 65
Interface de lexcution pas--pas ................... 63, 66
Paramtre................................................................ 150
Dclaration des paramtres d'un module............. 150
Paramtres rfrences ........................................ 153
Paramtres valeurs ............................................. 152
Paramtre rfrence ................................................ 153
Dclaration des paramtres d'un module............. 152
Modules auxiliaires avec paramtres ................... 150
Modules avec valeur de retour ............................ 157
Paramtre valeur ..................................................... 152
Dclaration des paramtres d'un module............. 152
Modules auxiliaires avec paramtres ................... 150
Parenthses ....................................................... Voir ( )
Partagiciel
Chiffrement des documents ............................. 81, 82
Contrle de l'impression ........................................ 83
Conversion dorganigramme en pseudo-code ....... 86
Cration du projet LARP........................................ 92
Dbridage de l'environnement de dveloppement 83,
84
Installation ............................................................. 21
Licence d'utilisation ............................................... 18
Mode super-utilisateur ........................................... 79
Prvention du plagiat ............................................. 79
Projets publics ....................................................... 86
Pseudonyme actif .................................................. 80
Pseudonyme rattach aux fichiers projet ............... 81
Statistiques de projet ............................................. 85
Pas--pas .............................. Voir Excution pas--pas
Pascal
Introduction ........................................................... 17
Pdagogie
Introduction ........................................................... 18

Copyright 2004-2008 Marco Lavoie

Annexe E - Avertissements et erreurs

Priode d'valuation
Enregistrement ..................................................... 23
Licence d'utilisation............................................... 19
Perl
Constantes et variables ........................................ 97
PI () ................................................................117, 194
Pile dappels
Inspection de la pile dappels ................................ 66
Interface de lexcution pas--pas ........................ 63
Pile d'appels
Configuration de la console d'excution ................ 73
PLAF..................................................... Voir PLAFOND
PLAFOND ........................................................117, 194
PLAN .................................................. Voir PLANCHER
PLANCHER .....................................................117, 195
Point darrt............................................................... 66
Couleurs pour excution pas--pas ...................... 77
Interface de lexcution pas--pas ........................ 63
Modes dexcution pas--pas ............................... 64
Points darrt ........................................................ 66
Surligne dinstructions en excution pas--pas ..... 57
Surligne de contenu .............................................. 49
Police
Configuration de l'diteur graphique...................... 58
Police de caractres
Configuration des diteurs .................................... 72
Polymorphe contextuel
Constantes et variables ........................................ 97
L'affectation ........................................................ 100
Oprations ............................................................ 98
POS ...................................................... Voir POSITION
POSITION................................................ 118, 119, 196
Position d'lment (de conteneur) ........................... 101
POUR ..................................................................... 204
Structure POUR .................................................. 141
Presse-papiers
Commandes de l'diteur textuel accessibles via les
menus .............................................................. 50
Contrle du copier-coller ....................................... 82
Conversion dorganigramme en pseudo-code ....... 86
diter un document textuel ................................... 48
Prvention du plagiat ................................................ 79
Configuration du mode super-utilisateur et du
systme de mises jour ................................... 75
Cration du projet LARP ....................................... 93
Dbridage de l'environnement de dveloppement 83
Licence d'utilisation ............................................... 18
Mode super-utilisateur .......................................... 79
Projets publics ...................................................... 86
Statistiques de projet ............................................ 85
Priorit des oprateurs ............................................ 125
Animation ............................................................. 68
Oprateurs arithmtiques ................................... 113
Projet public .............................................................. 86
Statistiques de projet ............................................ 85
PseudoNavigateur de documents ..................................... 41
Pseudo code
Un premier algorithme .......................................... 89
Pseudo-code ............................................................. 89
Conversion dorganigramme en pseudo-code ....... 85
Couleurs dans les diteurs.................................... 77
Noms de modules ............................................... 146
Panneau de modles ............................................ 41
Pseudonyme
Chiffrement des documents .................................. 82
Commander des cls de dbridage ...................... 25
Configuration du mode super-utilisateur et du
systme de mises jour ................................... 75
Cration du projet LARP ....................................... 93

233

Index

Guide d'utilisation de LARP

Dbridage de l'environnement de dveloppement . 84


Mode super-utilisateur ........................................... 79
Panneau de statut ................................................. 45
Projets publics ....................................................... 86
Pseudonyme actif .................................................. 80
Pseudonyme rattach aux fichiers projet ............... 81
Slection ............................................................... 80
Statistiques de projet ............................................. 85
Pseudonyme actif ...................................................... 80
Contrle du copier-coller ....................................... 82
Puissance .................................................... 113, Voir ^

R
RACINE ........................................................... 117, 197
ARCTANGENTE ................................................. 177
Rappels d'enregistrement .......................................... 23
Procdure d'enregistrement .................................. 24
Recherche ............................................. Voir POSITION
Recherche et remplacement ...................................... 48
Recherche et remplacement dans un organigramme
......................................................................... 57
Rcursivit............................................................... 173
Configuration de la console d'excution................. 73
Oprateurs relationnels ....................................... 123
RFRENCE
Dclaration des paramtres d'un module............. 152
Modules auxiliaires avec paramtres ................... 150
Registres de Windows
Configuration de LARP .......................................... 71
Rpertoire
Ouvrir un fichier ................................................... 162
RPTER
Structure RPTER-JUSQU' ............................ 139
Syntaxe (structure RPTER-JUSQU') ............ 203
RPTER-JUSQU
Structure POUR .................................................. 141
REQUTE ............................................................... 205
Console d'excution .............................................. 45
Le sparateur ...................................................... 109
REQUTE ............................................................... 108
Restrictions de garantie ............................................. 20
Retour de chariot
Le sparateur ...................................................... 110
L'instruction de lecture......................................... 106
L'instruction de requte ....................................... 108
L'instruction d'criture .......................................... 107
Squences d'chappement ................................. 100
Structures SI et SI-SINON ................................... 128
Retourner
Modules avec valeur de retour ............................ 155
RETOURNER .......................................................... 201
diter un organigramme ........................................ 53
Modules auxiliaires .............................................. 147
Modules avec valeur de retour ............................ 156

S
Sauvegarde de projet ................................................ 96
Sauvegarde de scurit......................................... 70
Sauvegarde de scurit ............................................. 70
Configuration de la console d'excution................. 74
Slection des couleurs
Console d'excution .............................................. 46
diter un document textuel .................................... 48
Surligne de contenu .............................................. 49
SLECTIONNER ..................................................... 202
Structure de slection .......................................... 134
Sparateur
criture via un canal d'entres/sorties ................. 166

234

Lecture et criture ............................................... 105


Lecture via un canal d'entres/sorties ................. 165
L'instruction de lecture ........................................ 106
L'instruction d'criture ......................................... 107
SPARATEUR.................................................109, 205
Squence dchappement
Ouvrir un fichier .................................................. 162
Squence d'chappement ....................................... 100
Shareware ............................................. Voir Partagiciel
SI
Structure SI-SINON-SI ........................................ 130
Structures conditionnelles ................................... 121
Structures SI et SI-SINON .................................. 126
Syntaxe (structure SI) ......................................... 201
Syntaxe (structure SI-SINON) ............................. 201
Syntaxe (structure SI-SINON-SI) ........................ 202
Signet ....................................................................... 47
Commandes de l'diteur textuel accessibles via le
clavier .............................................................. 51
SIN.............................................................. Voir SINUS
SINON
Structure de slection ......................................... 134
Structure SI-SINON-SI ........................................ 130
Structures SI et SI-SINON .................................. 126
Syntaxe (structure de slection) .......................... 202
Syntaxe (structure SI-SINON) ............................. 201
Syntaxe (tructure SI-SINON-SI) .......................... 202
SINON SI ................................................................ 202
SINUS ..............................................................117, 197
ARCTANGENTE................................................. 177
Souris
Commandes d'dition de l'diteur graphique......... 58
Commandes d'dition de l'diteur textuel .............. 49
Contrle de l'diteur textuel via la souris ............... 51
SOUSENSEMBLE ................................... 118, 119, 198
Soustraction ......................................................... Voir SparKey
Messages relis l'environnement de
dveloppement............................................... 207
Spcificateur de format ........................................... 185
Statistiques de projet................................................. 85
Projets publics ...................................................... 86
Statut ........................................................................ 44
Structure de slection ............................................. 134
Structure POUR .................... Voir Structures rptitives
Structure RPTER-JUSQU'............... Voir Structures
rptitives
Structure SI .................... Voir Structures conditionnelles
Structure SI-SINON........ Voir Structures conditionnelles
Structure SI-SINON-SI ... Voir Structures conditionnelles
Structure TANTQUE ............. Voir Structures rptitives
Structure RPTER-JUSQU' ........................... 139
Structures conditionnelles ....................................... 121
Dtection de fin de contenu via un canal
d'entres/sorties ............................................. 166
Structure de slection ......................................... 134
Structure SI-SINON-SI ........................................ 130
Structures SI et SI-SINON .................................. 126
Structures SI-SINON imbriques ........................ 128
Structures imbriques
Structure SI-SINON-SI ........................................ 130
Structures SI-SINON imbriques ........................ 128
Structures itratives .............. Voir Structures rptitives
Structures rptitives .............................................. 137
Dtection de fin de contenu via un canal
d'entres/sorties ............................................. 166
Rcursivit.......................................................... 173
Structure POUR .................................................. 141
Structure RPTER-JUSQU' ........................... 139
Structure TANTQUE ........................................... 137

Copyright 2004-2008 Marco Lavoie

Guide d'utilisation de LARP

Super-utilisateur......................................................... 79
Chiffrement des documents ................................... 81
Commander des cls de dbridage ....................... 25
Configuration du mode super-utilisateur et du
systme de mises jour ................................... 74
Contrle de l'impression ........................................ 83
Contrle du copier-coller ....................................... 82
Dbridage de l'environnement de dveloppement . 83
Insertion, dplacement et destruction d'instructions
d'organigramme ................................................ 55
Licence d'utilisation ............................................... 18
Projets publics ....................................................... 86
Slection d'une technologie de cl......................... 84
Statistiques de projet ............................................. 85
Support technique...................................................... 27
Rapporter un bogue .............................................. 29
Site Web de LARP ................................................ 30
Suppression d'instruction
Insertion, dplacement et destruction d'instructions
d'organigramme ................................................ 55
SUR
Syntaxe (fichier) .................................................. 205
Syntaxe (tampon d'entres/sorties) ..................... 204
Surligne
Surligne dinstructions en excution pas--pas ...... 57
Surligne de mots rservs ......................................... 49
Configuration de l'diteur textuel ........................... 49
Configuration des diteurs ..................................... 73
Couleurs dans les diteurs .................................... 77
Syntaxe ..................................................................... 90
Systme d'exploitation ............................................... 22

T
Tableau ................................................. Voir Conteneur
Tabulation.................................................................. 72
TAMPON ................................................................. 204
Tampon d'entres/sorties......................................... 159
Canaux d'entres/sorties ..................................... 161
Commandes de l'diteur textuel accessibles via les
menus ............................................................... 50
Configuration de la console d'excution................. 74
Contrle de l'impression ........................................ 83
Contrle du copier-coller ....................................... 82
Couleurs dans les diteurs .................................... 77
Dtection de fin de contenu via un canal
d'entres/sorties.............................................. 166
criture via un canal d'entres/sorties ................. 165
Fermeture d'un canal d'entres/sorties ................ 164
Fichiers ............................................................... 160
Fichiers et tampons d'entres/sorties .................. 159
FINDECONTENU ................................................ 184
Lecture et criture ............................................... 105
Lecture via un canal d'entres/sorties .................. 164
Modes d'accs .................................................... 163
Navigateur de documents ...................................... 41
Ouvrir un tampon d'entres/sorties ...................... 161

Copyright 2004-2008 Marco Lavoie

Annexe E - Avertissements et erreurs

TANTQUE............................................................... 203
Structure POUR .................................................. 141
Structure TANTQUE ........................................... 137
Tlchargement ........................................................ 22
Mises jour de LARP ........................................... 26
Test de type ............................................................ 123
Les conditions..................................................... 122
Oprateurs de conteneurs .................................. 115
Touches acclratrices
Barre de menu ...................................................... 35
Commandes de l'diteur graphique accessibles via
le clavier ........................................................... 60
Commandes de l'diteur textuel accessibles via le
clavier .............................................................. 51
Transformation
dition d'instructions d'organigramme ................... 56
Transmission par rfrence ..................... Voir Argument
Transmission par valeur .......................... Voir Argument

V
Valeur de retour
Modules avec valeur de retour ............................ 155
Syntaxe d'invocation alternative .......................... 157
Valeurs limites........................................................... 99
Variable..................................................................... 97
Accs aux lments............................................ 101
Dclaration des paramtres d'un module ............ 150
Inspection des variables ....................................... 65
Interface de lexcution pas--pas ........................ 63
L'affectation ........................................................ 100
Noms de variables ................................................ 97
Oprateurs arithmtiques ................................... 113
Oprations ............................................................ 98
Paramtres valeurs............................................. 152
Variables locales................................................. 149
Variable d'itration (Structure POUR) ...................... 141
Variable indfinie......................................... Voir Indfini
Variable locale ........................................................ 149
Vrification d'intgrit ................................................ 82
Version gratuiciel....................................................... 19
Version partagiciel..................................................... 19
Virgule
Fermeture d'un canal d'entres/sorties ............... 164

W
Web .......................................................................... 30
Auteur de LARP .................................................... 21
Commander des cls de dbridage ...................... 26
Configuration du mode super-utilisateur et du
systme de mises jour ................................... 75
Mises jour de LARP ........................................... 26
Procdure d'enregistrement .................................. 24
Support technique................................................. 27

235

Das könnte Ihnen auch gefallen