Previous Up Next

Chapitre 6  Pour s’amuser avec le tableur de Xcas

6.1  Nombre de carrés dans un échiquier

On cherche le nombre de carrés NC(n) que l’on peut former sur un échiquier de dimension n*n.
On veut faire une fiche de travail pour que les élèves devine et démontre que :

NC(n)=12+22+32+...+n2=
n(n+1)(2n+1)
6

6.1.1  L’énoncé

On rappelle que 1+2+...n=n(n+1)/2.

  1. Combien peut-on former de carrés de côtés égal à 1 sur un échiquier de dimension p*p ?
  2. Combien peut-on former de carrés de côtés égal à n sur un échiquier de dimension n*n ?
  3. Expliquer pourquoi le nombre de carrés de côtés égal à n−1 sur un échiquier de dimension n*n est égal au nombre de carrés de côtés égal à 1 sur un échiquier de dimension 2*2.
  4. Expliquer pourquoi le nombre de carrés de côtés égal à n−2 sur un échiquier de dimension n*n est égal au nombre de carrés de côtés égal à 1 sur un échiquier de dimension 3*3?
  5. Sur le tableur de Xcas remplir :

6.1.2  La correction avec Xcas

  1. On a 0,1,2,3..n sur la colonne A
  2. On a 0,1,4,9...n2 sur la colonne B
  3. On a 0,1,5,14,30.... sur la colonne C
  4. On a 0,1,3,6,10,15.... sur la colonne D c’est à dire k(k+1)/2 pour k=1..n. Donc D(k)=12+22+...k2=NC(k).
  5. On a 0,1,5/3,7/3,3,11/3,13/2,5.... sur la colonne E.
    On devine que la colonne E vaut (2k+1)/3 pour k=1..n.
    Puisque la colonne D vaut k(k+1)/2 pour k=1..n, on en déduit que NC(k)=k(k+1)/2*(2k+1)/3=k(k+1)(2k+1)/6.
    On peut maintenant montrer par récurrence que :
    12+22+...k2=
    k(k+1)(2k+1)
    6
    car
    12=(1*2*3)/6 et
    12+...k2+(k+1)2=
    (k+1)(2k2+k+6k+6)
    6
    =
    (k+1)(k+2)(2k+3)
    6

6.2  Étude d’une suite

6.2.1  L’énoncé

On considère la suite récurrente :
u0=a
u1=b
pour n>1 un=|un−1|−un−2
Étudiez cette suite.
Faites des essais avec le tableur prendre par exemple :
a=3 avec b=4, b=5,b=7 etc...
a=−3 avec b=4, b=5,b=7 etc...
Que remarquez-vous ?

6.2.2  La démarche mathématique

On va montrer que cette suite est périodique (u9=u0 et u10=u1).
Pour cela on considère 9 cas :
6 cas lorsque b>=0 et 3 cas lorsque b<0:
cas 1 : b ≥ 2a ≥ 0
On obtient :
a,b,b-a,-a,-b+2a,b-a,2b-3a,-2a+b,a-b,a,b....
cas 2 : 2a > ba
On obtient :
a,b,b-a,-a,-b+2a,3a-b,a,2a+b,a-b,a,b.....
cas 3 : a/2 >b ≥ 0
On obtient :
a,b,b-a,a-2b,-3b+2a,a-b,2b-a,-b,-b+a,a,b....
cas 4 : a> ba/2
On obtient :
a,b,b-a,a-2b,b,3b-a,2b-a,-b,a-b,a,b...
cas 5 : b ≥ −a ≥ 0
On obtient :
a,b,b-a,-a,-b,b+a,2b+a,b,b-a,a,b....
cas 6 : −ab ≥ 0
On obtient :
a,b,b-a,-a,-b,b+a,-a,-2a-b,-a-b,a,b....
cas 7 : −ba >0
On obtient :
a,b,-b-a,-2b-a,-b,b+a,-a,-b,-b+a,a,b....
cas 8 : a >−b >0
On obtient :
a,b,-b-a,a,2a+b,a+b,-a,-b,-b+a,a,b....
cas 9 : −b >0 ≥ a
On obtient :
a,b,-b-a,-2b-a,-b,a+b,-a,-2a-b,-b-a,a,b....

6.2.3  La correction avec Xcas

Avec Xcas on tape (cf cas9):
assume(a<0) et la réponse est a
assume(b<0) et la réponse est b
normal(abs(ans())-ans(-2)) et la réponse est -b-a
puis enter, enter...:
la réponse est -2*b-a
la réponse est -b
la réponse est b+a
la réponse est -a
la réponse est -b-2*a
la réponse est -b-a
la réponse est a
la réponse est b
Attention La commande assume ne doit utiliser que des noms de variables sans opérateur. Pour faire les différents cas avec Xcas il faut donc faire des changements de variables, par exemple pour traiter le cas1 (b ≥ 2a ≥ 0), on pose c=b−2*a donc b=c+2*a.
Avec Xcas on tape (cf cas9):
assume(a>0) et la réponse est a
assume(c>0)+2*a et la réponse est c+2*a
normal(abs(ans())-ans(-2)) et la réponse est c+a
puis enter, enter...:
la réponse est -a
la réponse est -c
la réponse est c+a
la réponse est 2*c+a
la réponse est c
la réponse est -c-a
la réponse est a
la réponse est c+2*a
On peut aussi utiliser le tableur :
on tape (cf cas9):
assume(a>0); assume(c>0)
Puis on ouvre le tableur, et on remplit :
A0 avec a, A1 avec c+2*a, A2 avec =normal(abs(A1)-A0)
puis on appuie sur le bouton remplir (ou fill) et on peut voir les différentes valeurs de la suite.
On peut aussi avec le tableur mettre les 9 cas dans les colonnes A...I.

