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 :

Factorielle : runtime error 200 [TPW]


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 31
    Par défaut Factorielle : runtime error 200
    Bonsoir,
    Pour mon premier post sur le forum je me présente:
    Moi c'est Amine étudiant en L1 mathématique-informatique, & j’espère ne pas me tromper de section en postant ici.
    J'ai un exercice à faire pour demain, je pense que ma façon de l'avoir écrit est bonne, tout de même j'ai une erreur affichée au premier Read(x) de type : Runtime error 200 at 0001:0123.
    & je ne comprend pas d'ou ça vient.
    Voila mon 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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    program exo5;
    uses wincrt;
    var sinx,x: real;
    procedure saisie(var x:real);
    begin
    repeat
    clrscr;
    writeln('calcul de sinus(x) ');
    write('donner une valeure à x : ');
    readln(x);
    until (x<=100);
    end;
    function factorielle(n: integer): integer;
    var f: integer;
    begin
    f := 1;
    while (n > 1) do
    begin
    f := f * n;
    n := n - 1;
    end;
    factorielle := f;
    end;
    function puissance(x: real; n: integer): real;
    var i: integer; p: real;
    begin
    p := 1;
    for i := 1 to n do
    p := p * x;
    puissance := p;
    end;
    function somme(x: real):real;
    var i,n: integer; som,s: real;
    begin
    somme := 0;
    s := 0;
    repeat
    for i := 3 to 100 do
    begin
    som := som + s;
    if ((i mod 2)<> 0) then n := i;
    s := (puissance(x,n) / factorielle(n));
    end;
    until (s <= 0.0001);
    somme := som;
    end;
    begin
    writeln('Calcul de Sin(x) ');
    saisie(x);
    sinx := x - somme(x);
    write(sinx);
    end.
    Énoncé de l'exercice :
    J’espère que vous m'aiderez ! Merci.
    EDIT : : Merci pour la remarque Paul TOTH , je vais utilisé les balises CODE.

  2. #2
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    calcule factorielle(35)

    nb: il faut utiliser les balises CODE (ou CODEINLINE) et non QUOTE pour du code
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 31
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    calcule factorielle(35)
    Je n'ai pas compris votre remarque ? Un peu de precision svp
    EDIT: ma fonction factorielle renvoyé toujours 0
    & désormais il n'ya plus d'erreur runtim.. mais dés que je donne une valeur à ma variable x ça bug, & le TPW se ferme.
    EDIT 2Désole, je ne suis pas habitué au forum. Voia, j'ai essayé d’espacer mon 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
    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
    66
    67
    68
    69
     
     
    program exo5;
    uses wincrt;
     
    var sinx,x: real;
     
     
    procedure saisie(var x:real);
     
    begin
     repeat
      clrscr; 
      writeln('calcul de sinus(x) ');
      write('donner une valeure à x : ');
      readln(x);
     until (x<=100);
    end;
     
     
    function factorielle(n: integer): integer;
     
    var f,i: integer;
    begin
     for i:=1 to (n-1) do
      f := f * n;
     factorielle := f;
    end;
     
     
    function puissance(x: real; n: integer): real;
     
    var i: integer; p: real;
    begin
     p := 1;
     for i := 1 to n do
      p := p * x;
     puissance := p;
    end;
     
     
    function somme(x: real):real;
     
    var i,n: integer; som,s: real;
    begin
     somme := 0;
     s := 0;
     repeat
      for i := 3 to 100 do
       begin
        som := som + s;
        if ((i mod 2)<> 0) then n := i;
        s := (puissance(x,n) / factorielle(n));
       end;
     until (s <= 0.0001);
     somme := som;
    end;
     
     
    begin
     
     writeln('Calcul de Sin(x) ');
     saisie(x);
     
     sinx := x - somme(x);
     
     write(sinx);
     
    end.

  4. #4
    Expert confirmé

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

    Il faut faire un effort sur la présentation du code : indentation, aérer pour séparer les blocs logiques ...

    Ça a été imaginé pour faciliter la lecture, et donc la maintenance du code, pas seulement pour "faire joli".

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 31
    Par défaut
    Vous n'avez pas essayé mon code ? Ou remarqué un truc d'anormal ?

  6. #6
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par AmineDrX Voir le message
    Vous n'avez pas essayé mon code ? Ou remarqué un truc d'anormal ?
    oui et l'erreur est simple, elle est dans la fonction factorielle, as-tu calculé factorielle(35) comme demandé ? le résultat est-il juste ? pourquoi ne l'est-il pas ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

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

Discussions similaires

  1. [BPW] Runtime error 200 (division par 0)
    Par dzeus dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 23/05/2007, 11h05
  2. [TP] Runtime error 200 : programme TP5 non patchable
    Par HERON Daniel dans le forum Turbo Pascal
    Réponses: 11
    Dernier message: 02/11/2005, 21h53
  3. [TP]Runtime error 106 à l'exécution
    Par BlackTiger dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 25/01/2004, 21h50
  4. [LG]runtime error 202
    Par picsou123 dans le forum Langage
    Réponses: 2
    Dernier message: 14/11/2003, 22h53
  5. [Kylix] Runtime error 230 avec INDY
    Par Anonymous dans le forum EDI
    Réponses: 2
    Dernier message: 23/03/2002, 11h51

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