Bonjour, j'ai besoin d'aide pour un petit DM que j'ai a rendre vendredi sur le chapitre des suites. Est-ce que vous pouvez m'aider svp ?
Stephane avait 3000€ en banque en 2019. Chaque année son compte augmente de 200€. On considère l'algorithme suivant :
u <—3000
n <—2019
Tant que u<9500
u <—u+200
n<—n+1
FinTantque
Ah oui j'ai oublier d'écrire les questions
a) Quel est le rôle de cet algorithme ?Quelle est le valeur de n obtenue à la fin de l'exécution de cet algorithme ?
b) Réécrire ce programme en Python.
Je pense que cette algorithme sert à déterminer en qu'elle année on obtiendra 9500€ En ajoutant 200€ par ans a 3000€ ?
c'est exactement ça.
à noter toutefois qu'il manque l'affichage de n à l'algorithme...
la question : "Quelle est le valeur de n obtenue à la fin de l'exécution de cet algorithme ? ", elle est avant le programme python ?
C'est à dire il manque l'affichage de n à l'algorithme ? Oui là question est avant le programme python
"en qu'elle année on obtiendra 9500€"
pour être plus précis : en quelle année on dépassera 9500€ pour la première fois.
l'algo, tel qu'il est écrit, fait son boulot, mais ne donne pas (ne retourne pas) l'année n en sortie (pas d'affichage)
trouver n avant le programme python : le faire par calcul.
par quel type de suite tu peux modéliser la situation ?
premier terme ? raison ? terme général ?
...
2052 exact
il te restera quand même à justifier tout ça correctement sur ta copie, comme je t'ai indiqué
et évite d'écrire 3000+200x33 = 2052, ça craint
ensuite, pour python, tu proposes un essai ?
Oui j'ai fais une erreur d'inattention je réécrirais clairement au propre .
Pour python je ne sais pas
regarde tes exemples de cours, pour proposer une base sur laquelle je pourrai t'aider.
ce programme est vraiment simple, pas de piège, il se calque sur l'algo de l'énoncé,
(dans la mesure où tu en as compris les étapes).
tu essaies ?
ce n'est pas obligatoire de définir une fonction, mais tu peux
en revanche, évite de l'appeler , risque de confusion avec la variable n.
ensuite, reprenons l'algorithme :
u <—3000 ---- que signifie cette ligne
n <—2019
Tant que u<9500 --- comment on traduite le "tantque" en python (c'est une boucle)
u <—u+200 ---- et là, que fait-on ?
n<—n+1
FinTantque
ps : s'il passe par là un spécialiste python, je laisse volontiers la main.
je reviens sur rédaction de la seconde partie de la question a) : tu devras résoudre une équation, (ou une inéquation), on est d'accord?
tout à fait,
avec la bonne syntaxe et l'indentation qui doit suivre.
récapitule tout ça, que je vois où tu en es.
Def n(x)
u=3000
n=2019
Boucle while
Mais je ne sais pas quoi rajouter en language python a boucle while
Oui désolé il y a confusion je repondais a votre question sur la 2eme partie de la a)
Je réfléchie pour le programme
ne prends pas pour nom de fonction - déjà dit
attention à la syntaxe (c'est à dire à la ponctuation des " : "après un while)
et à l'indentation (tabulation obligatoire)
tu as installé un logiciel pour tester ton programme ?
def plafond() :
u=3000
n=2019
while u<9500:
? que vas-tu mettre ici ?
Non mon pc ne marche plus
Donc :
def plafond(f) :
u=3000
n=2019
while u<9500
u+200
n+ 1
(Je pense pas que ce soit ça )
def plafond() : ---- à mon avis, le f est inutile; il correspondrait à quoi, dans notre cas ?
u=3000
n=2019
while u<9500: ----- manque les : à la fin
u+200
n+ 1
? reste à demander l'affichage ici, puis à lancer l'exécution du programme en rajoutant l'instruction
plafond()
ps : s'il passe un spécialiste... parfois, chez moi ça arche, et pas chez d'autres
oups, pas vu, je refais
def plafond() : ---- à mon avis, le f est inutile; il correspondrait à quoi, dans notre cas ?
u=3000
n=2019
while u<9500: ----- manque les : à la fin
u = u+200
n = n+ 1
? reste à demander l'affichage ici,
def plafond() :
u=3000
n=2019
while u<9500:
u = u+200
n = n+ 1
print(n) ----attention, l'affichage se fait en sortie de boucle (après la boucle),
donc pour l'indentation, le print doit être au même niveau que le while, pas décalé.
ce que tu viens d'écrire ci-dessus : tu as seulement défini une fonction,
mais pour que ton programme s'exécute, il faut "lancer" la fonction.
pour cela, tu rajoutes, tout à la fin, et sans indentation
plafond()
Ok donc :
def plafond() :
u=3000
n=2019
while u<9500:
u = u+200
n = n+ 1
print(n)
plafond()
C'est bien ça ?
si tu veux, montre la rédaction que tu escomptes faire pour
"Quelle est le valeur de n obtenue à la fin de l'exécution de cet algorithme ? "
(ou les grandes lignes)
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :