Pascal

bolbol3000 Messages postés 19 Statut Membre -  
 bolbol3000 -
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

5 réponses

  1. karirovax Messages postés 3584 Statut Membre 215
     
    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
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      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
  2. bolbol3000 Messages postés 19 Statut Membre
     
    merci a votre réponse mais j'essayer a exécuter ce code en logiciel turbo pascal
    mais pas de résultat
    0
    1. karirovax Messages postés 3584 Statut Membre 215
       
      Re:

      mais je te met :

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


      avez vous l'ajouter a votre code ??
      0
    2. KX Messages postés 19031 Statut Modérateur 3 020
       
      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
  3. bolbol3000
     
    est ce que ce code là affiche 9 ou 14 ou 49
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      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
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

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