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 :

Erreur de syntaxe calcul de factorielle


Sujet :

Turbo Pascal

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Février 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 1
    Par défaut Erreur de syntaxe calcul de factorielle
    Bonsoir à tous,

    Je cherche à réaliser un programme me donnant (k parmi n). J'ai inséré une fonction auxiliaire pour calculer la factorielle mais le compilateur me renvoie l'erreur :
    3 / 1 facto.pas
    Fatal: Syntax error, ; expected but VAR found
    Malgré mes efforts je ne comprends pas ce qui cloche, merci à celui qui pourra me donner un coup de pouce.

    Voici mon 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
    PROGRAM aux
    VAR p,n,k : integer;
     
    function facto (n:integer) : integer;
    var f,i : integer;
     
     begin
       f:=1;
       for i:=1 to n do
          f:=f*i;
       facto:=f;
       end;
     
       begin
     
        writeln('Donne n');
        readln(n);
        writeln('Donne k inférieur à n');
        readln(k);
        p:=1;
        p:=facto(n)/(facto(n-k)*facto(k));
     
       writeln(p);
       readln;
     
    end.

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 165
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    Tu as oublié le point-virgule après le nom du programme.

    Par ailleurs, tu devras remplacer / par div, pour avoir un résultat entier.

  3. #3
    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
    Kia,

    Et petit conseil : prends tout de suite la très bonne habitude de bien présenter ton code : indentation régulière et cohérente, aérer en séparant les blocs logiques par une ligne vide, ...

  4. #4
    Membre Expert
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Par défaut
    tout à fait d'accord avec Droggo :

    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 aux;
     
    function facto(n:integer): integer;
    var f, i : integer;
    begin
      f := 1;
      for i := 1 to n do
        f := f * i;
      facto := f;
    end;
     
     
    var 
      p, n, k : integer;
     
    begin
      repeat
        write('Valeur de n supérieur à 1 : ');
        readln(n);
      until n <= 1;
     
      repeat
        write('Valeur de k inférieur à n : ');
        readln(k);
      until k >= n;
     
      p := 1;
      p := facto(n) / (facto(n-k) *facto(k));
     
      writeln(p);
     
      readln;
    end.
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/03/2009, 09h19
  2. [Directives] Page blanche quand erreur de syntaxe
    Par syl2095 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 17/02/2006, 15h15
  3. fonction qui calcule la factorielle ?
    Par piff62 dans le forum C
    Réponses: 8
    Dernier message: 27/02/2005, 11h00
  4. PHP SQL =>erreur de syntaxe (operateur absent)
    Par snipes dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/02/2005, 14h09
  5. erreur de syntaxe javascript dans ma page
    Par Oluha dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/02/2005, 14h53

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