Bonjour,j'ai un problème sur cet exercice:
La suite (un) est définie par un= (-28)×0,6n+35 pour tout entier naturel n.
1. On considère l'algorithme suivant:
Lire N
S0
Pour I allant de 0 à N
S -28×0,6N+35
Fin du Pour
Afficher N
Corriger l'algorithme proposé pour qu'il permette de déterminer la valeur de la somme u0+u1+...+un pour tout entier naturel n. Proposer un programme convenable en PYTHON.
C'est sur cette question que je suis embêtée, j'ai déjà écrit des algorithmes en PYTHON mais pas pour déterminer cette somme. Et je n'avais jamais écrit des algorithmes comme celui que l'on considère dans l'exercice.
Merci beaucoup
bonjour
"déterminer" cette somme, c'est la calculer.
de fait, ce n'est pas toi qui vas calculer, mais la machine correctement programmée.
mais avant de programmer, observe l'algo qui t'est donné.
que fait-il à chaque ligne ?
... tu vas vite repérer ce qu'il faut changer pour calculer la somme
pour la programmation elle-même en python, je laisserai ensuite la main à mes petits camarades...
je ne programme pas assez souvent pour maitriser.
Oui je crois avoir trouvé les erreurs.
Lire N
S0
Pour I allant de 0 à N
S-28×0,6I+35
Fin du Pour
Afficher S
J'ai l'impression qu'il y a un problème avec le S0 mais je ne suis pas sûre.
Et je penses qu'il manque quelquechose sur la ligne S-28×0,6I+35 mais je ne vois pas quoi...
S 0 demande de mettre S (somme) à 0, donc c'est correct
S-28×0,6I+35 --- oui, il faut remplacer N par I
ainsi I va prendre successivement les valeurs de N
je pense qu'il manque quelque chose sur la ligne S-28×0,6I+35 ---- eh oui !
tel que c'est écrit, on met dans S la valeur numérique de 28×0,6I+35 que l'on vient de calculer, et c'est tout.
la variable S va donc recueillir successivement les différentes valeurs u0, puis u1, puis u2, etc.
mais pour le moment, on n'en fait pas la somme.
que dois-tu changer ?
j'ai essayé de pondre un programme python pour me remettre dans le bain.
il fonctionne
si tu veux me montrer le tien...
je reviens te lire plus tard.
quand je dis
la variable S va donc recueillir successivement les différentes valeurs u0, puis u1, puis u2, etc.
cela signifie que la valeur de u1 va "écraser" celle de u0,
puis celle de u2 va "écraser" celle de u1,
etc à chaque tour dans la boucle.
en effet, considère une variable "simple", en programmation, comme une boite, un contenant, qui ne peut contenir qu'une seule valeur à la fois.
pour faire la somme, tu as déjà vu ça :
S S + (-28)×0,6^I+35
i.e. on prend le contenu de S, on y ajoute le dernier calcul et on remet la valeur obtenue dans la variable S.
ok?
à adapter bien sûr à la syntaxe python
non, là tu dis une bêtise
relisons l'énoncé :
Corriger l'algorithme proposé pour qu'il permette de déterminer la valeur de la somme u0+u1+...+un pour tout entier naturel n.
le "n" en question est représenté par la variable N dans l'algo et le programme.
si je veux par exemple faire la somme u0 + u1 + u2 + u3,
dans ce cas n=3
je dois donc préciser, avant de rentrer dans la boucle FOR, que N=3.
ou 5 ou 10, bref, l'indice du dernier terme de la somme.
dans l'algo qui t'est donné par l'énoncé, quelle instruction permet à l'utilisateur du programme de préciser la valeur de n choisie ?
et à quelle instruction python elle correspond ?
ps : quand tu vas programmer pour tester ton programme:
- n'oublie pas l'indentation quand nécessaire
- pour les décimales, mets bien . et non pas , (i.e. 0.6 et non pas 0,6)
je dois m'absenter
fais tourner ton programme
que trouves-tu par exemple pour N=4?
Dans l'algorithme de l'énoncé, c'est Lire N.
Par contre je ne me souviens plus à quelle instruction en Python elle correspond.
Je vais faire tourner mon algorithme pour y voir plus clair selon vos conseils.
Désolée de mettre du temps mais j'avais éteins mon ordinateur sur lequel j'ai python.
Merci beaucoup pour votre patience et votre temps
Déjà, pour commencer ton programme par la saisie de n, tu peux écrire :
print("Entrer en valeur pour n : ", end = "")
n=int(input())
ou la même commande, en plus court :
n=int(input("Entrer en valeur pour n : "))
D'accord, faut il juste écrire ça ou faut il ajouter une autre valeur?
Je n'ai pas beaucoup fait d'algorithme qui mentionnait cette commande.
Essaie tu verras qu' à l' exécution de programme, tu seras invitée à saisir une valeur "manuellement" à chaque fois que tu le lances.
Et bien si tu veux essayer avec n = 5, tu rentres 5 en bout de ligne, c' est aussi bête que ça !
"Lire n" signifie que tu peux décider de changer n à chaque fois que tu lances le programme.
Alors que quand tu as écrit en dur S=0 dans ton programme, tu as rentré la valeur zéro pour S une fois pour toutes.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :