Aide language pascal

Fermé
zarati Messages postés 39 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 23 décembre 2013 - 14 juil. 2011 à 02:00
zarati Messages postés 39 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 23 décembre 2013 - 22 juin 2012 à 09:58
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);



A voir également:

2 réponses

nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
14 juil. 2011 à 06:06
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 :

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
0
zarati Messages postés 39 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 23 décembre 2013 1
22 juin 2012 à 09:58
merci nicocorico pour ta reponse.
0