13 mars 2001
On veut définir un processus ChangerExposants, dont
l'interface et la fonctionalité sont données plus bas, qui va
remplacer, dans un stream de caractères, les paires
consécutives d'astérisques (de la forme ``**'') par le
caractère ``^'', les autres caractères étant inchangés.
Plus précisément, le processus ChangerExposants va recevoir un caractère à la fois sur le port entree -- donc à l'aide d'une expression de la forme ``entree ?nomVariable: char'' -- et va transmettre les caractères résultants, un à la fois, sur le port sortie -- donc avec une expresssion de la forme ``sortie !variable'' ou ``sortie !'c'''.
L'en-tête du processus ChangerExposants est comme suit:
PROCESS ChangerExposants[entree, sortie]: NOEXIT :=
Notez que le nom du processus à définir est
``ChangerExposants'' car ``**'' et ``^'' sont
deux façons de représenter l'opérateur d'exponentiation (à la
FORTRAN vs. à la Pascal ou Spec).
Note: La portée d'une variable s'étend du point de sa
déclaration jusqu'à la fin de la sous-expression de comportement
dont elle fait partie. Par exemple, les déclarations et utilisations
suivantes seraient correctes:
act1 ?x: nat;
act2 ?y: nat;
([x = y] -> ... x ... y ...
[]
[x ~= y] -> ... x ... y ...
)
**'' par ceux de style ``^'', et va
ensuite produire en sortie (sur le port sortie) des lignes de
132 caractères:
PROCESS CopierEtChangerExposants[entree, sortie]: NOEXIT :=
Indice : Utilisez le processus
ChangerExposants ainsi que les processus Paqueter et
Depaqueter (introduits dans les notes de cours sur LOTOS à
la page 27) que vous combinerez de façon concurrente. Vous n'avez
pas besoin de redonner les spécifications de ces processus;
faites simplement les utiliser.
This document was generated using the LaTeX2HTML translator Version 97.1 (release) (July 13th, 1997)
Copyright © 1993, 1994, 1995, 1996, 1997, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
The command line arguments were:
latex2html -split +0 -auto_navigation lotos-exposant.tex.
The translation was initiated by Tremblay Guy on 3/12/2001