Pyramide étoile sur javascript!
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Pyramide étoile sur javascript!



  1. #1
    mellem

    Wink Pyramide étoile sur javascript!


    ------

    Bonjour,

    Comment tracer une pyramide étoile sur javascript sans utiliser la fonction pyramide déja toute faite ?

    Résultat: (alignés, que des impairs)
    Code:
          *
        ***
      *****
    ma base de départ (sans les indentations): elle ne me fait que un triangle non centré et avec des nombres étoile pairs, je n'y arrive pas ... :
    Code:
    var n,i,ch ;
    n= SaisieReel () ;
    for i (i=1 ; i<=n ; i=i+1) {
    ch=ch+'*' ;
    Ecrire (ch) ;
    ]

    -----

  2. #2
    umfred

    Re : Pyramide étoile sur javascript!

    pour commencer, je ferais une saisie d'entier et pas de réel (comment tu vas dessiner 1/8 d'étoiles par exemple ?)
    si tu veux faire des nombres pairs d'étoiles il faut commencer à 2 étoiles, pas une.
    Pour centrer quelque chose, il faut savoir le nombre maxi de caractères que va faire ta chaine à l'étage plus bas, à partir de là, tu peux en déduire par exemple le nombre d'espaces à insérer sur les lignes précédentes. (indice: moins de la moitié du nombre de caractères max de la ligne la plus basse)

  3. #3
    Sans Nom

    Re : Pyramide étoile sur javascript!

    Voici la solution :

    Code:
    function Pyramide(n, c) { // n = niveaux hiérarchiques; c = caractère utilisé
        // Nb de colonnes =  Nb d'espaces + nb de caractères "*"
        // Chaque nouvelle ligne gagne 2 "*"
        let nbColonnes = 1 + 2 * (n - 1), nbSpaceChar = nbColonnes - 1, output = "";
        for (let lineNb = 0, nbTextChar = 1;
            lineNb < n;
            lineNb++, nbSpaceChar -= 2, nbTextChar += 2) {
                output = output.concat(" ".repeat(nbSpaceChar)).concat(c.repeat(nbTextChar));
                output = (lineNb < n - 1) ? output.concat("\n") : output;
        }
        return output;
    }
    console.log(Pyramide(4, "*"));

  4. #4
    pm42

    Re : Pyramide étoile sur javascript!

    Il n'y a aucun intérêt à donner une solution toute faite et ce n'est pas du tout l'esprit du forum.
    Par ailleurs, la dite solution ne trace pas une pyramide mais un triangle.

  5. A voir en vidéo sur Futura
  6. #5
    Sans Nom

    Re : Pyramide étoile sur javascript!

    Sympa ! Heureusement que j'ai pris soin de mettre des commentaires dans le code pour expliquer comment j'ai fait. Heureusement aussi que j'ai suivi les consignes du 1° message, à savoir, aligner les étoiles (sur la droite, d'après l'exemple). Qu'est-ce qu'on m'aurait reproché sinon...
    Ça donne envie d'aider...

  7. #6
    pm42

    Re : Pyramide étoile sur javascript!

    Citation Envoyé par Sans Nom Voir le message
    Sympa ! Heureusement que j'ai pris soin de mettre des commentaires dans le code pour expliquer comment j'ai fait. Heureusement aussi que j'ai suivi les consignes du 1° message, à savoir, aligner les étoiles (sur la droite, d'après l'exemple). Qu'est-ce qu'on m'aurait reproché sinon...
    Ça donne envie d'aider...
    1) donner la réponse toute faite n'aide pas comme déjà dit
    2) le message initial parle bien de pyramide et justement dit "elle ne me fait que un triangle non centré et avec des nombres étoile pairs".
    3) donc faire un triangle de plus ne sert vraiment à rien

  8. #7
    Sans Nom

    Re : Pyramide étoile sur javascript!

    Ça contredit ce qui est demandé plus haut sur le résultat attendu : "alignés, que des impairs".
    Si le code ne sert à rien, je propose aux modérateurs de supprimer mes messages (je n'ai plus accès en écriture une fois les messages envoyés).

  9. #8
    JPL
    Responsable des forums

    Re : Pyramide étoile sur javascript!

    Ce qui est fait est fait et c’est trop tard pour revenir en arrière. Il faut simplement garder à l’esprit les remarques de pm42 pour une autre occasion.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  10. #9
    pm42

    Re : Pyramide étoile sur javascript!

    Pour préciser, je n'ai fait que reprendre ce qui est indiqué dans les messages en en-tête de ce forum :

    https://forums.futura-sciences.com/p...ces-forum.html

    C'est d'autant plus vrai que là, on a une question de débutant sur un exercice qui n'est pas spécialement difficile et qui est particulièrement facile pour tout programmeur un peu expérimenté.
    Un débutant ne profitera pas d'une solution toute faite et cela n'encourage pas le travail personnel et l'investissement qui sont nécessaires à l'apprentissage.

    Pour ce qui est de l'énoncé, le message initial n'est pas 100% clair mais le plus probable est qu'on demande effectivement comme indiqué dans le titre et le texte une pyramide, pas un triangle aligné à droite ou à gauche.
    Ne serait que parce que c'est plus intéressant algorithmiquement et plus satisfaisant esthétiquement.

    Donc répondre avec un triangle sans engager le dialogue avec le primo-posteur pour lever l'ambiguité éventuelle apporte encore moins.

    P.S : en supposant que le primo-posteur, nouvel arrivant, revienne alors qu'umfred lui avait donné rapidement des indications pertinentes lui permettant d'avancer et d'entamer un dialogue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 09/01/2022, 13h35
  2. Réponses: 2
    Dernier message: 23/01/2016, 16h11
  3. Javascript : Intégrer une variable javascript dans un champ de formulaire html
    Par invitea1400dd5 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 03/08/2014, 12h15
  4. Géométrie ds l'espace : la pyramide SABCD est une pyramide régulière à base carrée
    Par invited73f2ab9 dans le forum Mathématiques du collège et du lycée
    Réponses: 5
    Dernier message: 08/03/2009, 17h39