begin process at 2012 02 15 20:45:46
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > GÉNÉRER N LIGNES DU TRIANGLE DE PASCAL ( UTILE POUR DÉVELOPPEMENT POLYNOMIAL )

GÉNÉRER N LIGNES DU TRIANGLE DE PASCAL ( UTILE POUR DÉVELOPPEMENT POLYNOMIAL )


 Information sur la source

Note :
8,5 / 10 - par 4 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths & Algorithmes Classé sous :triangle, pascal, hugo, lafitte, idenditéremarquable Niveau :Débutant Date de création :18/11/2006 Date de mise à jour :19/11/2006 18:55:02 Vu :7 813

Auteur : GoGo_xD

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

 Description

Cliquez pour voir la capture en taille normale
Bon voilà j'ai développé cette application pour m'occuper.
Ce script génère sous la forme d'un tableau PHP un nombre n défini de lignes du triangle de Pascal.
Il suffit après d'effectuer un print_r(); et de correctement formater le tableau pour obtenir un triange de pascal.

Vous trouverez l'explication de la source ( comment je l'ai élaboré ) sur mon site personnel, http://www.hugolafitte.com
ainsi qu'un exemple d'utilisation sur cette page: http://tools.hugolafitte.com/outil_maths_pascal.aj x

Si vous désirez réaliser un script permettant de développer les identités remarquables ( a + b ) puissance X, la génération
de ce tableau peut simplifier grandement votre application :)

Source

  • $n = 15; // Nombre de lignes désirées
  • $c[0][0] = 1;
  • for ( $i = 1; $i <= $n ; $i++ )
  • {
  • $c[$i][0] = 1;
  • for( $j = 1; $j <= $i ; $j++ )
  • {
  • $c[$i][$j] = $c[$i-1][$j-1] + $c[$i-1][$j];
  • }
  • }
$n = 15; // Nombre de lignes désirées
$c[0][0] = 1;
for ( $i = 1; $i <= $n ; $i++ )
	{
		$c[$i][0] = 1;
		for( $j = 1; $j <= $i ; $j++ )
			{
				$c[$i][$j] = $c[$i-1][$j-1] + $c[$i-1][$j];
			}
	}

 Conclusion

Voici le tableau PHP généré par le script ci-dessus:
Il suffit juste de formatter son affichage!

Array
(
    [0] => Array
        (
            [0] => 1
        )

    [1] => Array
        (
            [0] => 1
            [1] => 1
        )

    [2] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 1
        )

    [3] => Array
        (
            [0] => 1
            [1] => 3
            [2] => 3
            [3] => 1
        )

// Etc....


 Historique

18 novembre 2006 20:39:25 :
Changement du niveau de la source.
19 novembre 2006 18:55:02 :
Rajout du lien vers la démonstration.

 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 Source avec une capture TRIANGLE DE PASCAL ET SON ÉQUATION par vendeeHdLR89
Source avec Zip CONVERTISSEUR LAMBERT2 ÉTENDU EN COORDONNÉE GÉOGRAPHIQUE (LO... par varfendell

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture TRIANGLE DE PASCAL ET SON ÉQUATION par vendeeHdLR89
Source avec Zip LONGUEUR DE L'HYPOTENUSE, LE TRIANGLE EST-IL RECTANGLE PYTHA... par lucas74

Commentaires et avis

Commentaire de kankrelune le 18/11/2006 15:25:37

Cette source ne vaut pas le niveau initié... le coté initié tient ici à la partie mathématique/algorithmique et non au coté php de la source... .. .

Pour le reste rien à dire... 10/10... .. . ;o)

@ tchaOo°

Commentaire de coucou747 le 18/11/2006 15:41:16 administrateur CS

euh... mathématiques de base...

On va dire que ça ne vaut pas 10 puisque les variables sont indeffinies, mais cependant, pourquoi pas...

Disons que en mode error_reporting=E_ALL, ton tableau sera indeffini...

Commentaire de kankrelune le 18/11/2006 16:01:26

Oui c'est vrai j'avais pas fait attention... bof... ça c'est pas bien grave... le plus gros problème vient de la deuxième boucle $c[$i-1][$j] n'étant pas forcement défini... deux trois petites modif et c'est bon... .. .

$n = 15; // Nombre de lignes désirées
$c = array(array(1));

for($i=1;$i<=$n;$i++)
{
   $c[$i] = array(1);

for($j=1;$j<=$i;$j++)
       $c[$i][$j] = $c[$i-1][$j-1] + (isset($c[$i-1][$j]) ? $c[$i-1][$j] : 0);
}

^_^

@ tchaOo°

Commentaire de GoGo_xD le 18/11/2006 16:54:52

J'ai fais la source dans le but d'expliquer mathématiquement ce qui se passait lorsqu'on voulait définir le Triangle de Pascal sur un support informatique. Ainsi je n'ai pas privilégié l'aspect "syntaxe PHP parfaite".

Mais merci quand même pour ces corrections :)

Commentaire de rambc le 19/11/2006 11:07:29

Très bien (j'ai mis 9) mais la méthode récursive possède un inconvénient pour les grandes valeurs : elle est lente.
Une autre méthode consiste à travailler ligne par ligne (voir le paragraphe III du document "La récursivité (où l'art de s'appeler soi-même) -­ Des exemples simples" à l'adresse http://christophe_bal.club.fr/DocPerso-Vulgarisation/Vulgarisation.html).

Sinon l'utilisation "intelligente" des factoriels avec la bibliothèque BCMath devrait satisfaire les calculateurs exigeants.

Cordialement.
C.

Commentaire de rambc le 19/11/2006 11:08:33

Peux-tu mettre au passage le code l'affichage ?

Commentaire de GoGo_xD le 19/11/2006 17:59:00

Il suffit de formatter le tableau obtenu, rien de très compliqué.

Commentaire de fanti le 27/03/2008 17:40:32

Salut
J'ai essayé avec ses coudes source mais j'ai rien reçu comme affichage.
J'ai fait 2 pages une HTML

<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<div align="center">
  <p><font color="#CC6666" size="+2"><strong>Triangle de pascal<br></strong></font>
  </p>
</div>
<form name="form1" method="post" action=".\Triangle1.php">
  <table width="40%">
    <tr>
      <td width="37%"><strong>Inserer un nombre:</strong></td>
    <td width="63%"><input name="n" type="text" id="n"></td>
  </tr>
</table>
  </form>

</body>
</html>




Et l'autre pour le scriptPHP

<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?
$n = $_POST["n"]; // Nombre de lignes désirées
$c = array(array(1));

for($i=1;$i<=$n;$i++)
{
   $c[$i] = array(1);

for($j=1;$j<=$i;$j++)
       $c[$i][$j] = $c[$i-1][$j-1] + (isset($c[$i-1][$j]) ? $c[$i-1][$j] : 0);
}

?>
</body>
</html>

Commentaire de coucou747 le 27/03/2008 17:51:10 administrateur CS

en meme temps, si tu definis et remplis ton tableau sans jamais t'en servir, ca sert un peu a rien...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 4,555 sec (3)

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