Bonjour,
J'ai un DM a rendre pour cette semaine mais j'ai un certain soucis...
dès la première question, je ne sais comment m'y prendre.
C'est pourquoi je demande votre aide s'il vous plait.
Voici l'exercice:
On considère la suite (un) définie par:
u0= a
un+1= un +2n +5
1) Concevoir un algorithme permettant d'afficher les termes de la suite (un) pour n de 1 à N, où N désigne un entier supérieur à 1 et a un réel que l'on choisit au départ.
(On pourra noter u la variable qui prend pour valeurs les termes de la suite).
2) Démontrer à l'aide d'un raisonnement par récurrence, que pour a=4, on a :
un= (n+2)2
J'ai essayé de construire mon algorithme sur Algobox mais je ne trouve pas le même résultat que calculé à la main.
Merci de votre aide.
1 VARIABLES
2 a EST_DU_TYPE NOMBRE
3 n EST_DU_TYPE NOMBRE
4 u EST_DU_TYPE NOMBRE
5 k EST_DU_TYPE NOMBRE
6 DEBUT_ALGORITHME
7 LIRE a
8 LIRE n
9 SI (k>1) ALORS
10 DEBUT_SI
11 POUR n ALLANT_DE 1 A k
12 DEBUT_POUR
13 u PREND_LA_VALEUR a+2n+5
14 FIN_POUR
15 FIN_SI
16 AFFICHER u
17 FIN_ALGORITHME
voila :/ (d'après mon énoncé donc je le comprends moi)
il y a beaucoup d'erreurs :
pour itérer dans le calcul de la suite il faut plutôt écrire u PREND_LA_VALEUR u+2*n+5 (et le 2n ne sera pas compris, il faut mettre 2*n)
et il faut que u reçoive une valeur au début, donc il manque un u PREND_LA_VALEUR a
k ne reçoit jamais de valeur non plus !
si tu veux toutes les valeurs des termes de la suite, il faut mettre le afficher u à l'intérieur de la boucle (et même AFFICHER* u si tu veux qu'il aille à la ligne à chaque fois)
n doit commencer à 0 et pas à 1 car dans la récurrence un+1= un +2n +5 on fait n=0 pour calculer u1
une fois retapé, ça donne ça :
(tu peux le copier/coller dans algobox en mode éditeur de texte, ou bien directement en ligne dans proglab )
VARIABLES
a EST_DU_TYPE NOMBRE
n EST_DU_TYPE NOMBRE
u EST_DU_TYPE NOMBRE
k EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE a
LIRE k
u PREND_LA_VALEUR a
SI (k>1) ALORS
DEBUT_SI
POUR n ALLANT_DE 0 A k
DEBUT_POUR
u PREND_LA_VALEUR u+2*n+5
AFFICHER* u
FIN_POUR
FIN_SI
FIN_ALGORITHME
Mais que signifie k ?
d'accord je comprends mon erreur pour la valeur de u
oui, mais je l'aurai fait pour chacun des termes (mais c'est vrai que ça aurait été très long)
merci de ton aide! merci beaucoup
***Algorithme lancé***
Entrer a : 4
Entrer k : 1
4
***Algorithme terminé***
pas moi u1=4 or c'est u0=4
pourtant si,
VARIABLES
VARIABLES
a EST_DU_TYPE NOMBRE
n EST_DU_TYPE NOMBRE
u EST_DU_TYPE NOMBRE
k EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE a
LIRE k
u PREND_LA_VALEUR a
SI (k>1) ALORS
DEBUT_SI
POUR n ALLANT_DE 0 A k
DEBUT_POUR
u PREND_LA_VALEUR u+2*n+5
FIN_POUR
FIN_SI
AFFICHER u
FIN_ALGORITHME
DEBUT_ALGORITHME
FIN_ALGORITHME
celui-là de toute façon il n'affiche que le dernier terme, le AFFICHER u est en dehors de la boucle.
si tu rentres k=1 alors il saute la boucle à cause du SI (k>1) ALORS et il ne fait que afficher u donc 4 puisque u vaut a à ce moment là.
si tu veux tu peux remplacer SI (k>1) ALORS par par SI (k>=0) ALORS
si tu rentres a=4 et k=0 il te donnera bien 9 en sortie
bonsoir,
ma question est que:
pour tester mon algorithme, je rentre a=4. Je cherche u1 donc k=1 ce qui me donne 16 or à la main, je trouve 9.
Il y a donc un décalage... :/
Merci de ta réponse
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :