المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : مسااااااااااعدة ارجووكم


habiba94
2014-04-18, 19:42
Soit la procédure suivante :
Procédure faitCalculs (x : entier, y : entier)
DEBUT
ECRIRE (‘Somme : ‘, x+y)
ECRIRE (‘Produit : ‘, x*y)
FIN
Que fourniront ces instructions ?
n ← 4, p ← 5, q ← 8
faitCalculs (n, p+2)
faitCalculs (2*n, q)

-asma-
2014-04-19, 14:10
السلام عليكم ورحمة الله تعالى وبركاته
أختي لك الحل

faitCalculs(x,y) est une procedure (c'est à dire ne fournit aucune valeur - n'y a pas une valeur de retour -)
mais cette procedure affiche la somme (x+y) et le produit (x*y) de ses paramètres
Donc: pour
n ← 4, p ← 5, q ← 8
faitCalculs(n,p+2) affiche cette message
Somme: 11 //puisque: 4+(5+2)=11
Produit: 28 //puisque: 4*(5+2)=4*7=28

faitCalculs(2*n,q) affiche cette message
Somme: 16 //puisque: (2*4)+8=8+8=16
Produit: 64 //puisque: (2*4)*8=8*8=64

وربي يوفقك أختي...

في أمان الله....

habiba94
2014-04-19, 14:27
merciiiiiii khti rabi yahafdak
mais kain haja dawkhtni li hia le mode de passage fi had l'exemple le mode c par valeur esq resultat tabka nafsha ??

-asma-
2014-04-20, 01:45
السلام عليكم
le mode d'adressage dans ce cas est par valeur donc les variables x,y changent ses valeurs juste dans la procedure faitCalculs(), mais a l'exterieur les variables x,y conservent ses valeurs propres, mais dans cet exemple la procedure fait rien puisque il n y a pas des affectations comme: x<--- x+y;

par exemple cette algorithme:

algorithme test;
var x,y:integer;
Procédure faitCalculs (x: entier, y: entier)
z:integer;

DEBUT
z=x;
x=x+y;

ECRIRE (‘Somme : ‘, x);
x=z;
y=x*y;

ECRIRE (‘Produit : ‘, y);

FIN;
DEBUT
x<---5; y<---6;
faitCaculs(x,y);
Fin.

dans ce cas la procedure affiche les meme messages et les valeurs de x et de y reste 5 et 6.

في أمان الله...