Il faut taper purge(a) si on a fait aupparavant assume(a>0)
Puis on tape : assume(c>0); assume(d>0)
et on pose :
cas1 (b ≥ 2a ≥ 0)
A0=d, A1=c+2*d (ie a=d, c=b−2a)
cas2 (2aba)
B0=d+c, B1=c+2*d (ie d=ba,c=−b+2a)
cas3 (a/2 >b ≥ 0)
C0=d+2c, C1=c (ie d=a−2b,c=b)
cas4 (a> ba/2)
D0=2*d+2*c, D1=2*c+d (ie d=ab,2*c=2*ba)
cas5 (b ≥ −a ≥ 0)
E0=-d, E1=c+d (ie d=−a,c=b+a)
cas6 (−ab ≥ 0)
F0=-c-d, F1=d (ie c=−ab, b=d)
cas7 (−ba >0)
G0=d, G1=-c-d (ie c=−ab,d=a)
cas8 (a >−b >0 )
H0=c+d, H1=-d (ie d=−b,c=a+b)
cas9 (−b >0 ≥ a )
I0=-d, I1=-c (ie d=−a,b=−c)
On met dans A2 la formule =normal(abs(A1)-A0)
Puis on recopie cette formule vers le bas (bouton remplir) et sur le coté (menu Edit sous-menu mtrw(Editeur de matrices) et copier->).
On obtient :

 ABCDEFGHI
0dd+cd+2*c2*d+2*c-d-c-ddc+d-d
1c+2*dc+2*dc2*c+dc+dd-c-d-d-c
2c+dd-d-c-dc+2*dc+2*dc-cc+d
3-d-c-dd-(2*c)dc+d2*c+dc+d2*c+d
4-cc2*d+c2*c+d-c-d-dc+d2*c+dc
5c+d2*c+dd+c4*c+dc-c-cc-c-d
62*c+dc+d-d2*c2*c+dc+d-d-c-dd
7c-c-c-2*c-dc+d2*c+dd+cdc+2*d
8-c-d-dc+dd-cc2*d+cc+2*dc+d
9dd+c2*c+d2*c+2*d-d-c-ddc+d-d
10c+2*d2*d+cc2*c+dd+cd-d-c-d-c
11c+dd-c-d-d2*d+cc+2*dc-cc+d

On remarque que les colonnes se déduisent les unes des autres :
si on considère la colonne I on a
I1, I2 est égal à F0, F1 (puisque c er d jouent le même rôle) de même,
I2, I3 est égal à B0, B1,
I3, I4 est égal à C0, C1,
I4, I5 est égal à G0, G1,
I5, I6 est égal à F0, F1,
I6, I7 est égal à A0, A1,
I7, I8 est égal à D0, D1,
I8, I9 est égal à H0, H1.
On peut donc considérer la fonction f de ℝ2 dans ℝ2 définie par :
f(x,y)=(y,|y|−x)
On peut montrer que f9=id en effet :
si A0={(x,y)∈ ℝ2, x<0, y ≤ 0}, on pose :
A1=f(A0), A2=f(A1)=f2(A0)... A8=f8(A0)
alors A0,A1,A2..,A8 forment une partition de ℝ2,
de plus si (a,b)∈ A0 alors f9(a,b)=(a,b).
Avec Xcas on tape :
f(L):={ return([L[1],normal(abs(L[1])-L[0])]);
};

assume(a<0);assume(b<=0)
f(f(f(f(f(f(f(f(f(([a,b])))))))))
On obtient : [a,b]
Cela prouve que la suite récurrente U définie par :
(U0,U1)=(x,y)
(Un,Un+1)=f(Un−1, Un)=(Un,|Un|−Un−1) pour n>0
est périodique de période 9 (Un=Un+9 pour tout n≥ 0)).
On peut visualiser en trois temps que A0,A1...A8 forment une partition.
On tape :

for (j:=0;j<300;j:=j+1) {
  c:=rand(0..2);
  d:=rand(0..3);
  point(-c+i*(c+d));
  point(c+d+i*(2*c+d));
  point(2*c+d+i*c);
  point(c-i*(c+d));
}

et on voit les régions A1,A2,A3,A4 sur l’écran de géométrie.
On tape :

 
for (j:=0;j<300;j:=j+1) {
  c:=rand(0..2);
  d:=rand(0..3);
  point(-c-d+i*d);
  point(d+i*(2*d+c));
  point(2*d+c+i*(c+d));
  point(c+d-i*d);
}

et on voit les régions A5,A6,A7,A8 sur l’écran de géométrie.


Previous Up Next