Valid XHTML     Valid CSS2    

Listing du fichier lagrange.php

 

00001     <?php
00002     
00003     error_reporting(
E_ALL E_NOTICE E_STRICT ) ;
00004     
00005     include("std.php"
) ;
00006     include("ds4c_inc.php"
) ;
00007     
00008     $entete 
;
00009     if (isset($_GET
["entete"])) { $entete $_GET["entete"] ; } ;
00010     
00011     if ($entete
==1) {
00012     
00013       debutPage
() ;
00014       debutSection
() ;
00015     
00016     ################################################################################################################
00017     
00018     h1
("Th&eacute;or&egrave;me de Lagrange") ;
00019     
00020     ################################################################################################################
00021     
00022     blockquote
() ;
00023     
00024     p
() ;
00025     echo b
("Tout entier positif ou nul peut se d&eacute;composer en au moins une somme de quatre carr&eacute;s d'entiers. ")  ;
00026     finp
() ;
00027     
00028     } ; # finsi
00029     
00030     if (!isset(
$_GET['formulaire'])) {
00031     
00032     ################################################################################################################
00033     
00034     h2
("1. Quelques exemples de d&eacute;composition") ;
00035     
00036     ################################################################################################################
00037     
00038     table
(1,10,"collapse") ;
00039       entetesTableau
("n a b c d") ;
00040       for ($idf
=1;$idf<=10;$idf++) {
00041         $n 
rand(100,1000) ;
00042         list($a
,$b,$c,$d) = ds4c($n) ;
00043         tr
() ;
00044           td
("R") ; echo $n fintd() ;
00045           td
("R") ; echo $a fintd() ;
00046           td
("R") ; echo $b fintd() ;
00047           td
("R") ; echo $c fintd() ;
00048           td
("R") ; echo $d fintd() ;
00049         fintr
() ;
00050       } # fin pour
00051     fintable
() ;
00052     
00053     } # fin si
00054     
00055     $n 
"" ;
00056     if (isset($_GET
["n"])) {
00057       $n 
$_GET["n"] ;
00058     } # fin si
00059     
00060     if (
$n=="") {
00061       p
() ;
00062         echo "Aucun nombre pass&eacute; en param&egrave;tre. Voici un exemple d'URL de calcul, " 
;
00063         echo " n'h&eacute;sitez pas &agrave; changer la valeur de "
.b("n")." dans l'URL&nbsp;: " ;
00064       finp
() ;
00065       p
() ;
00066         nbsp
(15) ;
00067         $url 
"lagrange.php?n=635" ;
00068         echo href
($url,"","gbleuf") ;
00069       finp
() ;
00070     
00071     } else {
00072     
00073     if (!isset($_GET
['formulaire'])) {
00074     
00075     ################################################################################################################
00076     
00077       h2
("2. Arbre de d&eacute;composition de $n") ;
00078     
00079     ################################################################################################################
00080     
00081     } else {
00082     
00083       h2
("Arbre de d&eacute;composition de $n") ;
00084     
00085     } # fin si
00086     
00087       blockquote
() ; # le texte qui suit est volontairement d&eacute;comment&eacute; (gH).
00088     
00089       $decomps 
= array() ;
00090       $decomp  
= array() ;
00091       $decompp 
= array() ;
00092       $nbdec   
;
00093       $decomp
[$nbdec]  = $n ;
00094       $decomps
[$nbdec] = ds4c($n) ;
00095       $decompp
[$n]     = ;
00096     
00097       $ajout 
;
00098       while (($ajout
>0) and ($nbdec<100)) {
00099     
00100         $ajout 
;
00101         for ($idec
=1;$idec<=$nbdec;$idec++) {
00102     
00103            list($a
,$b,$c,$d) = $decomps[$idec] ;
00104     
00105            if (!isset($decompp
[$a])) {
00106              $nbdec
++ ;
00107              $decompp
[$a]     = ;
00108              $decomp
[$nbdec]  = $a ;
00109              $decomps
[$nbdec] = ds4c($a) ;
00110              $ajout
++ ;
00111            } ; # finsi
00112     
00113            if (!isset(
$decompp[$b])) {
00114              $nbdec
++ ;
00115              $decompp
[$b]     = ;
00116              $decomp
[$nbdec]  = $b ;
00117              $decomps
[$nbdec] = ds4c($b) ;
00118              $ajout
++ ;
00119            } ; # finsi
00120     
00121            if (!isset(
$decompp[$c])) {
00122              $nbdec
++ ;
00123              $decompp
[$c]     = ;
00124              $decomp
[$nbdec]  = $c ;
00125              $decomps
[$nbdec] = ds4c($c) ;
00126              $ajout
++ ;
00127            } ; # finsi
00128     
00129            if (!isset(
$decompp[$d])) {
00130              $nbdec
++ ;
00131              $decompp
[$d]     = ;
00132              $decomp
[$nbdec]  = $d ;
00133              $decomps
[$nbdec] = ds4c($d) ;
00134              $ajout
++ ;
00135            } ; # finsi
00136     
00137         } ; 
# fin pour idec
00138     
00139       } ; 
# fin tant que
00140     
00141     ################################################################################################################
00142     
00143     # tri conjoint par ordre d&eacute;croissant des tableaux des d&eacute;compositions decomp et decomps
00144     
00145     $nbe 
count($decomp) ;
00146     for ($ide
=1;$ide<$nbe;$ide++) {
00147       for ($jde
=$ide+1;$jde<=$nbe;$jde++) {
00148         if ($decomp
[$jde]>$decomp[$ide]) {
00149           # permutations
00150             $tmp           
$decomp[$ide] ;
00151             $decomp
[$ide]  = $decomp[$jde] ;
00152             $decomp
[$jde]  = $tmp ;
00153             $tmp           
$decomps[$ide] ;
00154             $decomps
[$ide] = $decomps[$jde] ;
00155             $decomps
[$jde] = $tmp ;
00156         } ; # fin si
00157       
# fin pour ide
00158     
# fin pour ide
00159     
00160     ################################################################################################################
00161     
00162     # affichage XHTML
00163     
00164       table
(1,10,"collapse") ;
00165       entetesTableau
("n a b c d") ;
00166     
00167       for ($idec
=1;$idec<=$nbdec;$idec++) {
00168     
00169          $nb                
$decomp[$idec] ;
00170          list($a
,$b,$c,$d)  = $decomps[$idec] ;
00171     
00172          if ($nb
>0) {
00173             tr
() ;
00174                 td
("R") ; echo $nb fintd() ;
00175                 td
("R") ; echo $a fintd() ;
00176                 td
("R") ; echo $b fintd() ;
00177                 td
("R") ; echo $c fintd() ;
00178                 td
("R") ; echo $d fintd() ;
00179             fintr
() ;
00180          } ; # fin si
00181       } ; 
# fin pour
00182     
00183       fintable
() ;
00184     
00185       finblockquote
() ;
00186     
00187     ################################################################################################################
00188     
00189     # trac&eacute; en arbre avec dot ; la fonction ads4c est dans le fichier ds4c_inc.php
00190     
00191       ads4c
($n) ;
00192     
00193     } ; # fin si
00194     
00195     ################################################################################################################
00196     
00197     
00198     if (
$entete==1) {
00199     
00200        pvide
() ;
00201     
00202        p
() ;
00203        echo href
("montresource.php?nomfic=lagrange.php","Code-source de cette page","orange_stim nou")."&nbsp;;&nbsp;" ;
00204        echo " fichier inclus&nbsp;: "
.href("montresource.php?nomfic=ds4c_inc.php","ds4c_inc","orange_stim nou")."." ;
00205        finp
() ;
00206     
00207        finblockquote
() ;
00208        finSection
() ;
00209        finPage
() ;
00210     
00211     } ; # finsi
00212     ?>

Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.

 

 

retour gH    Retour à la page principale de   (gH)