Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Écrire un algorithme

Posté par
maelys31
23-04-21 à 18:10

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
S\leftarrow0
Pour I allant de 0 à N
S\leftarrow -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

Posté par
carita
re : Écrire un algorithme 23-04-21 à 18:32

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

Posté par
carita
re : Écrire un algorithme 23-04-21 à 18:34

pour la programmation elle-même en python, je laisserai ensuite la main à mes petits camarades...
je ne programme pas assez souvent pour maitriser.

Posté par
maelys31
re : Écrire un algorithme 23-04-21 à 18:37

D'accord,merci beaucoup

Posté par
carita
re : Écrire un algorithme 23-04-21 à 18:39

pour y voir plus clair sur l'algo et ses lacunes, déroule-le pas à pas
a+

Posté par
carita
re : Écrire un algorithme 23-04-21 à 18:58

tu t'en sors ?

Posté par
maelys31
re : Écrire un algorithme 23-04-21 à 19:49

Oui je crois avoir trouvé les erreurs.
Lire N
S\leftarrow0
Pour I allant de 0 à N
S\leftarrow-28×0,6I+35
Fin du Pour
Afficher S

J'ai l'impression qu'il y a un problème avec le S\leftarrow0 mais je ne suis pas sûre.
Et je penses qu'il manque quelquechose sur la ligne S\leftarrow-28×0,6I+35 mais je ne vois pas quoi...

Posté par
carita
re : Écrire un algorithme 23-04-21 à 20:03

S\leftarrow 0  demande de mettre S (somme) à 0, donc c'est correct

S\leftarrow-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\leftarrow-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 ?

Posté par
carita
re : Écrire un algorithme 23-04-21 à 20:06

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.

Posté par
maelys31
re : Écrire un algorithme 23-04-21 à 20:30

carita @ 23-04-2021 à 20:03

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 ?[/quote



Je ne vous vraiment ce qu'il faut changer pour pouvoir en faire la somme...
Pour le programme en Python je l'ai fait mais comme je n'ai pas trouvé ce qu'il fallait changer je l'ai laisser tel quel:
S=0
for I in range(N+1):
S=-28*0,6**I+35  
print(S)

Posté par
maelys31
re : Écrire un algorithme 23-04-21 à 20:31

Oups,j'ai du faire une fausse manipulation mon message s'est écrit dans la citation.
Désolée.

Posté par
carita
re : Écrire un algorithme 23-04-21 à 20:37

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  \leftarrow 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

Posté par
carita
re : Écrire un algorithme 23-04-21 à 20:39

ton programme : la machine ne connait pas la valeur de N
que dois-tu faire avant ?

Posté par
maelys31
re : Écrire un algorithme 23-04-21 à 20:52

D'accord,je ne le savais pas.
J'ai un doute, faut il écrire au tout début du programme N=0 ?

Posté par
carita
re : Écrire un algorithme 23-04-21 à 21:01

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?

Posté par
chadok
re : Écrire un algorithme 23-04-21 à 21:13

carita @ 23-04-2021 à 21:01

je dois m'absenter

Je prends le relai si besoin Tu t'en sors avec ta boucle Python ?

Posté par
carita
re : Écrire un algorithme 23-04-21 à 21:15

bonsoir chadok
merci.

bonne soirée à tous !

Posté par
maelys31
re : Écrire un algorithme 23-04-21 à 21:38

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

Posté par
chadok
re : Écrire un algorithme 23-04-21 à 21:41

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 : "))

Posté par
chadok
re : Écrire un algorithme 23-04-21 à 21:43

* " une valeur",  excuse ma faute de frappe

Posté par
maelys31
re : Écrire un algorithme 23-04-21 à 21:44

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.

Posté par
chadok
re : Écrire un algorithme 23-04-21 à 21:46

Essaie tu verras qu' à l' exécution de programme, tu seras invitée à saisir une valeur "manuellement" à chaque fois que tu le lances.

Posté par
maelys31
re : Écrire un algorithme 23-04-21 à 21:47

D'accord,merci beaucoup

Posté par
maelys31
re : Écrire un algorithme 23-04-21 à 21:49

Et que faut il marquer?

Posté par
chadok
re : Écrire un algorithme 23-04-21 à 21:56

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.

Posté par
chadok
re : Écrire un algorithme 23-04-21 à 21:59

C' est ça l'intérêt de la commande Input

Posté par
maelys31
re : Écrire un algorithme 23-04-21 à 22:01

D'accord,j'ai compris. Désolée

Posté par
maelys31
re : Écrire un algorithme 23-04-21 à 22:05

Merci infiniment pour votre aide

Posté par
chadok
re : Écrire un algorithme 23-04-21 à 22:07

Bah de rien



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !