Le code crée un triangle de Pascal à partir d'un formulaire où on indique la puissance maximale que l'on souhaite. Après validation, le triangle s'affiche ainsi que l'équation de la dernière ligne.
L'équation est de la forme (x+y)
Source / Exemple :
<html>
<head>
<title>Triangle de Pascal -- pour une équation de la forme (x+y)²</title>
</head>
<body>
<center>
<h1>Triangle de Pascal</h1>
<h2>pour (x+y)<sup>n</sup></h2>
<br>
<br>
<p>L'axe vertical correspond à la variable x et l'axe diagonale à la variable y.<br>
Les lignes correspondent à la puissance n à partir de 0.
</p>
<form method="post" action="#">
<p>Indiquez la puissance n : <input type="text" name="puissance" size="5" /><input type="submit"/></p>
</form>
<br>
<?php
// Definition des variables
$puissance = (int) $_POST['puissance'];
$colonne = $puissance + 1;
$ligne = $puissance;
$_tableau = '';
$_derniere_ligne = '';
$equation = '';
if($puissance!='')
{
//Creation du tableau
$_tableau .= '<table>';
$_tableau .='<tr align="center"><td width="20" heignt="20"><b>n</b></td>
<td width="20" heignt="20"><b>|x</b></td>
<td width="20" heignt="20"><b>\y</b></td>
</tr>';
//Remplissage par ligne
for ($i=0; $i<=$ligne; $i++)
{//Repetition
$_tableau .='<tr align="center">';
for ($j=0; $j<=$colonne; $j++)
{
$_tableau .='<td width="20" heignt="20">';
if($j==0)
{//Affichage de la puissance
$_tableau .='<b>';
$_tableau .=$i;
$_tableau .='</b>';
}
elseif($j==1)
{//Remplissage du tableau ---- 1ère cellule
$_cell[]= 1;
$_tableau .= 1;
}
elseif($j==$i+1)
{//Remplissage du tableau ---- derniere cellule
$_cell[]= 1;
$_tableau .= 1;
}
elseif($j>$i)
{//Remplissage du tableau ---- cellules situes apres la derniere cellule
$_cell[]= '0';
$_tableau .= '';
}
else
{//Remplissage du tableau ---- les autres cellules situes avant la derniere cellule
$c = $_cell[((($i-1)*$colonne)+($j-1))-1] + $_cell[((($i-1)*$colonne)+($j))-1];
$_cell[]= $c;
$_tableau .= $c;
}
$_tableau .='</td>';
}
$_tableau .='</tr>';
}
$_tableau .='</table>';
//Affichage du tableau
echo $_tableau . '<br><br>';
//Récupération de la dernièe ligne, celle qui nous interesse
$i=$ligne;
for ($j=1; $j<=$colonne; $j++)
{
$_derniere_ligne .='' . $_cell[($i * $i) + $j + $i - 1] . ',';
}
$derniere_ligne = explode(',',$_derniere_ligne);
//Creation equation (x+y)
$equation .= $derniere_ligne[0] . '.x<sup>' . $puissance . '</sup>y<sup>' . ($puissance - $puissance) . '</sup>';//La 1ere ligne est faite manuellement
for($l=1 AND $puis=1; $puis<=$puissance AND $l<=(count($derniere_ligne)-1); $l++ AND $puis++)
{
$equation .= ' + ' . $derniere_ligne[$l] . '.x<sup>' . ($puissance - $puis) . '</sup>y<sup>' . ($puissance - ($puissance - $puis)) . '</sup>';
}
//Affichage de l'équation
$equation_finale = '(x+y)<sup>'. $puissance . '</sup> = ' . $equation;
echo $equation_finale;
//FIN
}
else
{}
?>
</center>
</body>
</html>
Conclusion :
Tous les comentaires sont les bienvenus.
Pour ma part je ne vois rien que j'aurais pu oublier.
Si vous avez des amelioration à faire je les accepterez volontier.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.