Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Algorithme suite

Posté par
Mazerco9
16-03-16 à 15:55

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

Posté par
Seuz
re : Algorithme suite 16-03-16 à 16:15

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.

Posté par
J-P Posteur d'énigmes
re : Algorithme suite 16-03-16 à 16:47

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 

-----------------
Traduit en un langage Algobox, cela donne ceci :

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

Posté par
Mazerco9
re : Algorithme suite 16-03-16 à 16:57

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.

Posté par
mathamore
re : Algorithme suite 16-03-16 à 17:19

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é***

Posté par
Mazerco9
re : Algorithme suite 16-03-16 à 17:20

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 ?

Posté par
Mazerco9
re : Algorithme suite 16-03-16 à 17:21

Voilà Mathamore je pense comme vous

Posté par
J-P Posteur d'énigmes
re : Algorithme suite 16-03-16 à 17:36

Oui, il faut remplacer mon instruction "S PREND_LA_VALEUR S+r"

Par  "S PREND_LA_VALEUR S+Uo+k*r"

Posté par
alb12
re : Algorithme suite 16-03-16 à 17:52

salut, dans le style du bac:


Entrée
  entier n 
  reel u0
  reel r
Variables
  entier k
  reels S,u
Initialisation
  u prend la valeur u0
  S prend la valeur 0
Traitement
  pour k de 1 jusqu'à n faire
    S prend la valeur S+u
    u prend la valeur u+r
  fin du pour
Sortie
  S



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 1689 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 !