Algorithmique

salam
comment fair lalgorithme afficher les N premiers entiers impairs dans lordre decroissant
est merci davance

3 réponses

  1. 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
    1. 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
      1. 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
    2. 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