IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Calculer une somme avec une boucle "tant que"


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Calculer une somme avec une boucle "tant que"
    écrire un algorithme permettant de calculer la somme suivant S=2n+3n+4n+5n+6n+7n+8n+9n+10n avec n entier donne (utiliser seulement la boucle tant que)
    j'ai trouvé une solution mais le prof m'as dit que ç'est faux

    Nom : 123456789.png
Affichages : 15182
Taille : 121,9 Ko

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 032
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 032
    Points : 9 331
    Points
    9 331
    Par défaut
    Bonjour,

    Sur ce forum, tu ne trouveras pas des gens pour faire tes exercices à ta place.

    Au revoir.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par HAMZA MVP Voir le message
    écrire un algorithme permettant de calculer la somme suivant S=2n+3n+4n+5n+6n+7n+8n+9n+10n avec n entier donne (utiliser seulement la boucle tant que)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    S=0
    TANT QUE (S < 2<sup>n</sup>+3<sup>n</sup>+4<sup>n</sup>+5<sup>n</sup>+6<sup>n</sup>+7<sup>n</sup>+8<sup>n</sup>+9<sup>n</sup>+10<sup>n</sup>)
      INCREMENTER S
    FIN TANT QUE
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    Sur ce forum, tu ne trouveras pas des gens pour faire tes exercices à ta place.
    désolé si je t'ai vexé, mais j'ai déjà fait l'examen est cette question est la seul que je n'ai pas pu répondre.

  5. #5
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 404
    Points : 5 790
    Points
    5 790
    Par défaut
    salut

    il y a plusieurs solution a ton problème

    le truc c'est de se poser quelques questions ... nous ne somme pas là pour résoudre tes problèmes
    mais t'indiquer la direction à suivre.

    pour ce faire on a besoin de savoir que la personne à mis un peu de bonne volonté à cherche au moins une solution

    dans ton cas par exemple tu aurais pu nous dire :

    1°) qu'est ce qu'une puissance
    S^n= S*S*S*S ... nfois-1
    le solution qui vient naturelement c'est de faire une boucle de nfois-1
    tu pourrais donc prendre S2,S3,S4,S5,.. S10
    est calculer pour chaque variable le carré correspondant à son indice

    2°) Qu'est ce qu'une somme ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      i:=2
      Tans que i<= 10 Faire  
        S := S+Puissance(I,n)
        i := I=1;
      Fin TansQue
    3°) y'a t'il un moyen de factoriser ce problème
    ....

    tu vois pour nous ton problème est simple et on vois beaucoup d'étudiant ne se donnant pas la peine de chercher au moins une solution même absurde
    que l'on commence à être désabusé et qu'au final on ne répond presque plus à ce genre de demande
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  6. #6
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 032
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 032
    Points : 9 331
    Points
    9 331
    Par défaut
    Je ne suis pas vexé du tout.
    Ce forum est régi par quelques règles : http://club.developpez.com/regles/
    Ce sont simplement des règles de bon sens, mais il se trouve qu'en plus, elles sont écrites noir sur blanc.
    Je voulais juste te rappeler ces règles de bon sens. En particulier les règles IV.A et IV.N
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  7. #7
    Membre habitué Avatar de Massiliya
    Femme Profil pro
    Ingénieur en génie industriel
    Inscrit en
    Mars 2017
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur en génie industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 174
    Points : 152
    Points
    152
    Par défaut
    Bonjour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    début
    Variable i,n,S: entier
    lire(n)
    S=0
    i=2
    tant que (i<=10) faire
             S=S+i^n
    fin tant que
    écrire (S)
    Fin
    Bon j'ai oublié un peu les syntaxes mais la solution c'est presque ça
    A+
    While the grass grows, the steer starves

  8. #8
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 329
    Points : 2 562
    Points
    2 562
    Billets dans le blog
    9
    Par défaut Calculer une somme avec une boucle "tant que"
    Bonjour,

    Je crois que le but de l'exercice, c'était tout simplement de remplacer par WHILE les deux boucles imbriquées FOR que devait manifestement comporter le programme, une pour l'exécution de la somme, et une autre pour celle du produit.

    Citation Envoyé par HAMZA MVP Voir le message
    Écrire un algorithme permettant de calculer la somme suivante:
    S=2n+3n+4n+5n+6n+7n+8n+9n+10n avec n entier donne (utiliser seulement la boucle tant que) ...
    Le code s'écrit spontanément:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     VAR i, j, N: Byte; p, q, S: LongInt;
     BEGIN
       Read(N); S:= 0;                 
       FOR i:= 2 TO 10 DO BEGIN
                            p:= i;
                            FOR j:= 1 TO (N-1) DO BEGIN
                                                    q:= i * p; p:= q    // p:= i * p  répété (N-1) fois, d'où p = i^N
                                                  END;
                            Inc(S, p)                                   // S:= S + p  répété 9 fois, de p = 2^N à 10^N            
                          END;  
     END.
    Tu as effectivement proposé une solution, mais sa présentation a braqué quelques intervenants pour les raisons suivantes:
    a) tu as donné une capture d'écran qui, ne relevant pas d'un traitement de texte, contraint le lecteur de bonne volonté à recopier manuellement le programme (là, c'est de l'apostolat ! ); et ses dimensions énormes n'arrangent rien ...
    b) le texte est illisible en raison d'un indentation défectueuse, les variables trop nombreuses, et leur nom ne facilite pas leur mémorisation: pour une somme, le symbole à prendre est "s" ou "S", "Somme" etc ...

    Nom : Im_02_315x394 Boucles While.png
