Dans le répertoire javascript créez un dossier cours9. Il contiendra tous les fichiers de cette
leçon.
Sur l'éditeur Brackets allez dans Fichier, ouvrez un dossier et sélestionner le dossier cours9.
Le nom du dossier s'affiche à gauche.
A l'aide d'un clic droit de la souris sur le nom du dossier,
créez un dossier js puis un dossier html.
Un matrice est représentée en javascript par une liste de listes.
Exemple : matrice=[[1,2,3],[4,5,6],[7,8,9]] équivaut à :
$\left( \begin{array}{ccc}1&2&3\\4&5&6\\7&8&9\end{array}\right). $
C'est une matrice 3 lignes, 3 colonnes.
Ainsi pour désigner l'élément 1 de la matrice situé en première ligne, première colonne,
nous utiliserons les indices (0,0), soit matrice[0][0].
matrice[0] désigne la liste [1,2,3] et matrice[0][0] le premier élément de cette liste.
De même matrice[1][2] désigne l'élément de la matrice situé
à la ligne 2, colonne 3 soit 6.
Ecrivez le script javascript creation_matrice.js ci_dessous :
En ligne 2 nous créons M une liste vide.
Nous avons une double boucle. La première en ligne 3 génère les lignes et la deuxième en ligne 5, les colonnes.
La ligne est complétée en ligne 6 et 7.
Une fois la ligne finie, on l'ajoute à la liste M en ligne 9, puis on la "vide" en ligne 4 pour
constituer la ligne suivante.
Complétez le script javascript affiche_matrice.js ci-dessous qui affiche la matrice ligne par ligne comme ceci : $\begin{array}{ccc}1&2&3\\4&5&6\\7&8&9\end{array} $
Ecrivez le script javascript sommes_matrices.js qui fait la somme de deux matrices :
$$\quad\left( \begin{array}{ccc}1&2&3\\4&5&6\\7&8&9
\end{array}\right) \quad + \quad \left( \begin{array}{ccc}10&11&12\\13&14&15\\16&17&18
\end{array}\right) \quad = \quad \left( \begin{array}{ccc}11&13&15\\17&19&21\\23&25&27
\end{array}\right) $$
Ce script contiendra les fonctions creation_matrice(nlignes,ncolonnes), affiche_matrice(matrice)
écrites précédemment et vous rajouterez la fonction somme_matrices(matrice1,matrice2).
Le programme principal du script est donné ci-dessous :
Ecrivez le script javascript sommes_lignes_matrice.js qui calcule la somme de chaque ligne d'une matrice:
$\left( \begin{array}{ccc}1&2&3\\4&5&6\\7&8&9\end{array}\right) $ donne [6,15,24]
Ce script utilisera les fonctions creation_matrice(nlignes,ncolonnes), affiche_matrice(mat)
précédentes puis la fonction somme_lignes_matrice(matrice) qui retournera la liste sommes
Ecrivez le script javascript sommes_colonnes_matrice.js qui calcule la somme de chaque colonne d'une matrice: $\left( \begin{array}{ccc}1&2&3\\4&5&6\\7&8&9\end{array}\right) $ donne [12,15,18]
Ecrivez le script python sommes_diagonales_matrice.js qui calcule la somme de chaque diagonale d'une matrice carrée: $\left( \begin{array}{ccc}1&2&3\\4&5&6\\7&8&9\end{array}\right) $ donne [15,15]
Le but de ce travail consiste à créer une matrice carrée de taille t composée d'entiers compris dans l'intervalle $\left[1; t^2\right] $. Tous ces entiers doivent être différents et disposés dans la matrice de manière aléatoire. Pour cela vous devez créer quatre fonctions :
On donne le programme principal :
En mathématiques, un carré magique d’ordre n est composé de $n^2$ entiers strictement positifs, 1,2,3 .....$n^2$, écrits sous la forme
d’un tableau carré.
Ces nombres sont disposés de sorte que leurs sommes sur chaque rangée, sur chaque colonne et sur chaque diagonale principale soient égales.
On nomme alors constante magique (et parfois densité) la valeur de ces sommes.
Cette constante magique est égale à $ \dfrac{n\left(n+1 \right) ^2}{2}$.
Exemple :
Carré magique d'ordre 3 : $$\begin{array}{|c|c|c|}
\hline
8&1&6\\
\hline
3&5&7\\
\hline
4&9&2\\
\hline
\end{array}.$$
Constante magique :$ \dfrac{3\times 4^2}{2}=15$.
On souhaite construit des carrés magiques d'ordre impair.
Pour cela on pourra utiliser la méthode suivante :
Explication pour un carré d'ordre 3 :
Étape 1 : $\begin{array}{|c|c|c|}\hline
.&1&.\\\hline .&.&.\\\hline .&.&.\\\hline
\end{array}$
.
Étape 2 : $ \begin{array}{cccc}
\begin{array}{ccc}
~&~&(2)\end{array}\\
\begin{array}{|c|c|c|}\hline
.&1&.\\\hline .&.&.\\\hline .&.&.\\\hline
\end{array}&\Longrightarrow&
\begin{array}{|c|c|c|}\hline
.&1&.\\\hline .&.&.\\\hline .&.&2\\\hline
\end{array}&
\text{ On dépasse la première ligne, on met 2 à la dernière ligne.}
\end{array}$
.
Étape 3 : $ \begin{array}{ccccc}
\begin{array}{|c|c|c|}\hline
.&1&.\\\hline .&.&.\\\hline .&.&2\\\hline
\end{array}&
\hspace{-0.4cm}\begin{array}{c}
\\(3)\\\\
\end{array}
&\Longrightarrow&
\begin{array}{|c|c|c|}\hline
.&1&.\\\hline 3&.&.\\\hline .&.&2\\\hline
\end{array}&
\text{ On dépasse la troisième colonne , on met 3 à la première colonne.}
\end{array}$
.
Étape 4 : $ \begin{array}{ccccc}
\begin{array}{|c|c|c|}\hline
.&1&.\\\hline 3&.&.\\\hline .&.&2\\\hline
\end{array}&
\begin{array}{|c|c|c|}\hline
.&1&.\\\hline 3&.&.\\\hline 4&.&2\\\hline
\end{array}&
\text{La case est occupée par 1 on met 4 en dessous de la case courante.}
\end{array}$
.
Étape 5 :
$\begin{array}{|c|c|c|}\hline
.&1&.\\\hline 3&5&.\\\hline 4&.&2\\\hline
\end{array}$
.
Étape 6 :
$\begin{array}{|c|c|c|}\hline
.&1&6\\\hline 3&5&.\\\hline 4&.&2\\\hline
\end{array}$
.
Étape 7 :
$ \begin{array}{ccc}
\begin{array}{cccc}
~&~~~&~~~&~~~(7)\end{array}\\
\begin{array}{|c|c|c|}\hline
.&1&6\\\hline 3&5&.\\\hline 4&.&2\\\hline
\end{array}&\Longrightarrow&
\begin{array}{|c|c|c|}\hline
.&1&6\\\hline 3&5&7\\\hline 4&.&2\\\hline
\end{array}
\end{array}$.
On dépasse la première ligne, et la dernière colonne. 7 doit se trouver à la dernière ligne, première colonne.
Cette case est occupée par 4, on met 7 sous la case courante.
.
Étape 8 : $ \begin{array}{ccccc}
\begin{array}{|c|c|c|}\hline
.&1&6\\\hline 3&5&7\\\hline 4&.&2\\\hline
\end{array}&
\hspace{-0.4cm}\begin{array}{c}
(8)\\\\\\
\end{array}
&\Longrightarrow&
\begin{array}{|c|c|c|}\hline
8&1&6\\\hline 3&5&7\\\hline 4&.&2\\\hline
\end{array}&
\text{ On dépasse la troisième colonne , on met 8 à la première colonne.}
\end{array}$
.
Étape 9 : $ \begin{array}{ccccc}
\begin{array}{ccc}
~&(9)&\end{array}\\
\begin{array}{|c|c|c|}\hline
8&1&6\\\hline 3&5&7\\\hline 4&.&2\\\hline
\end{array}
&\Longrightarrow&
\begin{array}{|c|c|c|}\hline
8&1&6\\\hline 3&5&7\\\hline 4&9&2\\\hline
\end{array}&
\text{ On dépasse la première ligne, on met 9 à la dernière ligne.}
\end{array}$
Le script proposé permettra de générer un carré magique d'ordre impair.
Pour cela vous devez créer trois fonctions :
On donne le programme principal :
MOTUS est un jeu où un l'on doit trouver un mot de six lettres en faisant au plus cinq propositions.
Au départ seulement la première lettre est donnée. Pour chaque proposition du candidat on regarde chaque lettre du mot proposé et
on distingue trois cas :