Вы находитесь на странице: 1из 2

puissance

x:rel
n:entier
retourne:rel

Dclaration de fonction
Syntaxe en notation algorithmique (cf. feuille rose )

Lentte ou linterface (nom, liste des paramtres formels... )


Les dclarations internes (variables locales ... )
La suite des actions ralises dans la fonction.
Type du Rsultat
Fonction puissance : rel ( x : rel ; n : entier )
|
% cette fonction retourne la valeur de x ** n ;
|
n est suppos >= 0 %
| Dclarations
| | Variables
Variables locales non
| | |
res_part : rel
visibles hors de la
| | |
cptr : entier
fonction.
| Actions
| | res_part 1
| | Pour (cptr 1) Quand (cptr n) Avec (cptr cptr+1)
| | |
res_part res_part * x
| | FPR
| | Retourne res_part
Fin FCT % Puissance %

Syntaxe en C++ (cf. feuille bleue )

Entte ou interface : type nom ( liste des paramtres formels )


Dfinition de la fonction
float puissance (float x, int n)
/*
*/

Invocation dune fonction

x:rel
n:entier
retourne:rel

Syntaxe en notation algorithmique

Comporte 3 parties :

Rsultat
renvoy
l'appelant

puissance
z-y
4

cette fonction retourne la valeur de x ** n ;


n est suppos >= 0

L'ensemble des instructions


// dclarations locales
entre accolade est appel
float res_part ;
dfinition de la fonction.
int cptr ;
// actions
res_part = 1 ;
for (cptr = 1 ; cptr <= n ; cptr = cptr +1 )
res_part = res_part * x ;
return ( res_part ) ;
Rsultat renvoy l'appelant

Programme Principal
Dclarations locales
|
....
|
Variables
|
|
x, y, z, rayon, teta, result : rel
Actions
|
.....
|
lire clavier x, y, z, rayon, teta
|
.....
|
z rayon * cos (teta)
{ z = rayon cos }
|
y 3 * abs ( z rayon )
{ y = 3 |z-rayon | }
|
result puissance(z-y, 4)
|
result x + result
{ result = x + (z-y)4 }
|
.....
Fin Actions
Syntaxe en C++

// dclarations de la fonction puissance


.... /* voir ci-dessus */
// programme principal
main ()
{
// variables
float x, y, z, rayon, teta, result;
// actions
.....
cin >> x >> y >> z >> rayon >> teta ;
.....
z = rayon * cos (teta);
y = 3 * fabs ( z rayon );
result = puissance(z-y, 4);
result = x + result;
.....
}
Dans l'expression le nom de la fonction est
remplac par la valeur retourne

result

rect_pol
x:rel
y:rel

Dclaration de procdure
Syntaxe en notation algorithmique (cf. feuille rose)

Les sorties sont


encadres et les entres
sont soulignes

Procdure rect_pol ( rho , teta , x, y : rel )

|
|
|

% cette procdure retourne les coordonnes polaires


rho et teta dun point dfini par son abscisse x et
son ordonne y %

| Dclarations
|
|
Constante
|
|
|
pi=3.14159
|
|
Variables
|
|
|
carre_module : rel
| Actions
|
|
carre_module x * x + y * y
|
|
rho racine_carree (carre_module)
|
|
Si (rho 0 ) Alors
|
|
|
|
teta arccos ( x / rho )
|
|
|
|
Si (y < 0) Alors
|
|
|
|
|
teta - teta
|
|
|
|
FSI
|
|
|
Sinon teta 0
|
|
FSI
| Fin Actions
Fin fonction % RectPol %
Pass par
Syntaxe en C++ (cf. feuille bleue)

rfrence :
sortie

Pass par
valeur : entre

void rectpol (float & rho, float & teta, float x, float y)
/*
cette procdure retourne les coordonnes polaires
rho et teta dun point dfini par son abscisse x et
Type vide
son ordonne y
!
*/
procdure
{
// dclarations locales
const float pi=3.14159;
float carre_module ;
// actions
carre_module = x*x + y*y ;
rho = sqrt ( carre_module) ;
if ( rho neq 0 )
{
teta = acos ( x / rho ) ;
if ( y < 0 ) teta = - teta ;
}
else teta = 0 ;
}
Il ne peut pas y avoir
d'instruction
return (valeur__retourner)

rect_pol

rho:rel
teta:rel

absA
ordA

x:rel
y:rel

rho:rel
teta:rel

rhoA
tetaA

Invocation dune procdure


Syntaxe en notation algorithmique

Dclarations % globales %
|

|
... % dclaration de rectpol ici %
|

Programme principal
Dclarations % locales %
|
Variables
|
|
absA,ordA,absB,ordB,rhoA,tetaA, rhoB,tetaB : rel
Actions
|
crire cran "Entrez les coord. cartsiennes de A"
|
lire clavier absA, ordA
En notation
|
crire cran "Entrez les coord. cartsiennes de B"
algorithmique
|
lire clavier absB, ordB
l'appel est
|
appel rectpol (rhoA,tetaA,absA,ordA)
explicite
|
appel rectpol (rhoB,tetaB,absB,ordB)
|
crire cran "A : ", rhoA,",",tetaA, Fdl
Attention :
|
crire cran "B : ", rhoB,",",tetaB, Fdl
Le mode de passage
Fin Actions
des paramtres n'est
jamais indiqu au
Syntaxe en C++
niveau de l'appel
// dclarations de la procdure recpol
.... /* voir ci-dessus 3.2 */
// programme principal
main ()
{
// variables
float absA,ordA,absB,ordB,rhoA,tetaA, rhoB,tetaB;
// actions
cout << "Entrez les coord. cartsiennes de A ";
cin >> absA >> ordA;
cout << "Entrez les coord. cartsiennes de B ";
cin >> absB >> ordB;
rectpol (rhoA,tetaA,absA,ordA) ;
rectpol (rhoB,tetaB,absB,ordB) ;
Appel en
ce C;et
cout << "A:"<<rhoA<<","<<tetaA<<endl;
C++ :
cout << "B:"<<rhoB<<","<<tetaB<<endl;
nom de la
}
procdure
Attention :
suivi de la
Le mode de passage
liste des
des paramtres n'est
paramtres
jamais indiqu au
effectifs
niveau de l'appel

Вам также может понравиться