Affichages : 5392
Taille : 28,9 Ko

    L'esprit du programmeur ne saurait rivaliser en performances avec le système d'exploitation qu'il contrôle; il reçoit en permanence des signaux extérieurs, et effectue en parallèle de multiples tâches; il faut donc impérativement ménager sa mémoire, pour lui éviter des erreurs lors de la rédaction du code ... d'où l'économie nécessaire pour le nombre de variables, et la nécessité de choisir les identificateurs appropriés.

    Ce qui est en cause, c'est l'équivalence logique de l'énumération simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     FOR k:= Kmin TO Kmax DO <Instructions>
    avec celle de l'énumération conditionnelle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     k:= Kmin - 1;
     WHILE (k<Kmax) DO BEGIN
                         Inc(k); <Instructions>
                       END;   
     
    // ou encore:
     
     k:= Kmin;
     WHILE (k<Kmax) DO BEGIN
                         <Instructions>; Inc(k)
                       END;
    À toi de reprendre le programme, à partir des éléments fournis.


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut merci wiwaxia
    j'ai trouvé la solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    var puis , cpt , p , s , n :integer;
    begin
    read(n); cpt := 2;  s := 0;
    	while cpt <= 10 do
    	begin
    	p := 1*; puis := 1*;
    	while puis ≤ n do
    		begin
    		p := p * cpt*;
    		puis := puis + 1*;
    		end*;
    	cpt := cpt + 1*;
    	s := s + p*;
    	end*;
    	writeln (s)*;
    end.

  10. #10
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 329
    Points : 2 562
    Points
    2 562
    Billets dans le blog
    9
    Par défaut Calculer une somme avec une boucle "tant que"
    Ravi de ta réaction ! Voilà un document sur lequel on peut travailler.

    De quel langage s'agit-il ? Ce n'est plus du Pascal, comme dans la version initiale; mon compilateur (Virtual P.) refuse les astérisques suivant des affectations ( ...*; ), aussi les ai-je supprimés pour obtenir une pré-version du programme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    program Somme_Puissance_N_00;
    var puis , cpt , p , s , n :integer;
    begin
    read(n); cpt := 2;  s := 0;
    	while cpt <= 10 do
    	begin
    	p := 1; puis := 1;
    	while puis = n do
    		begin
    		p := p * cpt;
    		puis := puis + 1;
    		end;
    	cpt := cpt + 1;
    	s := s + p;
    	end;
    	writeln (s);
    end.
    À ce stade, la compilation s'effectue mais rien ne se voit sur l'écran, en raison de consignes d'affichage inappropriées en début et fin de texte, d'où une nouvelle version:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    program Somme_Puissance_N_01;
    var puis , cpt , p , s , n :integer;
    begin
    readln(n); cpt := 2;  s := 0;      
            while cpt <= 10 do
            begin
            p := 1; puis := 1;
            while puis = n do              
                    begin
                    p := p * cpt;
                    puis := puis + 1;
                    end;
            cpt := cpt + 1;
            s := s + p;
            end;
            write(s); readln             
    end.
    Cette fois le lancement réussit, mais conduit toujours au même résultat (9), quelle que soit la valeur de l'exposant (n). Où est l'erreur ?


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/02/2017, 13h03
  2. Réponses: 1
    Dernier message: 13/04/2015, 12h17
  3. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 13h59
  4. Réponses: 4
    Dernier message: 15/10/2009, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo