pour Avis avec : texte, var...pour calculer hauteur avec ...pour calculer côté avec : r...pourinitialisationavec : canevasInitialcanevasInitialModifier le canevas et la tortue (si nécessaire)   glissNNb de côtés 31031Créer glissière+valeurtitreminimummaximumvaleur initialepasInsérer un saut de ligneremplissageCommentairefixercanevasàProgramme p5Visuel spécial(sans fonctions de base)Tracer votre figure avec la tortueLa figure sera tracée pas à pasnrtracer la figureavec :glissNvaleur de290CommentaireCommentairepourfigure pourtracer la figureavec : n, r230230230255couleur rougevertbleuopacitérncalculer hauteuravec :rnrncalculer côtéavec :rnh90c2÷nc360n÷tourne à gauche dedegrésavance d'une distancec2÷90hBaisser le crayon de la tortueavance d'une distancetourne à gauche dedegrésavance d'une distanceLever le crayon de la tortueTerminer le polygonerépéterfoisfaireDébuter le polygoneBaisser le crayon de la tortuerecule d'une distancetourne à droite dedegrésrecule d'une distanceLever le crayon de la tortuefixercàfixerhàfond


var canevas, x, d, a, y, texte, variable, i, canevasInitial, h, r, n, c, glissN;

/**
 * Décrire cette fonction…
 */
function Avis(texte, variable) {
  // 'Cette fonction affiche un avis (avec pause)'
  // 'lors de l\'exécution du programme'
  eval('Avis_(texte,variable)');
}

/**
 * Décrire cette fonction…
 */
function calculer_hauteur(r, n) {
  return r * Math.cos((180 / n) / 180 * Math.PI);
}

/**
 * Décrire cette fonction…
 */
function calculer_c_C3_B4t_C3_A9(r, n) {
  return 2 * r * Math.sin((180 / n) / 180 * Math.PI);
}

/**
 * Fonction exécutée une fois, au départ
 */
function initialisation(canevasInitial) {
  nePasTesterFonctionsDeBase();
  canevas = canevasInitial;
  // 'Modifier le canevas et la tortue (si nécessaire)'
  fill_('#ffff33');
  createSpan("<br>");
  glissN=nouvelleGlissiereValeur('Nb de côtés ',3,10,3,1);
}

/**
 * Décrire cette fonction…
 */
function figure() {
  // 'Tracer votre figure avec la tortue'
  // 'La figure sera tracée pas à pas'
  tracer_la_figure(valeurPrudent("glissN",glissN), 290);
}

/**
 * Décrire cette fonction…
 */
function tracer_la_figure(n, r) {
  couleurFondC((color(230,230,230,255)));
  h = calculer_hauteur(r, n);
  c = calculer_c_C3_B4t_C3_A9(r, n);
  leveCrayon();
  Recule_(h);
  Droite_(90);
  Recule_((c / 2));
  baisseCrayon();
  debutPoly();
  for (var count = 0; count < n; count++) {
    Avance_(c);
    Gauche_((360 / n));
  }
  finPoly();
  leveCrayon();
  Avance_((c / 2));
  Gauche_(90);
  Avance_(h);
  baisseCrayon();
}
Exécuter