begin process at 2012 05 27 20:40:49
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > TRIANGLE DE PASCAL ET SON ÉQUATION

TRIANGLE DE PASCAL ET SON ÉQUATION


 Information sur la source

Note :
Aucune note
Catégorie :Maths & Algorithmes Classé sous :triangle, pascal, equation, math, identite remarquable Niveau :Initié Date de création :24/10/2010 Date de mise à jour :26/10/2010 12:25:11 Vu / téléchargé :3 621 / 99

Auteur : vendeeHdLR89

Ecrire un message privé
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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

  • <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>
<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.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

24 octobre 2010 13:57:14 :
correction syntaxique
25 octobre 2010 15:55:12 :
Déclaration de variables à 0
25 octobre 2010 16:26:39 :
Normalisation du nom de l'action du formulaire
26 octobre 2010 12:25:11 :
Changement du nom de l'action du formulaire et affichage de l'équation de départ

 Sources de la même categorie

EXEMPLE D'APPLICATION DE L'ALGORITHME DE DIJKSTRA EN PHP par philtr8
CLEF POUR EAN 13 ET 14 par RaftY
FONCTION DE CALCUL DU NOMBRE DE DUEL UNIQUE POUR UN NOMBRE N... par mtrix000
Source avec Zip CONVERTISSEUR LAMBERT2 ÉTENDU EN COORDONNÉE GÉOGRAPHIQUE (LO... par varfendell
FONCTION QUI VÉRIFIE SI L'ARGUMENT EST UN NOMBRE PREMIER par darkelda

 Sources en rapport avec celle ci

FONCTION EQUATION LÉGÈRE par ff5
Source avec Zip Source avec une capture TRACEUR DE COURBE EN COORDONNÉES CARTÉSIENNES (MAJ) par fredbonmatin
Source avec Zip LONGUEUR DE L'HYPOTENUSE, LE TRIANGLE EST-IL RECTANGLE PYTHA... par lucas74
Source avec Zip EVALUER LES EXPRESSIONS MATHÉMATIQUES COMPLEXES par amezghal
Source avec une capture GÉNÉRER N LIGNES DU TRIANGLE DE PASCAL ( UTILE POUR DÉVELOPP... par GoGo_xD

Commentaires et avis

Commentaire de vendeeHdLR89 le 24/10/2010 13:58:50

Je pense que ma source est clair

Commentaire de meudon le 25/10/2010 10:26:12

Oui, c'est bien; main un zip aurait facilité le stockage

Commentaire de defis91 le 25/10/2010 15:14:56

Vous devriez mettre un if ($POST) { ... } autour de tout ce programme
Pour la forme, ce serait bien de déclarer en début de prog, les variables :
$_tableau='';
$_derniere_ligne='';
$equation='';

Sinon, ça fait le job
A+
Dom

Commentaire de vendeeHdLR89 le 25/10/2010 15:49:07

@DEFIS91
Pas besoin de rajouter if ($POST) { ... }, c'est deja fait par :
"$puissance = (int) $_POST['puissance'];" et "if($puissance!='')"
Pour le reste, je m'en occupe

Vendeehdlr89

Commentaire de defis91 le 25/10/2010 16:07:08

En fait, PHP plante sur mon poste avec le message "puissance" index inconnu.
Il faut le faire pour la première passe.
Par ailleurs, le nom de l'action dans le <form> est très bizarre avec sa virgule et son caractère espace.
J'ai du le remplacer par le nom d'enregistrement de la page par exemple tripascal.php pour que ça marche (je suis sous Windows XP)
Dom

Commentaire de vendeeHdLR89 le 25/10/2010 16:24:17

Je suis sous vista et cela fonctionne tres bien. Je corrige le nom quand même.
Si tu a tape un nombre dans le champ de la puissance, cela devrait fonctionner correctement.

Commentaire de defis91 le 25/10/2010 17:34:52

Oui c'est vrai, mais c'est pour éviter d'avoir ce message au lancement :

Notice: Undefined index: puissance in c:\inetpub\wwwroot\triangle_pascal.php on line 20

Commentaire de Nort0n le 25/10/2010 23:34:39

<form method="post" action="triangle_pascal.php">

devient <form method="post" action="<php $_SERVER['PHP_SELF'] ?>">

Ce qui évite de devoir modifier le nom de l'action si le nom de page diffère.


Tu devrais également vérifier le contenu de l'input lors de la validation (seuls les chiffres sont autorisés).
Pa la même, vérifie la taille du chiffre donné. J'ai testé avec "554" (avec un numéro pseudo-aléatoire) et je me suis retrouvé avec un chargement de la page de 2 min. suivi d'un freeze du navigateur.

Commentaire de Nort0n le 26/10/2010 12:10:48

Pour la forme (sans mauvais jeu de mot), ton form peut aussi devenir :
<form method="post" action="#">

Ce qui revient au même que de nommer explicitement la page, sauf que là, on évite le problème de la mauvaise redirection si le nom de la page est modifié.

Commentaire de defis91 le 26/10/2010 17:32:19

@ Norton
Manip intéressante, mettre 554 (au hasard :) comme constante et lancer avec IE6/7/8, Firefox, Chrome, Opera, Safari, pour observer le comportement de chacun des navigateurs.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Math: Divisions php [ par Xbox Atomic ] Bonjour ! Voila je fais en fait un syst&#232;me qui permet d'estimer le temps approximatif d'un t&#233;l&#233;chargement en fonction de la connexion. Calcul litéral Math [ par piep14 ] Bonjour le forum, je souhaite mettre en place un syst&#232;me de calcul assez simple pour commencer. Exemple, je met 2+5 dans un input, il me renvoie Math de bon niveau [ par rambc ] Bonjour,je souhaite développer des outils permettant de faire des Maths de bon niveau. J'ai entendu parler de BCMath. Existe-t-il une docu complète su reseau lan en pascal [ par baileys57 ] bonjour,je suis un debutant en turbo pascal et je suis a la recherche d'un code source pour faire un reseau en dhcp, car je veux relier des pc pour le math en php ? [ par marlene1 ] j' ai besoin d'une aide pour faire une addition un peu particulière en php soit 22 cartes et 4 tirées au hasard j 'aimerai qu 'elles soit additionées Equation en php [ par Pilpot ] Bonjour,Je suis actuellement entrain d'écrire un script qui aurait pour but de calculer les inconnues d'une équation.Je m'explique : je voudrais que l Affichage de ttiangle de pascal [ par fanti ] SalutJ'ai essayé avec ses coudes source mais j'ai rien reçu comme affichage.J'ai fait 2 pages une HTML &lt;html&gt;&lt;head&gt;&lt;title&gt;Documen images aléatoires [ par loblobloblob ] Bonjour,sur un site j'aimerais que des images de présentations sont tirer au hasarda chaque visite, pour cela je pense qu'il faut passer par du php, m Math & levenshtein [ par Mrreivax ] Dans la doc php, on trouve ceci: [i]c'est plutôt bien, en comparaison de similar_text(), qui est en O(max(n,m)**3), mais cela reste très coûteux. [/i] calcul mathématique d'exposants [ par domdom52 ] bonsoir voila j'aimerais transformer 2² + 3² = X en pow(2,2) + pow(3,2) = X pour ça je fais [code=php] $equation echo preg_replace('#(.)²#i', 'pow(


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales