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 :

algo notes éléves


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut algo notes éléves
    bonjour a tous et bonne année

    voila j'ai un petit soucie avec un algo que j'ai trouver sur le net je n'arrive pas a le résoudre pouvais vous m'aider svp

    la consigne et la suivante

    on veut traiter les notes des éléves d'une classe. le nombre d'éléves étant donné (donc la on fait un aff saisir)

    chaque notes a le méme nombre de notes saisies (la sa doit étre un tant que inf)


    écrire un algo qui donne

    pour chaque éléves : sa moyenne sa notes max sa note min

    la moy de tt les notes de la classe la note max la note min


    voila je ne sait pas trop comment mi prendre



    je veut le faire tous simplement sans fonction rien que des boucles et des condition pouvais vous m'aider

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Bonjour.
    Je veux le faire tous simplement sans fonction rien que des boucles et des conditions. Pouvez- vous m'aider
    Sous quoi programmes-tu ?

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut vb6
    vb6

  4. #4
    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
    L'utilisation des boucles en algorithmique est a peu près toujours le même:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    initialisation des variables
    Pour/TantQue 
        calcul intermédiaire sur les variables
    Fin Pour/TantQue 
    calcul final sur les variables
    donc dans ton cas ça ferait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    initialisation des variables spécifiques à la classe
    Pour chaque élève
     
        initialisation des variables spécifiques à cet élève
        Pour chaque note de cet élève
            calcul intermédiaire sur les variables spécifiques à cet élève
        Fin pour
        calcul final sur les variables spécifiques à cet éleve
     
        calcul intermédiaire  sur les variables spécifiques à la classe
     
    Fin pour
    calcul final sur les variables spécifiques à la classe
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    pas trop compris

  6. #6
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    j'avais commencer a faire sa mais j'y arrive pas je m'enbourbe
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    var 
    snotes : réel /*somme des notes*/
    notes : réel /*notes de l'éléves*/
    moyennec : réel /*moyenne de la classe*/
    moyennee : réel /*moyenne de l'éléve*/
    nb : réel /*note basse*/
    nh : réel /*note haute*/
    nbc : réel /*note la plus basse de la classe*/
    nhc : réel /*note la plus haute de la classe*/
    nbre : réel /*nombre d'éléves*/
    nbrnpe : réel /*nombre de notes par éléves*/
    i : integer /*compteur des éléves*/
    j : integer /*compteur des notes de éléves*/
     
     
     
    début
     
    afficher ("donnez nombre d'éléves")
    saisir (nbre)
    afficher ("donnez nombre de notes par éléves")
    saisir (nbrnpe)
     
     
    i <- 1 /*compteur des éléves*/
    j <- 1 /*compteur notes*/
    moyennec <- 0 /*compteur moyenne classe*/
     
    tant que i <= nbre faire /*traitement général: éléves*/
     
     
            tant que j <= nbrnpe faire /*traitement: notes éléves*/
    		nh <- 0
    		nb <- 20
    		snotes <- 0
    		afficher ("saisire notes éléves")
            	saisir (notes)
    		si notes > nh
    				alors nh <- notes
    		fsi
    				si notes < nb
    						alors nb <- notes
    				fsi
     
    				snotes <- snotes + notes
    				moyennee <- snotes / notes
    				moyennec <- moyennec + moyennee
     
     
    j <= j+1
     
    		ftant
    ftant
     
    i <- i+1
    moyennec <- moyennec / nbre
     
     
     
     
     
    fin

  7. #7
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    je l'ai mis en algo la lol mais je vais en algo et aprés je le met en vb6

  8. #8
    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
    Si je prend un petit extrait de ton 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
    tant que j <= nbrnpe faire /*traitement: notes éléves*/
    
    	nh <- 0
    	nb <- 20
    	snotes <- 0
    
    	afficher ("saisire notes éléves")
            	saisir (notes)
    	si notes > nh alors
    		nh <- notes
    	fsi
    	si notes < nb alors
    		nb <- notes
    	fsi
    				
    	snotes <- snotes + notes
    
    	moyennee <- snotes / notes
    	moyennec <- moyennec + moyennee
    
    	j <= j+1
    ftant
    Le code en rouge est une initialisation et doit donc être avant la boucle.
    Le code en bleu est un calcul final et doit donc être après la boucle.

    (au passage, ton calcul de moyenne m'a l'air étrange )
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  9. #9
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    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
    nh <- 0
    	nb <- 20
    	snotes <- 0
     
    tant que j <= nbrnpe faire /*traitement: notes éléves*/
     
     
     
    	afficher ("saisire notes éléves")
            	saisir (notes)
    	si notes > nh alors
    		nh <- notes
    	fsi
    	si notes < nb alors
    		nb <- notes
    	fsi
     
    	snotes <- snotes + notes
     
     
    	j <= j+1
    moyennee <- snotes / notes
    	moyennec <- moyennec + moyennee
    ftant
    c'est mieux la ??
    pour la moyenne c'est un peut le probléme du sujet il faut faire celle de la classe et celle de l'éléves c'est ca que je comprend pas trop ce qui faut faire en faite si y faut traiter un par un ou bien séparer sa me soule un peut lol

    moyennee <- snotes / notes = calcule de la moyenne de l'éléve a partire de la somme de ses notes
    moyennec <- moyennec + moyennee et la bah je bug lol

  10. #10
    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
    Je reprend ce que j'ai dit, avec un peu de couleur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    initialisation des variables spécifiques à la classe
    Pour chaque élève
    
        initialisation des variables spécifiques à cet élève
        Pour chaque note de cet élève
            calcul intermédiaire sur les variables spécifiques à cet élève
        Fin pour
        calcul final sur les variables spécifiques à cet élève
    
        calcul intermédiaire  sur les variables spécifiques à la classe
    
    Fin pour
    calcul final sur les variables spécifiques à la classe
    la boucle interne (le traitement de chaque élève) est en trois partie: initialisation, calcul intermédiaire et calcul final. Par exemple, on peut faire:

    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
    / * initialisation traitement pour chaque élève */
    eleve_notemin <- +infini
    eleve_notemax <- -infini
    eleve_sommenote <- 0
    
    j <- 1
    tant que j <= nbr_note_par_eleve faire
    
    	/ * calculs intermediaires pour chaque élève */
    	saisir (note)
    	si note>eleve_notemax alors eleve_notemax <- note
    	si note<eleve_notemin alors eleve_notemin <- note
    	eleve_sommenote <- eleve_sommenote + note 
    
    	j <- j+1
    ftant
    
    / * calcul final du traitement de chaque élève */
    eleve_moyenne <- eleve_sommenote/nbr_note_par_eleve 
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  11. #11
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    OUI OK sa j'avais compris pas bien apliquer mais compris mais ce que je comprend pas c'est le traitement via la classe on ne traite qu'un éléves avec ce code comment on fait pour faire la classe enfin je sait pas si j'ai bien compris la question ??

  12. #12
    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
    pour le traitement de la classe c'est pareil:
    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
    initialisation des variables spécifiques à la classe
    Pour chaque élève
    
        initialisation des variables spécifiques à cet élève
        Pour chaque note de cet élève
            calcul intermédiaire sur les variables spécifiques à cet élève
        Fin pour
        calcul final sur les variables spécifiques à cet élève
    
        calcul intermédiaire  sur les variables spécifiques à la classe
    
    Fin pour
    calcul final sur les variables spécifiques à la classe
    
    donc un truc du genre:

    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
    / * initialisation traitement pour la classe */
    classe_notemin <- +infini
    classe_notemax <- -infini
    classe_sommenote <- 0
    
    i <- 1
    tant que i <= nbr_eleve faire
    
    	/* .... inserer ici le code de la boucle interne.... */
    
    
    	/ * calculs intermediaires pour la classe */
    	si eleve_notemax>classe_notemax alors classe_notemax <- eleve_notemax 
    	si eleve_notemin<classe_notemin alors classe_notemin <- eleve_notemin 
    	classe_sommenote <- classe_sommenote + eleve_sommenote
    
    	i <- i+1
    ftant
    
    / * calcul final du traitement de la classe */
    classe_moyenne <- classe_sommenote/(nbr_eleve*nbr_note_par_eleve)
    Voila. C'est exactement le même principe et donc la même structure de code. Seuls le nom des variables et la formule de calcul changent.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  13. #13
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    bon j'ai fait sa mais il me manque toujour la classe

    Code VB : 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
     
    Option Explicit
     
    Sub main()
     
    Dim nb_notes As Integer
    Dim note As Integer
    Dim max As Integer
    Dim min As Integer
    Dim moyenne As Double
    Dim total As Integer
     
    nb_notes = InputBox("Donnez le nombre de notes : ")
    total = nb_notes
    max = 0
    min = 20
     
    Do While nb_notes > 0
        note = InputBox("Donnez la note : ")
     
        If note > max Then
            max = note
        End If
     
        If note < min Then
            min = note
        End If
     
        nb_notes = nb_notes - 1
    Loop
     
     
    MsgBox ("La plus haute note est : " & max &  "La note la plus basse est : " & min & "La moyenne est : " & moyenne)
     
     
     
    End Sub

  14. #14
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    CA VA LA ?

  15. #15
    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 sable27 Voir le message
    CA VA LA ?
    bah là ça calcule seulement le max et le min.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  16. #16
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    pffffff sa me souuuuuuuuuuuuuuuu rara aller on re réfléchit j'adore passer mes aprém a faire sa lol snif

  17. #17
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    bon je l'abandonne celui la si quelqu'un peut me donner un corriger sa serais sympa que je voie mes erreur



    je vien d'en commencer un autre avec des notes du méme type mais que je comprend mieux merci a tous

Discussions similaires

  1. Algo calcul de notes
    Par Spartiates dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 13/03/2009, 11h36
  2. [Turbo Pascal] [Débutant] Gestion des notes des élèves d'une classe
    Par bigamine5 dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 01/02/2009, 11h26
  3. Réponses: 9
    Dernier message: 25/09/2008, 19h49
  4. La note au dernier contrôle de chaque élève.
    Par Cédricss dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/09/2006, 12h31
  5. gestion de notes, trimestres, élèves.
    Par ludolan dans le forum Access
    Réponses: 6
    Dernier message: 12/09/2006, 20h57

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