Page 1 sur 1

Le triangle, les variables globales

Posté : 21 déc. 2005, 19:37
par riecola
salut a tous. Voila je debute dans php, j'ai un exo a faire mais j'ai aucune idée de ce kil faut faire. Pouvez vous m'aider SVP? merci

Je ne vous demande pas de me faire l'exo mais si possible de me donner les clés pour savoir comment faire (j'ai regardé sites spécialisés php et tutoriaux mais je trouve rien qui m'aide). Je suis vraiment débutante, quelle galère...

Voici l'énoncé :
"Le triangle, les variables globales et locales et les fonctions"

1.Ecrire un programme php qui permette d'afficher un triangle rectangle constitué du caractère *. Utiliser une variable taille pour parametrer la taille du triangle (i.e., le nombre de lignes), affecter cette variable a 5.

résultat attendu :
Triangle de taille 5

*
**
***
****
*****

2. Avant d'afficher le triangle, ajouter des tests sur la valeur du parametre taille :
-si elle est superieure à 20, afficher le message "triangle trop grand" et n'afficher pas le triangle.
-si elle est egale à 0, lui attribuer une valeur de 10.
-Sinon afficher le triangle de la taille passée en parametre.
testez votre code php en modifiant la valeur de la taille (recharger la page à chq modif).


On m'a dit que pour faire un triangle c for () mais je sais pas quoi en faire (a part des tableaux html je sais pas faire grand chose) :shock: :?: :?:

Posté : 21 déc. 2005, 19:47
par jeff
il faut creer un tableau a 2 dimensions
et le parcourir avec une boucle for ou foreach

Posté : 21 déc. 2005, 19:47
par Cyrano
Bien, ce sont des bases de la programmation.

Si tu observes le triangles que tu as dessiné, il y a un détail qui ne t'aura sans doute pas échappé`au ajoute 1 * à chaque nouvelle ligne.

Tu as également mentionné for() : donc, une boucle. On va créer une boucle et à partir de 1 jusqu'à n (passé en paramètre), tu va ajouter 1 à chaque tour, donc 1, 1+1, 2+1, 3+1 etc...

De quoi as-tu besoin ? D'un petit formulaire html tout bête pour saisir le nombre, de récupérer ce paramètre lors de l'envoi et d'appeler ensuite ta fonction pour exécuter la création des lignes en vérifiant la valeur du paramètre envoyé.

Alors première question : sais-tu récupérer une valeur envoyée par un formulaire en PHP ?

[Note] : Sujet déplacé vers "Débuter en PHP [/Note]

Posté : 21 déc. 2005, 20:31
par riecola
en html je c juste faire ca :

<htlm>
<head>
<title>Exercice 8 -a de php</title>
</head>
<body>
Triangle de taille 5<br><br>*<br>**<br>***<br>****<br>*****<br></body>
</html>

ms c pa ce kon me demande puiske on veut du php.

Non je ne sais pa comment recuperer une valeur. Tu parles de formulaire html, ms je connais ca juste pour selectionner le nombre de voyageurs (par exemple), reductions etc... (<FORM>...</FORM>) dc je ne vois pas trop le rapport avec mon triangle (mais il y en a forcement un...)

Une autre personne m'a conseillé ceci :
déjà pour faire le triangle : for()

si il est trop grand :

if($num_triangle > 20)
echo '<p>le triangle demandé est trop grand</p>';

si il est == 0, attribuer 10 :

if($num_triangle == 0)
$num_triangle = 10;

et pour la derniere tu le fais dans ta boucle ^^
Est-ce que ca va dans le meme sens ke ta proposition?

Posté : 21 déc. 2005, 21:06
par fab
function draw_triangle($lines) // lines est un parametre numéric
{
  $triangle = '';
  for($i=1;$i<$lines;$i++) // pour i compris entre 1 et "lines"
  {
    $nbr_stars = $lines; // nombre d'étoiles sur la ligne
    $stars_line = ''; // on initialise la ligne qui sera envoyé au naviguateur
    for($a=0;$a<$nbr_stars;$i++) // on boucle par avoir le nombre d'étoile correct sur la ligne
    {
       $stars_line .= '*'; // on ajoute une étoile a la ligne
    }
   $stars_line .= '<br>'; // on ajoute un <br> en fin de ligne
   $triangle .= $stars_line; // on ajoute la ligne au triangle
  }
  return $triangle;
}
apres pour l'utilisation je te laisse deviné :), niveau performances ça doit pas etre terrible j'ai fais au plus simple :)

Posté : 21 déc. 2005, 22:47
par nicolas
Il faut utiliser str_repeat au lieu de refaire une boucle