Académique Documents
Professionnel Documents
Culture Documents
Troisime dition
Marco Lavoie
Copyright 2004-2008 Marco Lavoie
Marco Lavoie
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
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
Conteneurs ............................................................................................................................101
iv
6.1
6.2
6.3
7
10
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
12.1
12.2
12.3
12.3.1
12.3.2
12.3.3
12.3.4
12.3.5
12.4
12.5
12.6
vi
vii
viii
ix
xi
xiii
xiv
xv
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.
17
1. Introduction
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 la mise jour automatise de linstallation (les mises
jour doivent tre rcupres et installes manuellement) alors que la version partagiciel
loffre lorsque enregistre.
Les deux versions du logiciel sont distribues en un seul fichier dinstallation. La version
installer est slectionne par lutilisateur lors du processus dinstallation.
18
1. Introduction
La fentre daccueil du logiciel identifie aussi quelle version de LARP est utilise.
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.
19
1. Introduction
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
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
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 :
Ordinateur de type PC
64 Mo de mmoire vive
21
1. Introduction
Exigences logicielles :
22
1. Introduction
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.
23
1. Introduction
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.
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
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.
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.
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.
25
1. Introduction
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
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.
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
1. Introduction
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.
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.
une description dtaille des messages d'erreur et davertissement affichs par LARP.
27
1. Introduction
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.
Il peut aussi arriver selon les circonstances que LARP affiche un message d'erreur plus dtaill :
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
1. Introduction
Si l'ordinateur est dot d'un agent de courrier lectronique (par exemple, Microsoft
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.
29
1. Introduction
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.
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
1. Introduction
31
2. Environnement de dveloppement
2 Environnement de dveloppement
L'environnement de dveloppement de LARP est constitu d'une interface graphique conforme
2.1
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
33
2. Environnement de dveloppement
34
2. Environnement de dveloppement
Accl.
Fichier
.I. Description
Regroupe les commandes relatives l'accs aux
fichiers de projets.
Nouveau...
Ctrl+N
Ouvrir...
Ctrl+O
Rouvrir
Alt+O
Ctrl+S
Sauvegarder sous...
Imprimer... ()
nouveau
Fermer projet
Sauvegarder
un
Ctrl+P
Quitter
Alt+F4
Quitter l'application.
Regroupe les commandes relatives l'dition de
documents.
diter
Annuler
Ctrl+Z
Couper
Ctrl+X
Copier
Ctrl+C
35
2. Environnement de dveloppement
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
Augmenter
l'indentation
Rduire l'indentation
Rechercher...
Rechercher suivant
Remplacer...
Ctrl+F
F3
Ctrl+H
Afficher
Document
Panneau latral
Messages
Console
F5
Agrandir laffichage
Rduire laffichage
Aucun
agrandissement
Pseudo-code ()
36
Commande
2. Environnement de dveloppement
Accl.
Excuter
Compiler...
Ctrl+F7
Excuter...
F7
Excuter pas--pas...
Shift+F7
Excution anime
Interrompre
lexcution
Excuter un pas
.I. Description
F6
Ctrl+F6
Marcher
Continuer lexcution
Suspendre lexcution
Point darrt
Shift+F6
F8
Projet
Nouveau
Pseudo-code
Organigramme
Fermer
Statistiques... ()
F9
Modules
Nouveau
Pseudo-code
Organigramme
37
2. Environnement de dveloppement
Commande
Accl.
.I. Description
Renommer...
Supprimer...
Importer ()
Exporter ()
Tampons d'E/S
Nouveau...
Renommer...
Supprimer...
Importer
Exporter
Options
Gnrales...
Couleurs...
Enregistrement... ()
Mises jour ()
38
2. Environnement de dveloppement
Commande
Accl.
.I. Description
Modifier le pseudonyme actif.
Identification... ()
Aide
F1
Aide contextuelle...
Contenu...
Shift+F1
Erreur...
Ctrl+F1
Rapporter un bogue...
propos...
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...
Fichier Ouvrir...
39
2. Environnement de dveloppement
.I.
Commande
Description
Fichier Imprimer...
diter Annuler
diter Couper
diter Copier
diter Coller
Afficher Augmenter
l'indentation
diter Rduire
l'indentation
Afficher
laffichage
Afficher
laffichage
diter Rechercher...
diter Rechercher
suivant
Afficher Console
Aide Aide
contextuelle...
40
.I.
2. Environnement de dveloppement
Commande
Description
Affiche le nom du document dit et permet de changer de
document.
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.
41
2. Environnement de dveloppement
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
2. Environnement de dveloppement
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.
43
2. Environnement de dveloppement
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.
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 :
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.
44
2. Environnement de dveloppement
45
2. Environnement de dveloppement
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).
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.
2. Environnement de dveloppement
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.
Lexcution pas--pas est dcrite en dtails dans la section 2.5.2, intitule Excution pas--pas.
2.3
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.
47
2. Environnement de dveloppement
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.
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.
48
2. Environnement de dveloppement
Les mots rservs du langage LARP sont affichs en caractres gras noirs.
Les fonctions prdfinies du langage LARP sont affiches en caractres gras bleus.
L'attribution des couleurs de surligne est configurable via la slection des couleurs.
Pour plus d'information sur la configuration de l'diteur, consultez les sections correspondantes
(pages 72 et 77).
la barre de menu,
le panneau de contrle,
le clavier, et
la souris.
2.3.5.1
49
2. Environnement de dveloppement
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
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>
<Home>
<Enter>
<Ins>
<Del>
<Backspace>
<Tab>
<Left>
<Right>
<Up>
<Down>
<Page Up>
<Page Down>
<Ctrl>+<Up>
<Ctrl>+<End>
50
2. Environnement de dveloppement
Touches
Description
<Ctrl>+<Shift>+0...9
<Ctrl>+0...9
En plus des commandes ci-dessus, LARP rpond aussi aux touches acclratrices associes
la barre de menu.
2.3.5.3
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.
51
2. Environnement de dveloppement
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
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.
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.
53
2. Environnement de dveloppement
54
2.4.3.1
2. Environnement de dveloppement
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
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.
55
2. Environnement de dveloppement
Figure 2-20 : Insertion d'une instruction d'organigramme via le menu contextuel du noeud
2.4.3.2
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
2. Environnement de dveloppement
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.
57
2. Environnement de dveloppement
la barre de menu,
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
58
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
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>
<Home>
<Enter>
<Del>
<Left>|<Up>
<Right>|<Down>
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.
59
2. Environnement de dveloppement
En plus des commandes ci-dessus, LARP rpond aussi aux touches acclratrices associes
la barre de menu.
2.4.8.3
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
60
2. Environnement de dveloppement
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.
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).
61
2. Environnement de dveloppement
62
2. Environnement de dveloppement
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.
63
2. Environnement de dveloppement
2.5.2.2
64
2. Environnement de dveloppement
2.5.2.3
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.
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.
65
2. Environnement de dveloppement
2.5.2.4
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 :
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
2. Environnement de dveloppement
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 :
67
2. Environnement de dveloppement
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
68
2. Environnement de dveloppement
69
2. Environnement de dveloppement
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.
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
2. Environnement de dveloppement
2.6
Configuration de LARP
de lexcution dalgorithmes,
de la gestion gnrale, et
71
2. Environnement de dveloppement
Cette fentre est accessible via la barre de menu, sous l'item Options Gnrales :
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
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.
72
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.
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.
73
2. Environnement de dveloppement
2.6.1.3
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
2. Environnement de dveloppement
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 :
75
2. Environnement de dveloppement
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.1
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
2.6.2.2
2. Environnement de dveloppement
Pour les diteurs, les attributs d'affichage suivants sont configurables du point de vue de leur
couleur :
De plus, puisque l'diteur textuel dispose d'une fonctionnalit de surligne de mots rservs, les
couleurs de surligne suivantes sont aussi configurables :
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
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 :
77
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.
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.
79
3. Mode super-utilisateur
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
3. Mode super-utilisateur
Les fonctionnalits de prvention du plagiat ne sont pas disponibles dans la version gratuiciel de
LARP.
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.
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).
81
3. Mode super-utilisateur
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.
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
3. 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 :
3.2
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.
83
3. Mode super-utilisateur
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 :
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.
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
3. Mode super-utilisateur
le temps total consacr par l'utilisateur diter les documents du projet dans LARP;
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.
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.
85
3. 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
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.
87
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
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
89
4. Un premier
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).
4.2
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
90
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.
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
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 $.
91
4. Un premier
Le mme principe sapplique aux instructions dorganigramme. Une instruction peut tre termine
par le symbole $ et ensuite poursuivie dans linstruction squentielle suivante :
4.5
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).
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
4. Un premier
93
4. Un premier
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.
94
4. Un premier
95
4. Un premier
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
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 :
97
5. Constantes et variables
INVALIDES
Date
DATE
_201
Table10
Cout_Achat
Franais
101_Francais
Cout Achat
Paie&Bonus
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
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
5. Constantes et variables
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
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 :
5.0E-324 (5.0x10
-324
308
) 1.7E308 (1.7x10
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
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"
99
5. Constantes et variables
5.5
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 \
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 :
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
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
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
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
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"
101
6. Conteneurs
Pour modifier les lments d'un conteneur, on utilise l'affectation. On peut aussi utiliser
l'affectation pour ajouter des lments un conteneur :
6.3
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]
102
6. Conteneurs
LARP dispose de fonctions prdfinies visant compter les lments dans un conteneur :
Fonction
Description
CAPACIT
COMPTER
103
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
Les entres/sorties sont reprsentes dans les organigrammes LARP par linstruction
dentres/sorties :
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 :
105
7. Lecture et criture
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
Squence de chiffre
234, -76
Entier
2.1, -2E17
Flottant
Allo, a234
Chane
L'instruction LIRE peut lire plus d'une valeur si une liste de variables lui est fournie :
LIRE a, b, c
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
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 :
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
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.
107
7. Lecture et criture
7.4
L'instruction de requte
\\ Libell de la requte
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
\\ Libell et lecture
108
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
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 :
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 :
109
7. Lecture et criture
Instruction
LIRE
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
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
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
7. Lecture et criture
111
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
*, /, //, %
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
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.
113
8.2
Description
Concatnation (i.e. joindre deux chanes)
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) :
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"
114
8.3
Oprateurs de conteneurs
Description
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
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]
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) :
115
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.
Descriptions
Exemples
ABSOLU
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
ARRONDIR
116
-1
ARRONDIR(12.6) retourne 13
Fonctions
Descriptions
Exemples
COSINUS
COSINUS(1.5707963)
ENCHANE
ENCHANE(12.34)
EXP
LOGE(EXP) retourne 1
LOG10
LOGE
MAXIMUM
MAXIMUM(11.1, 12, 7)
MINIMUM
MINIMUM(11.1, 12, 7)
PI
PLAFOND
PLAFOND(12.1) retourne 13
PLANCHER
PLANCHER(12.1) retourne 12
RACINE
RACINE(25) retourne 5
SINUS
SINUS(1.5707963)
Descriptions
COMPTER
ENCARACTRES
Exemple
117
Fonctions
Descriptions
Exemple
FORMATER
FORMATER("%5.2f", 3.1)
retourne " 3.10"
LONGUEUR
MAJUSCULES
MINUSCULES
POSITION
SOUSENSEMBLE
Descriptions
Exemple
CAPACIT
CAPACIT([1, , 2, ])
retourne 4
COMPTER
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
MAXIMUM
MINIMUM
118
Fonctions
Descriptions
Exemple
POSITION
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]
119
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
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.
121
9. Structures conditionnelle
9.1
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
<=
>
>=
galit : a = b
!=
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
9. Structures conditionnelle
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 :
123
9. Structures conditionnelle
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
9. Structures conditionnelle
Descriptions
ET
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
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
Oprateurs relationnels
+, -
Addition et soustraction
*, /, //, %
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.
125
9. Structures conditionnelle
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
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
126
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 :
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.
127
9. Structures conditionnelle
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
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?
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
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 :
129
9. Structures conditionnelle
9.8
Structure SI-SINON-SI
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
9. Structures conditionnelle
131
9. Structures conditionnelle
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 :
132
9. Structures conditionnelle
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.
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
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.
133
9. Structures conditionnelle
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
Valeur2
Valeur2
Valeur2
Valeur2
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
9. Structures conditionnelle
Notez que :
135
9. Structures conditionnelle
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.
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.
136
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.
137
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
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.
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
139
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'
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
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 :
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 :
141
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
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
143
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
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 :
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.
145
11. Modules
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.
via le bouton
du panneau de contrle, ou
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 :
noter que tous les modules dun mme projet doivent avoir un nom distinct.
146
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.
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.
147
11. Modules
\\ 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 :
148
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 :
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.
149
11. Modules
11.5.1
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
11. Modules
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
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
151
11. Modules
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
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
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
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 :
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
153
11. Modules
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
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
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 :
Dans la littrature technique, la relation entre les paramtres rfrences et les arguments fournis
en appel est nomme la transmission par rfrence.
155
11. Modules
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
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.
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 :
157
11. Modules
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
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.
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.
159
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).
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.1
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
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 :
161
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
162
Le fichier n'existe pas : l'algorithme tente d'ouvrir en mode lecture un fichier inexistant.
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 :
Trois modes d'accs aux tampons d'entres/sorties et fichiers sont supports par LARP :
La principale distinction entre les modes d'accs CRITURE et AJOUT est dans la gestion du
contenu antrieur du document :
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
163
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
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 :
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
Figure 12-2 : Spcifier un numro de canal dans une instruction de lecture d'organigramme
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 :
165
Figure 12-3 : Spcifier un numro de canal dans une instruction d'criture d'organigramme
166
c'est
c'est
c'est
c'est
3
4
6
8
x
x
x
x
1000
100
10
1
167
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.
168
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
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.
169
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
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
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.
171
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.
173
Annexe B - Rcursivit
\\ 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)
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!
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 :
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
175
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 :
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
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 :
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
177
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 :
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
CAPACIT
Nom :
CAPACIT
Synonymes :
CAP
Type de retour :
Numrique entier
Nombre d'arguments :
Description :
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 :
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.
179
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 :
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
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 :
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
181
ENCARACTRES
Nom :
ENCARACTRES
Synonymes :
ENCARAC
Type de retour :
Conteneur
Nombre d'arguments :
Description :
Format(s) d'appel :
ENCARACTRES(chane de caractres)
ENCARACTRES(numrique)
ENCARACTRES(conteneur)
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
ENCHANE
Nom :
ENCHANE
Synonymes :
Aucun
Type de retour :
Chane de caractres
Nombre d'arguments :
Description :
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 :
Format(s) d'appel :
EXP
183
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 :
Format(s) d'appel :
FINDECONTENU(canal d'entres/sorties)
184
FORMATER
Nom :
FORMATER
Synonymes :
Aucun
Type de retour :
Chane de caractres
Nombre d'arguments :
1 ou plus
Description :
Format(s) d'appel :
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 % :
Le tableau suivant rsume les valeurs possibles de type et l'interprtation correspondante des
lments de formatage.
Type
Signification
Description
Dcimal
185
Type
Signification
Description
Scientifique
Fixe
Gnral
Nombre
Montant d'argent
Chane
186
Type
Signification
Description
Hexadcimal
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
187
\\ 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
HEURE
Nom :
HEURE
Synonymes :
Aucun
Type de retour :
Conteneur
Nombre d'arguments :
Description :
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 :
Format(s) d'appel :
LOG10(numrique)
Cette fonction retourne le logarithme en base 10 (i.e. Log10) de la valeur donne en paramtre.
189
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 :
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
MAJUSCULES
Nom :
MAJUSCULES
Synonymes :
Aucun
Type de retour :
Chane de caractres
Nombre d'arguments :
Description :
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 :
Nombre d'arguments :
1 ou plus
Description :
Format(s) d'appel :
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.
191
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 :
Nombre d'arguments :
1 ou plus
Description :
Format(s) d'appel :
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
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 :
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
193
PI
Nom :
PI
Synonymes :
Aucun
Type de retour :
Numrique flottant
Nombre d'arguments :
Description :
Format(s) d'appel :
PI
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 :
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
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 :
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
195
POSITION
Nom :
POSITION
Synonymes :
POS
Type de retour :
Numrique entier
Nombre d'arguments :
Description :
Format(s) d'appel :
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.
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])
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
RACINE
Nom :
RACINE
Synonymes :
Aucun
Type de retour :
Numrique flottant
Nombre d'arguments :
Description :
Format(s) d'appel :
RACINE(numrique)
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 :
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.
197
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 :
Nombre d'arguments :
Description :
SOUSENSEMBLE
paramtre.
Format(s) d'appel :
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 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
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
199
D.1 Modules
Module principal
Module auxiliaire
DBUT
squence d'instructions
FIN
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.
Structure SI-SINON
SI condition ALORS
squence d'instructions
FINSI
SI condition ALORS
squence d'instructions #1
SINON
squence d'instructions #2
FINSI
201
Structure SI
Structure SI-SINON
compose
d'oprateurs
relationnels,
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
...
Structure SI-SINON-SI
...
202
Structure de slection
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.
Structure RPTER-JUSQU'
RPTER
squence d'instructions
JUSQU' condition
compose
d'oprateurs
relationnels,
203
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
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.
mode d'accs est un des mots rservs suivants: LECTURE, CRITURE ou AJOUT.
OUVRIR un fichier
OUVRIR FICHIER nom de fichier SUR numro de canal EN mode d'accs
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.
liste de numros de canal est une liste dexpressions spares par des virgules,
chacune retournant une valeur entire de 1 256.
205
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.
E.1
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.
207
208
209
E.2
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 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
Vous avez un module auxiliaire dbutant avec une instruction autre que ENTRER (avec
optionnellement des paramtres).
210
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 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
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
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 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
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
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.
211
E1008
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
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
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
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
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
212
E2002
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
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
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
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
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
213
E2010
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
214
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
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
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.
215
E2019
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
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
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
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
E2025
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
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
Lalgorithme fait appel un module auxiliaire ntant pas dfini dans le projet.
Consultez la section sur les modules auxiliaires pour plus dinformation.
217
E2101
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
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
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
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
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
Un calcul arithmtique dans l'algorithme comprend une division dont le dnominateur est 0.
E2107
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
E2108
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
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
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
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
Le nom de fichier fourni l'instruction OUVRIR est invalide. Le nom du fichier doit tre
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.
219
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
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
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
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
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
Consultez la section portant sur les fichiers et tampons d'entres/sorties pour plus
d'information.
E2120
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
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
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
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
221
E3002
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
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
222
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
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
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
Une erreur non prvue par les dveloppeurs de LARP fut dtecte. Veuillez contacter le
support technique de LARP afin d'obtenir de l'aide.
223
Index
-
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
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
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
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
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
229
Index
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
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
231
Index
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
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
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
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
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
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