Algorithmique

iyia Messages postés 3 Statut Membre -  
ajp55 Messages postés 482 Statut Membre -
salam
comment fair lalgorithme afficher les N premiers entiers impairs dans lordre decroissant
est merci davance

3 réponses

  1. ajp55 Messages postés 482 Statut Membre 23
     
    svp, on résout pas les exercices de classe ici. il faut au moins proposé votre approche et on vous aidera à l'améliorer. Merci
    1
  2. iyia Messages postés 3 Statut Membre
     
    salam voici ma solution

    algorithme N premier entier

    var i,N:entier

    debut

    ecrire("donner N");
    lire(N);

    pour i de (N*2)-1 a 0 pas (-2) faire
    ecrire(i);
    finpour

    merci
    0
    1. ajp55 Messages postés 482 Statut Membre 23
       
      dans cette exemple, tu prédéfini N a un entier pair et donc tu fais -1 pour obtenir le premier entier impair. CE qui n'ais pas toujours vrai. Voici comment tu devrais procédér,
      premièrement, un nombre est premier s'il n'est divisible que par lui et par 1.
      deuxièmenent, si le nombre modulo 2 est different de 0, alors il est impair.
      voici un exemple

      algorithm N premier entier impair
      var i,j, N : entier
      trouver:booleen
      debut
      ecrire("donner N")
      lire(N)
      pour i allant de 0 to N pas 1 faire
      /* verifier que i est impair *, si i modulo 2 est different de 0 */
      si(i modulo 2 <> 0) alors
      /* verifier que i est premier en testant s'il existe un autre diviseur different de i et 1 */
      trouver = faux;
      j = 2
      tant que trouver = faux et j < i)
      si i modulo j = 0 alors
      trouver = vrai
      finsi
      j = j + 1;
      fintantque
      si (trouver = faux) alors
      ecrire(i," est premier entier impair")
      finsi
      finsi
      fin
      0
  3. iyia Messages postés 3 Statut Membre
     
    salam
    svp vous me corrige lexercice

    algorithme les diviseurs d un entier N
    Var
    i,N:entier;
    Debut
    ecrire("donner un nombre");
    lire(N);
    i:=1;
    tantque i >= N/2 faire
    Si N mod i =0 alors
    ecrire("i");
    i:=i+1;
    sinon
    i:=i+1;
    finsi;
    fintantque;
    finalgorithme;

    ALGORITHME afficher le N entier pairs decroissant
    Var
    N,i:entier;

    Debut

    ecrire("Donner N");
    lire("N");
    Si N>0 alors
    ecrire("les"N"premiers entiers positives impairs dans l'ordre decroissantsont");
    Pour i de ((N*2)-1) a 1 pas (-2) faire
    ecrire(i);
    finpour;

    ecrire("les"N"premiers entiers negatifs impairs dans l'ordre decroissantsont");

    Pour i de -1 a -((N*2)-1) pas (-2) faire
    ecrire(i);
    finpour;

    sinon
    ecrire("donner un nombre positive");
    finsi;
    finalgorithme;

    merci a l avance
    0