<HTML> <HEAD><TITLE>Carre magique</TITLE> <META NAME="Author" CONTENT="Yannick Devaux"> <META HTTP-EQUIV="Content-Language" CONTENT="fr"> <META NAME="description" Content="Le monde des carres magiques"> <META NAME="keywords" Content="carre magique, carre, magique, maths, jeu de reflexion, mathematiques, sciences, javascript, algebre, compter, carre magique, carre, magique, maths, jeu de reflexion, mathematiques, sciences, javascript, algebre, compter, carre magique, carre, magique, maths, jeu de reflexion, mathematiques, sciences, javascript, algebre, compter">  <SCRIPT LANGUAGE="JavaScript">    var tab;    var nbaide=0;     function DefinitTableau(NbElem){       this.length=NbElem;       var i; for (i=1;i<=NbElem;i++) this[i]=true;       return(this);}     function evalcar(form){       var i; var txt;       for (i=1;i<=9;i++){          if (i==1) txt=form.case1.value;          if (i==2) txt=form.case2.value;          if (i==3) txt=form.case3.value;          if (i==4) txt=form.case4.value;          if (i==5) txt=form.case5.value;          if (i==6) txt=form.case6.value;          if (i==7) txt=form.case7.value;          if (i==8) txt=form.case8.value;          if (i==9) txt=form.case9.value;          tab[i]=(txt>="1" && txt<="9")? parseInt(txt) : 0;}       for (i=0;i<=2;i++){          result[6+i]=tab[3*i+1]+tab[3*i+2]+tab[3*i+3];          result[2+i]=tab[i+1]+tab[i+4]+tab[i+7];}       result[1]=tab[1]+tab[5]+tab[9]; result[5]=tab[3]+tab[5]+tab[7];       form.res1.value=result[1];form.res11.value=result[1];       form.res2.value=result[2];form.res22.value=result[2];       form.res3.value=result[3];form.res33.value=result[3];       form.res4.value=result[4];form.res44.value=result[4];       form.res5.value=result[5];form.res55.value=result[5];       form.res6.value=result[6];form.res66.value=result[6];       form.res7.value=result[7];form.res77.value=result[7];       form.res8.value=result[8];form.res88.value=result[8];       carmag(form);}     function carmag(form){       if (result[1]==15 && result[2]==15 && result[3]==15 && result[4]==15 && result[5]==15 && result[6]==15 && result[7]==15 && result[8]==15 && (tab[1]+tab[2]+tab[3]+tab[4]+tab[5]+tab[6]+tab[7]+tab[8]+tab[9])==45 && tab[1]!=5)           alert("Bravo !!! C'est bon !");}     function erreur(form){alert("Non, pas la"); form.aide.focus();}     function triche(form){       if (nbaide==0)          {alert("La somme d'une ligne doit etre 15"); nbaide++;}          else {if (nbaide==1)             {form.case5.value=5; alert("j'ai modifie la case du milieu"); nbaide++;}             else alert("2 fois a suffit!");}}  </SCRIPT> </HEAD>  <BODY LINK="ABABFF" VLINK="ABABFF" BACKGROUND="images/fond.gif" BGPROPERTIES=FIXED> <SCRIPT LANGUAGE="JavaScript"> tab = new DefinitTableau(9); result=new DefinitTableau(8); </SCRIPT> <TABLE><TR><TD><TABLE><TR><TD><A HREF="carmagiqeng.html"><IMG SRC="images/us.gif" ALT="English version" WIDTH="40" HEIGHT="20" BORDER=0></A></TD></TR> <TR><TD><IMG SRC="images/fr.gif" ALT="version francaise" WIDTH="40" HEIGHT="20"></TD></TR></TABLE></CENTER></TD> <TD WIDTH=100></TD><TD><FONT SIZE=7><B>L<FONT COLOR="#ABABFF">e C</FONT>ar<FONT COLOR="#ABABFF">r</FONT>&eacute; <FONT COLOR="#ABABFF">Ma</FONT>gi<FONT COLOR="#ABABFF">q</FONT>u<FONT COLOR="#ABABFF">e</FONT></B></FONT></TD></TR></TABLE>   <BR><TABLE><TR><TD WIDTH=50></TD><TD><H3><FONT COLOR="#ABABFF">Principe</FONT> :</H3></TD></TR></TABLE> <TABLE><TD VALIGN=TOP><BR><P  ALIGN="justify">Le but du jeu est de mettre tous les chiffres de <B><FONT COLOR="#ABABFF">1</FONT></B> &agrave; <B><FONT COLOR="#ABABFF">9</B></FONT> dans un carr&eacute; 3x3 pour que la <B><FONT COLOR="#ABABFF">somme</FONT></B> des chiffres soit partout la m&ecirc;me:</P> <UL><LI>sur les lignes horizontales,</LI><LI>sur les lignes verticales,</LI><LI>sur les lignes diagonales</LI></UL> Maintenant <B><FONT COLOR="#ABABFF">amusez-vous</FONT></B> bien !!!!<BR></TD><TD WIDTH=50></TD><TD> <FORM NAME="carremagique"> <CENTER><TABLE BGCOLOR="A0A0A0" HEIGHT=210 WIDTH=210> <TR><TD HEIGHT=5></TD></TR> <TR><TD WIDTH=8></TD>     <TD ALIGN=LEFT VALIGN=BOTTOM WIDTH=30><INPUT TYPE="text" NAME=res1 VALUE="0" SIZE=2 ONFOCUS="erreur(this.form)"></TD>     <TD ALIGN=CENTER VALIGN=BOTTOM WIDTH=30><INPUT TYPE="text" NAME=res2 VALUE="0" SIZE=2 ONFOCUS="erreur(this.form)"></TD>     <TD ALIGN=CENTER VALIGN=BOTTOM WIDTH=30><INPUT TYPE="text" NAME=res3 VALUE="0" SIZE=2 ONFOCUS="erreur(this.form)"></TD>     <TD ALIGN=CENTER VALIGN=BOTTOM WIDTH=30><INPUT TYPE="text" NAME=res4 VALUE="0" SIZE=2 ONFOCUS="erreur(this.form)"></TD>     <TD ALIGN=RIGHT VALIGN=BOTTOM WIDTH=30><INPUT TYPE="text" NAME=res5 VALUE="0" SIZE=2 ONFOCUS="erreur(this.form)"></TD>     <TD WIDTH=8></TD></TR> <TR><TD WIDTH=8></TD>     <TD ALIGN=LEFT VALIGN=BOTTOM WIDTH=30><INPUT TYPE="text" NAME=res6 VALUE="0" SIZE=2 ONFOCUS="erreur(this.form)"></TD>     <TD COLSPAN=3 ROWSPAN=3><TABLE BORDER HEIGHT=120 BGCOLOR="#A0A0A0" BORDERCOLORLIGHT="#000000" BORDERCOLORDARK="#COCOCO">     <TR><TD ALIGN=CENTER WIDTH=30><INPUT TYPE="text" NAME=case1 VALUE="0" SIZE=1 ONBLUR="evalcar(this.form)"></TD>         <TD ALIGN=CENTER WIDTH=30><INPUT TYPE="text" NAME=case2 VALUE="0" SIZE=1 ONBLUR="evalcar(this.form)"></TD>         <TD ALIGN=CENTER WIDTH=30><INPUT TYPE="text" NAME=case3 VALUE="0" SIZE=1 ONBLUR="evalcar(this.form)"></TD></TR>     <TR><TD ALIGN=CENTER WIDTH=30><INPUT TYPE="text" NAME=case4 VALUE="0" SIZE=1 ONBLUR="evalcar(this.form)"></TD>         <TD ALIGN=CENTER WIDTH=30><INPUT TYPE="text" NAME=case5 VALUE="0" SIZE=1 ONBLUR="evalcar(this.form)"></TD>         <TD ALIGN=CENTER WIDTH=30><INPUT TYPE="text" NAME=case6 VALUE="0" SIZE=1 ONBLUR="evalcar(this.form)"></TD></TR>     <TR><TD ALIGN=CENTER WIDTH=30><INPUT TYPE="text" NAME=case7 VALUE="0" SIZE=1 ONBLUR="evalcar(this.form)"></TD>         <TD ALIGN=CENTER WIDTH=30><INPUT TYPE="text" NAME=case8 VALUE="0" SIZE=1 ONBLUR="evalcar(this.form)"></TD>         <TD ALIGN=CENTER WIDTH=30><INPUT TYPE="text" NAME=case9 VALUE="0" SIZE=1 ONBLUR="evalcar(this.form)"></TD></TR></TABLE></TD>     <TD ALIGN=RIGHT VALIGN=BOTTOM WIDTH=30><INPUT TYPE="text" NAME=res66 VALUE="0" SIZE=2 ONFOCUS="erreur(this.form)"></TD>     <TD WIDTH=8></TD></TR> <TR><TD WIDTH=8></TD>     <TD ALIGN=LEFT VALIGN=MIDDLE WIDTH=30><INPUT TYPE="text" NAME=res7 VALUE="0" SIZE=2 ONFOCUS="erreur(this.form)"></TD>     <TD ALIGN=RIGHT VALIGN=MIDDLE WIDTH=30><INPUT TYPE="text" NAME=res77 VALUE="0" SIZE=2 ONFOCUS="erreur(this.form)"></TD>     <TD WIDTH=8></TD></TR> <TR><TD WIDTH=8></TD>     <TD ALIGN=LEFT VALIGN=TOP WIDTH=30><INPUT TYPE="text" NAME=res8 VALUE="0" SIZE=2 ONFOCUS="erreur(this.form)"></TD>     <TD ALIGN=RIGHT VALIGN=TOP WIDTH=30><INPUT TYPE="text" NAME=res88 VALUE="0" SIZE=2 ONFOCUS="erreur(this.form)"></TD>     <TD WIDTH=8></TD></TR> <TR><TD WIDTH=8></TD>     <TD ALIGN=LEFT WIDTH=30><INPUT TYPE="text" NAME=res55 VALUE="0" SIZE=2 ONFOCUS="erreur(this.form)"></TD>     <TD ALIGN=CENTER WIDTH=30><INPUT TYPE="text" NAME=res22 VALUE="0" SIZE=2 ONFOCUS="erreur(this.form)"></TD>     <TD ALIGN=CENTER WIDTH=30><INPUT TYPE="text" NAME=res33 VALUE="0" SIZE=2 ONFOCUS="erreur(this.form)"></TD>     <TD ALIGN=CENTER WIDTH=30><INPUT TYPE="text" NAME=res44 VALUE="0" SIZE=2 ONFOCUS="erreur(this.form)"></TD>     <TD ALIGN=RIGHT WIDTH=30><INPUT TYPE="text" NAME=res11 VALUE="0" SIZE=2 ONFOCUS="erreur(this.form)"></TD>     <TD WIDTH=8></TD></TR> <TR><TD HEIGHT=5></TD></TR> </TABLE></CENTER><BR> <CENTER><INPUT TYPE="button" NAME=aide VALUE="petite aide" ONCLICK="triche(this.form)"></CENTER> </FORM></TD></TABLE>   <TABLE><TR><TD WIDTH=50></TD><TD> <H3><FONT COLOR="#ABABFF"><A NAME="Index">Pour en savoir plus</A></FONT> :</H3> <CENTER><TABLE> <TR><TD ALIGN=CENTER><B><FONT SIZE=-1>Choisissez votre th&egrave;me et cliquez sur le point correspondant :</FONT></B></TD></TR> <TR><TD><TABLE><TR> 	<TD ALIGN=RIGHT><A HREF="#histoire">Un peu d'histoire</A><BR><I>De la Chine &agrave; l'Europe</I></TD> 	<TD><A HREF="#histoire" onMouseOver="lien1.src='images/ball2.gif'" onMouseOut="lien1.src='images/ball1.gif'"> <IMG NAME="lien1" WIDTH=17 HEIGHT=16 BORDER=0 SRC="images/ball1.gif" onLoad="tempImg=new Image(0,0); tempImg.src='images/ball1.gif'"></A></TD> 	<TD WIDTH=20></TD> 	<TD><A HREF="#maths" onMouseOver="lien2.src='images/ball2.gif'" onMouseOut="lien2.src='images/ball1.gif'"> <IMG NAME="lien2" WIDTH=17 HEIGHT=16 BORDER=0 SRC="images/ball1.gif" onLoad="tempImg=new Image(0,0); tempImg.src='images/ball1.gif'"></A></TD> 	<TD ALIGN=LEFT><A HREF="#maths">Un peu de maths</A><BR><I>La d&eacute;finition math&eacute;matique</I><BR></TD></TR> 	<TD ALIGN=RIGHT><A HREF="#culture">Un peu de culture</A><BR><I>La repr&eacute;sentation dans l'art</I><BR></TD> 	<TD><A HREF="#culture" onMouseOver="lien3.src='images/ball2.gif'" onMouseOut="lien3.src='images/ball1.gif'"> <IMG NAME="lien3" WIDTH=17 HEIGHT=16 BORDER=0 SRC="images/ball1.gif" onLoad="tempImg=new Image(0,0); tempImg.src='images/ball1.gif'"></A></TD><TD></TD> 	<TD><A HREF="#creation" onMouseOver="lien4.src='images/ball2.gif'" onMouseOut="lien4.src='images/ball1.gif'"> <IMG NAME="lien4" WIDTH=17 HEIGHT=16 BORDER=0 SRC="images/ball1.gif" onLoad="tempImg=new Image(0,0); tempImg.src='images/ball1.gif'"></A></TD> 	<TD ALIGN=LEFT><A HREF="#creation">Un peu d'entra&icirc;nement</A><BR><I>Construisez-en vous-m&ecirc;me</I></TD></TR></TABLE></TD></TR> <TR><TD><CENTER><A HREF="carcousins.html" onMouseOver="lien5.src='images/ball2.gif'" onMouseOut="lien5.src='images/ball1.gif'"> <IMG NAME="lien5" WIDTH=17 HEIGHT=16 BORDER=0 SRC="images/ball1.gif" onLoad="tempImg=new Image(0,0); tempImg.src='images/ball1.gif'"></A> <BR><A HREF="carcousins.html">Un peu de politique familiale</A><BR><I>D'autres types plus simples ou plus complexes</I></TD></TR></TABLE></CENTER><BR><BR>   <P ALIGN="justify"><A NAME="histoire"><IMG SRC="images/ball2.gif" WIDTH=10 HEIGHT=9> <B><FONT COLOR="#ABABFF">Un peu d'histoire </FONT></B><IMG SRC="images/ball2.gif" WIDTH=10 HEIGHT=9></A> <BR>Diff&eacute;rentes civilisations antiques et m&eacute;di&eacute;vales se sont int&eacute;ress&eacute;es &agrave; cet objet math&eacute;matique particuli&egrave;rement curieux. Il faut remonter aux <B><FONT COLOR="#ABABFF">l&eacute;gendes chinoises</FONT></B> pour en retrouver les premi&egrave;res manifestations : <I>le Roi Yu, il y a plus de 25 si&egrave;cles aurait aper&ccedil;u un carr&eacute; de ce type sur la carapace d'une tortue sacr&eacute;e.</I> Ce carr&eacute; est appel&eacute; diagramme de la rivi&egrave;re Luo, et n'appara&icirc;t vraisemblablement, d'apr&egrave;s les historiens, qu'&agrave; partir du X<SUP>e</SUP> si&egrave;cle :</P> 	<CENTER><IMG SRC="images/carchi.gif" ALT="Le diagramme de la riviere Luo" WIDTH="128" HEIGHT="124"></CENTER></P> <P ALIGN="justify">La premi&egrave;re civilisation &agrave; ne pas consid&eacute;rer les carr&eacute;s magiques uniquement comme talismans ou rem&egrave;des est <B><FONT COLOR="#ABABFF">la civilisation arabe</FONT></B> avec notamment le math&eacute;maticien &eacute;gyptien Ibn al-Haytham (XI<SUP>e</SUP>) qui d&eacute;veloppe des <A HREF="#creation">m&eacute;thodes pour les remplir</A>.</P> <P ALIGN="justify">Mais le point culminant de l'&eacute;tude des carr&eacute;s magiques est atteint &agrave; partir du XVI<SUP>e</SUP> si&egrave;cle en Europe. Successivement Pascal (<I>Trait&eacute; des nombres magiquement magiques</I>), Fermat puis Euler (<I>De quadratis magicis</I> paru en 1776) se sont plong&eacute;s dans les m&eacute;andres de ce jeu math&eacute;matiques pour en ressortir des techniques de constructions et de <A HREF="carcousins.html">nouveaux types de carr&eacute;s</A>.</P> <P ALIGN="justify">De nos jours, on peut citer le travail de <B><FONT COLOR="#ABABFF">Kathleen Ollerenshaw</FONT></B> qui vient de publier r&eacute;cemment <I>Most-perfect Pandiagonal Magic Squares : their Construction and Enumeration</I>.</P> <TABLE><TD WIDTH=40></TD><TD><A HREF="#Index">Retour &agrave; l'index</A></TD></TABLE>   <P ALIGN="justify"><A NAME="maths"><IMG SRC="images/ball2.gif" WIDTH="10" HEIGHT="9"> <B><FONT COLOR="#ABABFF">Un peu de maths</FONT></B> <IMG SRC="images/ball2.gif" WIDTH=10 HEIGHT=9></A> <BR>D'un point de vue purement math&eacute;matique, on appelle &#171;carr&eacute;s magiques&#187; d'ordre n les applications f de [1..n]x[1..n] vers R (l'ensemble des r&eacute;els) pour lesquelles il existe un r&eacute;el s tel que :</P> 	<CENTER><IMG SRC="images/careq.gif" ALT="Jolies formules, n'est-ce pas ?" WIDTH="401" HEIGHT="103"></CENTER> <P ALIGN="justify">Ainsi d&eacute;finis, les carr&eacute;s magiques forment un <B><FONT COLOR="#ABABFF">sous-espace vectoriel</FONT></B> de l'espace vectoriel des applications de [1..n]x[1..n] vers R (cet espace n'est pas vide, la somme de 2 carr&eacute;s magiques comme le produit d'un carr&eacute; magique par un r&eacute;el est encore un carr&eacute; magique).</P> <TABLE><TD WIDTH=40></TD><TD><A HREF="#Index">Retour &agrave; l'index</A></TD></TABLE>   <P ALIGN="justify"><A NAME="culture"><IMG SRC="images/ball2.gif" WIDTH=10 HEIGHT=9> <B><FONT COLOR="#ABABFF">Un peu de culture</FONT></B> <IMG SRC="images/ball2.gif" WIDTH=10 HEIGHT=9></A> <BR>Ceci est un d&eacute;tail de <I>Melencolia I</I> (taille r&eacute;elle 239x168mm), gravure de l'artiste allemand D&uuml;rer (1471-1528): </P> 	<CENTER><TABLE><TR> 	<TD><A HREF="images/durer.gif"><IMG SRC="images/detail.gif" ALT="Cliquez pour voir la gravure" WIDTH=165 HEIGHT=165 BORDER=0></A></TD> 	<TD WIDTH=40></TD> 	<TD VALIGN=MIDDLE><TABLE><TABLE BORDER=1> 	   <TR><TD>16</TD><TD ALIGN=CENTER>3</TD><TD ALIGN=CENTER>2</TD><TD>13</TD></TR> 	   <TR><TD ALIGN=CENTER>5</TD><TD>10</TD><TD>11</TD><TD ALIGN=CENTER>8</TD></TR> 	   <TR><TD ALIGN=CENTER>9</TD><TD ALIGN=CENTER>6</TD><TD ALIGN=CENTER>7</TD><TD>12</TD></TR> 	   <TR><TD ALIGN=CENTER>4</TD><TD><FONT COLOR="#ABABFF"><B>15</B></FONT></TD> 	       <TD><FONT COLOR="#ABABFF"><B>14</B></FONT></TD><TD ALIGN=CENTER>1</TD></TR></TABLE></TD></TR></TABLE></CENTER> <P ALIGN="justify">La date de cette oeuvre (1514) peut se lire dans les deux cases centrales de la derni&egrave;re ligne du carr&eacute; magique. Cette gravure, visible en entier en cliquant sur l'image, repr&eacute;sente de nombreux objets symboliques (sablier, &eacute;chelle, carr&eacute; magique...). Elle a &eacute;t&eacute; l'objet de multiples interpr&eacute;tations dont celle d'Erwin Panoksky dans <I>la vie et l'art d'Albrecht D&uuml;rer</I> publi&eacute; en 1943.</P> <TABLE><TD WIDTH=40></TD><TD><A HREF="#Index">Retour &agrave; l'index</A></TD></TABLE>   <P ALIGN="justify"><A NAME="creation"><IMG SRC="images/ball2.gif" WIDTH=10 HEIGHT=9> <B><FONT COLOR="#ABABFF">Un peu d'entra&icirc;nement</FONT></B> <IMG SRC="images/ball2.gif" WIDTH=10 HEIGHT=9></A> <BR>Maintenant impressionnez vos amis en leur montrant un grand carr&eacute; magique <FONT COLOR="#ABABFF"><B>de votre cr&eacute;ation</B></FONT>. La m&eacute;thode (s'appliquant aux carr&eacute;s de taille n impaire) est assez simple si vous savez compter de 1 &agrave; n<SUP><SMALL>2</SMALL></SUP> :</P> <OL><LI>Vous devez remplir en remontant et en allant &agrave; droite</LI> <LI>la premi&egrave;re case &agrave; remplir est au milieu de la ligne du haut</LI> <LI>si vous arrivez &agrave; un bord rejoignez la case (attention c'est subtil) qui serait l&agrave; si on avait coll&eacute; un autre carr&eacute; &agrave; c&ocirc;t&eacute; du carr&eacute; actuel et continuez comme si de rien n'&eacute;tait</LI> <LI>si la case en haut &agrave; droite est d&eacute;j&agrave; occup&eacute;e remplissez la case du dessous et continuez... </LI></OL> Si cela fonctionne, vous avez rempli votre carr&eacute; comme &ccedil;a (n=7, somme=175) :</P> 	<CENTER><IMG SRC="images/carmet.gif" ALT="Faites vous-meme  votre carre" WIDTH="317" HEIGHT="302"></CENTER> <P ALIGN="justify">Vous l'aurez compris cette m&eacute;thode fonctionne pour le carr&eacute; 3x3 qu'il vous fallait remplir ci-dessus et qui donne ainsi la r&eacute;plique exacte du <A HREF="#Histoire">Diagramme de la rivi&egrave;re Luo</A>...</P> <TABLE><TD WIDTH=40></TD><TD><A HREF="#Index">Retour &agrave; l'index</A></TD></TABLE>  <BR><HR ALIGN="center" WIDTH=75%> <CENTER><A HREF="mailto:spip@club-internet.fr"><IMG SRC="images/mailpiaf.gif" ALT="Ecrivez-moi" WIDTH=88 HEIGHT=72 BORDER=0></A></CENTER> <P ALIGN="center"><FONT SIZE="1">page cr&eacute;&eacute;e par spip le chien, derni&egrave;re mizajour: 15/09/99</FONT></P>  </TD><TD WIDTH=50></TD></TR></TABLE> </BODY>  </HTML> <!-- DEBUT / Cybermonitor / START --> <script language="javascript"><!-- CM_RUBRIQUE = "edit_PagesPersos_abonnes"; CM_CLIENT = "clubv3"; CM_SECTION1 = "PagesPersos"; // --></script> <script language="javascript" src="http://js.cybermonitor.com/clubv3.js"> </script> <noscript> <img src="http://stat3.cybermonitor.com/clubv3_v?R=edit_PagesPersos_abonnes&S=total;PagesPersos"> </noscript> <!-- FIN / Cybermonitor / END --> 
