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 :

[Erreur] algorithme qui calcul une moyenne


Sujet :

Algorithmes et structures de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    546
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 546
    Par défaut [Erreur] algorithme qui calcul une moyenne
    Bonjour à tous,
    j'aurai besoin de votre aide concernant un algoithme que j'essai de faire.
    Il s'agit de saisir 3 personnes dans un tableau avec nom, prénom et age, puis ensuite calculer la moyenne d'age que cela fait au total.
    Pour tester les resultats j'utilise le logiciel algexec, mais celui-ci me retourne une erreur :
    "Type
    ^^^
    ligne imcomplète"


    Voici mon code, si quelqu'un aurait la sympathie d'y jeter un coup d'oeil :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    algo calculagemoyen
    Type 
    Tind = STRUCTURE
    nom : CHAINE
    prenom : CHAINE
    age : ENTIER
    FIN TYPE
    var TabInd: TABLEAU[1..3] de Tind
    name, firstname : CHAINE
    ear,i,agemoyen,resutat,moyenne : ENTIER
    DEBUT
    i:=0;
    name:=TabInd[i].nom;
    firstname:=TabInd[i].prenom;
    ear:=TabInd[i].age;
    POUR i DE 1 A 3 FAIRE
    AFFICHER("nom ?");
    à_la_ligne;
    SAISIR(name);
    à_la_ligne;
    AFFICHER("prenom ?");
    à_la_ligne;
    SAISIR(firstname);
    à_la_ligne;
    AFFICHER("age ?");
    à_la_ligne;
    SAISIR(ear);
    à_la_ligne;
    i:=i+1;
    FIN POUR
    resultat:=agemoyen;
    POUR i de 1 A 3 FAIRE
    agemoyen:=agemoyen+TabInd[i].age;
    i:=i+1;
    FIN POUR
    moyenne:=agemoyen/3;
    AFFICHER("l'age moyen des personnes est de","",moyenne);
    FIN
    Merci bcp pour votre aide

  2. #2
    Membre éprouvé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Par défaut
    Je ne connais pas cet outil...
    Tu sais à quelle ligne tu as une erreur ?

    Moi je supputerai bien le dernier afficher... Avec le "" entre les deux virgules...
    AFFICHER("l'age moyen des personnes est de","",moyenne);

  3. #3
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 943
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 943
    Par défaut
    Moi je pense que Type devrait être écrit TYPE en majuscules complètement.
    Tous les mots clés du langage semblent être ne majuscules.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  4. #4
    Membre éprouvé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Par défaut
    Tu as certainement raison, ça ne m'avait pas sauté aux yeux...

  5. #5
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    Citation Envoyé par progfou Voir le message
    Je ne connais pas cet outil...
    je pense que personne ne va connaître cet outil. Ca ressemble à un langage bidouillé par un français dans son coin qu'il donne à ses élèves pour les empécher d'apprendre un langage classique.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  6. #6
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 943
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 943
    Par défaut
    Il me semble que c'est un langage utilisé dans une école d'info pour apprendre l'algo aux élèves, on déjà eu des messages parlant de lui.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  7. #7
    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 : 53
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par Paco Rabanne
    Algexec, c'est l'avenir !!
    En tout cas, il y a un site sur le web.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    546
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 546
    Par défaut
    Citation Envoyé par Trap D Voir le message
    Il me semble que c'est un langage utilisé dans une école d'info pour apprendre l'algo aux élèves, on déjà eu des messages parlant de lui.
    salut oui tu as raison

    Citation Envoyé par Trap D Voir le message
    Moi je pense que Type devrait être écrit TYPE en majuscules complètement.
    Tous les mots clés du langage semblent être ne majuscules.
    J'ai fait le test, mais j'ai toujours la même erreur...

  9. #9
    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 : 53
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Si c'est le meme langage que celui du site web donné plus haut, le mot clé "TYPE" n'existe pas.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  10. #10
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 943
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 943
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Si c'est le meme langage que celui du site web donné plus haut, le mot clé "TYPE" n'existe pas.
    Facile, il y a le CHM joint il me semble
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  11. #11
    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 : 53
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par Trap D Voir le message
    Facile, il y a le CHM joint il me semble
    Oui, c'est pour ca que j'ai fait cette remarque.

    Le mot clé STRUCTURE me semble mieux.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    546
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 546
    Par défaut
    Cette erreur est réglée.
    En effet, il y avait des mots qui n'allaient pas.

    Voici le nouveau code :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    algo calculagemoyen
    VAR
    STRUCTURE Tind
    nom : chaine
    prenom : chaine
    age : entier
    FIN STRUCTURE
    TabInd[1:3] : TABLEAU de Tind;
    name, firstname : chaine;
    ear, i, agemoyen, resutat, moyenne : entier;
    DEBUT
    name:=TabInd[i].nom;
    firstname:=TabInd[i].prenom;
    ear:=TabInd[i].age;
    i:=0;
    POUR i DE 1 A 3
    AFFICHER("nom ?");
    à_la_ligne;
    SAISIR(name);
    à_la_ligne;
    AFFICHER("prenom ?");
    à_la_ligne;
    SAISIR(firstname);
    à_la_ligne;
    AFFICHER("age ?");
    à_la_ligne;
    SAISIR(ear);
    à_la_ligne;
    i:=i+1;
    FIN POUR
    resultat:=agemoyen;
    POUR i de 1 A 3 FAIRE
    agemoyen:=agemoyen+TabInd[i].age;
    i:=i+1;
    FIN POUR
    moyenne:=agemoyen/3;
    AFFICHER(
    Celui-ci contient toujours une erreur cette fois-ci l'erreur est:
    "firstname:=TabInd[i].prenom;
    ^^^
    erreur de synthaxe"


    Je ne comprend pas pourquoi il me retourne cette erreur car, sur la ligne au dessus, je declare "name" de la même manière...

  13. #13
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 977
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 977
    Par défaut
    Gia,

    Je ne vois pas d'où vient ton problème, mais j'ai un sérieux doute sur ton algorithme, car sur les 2 lignes dont tu parles, tu utilises
    TabInd[i]
    alors que ni i, ni TabInd ne sont initialisés.

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    546
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 546
    Par défaut
    Citation Envoyé par droggo Voir le message
    Gia,

    Je ne vois pas d'où vient ton problème, mais j'ai un sérieux doute sur ton algorithme, car sur les 2 lignes dont tu parles, tu utilises
    TabInd[i]
    alors que ni i, ni TabInd ne sont initialisés.
    Salut droggo,
    regardes les 2 en bleu ds mon code et tu verras que les variables st initialisées:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    algo calculagemoyen
    VAR
    STRUCTURE Tind
    nom : chaine
    prenom : chaine
    age : entier
    FIN STRUCTURE
    TabInd[1:3] : TABLEAU de Tind;
    name, firstname : chaine;
    ear, i, agemoyen, resutat, moyenne : entier;
    DEBUT
    i:=0;
    name:=TabInd[i].nom;
    firstname:=TabInd[i].prenom;
    ear:=TabInd[i].age;
    POUR i DE 1 A 3
    AFFICHER("nom ?");
    à_la_ligne;
    SAISIR(name);
    à_la_ligne;
    AFFICHER("prenom ?");
    à_la_ligne;
    SAISIR(firstname);
    à_la_ligne;
    AFFICHER("age ?");
    à_la_ligne;
    SAISIR(ear);
    à_la_ligne;
    i:=i+1;
    FIN POUR
    resultat:=agemoyen;
    POUR i de 1 A 3 FAIRE
    agemoyen:=agemoyen+TabInd[i].age;
    i:=i+1;
    FIN POUR
    moyenne:=agemoyen/3;
    AFFICHER("l'age moyen des personnes est de","",moyenne);
    FIN

  15. #15
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 977
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 977
    Par défaut
    Fie,
    Citation Envoyé par quaresma Voir le message
    Salut droggo,
    regardes les 2 en bleu ds mon code et tu verras que les variables st initialisées:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DEBUT
    i:=0;
    name:=TabInd[i].nom;
    firstname:=TabInd[i].prenom;
    ear:=TabInd[i].age;
    Désolé pour toi, mais dans ton post juste un peu plus haut, il y a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ear, i, agemoyen, resutat, moyenne : entier;
    DEBUT
    name:=TabInd[i].nom;
    firstname:=TabInd[i].prenom;
    ear:=TabInd[i].age;
    i:=0;
    Faut pas prendre les enfants du bon dieu pour des canards sauvages.

    Et d'ailleurs, même avec ta nouvelle version, les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DEBUT
    i:=0;
    name:=TabInd[i].nom;
    firstname:=TabInd[i].prenom;
    ear:=TabInd[i].age;
    utilisent des variables non initialisées : tous les champs de TabInd[i] avec i = 0 (à moins qu'il y ait des initialisations automatiques)

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    546
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 546
    Par défaut
    oui j'ai juste deplacé la var i avt les autres...
    mais cela na pas réglé mon pbl de message

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    546
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 546
    Par défaut
    appparement c'est "juste" une erreur de synthaxe...

  18. #18
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 977
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 977
    Par défaut
    Citation Envoyé par quaresma Voir le message
    oui j'ai juste deplacé la var i avt les autres...
    mais cela na pas réglé mon pbl de message
    Alors il ne fallait pas me répliquer de regarder ton code en faisant comme si mon affirmation était fausse.

    Un "effectivement" de ta part était la bonne réponse à mon message.

  19. #19
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    546
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 546
    Par défaut
    Citation Envoyé par droggo Voir le message
    Et d'ailleurs, même avec ta nouvelle version, les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DEBUT
    i:=0;
    name:=TabInd[i].nom;
    firstname:=TabInd[i].prenom;
    ear:=TabInd[i].age;
    utilisent des variables non initialisées : tous les champs de TabInd[i] avec i = 0 (à moins qu'il y ait des initialisations automatiques)
    les variables st initialisées avant le mot-clef DEBUT...

  20. #20
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 977
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 977
    Par défaut
    Joi,
    Citation Envoyé par quaresma Voir le message
    les variables st initialisées avant le mot-clef DEBUT...
    Automatiquement ?

    Si oui, alors c'est ok, sinon ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    algo calculagemoyen
    VAR
    STRUCTURE Tind
    nom : chaine
    prenom : chaine
    age : entier
    FIN STRUCTURE
    TabInd[1:3] : TABLEAU de Tind;
    name, firstname : chaine;
    ear, i, agemoyen, resutat, moyenne : entier;
    DEBUT
    ...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [AC-2013] Requete pour calculer une Moyenne mobile exponentielle (qui depend du recordset precedent.)
    Par lukebalthazar dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 28/06/2014, 01h31
  2. Algo qui calcule une aire
    Par le_nardo dans le forum Algorithmes et structures de données
    Réponses: 36
    Dernier message: 25/08/2012, 15h57
  3. [XL-2007] une formule qui calcule la moyenne mensuelle d'un tableau de valeur
    Par skipeemed dans le forum Excel
    Réponses: 6
    Dernier message: 31/05/2011, 11h53
  4. methode qui calcul une moyenne du traffic
    Par siry dans le forum Développement
    Réponses: 7
    Dernier message: 05/05/2005, 18h16
  5. calculer une moyenne avec une requete externe
    Par allowen dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/01/2005, 17h02

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