Exercice 4 spé maths

Question 2

Bien que ce ne soit pas suggéré par l'énoncé, l'algorithme matriciel, qu'on va introduire ici, se révèle plus concis que l'algorithme de la question 4 (ci-dessous). Pour gérer les matrices dans cette page html, on y a ajouté le logiciel sylvester.js.

La matrice A

La matrice s'écrit A = $M [[0,2],[1,0]] et l'appel à alert A.inspect() produit l'affichage suivant:

[0, 2]
[1, 0]

Le vecteur B

La matrice B est en fait un vecteur-colonne; il se crée par B = $V [200,100] et l'affichage alert B.inspect() produit le résultat que voici :

[200, 100]

Le vecteur colonne X est géré par une méthode analogue.

Opérations

Multiplication de la matrice A par le vecteur X

Comme la lettre "x" ressemble à un signe de multiplication, sylvester multiplie A par X en écrivant A.x X

Addition de B

L'addition s'abrège en add ce qui fait que la boucle peut s'écrire en une seule ligne: X = (A.x X).add B

L'algorithme en CoffeeScript

Le système de la question 2

On peut résoudre le système en constatant que, si I est la matrice identité d'ordre 2, le système s'écrit indifféremment

Un algorithme pour résoudre le système peut donc consister à créer la matrice I, lui soustraire A pour avoir C, inverser C puis multiplier le résultat par B :

Question 4

a) L'algorithme de l'énoncé

Pour simplifier l'écriture de l'algorithme, on crée une fonction qui, à n, associe 2n; elle s'appelle deuxPuissance ce qui fait que pour calculer 23 il suffira d'écrire deuxPuissance 3

On voit donc que l'algorithme ci-dessus calcule le nombre de poissons contenus dans le bassin A au bout de p années. Il suffira alors de la modifier un peu pour répondre à la question b

b) L'algorithme demandé

Remarque: Un modèle qui n'a de valeur que sur 10 ans n'est pas très utile...