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 :

[TPW 1.5] Mon programme ne s'exécute pas


Sujet :

Turbo Pascal

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2006
    Messages : 193
    Points : 85
    Points
    85
    Par défaut [TPW 1.5] Mon programme ne s'exécute pas
    Salut tout le monde ,
    mon programme ne s'exécute pas malgré que la compilation est correcte
    de l'aide sera la bienvenue
    Le but de l'exercice est de saisir les informations concernant n élève puis calculer la moyenne de la classe sachant qu'un élève est caractérisé par 3 champs: nom,prénom et moyenne
    Voila le 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
    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
    64
    65
    program serie1_3 ;
    uses wincrt ;
    type
     
        eleve = record
                 nom : string ;
                 prenom : string ;
                 moy : real ;
        end;
     
       tab=array[1..30] of eleve ;
     
    var
       n : integer ;
       x : real ;
       t : tab ;
     
    procedure saisie (var n : integer ; var t : tab);
    var
       i : integer ; 
    begin
     repeat
      writeln('saisir le nombre d''eleve :');
      readln(n);
     until n in [3..30];
     
     For i:= 1 to n do
      begin
       with t[i] do
        begin
         writeln('le nom :');
         readln(nom);
         repeat
          writeln('le prenom :');
          readln(prenom);
         until (length(prenom)<=40);
         repeat
          writeln('la moyenne :');
          readln(moy);
         until (moy <= 20) and (moy>=0); 
        end;
      end;
     
    end;
     
    function calcul (n : integer ; t : tab ) : real ;
    var
     
       c,moyenne,nb : real ;
       i : integer ;
    begin
     c:=0;
      for i:= 1 to n do
       begin
        c:=c+t[i].moy ;       
       end;
     nb:=c/n ; 
     calcul:= nb ;
    end;
     
    begin
     saisie(n,t);
     x:=calcul(n,t);
     writeln('la moyenne de la classe est :',x);
    end.

  2. #2
    Membre éclairé

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Points : 773
    Points
    773
    Par défaut
    Bonjour,

    J'ai fait un simple copier/coller de ton code dans un projet neuf dans lazarus (sous windows), ce programme se compile et se lance...
    Même test sous freepascal, même résultat...

    Sous quel os travailles-tu et avec quel compilateur?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2006
    Messages : 193
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par Clandestino Voir le message
    Bonjour,

    J'ai fait un simple copier/coller de ton code dans un projet neuf dans lazarus (sous windows), ce programme se compile et se lance...
    Même test sous freepascal, même résultat...

    Sous quel os travailles-tu et avec quel compilateur?
    Turbo pascal for windows 1.5/Windows XP

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2006
    Messages : 193
    Points : 85
    Points
    85
    Par défaut
    l'erreur qu'il m'affiche est la suivante
    Runtime error 202 at 0001:01AC

  5. #5
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    Il s'agit bien d'un débordement de pile : la taille de ton tableau excède la taille par défaut de la pile, qui est de 8192 octets par défaut si je ne me trompe pas (c'est le cas pour BPW 7.0).

    Il faut donc augmenter la taille de la pile à l'aide de la directive de compilation {$M Stacksize,Heapsize}.

    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2006
    Messages : 193
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par Alcatîz Voir le message
    Bonjour !

    Il s'agit bien d'un débordement de pile : la taille de ton tableau excède la taille par défaut de la pile, qui est de 8192 octets par défaut si je ne me trompe pas (c'est le cas pour BPW 7.0).

    Il faut donc augmenter la taille de la pile à l'aide de la directive de compilation {$M Stacksize,Heapsize}.

    J'ai augmenté la taille au max et j'ai le même problème
    De l'aide sera la bienvenue
    Merci d'avance

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2006
    Messages : 193
    Points : 85
    Points
    85
    Par défaut
    Bon ça marche nikél
    il ne faut pas augmenté la taille jusqu'au max comme je l'ai fait
    merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mon programme ne s'exécute que deux fois !
    Par Goundy dans le forum jQuery
    Réponses: 2
    Dernier message: 17/02/2010, 15h45
  2. [FASM] Mon programme ne se ferme pas
    Par _SamSoft_ dans le forum x86 16-bits
    Réponses: 12
    Dernier message: 10/09/2007, 18h57
  3. Réponses: 3
    Dernier message: 27/04/2007, 19h39
  4. Réponses: 2
    Dernier message: 03/02/2007, 00h39
  5. Mon programme ne s'affiche pas
    Par bugland dans le forum Langage
    Réponses: 3
    Dernier message: 11/01/2007, 12h19

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