Bonjour, j'ai à faire l'exercice suivant : Écrire un algorithme calculant la somme des n premiers termes où n est choisi par l'utilisateur d'une suite arithmétique choisie par l'utilisateur.
Ma réponse est la suivante mais je doute que ce soit juste car je debute dans les algorithmes :
Variables : S, k, n, u0, r
Entrée : saisir n
saisir u0
saisir r
Initialisation : S prend la valeur u0
Traitement : pour k allant de 1 à n-1
u0 prend la valeur u0 + r
S prend la valeur u0 + S
Fin pour
Sortie : sortir S
Merci d'avance :p
Bonjour,
Le début n'est pas mal. Ta variable S est correctement initialisée, mais il y a un problème dans le traitement : tout d'abord, l'étape "u0 prend la valeur u0 + r" ne sert à rien. Il vaut mieux faire comme cela :
Traitement : POUR k allant de 1 à n-1 FAIRE
S prend la valeur S + r
afficher S
Fin POUR
En effet, il faut que tu affiches la valeur de S à chaque passage dans la boucle (avec éventuellement un espace ou bien un retour à la ligne pour plus de lisibilité). En affichant S à la fin de la boucle POUR, tu n'affiches que le n-ième terme de ta suite, ce qui est incomplet. Étant donné qu'il faut afficher u0 également, tu peux faire un "afficher u0" avant ta boucle POUR.
Seuz,
Pour moi, l'énoncé ne demande pas d'afficher les sommes intermédiaires comme tu sembles le penser ... mais uniquement la dernière.
Le programme de Mazerco peut être amélioré ainsi (pour le princope de l'algo) :
Variables : S, k, n, u0, r
Entrée : saisir n
saisir u0
saisir r
Initialisation : S prend la valeur u0
Traitement : pour k allant de 1 à n-1
S prend la valeur S+r
Fin pour
Sortie : sortir S
VARIABLES
S EST_DU_TYPE NOMBRE
k EST_DU_TYPE NOMBRE
n EST_DU_TYPE NOMBRE
Uo EST_DU_TYPE NOMBRE
r EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE n
LIRE Uo
LIRE r
S PREND_LA_VALEUR Uo
POUR k ALLANT_DE 1 A n-1
DEBUT_POUR
S PREND_LA_VALEUR S+r
FIN_POUR
AFFICHER S
FIN_ALGORITHME
Merci à vous deux ! En effet Seuz on ne me demande pas u0 puisqu'il est entré pas l'utilisateur ne chaque valeur de S mais peu importe ça me permet de comprendre mieux encore cet intérêt de la boucle pour.
bonjour,
je pense que ne ça ne marche pas pas . Il faut ajouter à chaque étape u0+kr et non pas seulement r.
Le premier algorithme de Mazerco était bon! On peut aussi faire ça (et ça marche):
1 VARIABLES
2 n EST_DU_TYPE NOMBRE
3 r EST_DU_TYPE NOMBRE
4 u0 EST_DU_TYPE NOMBRE
5 k EST_DU_TYPE NOMBRE
6 S EST_DU_TYPE NOMBRE
7 DEBUT_ALGORITHME
8 LIRE n
9 LIRE u0
10 LIRE r
11 S PREND_LA_VALEUR u0
12 POUR k ALLANT_DE 1 A n-1
13 DEBUT_POUR
14 S PREND_LA_VALEUR S+u0+k*r
15 FIN_POUR
16 AFFICHER S
17 FIN_ALGORITHME
Résultats
***Algorithme lancé***
Entrer n : 3
Entrer u0 : 1
Entrer r : 2
9
***Algorithme terminé***
Après réflexion, je doute de l'exactitude de ce que vous m'avez donné. En effet vous me faites calculer le terme de rang n ce qui n'est pas ce que demande l'énoncé qui veut la somme des n premier termes par exemple si l'utilisateur choisi n=4, il faut u0+u1+u3+u4 et non u0 + r + r+ r ce que serait en réalité u4. Qu'en pensez vous ?
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :