Pascal

Fermé
bolbol3000 Messages postés 6 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 12 novembre 2010 - 25 oct. 2010 à 12:12
 bolbol3000 - 25 oct. 2010 à 21:52
Bonjour, à tous
j'ai un question en programmation pascal
qu'est ce s'affiche ce code là si on suppose que la couple (m,n) est (2,7)

function chercher (m,n:integer):integer;
var c, i :integer;
begin
c:=0;
for i:=1 to n do
begin
c:=c+m;
end;
chercher :=c;
end;

S'il vous plaît rendre moi une réponse

A voir également:

5 réponses

karirovax Messages postés 3221 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 22 juin 2016 203
Modifié par karirovax le 25/10/2010 à 12:27
salut

le c rester fixé car la boucle FOR ne touche pas le m mais seulement le n

donc:

c:=0+2 ==> c:=2

si vous voulez que le résultat sera affichée sur le DOS donc :

print c;
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
25 oct. 2010 à 20:45
Remarque : il n'est pas gênant que la boucle for ne modifie pas m.
La variable c sera tout de même incrémenté de m à chaque tour de boucle, et ce n fois conduisant à un simple calcul de multiplication m*n
0
bolbol3000 Messages postés 6 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 12 novembre 2010
25 oct. 2010 à 12:32
merci a votre réponse mais j'essayer a exécuter ce code en logiciel turbo pascal
mais pas de résultat
0
karirovax Messages postés 3221 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 22 juin 2016 203
Modifié par karirovax le 25/10/2010 à 13:18
Re:

mais je te met :

print c;
ou
print('valeur de c est',c);


avez vous l'ajouter a votre code ??
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
25 oct. 2010 à 20:49
chercher est une fonction qui renvoie donc un résultat, il n'est pas propre de mettre des instructions d'affichages dans des fonctions. Il est préférable d'utiliser une procédure pour faire l'affichage :

procedure afficher();
var c,m,n:integer;
begin
   write('m : '); readln(m);
   write('n : '); readln(n);
   c:=chercher(m,n);
   writeln('chercher(',m,',',n,')=',c);
end;
0
merci a votre aide
0
est ce que ce code là affiche 9 ou 14 ou 49
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
25 oct. 2010 à 20:56
Il suffit de regarder ton code pour voir le résultat :
Au départ tu as c=0, m=2, n=7
Au fur et à mesure que ta boucle progresse, tu augmentes i, et tu auras donc :

i=1, c=2,  m=2, n=7
i=2, c=4,  m=2, n=7
i=3, c=6,  m=2, n=7
i=4, c=8,  m=2, n=7
i=5, c=10, m=2, n=7
i=6, c=12, m=2, n=7
i=7, c=14, m=2, n=7

Donc chercher:=c; que l'on peut aussi écrire result:=c; donne donc 14.
Ce résultat est logique puisque comme je l'ai dit plus haut, ta fonction calcule le produit m*n...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
merci a tous les aides ce ça qui je recherche
merci beaucoup
0