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

Turbo Pascal Discussion :

Gérer des notes


Sujet :

Turbo Pascal

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 24
    Points : 20
    Points
    20
    Par défaut Gérer des notes
    Salut.

    Il s'agit de gérer les notes des élèves d'une classe de nb éleves. Pour cela, on utilise deux tableaux pour enregistrer les informations : un tableau pour les noms et un autre pour les notes (chache élève a plusieurs notes).
    Les tâches demandées sont :
    • La saisie (noms + note)
    • La consultation (affichage)
    • La recherche par nom (recherche d'un élève en connaissant son nom)
    • Le classement des élèves par ordre alphabétique (ou par moyenne).

    J'ai fait ça :
    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
    var
      t array [0..n]of integer
      a array [0..n]of string
    
    const 
      n=500
    
    procedure am(t:vecteur )
      i:integer
    debut
      pour i=0 a n faire 
        lire t[i]
        ecrire t[i]
      finfaire
    fin
    
    procedure ins(a :vecteur)
      i:integer
    debut
      pour i=0 a n faire
        pour j=0 a n faire 
          lir a[I,j]
          ecrire a[I,j]
    fin
    
    programme principal
    debut
      ecrire (donner les notes )
      am(t)
      ecrire (donner les nons)
      ins(a)
      lire (k)
      si k=t[i] alors ecrire a[i,j]
      sinon ecrire (ereur)
      fin si
      pour i=0 a n faire 
        pour j=i+1 a n faire
    et là je ne sais plus comment faire, aidez-moi svp merci.
    Pour l'écrire en Pascal je crois je je n'aurai pas de problème, enfin je crois merci

  2. #2
    Membre éclairé
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 474
    Points : 772
    Points
    772
    Par défaut
    Utilise des noms de variables explicites (Notes et Eleves c'est mieux que "a" et "t"). Ton tableau de notes ne comporte qu'une variable, donc une seule note par élève à moins qu'il y ait un tableau de notes pour chaque élève, ce n'est pas clair.
    "Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth
    https://pharo.org/web
    https://faust.grame.fr/

  3. #3
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Je crois qu' il serait preferable de nous donner le code ecrit en pascal que du pseudo code.

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 24
    Points : 20
    Points
    20
    Par défaut
    salut
    désolé j'été pressé et de plus je sais vraiment plu quoi faire je suis en 1er année de mias c'est tout ce que jai pu faire encor une fois désolé mais jai vrément besoin d'aide je flipe la merci d'avance

  5. #5
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 943
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 943
    Points : 5 655
    Points
    5 655
    Par défaut
    Xai,
    Citation Envoyé par bigamine5 Voir le message
    salut
    désolé j'été pressé et de plus je sais vraiment plu quoi faire je suis en 1er année de mias c'est tout ce que jai pu faire encor une fois désolé mais jai vrément besoin d'aide je flipe la merci d'avance
    Puisque tu as un exercice à faire en Pascal, c'est que tu as eu des cours.

    Alors fais un effort, et écris au moins ton code dans ce langage, qui de toute manière sert plus ou moins de modèle pour la plupart des pseudo-codes qu'on utilise, ou alors fait vraiment du pseudo-code, de manière cohérente (par exemple, ne pas mélanger anglais/français).

    Petite précision : être pressé n'est pas, n'a jamais été, ne sera jamais une excuse.
    Si les cons volaient, il ferait nuit à midi.

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 24
    Points : 20
    Points
    20
    Par défaut moitier de solution
    salut
    bon d'accord je vais mieux vous expliquer voila :
    j'ai pensé à faire un tableau pour les noms et une matrice de deux dimensions pour les notes j'ai supposé que =chasaque élève a deux notes.
    pour la recherche j'ai pensé à introduire une variable (k) chaine de caractère.
    i,j,h,l :compteur
    j'ai fais n=60 pour que le pascal réserve la mémoire
    voila le code mais je suis pas sure:

    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
    program gererdesnote;
    var non,:array[0..n]of string;
         b:array[0..n,0..n]of integer; 
         i:integer;
    const n=60;
    procedur eclir(t:array [0..n]of string);
    begin
      for i=0 to n do begin;
      readt[i];
      writet[i];
      end;
    end.
    procedur  note(m:array [0..n,0..n]of integer);
    bigen
    for i=0 to n dou
     for j=0 to n dou
     read t[i,j];
     write t[i,j];
    end.
    function cherche(t:array [0..n]of string ,k:string):integer
    bigen
    if k=non[i] then write m[i,j]
    else write('erreur');
    end.
                                            {program principal}
    bigen 
    write('donner les nons'à);
    eclir(non);
    write('donner les note');
    note(b);
    write('entrer le non );
    cherche(k);
    end.
    désolé mais c'est ce que je peux faire pour l'instant et excusez moi du retard @+

  7. #7
    Membre éclairé
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 474
    Points : 772
    Points
    772
    Par défaut
    Ton programme ne compile pas pour l'instant , voici les messages d'erreurs (j'ai utilisé Freepascal mais c'est en gros la même chose qu'avec TP

    tpgerenotes.pas(2,20) Error: Identifier not found "n"
    tpgerenotes.pas(2,20) Error: Can't evaluate constant expression
    tpgerenotes.pas(2,30) Error: Data element too large
    tpgerenotes.pas(3,18) Error: Identifier not found "n"
    tpgerenotes.pas(3,18) Error: Can't evaluate constant expression
    tpgerenotes.pas(3,23) Error: Identifier not found "n"
    tpgerenotes.pas(3,23) Error: Can't evaluate constant expression
    tpgerenotes.pas(3,34) Error: Data element too large
    tpgerenotes.pas(6,10) Fatal: Syntax error, "=" expected but "identifier ECLIR" found
    Il y avait aussi une erreur de syntaxe après le "VAR" , il faut enlever ta virgule.

    Quelques pistes :

    1) Tes tableaux sont mal déclarés, il faut déclarer ta constante entre le mot clé 'program' et 'Var' : cet ordre est obligatoire.

    Après cela il te restera encore une erreur qui est liée à la déclaration de ta première procedure : relis-toi, tu as oublié le 'e' .... puis encore une erreur car le paramètre de ta procédure est mal déclaré ... puis une autre parce qu'on ne met pas de virgule après un 'begin' ... puis une autre parce que l'assignation en Pascal c'est ':=' et pas '=' puis encore une ... etc., etc.

    Bref, relis ton cours et vérifie ta syntaxe (par exemple je ne connais pas 'readt' et 'writet' en Pascal, ni de 'bigen' ou de "dou" d'ailleurs). Une fois que ça compile (il y a du taf) , s'il y a un problème poste à nouveau.
    "Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth
    https://pharo.org/web
    https://faust.grame.fr/

  8. #8
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Il faut aussi revoir comment passer un tableau comme paramètre à une fonction. Il y' a déjà plein de post sur la question.

  9. #9
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 24
    Points : 20
    Points
    20
    Par défaut remerçiment
    je vous remerci

Discussions similaires

  1. Comment gérer les notes des examens
    Par badi3a82 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 20/07/2009, 12h01
  2. Gérer les notes d'un examen
    Par declencher dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 31/05/2005, 12h59
  3. [XSLT] Comment procéder pour gérer des langues ?
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 31/03/2005, 11h01
  4. Comment (si possible) gérer des dll en Asm?
    Par @drien dans le forum x86 32-bits / 64-bits
    Réponses: 5
    Dernier message: 06/01/2004, 15h59
  5. Une unité pour gérer des très grands nombres
    Par M.Dlb dans le forum Langage
    Réponses: 2
    Dernier message: 09/09/2003, 12h07

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