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
= 1 ;
00009     if (isset(
$_GET
["entete"])) { $entete = $_GET["entete"] ; } ;
00010     
00011     if (
$entete
==1) {
00012     
00013     
debutPage() ;
00014     
debutSection() ;
00015     
00016     
################################################################################################################
00017     
00018     
h1
("Théorème de Lagrange") ;
00019     
00020     
################################################################################################################
00021     
00022     
blockquote() ;
00023     
00024     
p() ;
00025     echo
b
("Tout entier positif ou nul peut se décomposer en au moins une somme de quatre carrés d'entiers. ") ;
00026     
finp() ;
00027     
00028     } ;
# finsi
00029     
00030     
if (!isset(
$_GET['formulaire'])) {
00031     
00032     
################################################################################################################
00033     
00034     
h2
("1. Quelques exemples de dé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é en paramètre. Voici un exemple d'URL de calcul, " ;
00063      echo
" n'hésitez pas à 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écomposition de $n") ;
00078     
00079     
################################################################################################################
00080     
00081     
} else {
00082     
00083     
h2
("Arbre de décomposition de $n") ;
00084     
00085     }
# fin si
00086     
00087     
blockquote
() ; # le texte qui suit est volontairement décommenté (gH).
00088     
00089     
$decomps = array() ;
00090     
$decomp = array() ;
00091     
$decompp = array() ;
00092     
$nbdec
= 1 ;
00093     
$decomp
[$nbdec] = $n ;
00094     
$decomps
[$nbdec] = ds4c($n) ;
00095     
$decompp
[$n] = 1 ;
00096     
00097     
$ajout
= 1 ;
00098      while ((
$ajout
>0) and ($nbdec<100)) {
00099     
00100     
$ajout
= 0 ;
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] = 1 ;
00108     
$decomp
[$nbdec] = $a ;
00109     
$decomps
[$nbdec] = ds4c($a) ;
00110     
$ajout++ ;
00111      } ;
# finsi
00112     
00113     
if (!isset(
$decompp[$b])) {
00114     
$nbdec++ ;
00115     
$decompp
[$b] = 1 ;
00116     
$decomp
[$nbdec] = $b ;
00117     
$decomps
[$nbdec] = ds4c($b) ;
00118     
$ajout++ ;
00119      } ;
# finsi
00120     
00121     
if (!isset(
$decompp[$c])) {
00122     
$nbdec++ ;
00123     
$decompp
[$c] = 1 ;
00124     
$decomp
[$nbdec] = $c ;
00125     
$decomps
[$nbdec] = ds4c($c) ;
00126     
$ajout++ ;
00127      } ;
# finsi
00128     
00129     
if (!isset(
$decompp[$d])) {
00130     
$nbdec++ ;
00131     
$decompp
[$d] = 1 ;
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écroissant des tableaux des dé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é 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)