Aide language pascal
zarati
Messages postés
39
Date d'inscription
Statut
Membre
Dernière intervention
-
zarati Messages postés 39 Date d'inscription Statut Membre Dernière intervention -
zarati Messages postés 39 Date d'inscription Statut Membre Dernière intervention -
Bonjour tous le monde ,
je suis debutant en pascal et je veux savoir le resultat de ce code et merci :
Question : Exécuter le programme en Pascal suivant et donner les valeurs finales de C et D :
program calculproduit;
var a, b, c, d : real;
procedure pproduit (x, y : real; var z : real);
begin
z := x * y;
end;
function fproduit (x, y : real) : real;
begin
z := x * y;
end;
begin
write ('Donner une valeur à A : '); readln (a);
write ('Donner une valeur à B : '); readln (b);
pproduit (a, b, c);
d := fproduit (a-1, b+1);
writeln ('C = ', c, ' D = ', d);
je suis debutant en pascal et je veux savoir le resultat de ce code et merci :
Question : Exécuter le programme en Pascal suivant et donner les valeurs finales de C et D :
program calculproduit;
var a, b, c, d : real;
procedure pproduit (x, y : real; var z : real);
begin
z := x * y;
end;
function fproduit (x, y : real) : real;
begin
z := x * y;
end;
begin
write ('Donner une valeur à A : '); readln (a);
write ('Donner une valeur à B : '); readln (b);
pproduit (a, b, c);
d := fproduit (a-1, b+1);
writeln ('C = ', c, ' D = ', d);
A voir également:
- Aide language pascal
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Windows display language french - Guide
- Vistalizator language pack windows 7 - Télécharger - Traduction
2 réponses
Bon, ça m'a tout l'air d'être un excercice alors plutôt que te donner un résultat brut, je t'explique :
Le but est je pense de montrer l'appel et le résultat de fonction, dans PProduit on a A et B qui sont passés à la procédure en étant copiés dans X et Y, et le résultat de la multiplication X.Y est mis dans le paramètre ouvert Z;
Le paramètre ouvert Z, précédé de Var, n'est pas une variable, mais un pointeur sur une variable, donc un pointeur sur C puisque c'est le paramètre qu'on a passé, et donc le résultat en sortie de procédure se trouve dans C.
Dans la fonction fproduit, on remplace le paramètre ouvert Z par un résultat de fonction qui a une variable implicite qui se nomme Result, notons au passage que le code est faux puisque la variable Z n'existe pas dans FProduit qui doit être déclarée ainsi :
Donc le résultat de la fonction FProduit est mis dans D (D:= FProduit(A-1, B+1))...
Note que A et B ne sont pas modifiés, ce sont X et Y qui vaudront A-1 et B+1 dans la fonction puisque les paramètres sont copiés.
Et le programme doit finir par 'end.'.
Le but est je pense de montrer l'appel et le résultat de fonction, dans PProduit on a A et B qui sont passés à la procédure en étant copiés dans X et Y, et le résultat de la multiplication X.Y est mis dans le paramètre ouvert Z;
Le paramètre ouvert Z, précédé de Var, n'est pas une variable, mais un pointeur sur une variable, donc un pointeur sur C puisque c'est le paramètre qu'on a passé, et donc le résultat en sortie de procédure se trouve dans C.
Dans la fonction fproduit, on remplace le paramètre ouvert Z par un résultat de fonction qui a une variable implicite qui se nomme Result, notons au passage que le code est faux puisque la variable Z n'existe pas dans FProduit qui doit être déclarée ainsi :
function fproduit (x, y : real) : real; begin Result := x * y; end;
Donc le résultat de la fonction FProduit est mis dans D (D:= FProduit(A-1, B+1))...
Note que A et B ne sont pas modifiés, ce sont X et Y qui vaudront A-1 et B+1 dans la fonction puisque les paramètres sont copiés.
Et le programme doit finir par 'end.'.
Le chêne aussi était un gland, avant d'être un chêne