• Aucun résultat trouvé

Suite récurrente

N/A
N/A
Protected

Academic year: 2022

Partager "Suite récurrente"

Copied!
3
0
0

Texte intégral

(1)

Informatique 2009-2010 : TP Maple 2 MPSI B Hoche

Exercice 1

Dans un plan muni d’un repère, on se donne trois points par leurs coordonnées.

Former l’équation du cercle circonscrit.

Exercice 2

P1

P2

Q2

Q1

M D1

D2

1

2

a b

Fig.1 – Projections sur un losange

L’objectif est d’utiliser les fonctionnalités de calcul formel pour résoudre ana- lytiquement un exercice de géométrie. Quels sont les points du plan dont les pro- jections sur les cotés d’un losange sont cocycliques ? Les notations sont définies sur la figure1.

Attention dans toute la feuille, vous ne devez jamais assigner de valeurs aux noms de variablesx,y,a, b. La droiteD1 coupe les axes en (a,0) et (0, b). Vous

devez pouvoir écrire son équation avec un 1 comme terme constant.

Suivant le cours, quatre pointsA,B, C,D sont cocycliques si et seulement si on l’égalité suivante entre les angles orientés de droites ((CB),(CA)) = ((DB),(DA)).

Traduire cette égalité avec les affixes complexes.

Équation des droites. Compléter le code suivant en assignant aux variablesD1, D2, Delta1, Delta2 respectivement les équations des droites D1, D2, ∆1,

∆2. Le second membre doit être 1 ou -1.

D1:=;

D2:=;

Delta1:=;

Delta2:=;

u:=[1/a,1/b];

v:=[1/a,-1/b];

Calcul des projetés. Compléter le code suivant M:=[x,y];

P:=[x+lambda/a,y+lambda/b];

Q:=[x+lambda/a,y-lambda/b];

Substituer à x et y les coordonnées de P dans l’équation D1. Résoudre en lambda. Substituer le résultat dansPet assigner àP1. Même procédure pour P2,Q1,Q2.

Condition de cocyclicité Par défaut, Maple ne considère pas qu’une variable est à valeurs réelles. L’instruction suivante précise quea,b,x,ydésignent des nombres réels.

assume(a,real,b,real,x,real,y,real);

Assigner àp1,p2, q1,q2les affixes deP1,P2,Q1,Q2.

Former un nombre complexe c tel que les quatre points sont cocycliques si et seulement si la partie imaginaire de ce nombre est nulle. La forme sera c:=( )*( )*conjugate(( )*( ));

# pour calculer sa partie imaginaire Im(expand(c));

factor(Im(expand(c)));

Interpéter le résultat pour conclure.

Suite récurrente et boucle for

L’objet de ce texte est de dégager une implémentation minimale d’une suite récurrente ainsi que de présenter la syntaxe Maple d’une boucle "for".

Cette création est mise à disposition selon le Contrat

Paternité-Pas d’utilisations commerciale-Partage des Conditions Initiales à l’Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-nc-sa/2.0/fr/

1 Rémy Nicolai TP0902

(2)

Informatique 2009-2010 : TP Maple 2 MPSI B Hoche

aaa<−− f(a,aa)

#initialisation a <−−

aa <−−

condition

Vrai

Faux

aa <−− aaa a <−− aa

Fig.2 – Suite récurrente

Suite récurrente

Comment implémenter une suite définie par une recurrence d’ordrep≥2 ? Une telle suite vérifie

(a0, a1,· · ·, ap−1 donnés

∀n∈N:an+p=f(an, an+1,· · · , an+p−1) oùpest un entier fixé etf une fonction deRp dansRfixée ?

Pour implémenter le calcul d’une telle suite,p+ 1 variables sont nécessaires.

Par exemple pourp= 2, on peut utiliser des variablesa,aa,aaaselon le schéma de la figure2. Il faut évaluerconditionàVraiouFauxpour calculer ou non le terme suivant de la suite. Cette condition (ou test d’arrêt) peut porter sur un indice ou sur une valeur. On peut aussi vouloir garder trace de tous les termes de la suite.

– Pour calculer le terme d’indice k, introduire un compteur et l’incrémenter comme dans la figure3. Après la sortie de la boucle, quelles valeurs désignent

Fig.3 – Calcul du terme d’indicek.

a,aa,aaaet i?

– Un test d’arrêt peut porter sur la différence entre deux valeurs consécutives.

On peut prendre par exempleabs(a-aa) <= epsoùepsdésigne un nombre décimal (type float) petit. Attention, comme par défaut Maple fait des calculs formels exacts il peut être nécessaire d’utiliser unevalf.

– Si on veut garder toutes les valeurs intermédiaires, on peut utiliser une sé- quence (figure4) ou un tableau.

Boucle "for"

Une boucle "for" est une boucle "while" particulière. Elle contient un compteur entier et on sait à l’avance pour quels entiers consécutifs on doit exécuter la boucle.

La figure3en est un exemple. On peut l’implémenter en syntaxe Maple par : a:= a0;

aa:= a1;

for i from 1 to k do aaa := f(a,aa);

a:= aa;

aa:= aaa;

od;

Cette création est mise à disposition selon le Contrat

Paternité-Pas d’utilisations commerciale-Partage des Conditions Initiales à l’Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-nc-sa/2.0/fr/

2 Rémy Nicolai TP0902

(3)

Informatique 2009-2010 : TP Maple 2 MPSI B Hoche

Vrai

Faux a <−−

aa <−− i <−− 1

s <−− a, aa

i <= k s<−− [s]

aaa <−− f(a,aa) a <−− aa aa <−− aaa

i <−− i+1

s <−− s , aa

Fig.4 – Insertion des valeurs dans une séquence

Cette création est mise à disposition selon le Contrat

Paternité-Pas d’utilisations commerciale-Partage des Conditions Initiales à l’Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-nc-sa/2.0/fr/

3 Rémy Nicolai TP0902

Références

Documents relatifs

Paternité-Pas d'utilisations commerciale-Partage des Conditions Initiales à l'Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-nc-sa/2.0/fr/.. 1

Paternité-Partage des Conditions Initiales à l'Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-sa/2.0/fr/.. 2 Rémy

Paternité-Pas d’utilisations commerciale-Partage des Conditions Initiales à l’Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-nc-sa/2.0/fr/.. 1

Paternité-Pas d’utilisations commerciale-Partage des Conditions Initiales à l’Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-nc-sa/2.0/fr/. 1

Paternité-Pas d’utilisations commerciale-Partage des Conditions Initiales à l’Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-nc-sa/2.0/fr/. 1

Paternité-Pas d’utilisations commerciale-Partage des Conditions Initiales à l’Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-nc-sa/2.0/fr/. 1

Paternité-Pas d’utilisations commerciale-Partage des Conditions Initiales à l’Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-nc-sa/2.0/fr/b. 3

Paternité-Pas d’utilisations commerciale-Partage des Conditions Initiales à l’Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-nc-sa/2.0/fr/.. 1