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

Pascal Discussion :

Erreurs de syntaxe sur mon petit prog :(


Sujet :

Pascal

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 27
    Points : 16
    Points
    16
    Par défaut Erreurs de syntaxe sur mon petit prog :(
    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
    {Author : Leon
    Description : Resolves Lvl2 Equations of the form Ax²+Bx+C}
    program equation2; {AX²+BX+C}
    var
    A,B,C:real;
    DELTA:real;
    X0,X1,X2:real;
    	procedure start;
    	begin
    	writeln('Welcome to EquaTOR!');
    	writeln('I will solve your lvl2 equations faster than your math prof & as fast as a computer');
    	writeln('First, be sure that the equations are under this form');
    	writeln;
    	writeln('Ax²+Bx+C');
    	writeln('Give me respectively,A then B and then C');
    	readln(A,B,C);
    	writeln('Ok let''s get started!!!');
    	end;
    	procedure calc_delta;
    	begin
    	delta := (b*b)+(-4*A*C);
    	end;
    	procedure check_delta;
    	begin
    	case delta of
    	 > 0 : deltaplus;
    	 < 0 : deltanone;
    	 = 0 : deltaabs;
    	 end;
    		procedure deltaplus;
    		begin
    		X1 := ((B*-1)-sqrt(DELTA)) div (2 * A);
    		X2 := ((B*-1)+sqrt(DELTA)) div (2 * A);
    		writeln('The Two results are :',X1,'and :',X2);
    		writeln('See, that was fast :) ');
    		end;
    		procedure deltanone;
    		begin
    		writeln('Since delta has revealed to be a value under 0, there are no solutions to this equation');
    		end;
    		procedure deltaabs;
    		begin
    		X0 := (B*-1) div (2*A);
    		writeln('There is only one solution and it''s :',X0);
    		end;
    begin
    start;
    calc_delta;
    check_delta;
    readln;
    end.
    Bah c'est un programme assez simple pourtant quand j'essaie de compiler

    untitl~1.pas(25,13) Error: Ordinal expression expected
    untitl~1.pas(26,5) Error: Illegal expression
    untitl~1.pas(26,5) Error: Ordinal expression expected
    untitl~1.pas(26,5) Fatal: Syntax error, : expected but ordinal const found
    Aidez moi,petit noob svp :'(

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 947
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 947
    Points : 5 660
    Points
    5 660
    Par défaut
    Fia,

    On ne peut pas faire de case of comme tu essayes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	case delta of
    	 > 0 : deltaplus;
    	 < 0 : deltanone;
    	 = 0 : deltaabs;
    Je n'ai pas regardé plus loin.

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 27
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par droggo Voir le message
    Fia,

    On ne peut pas faire de case of comme tu essayes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	case delta of
    	 > 0 : deltaplus;
    	 < 0 : deltanone;
    	 = 0 : deltaabs;
    Je n'ai pas regardé plus loin.
    O.O
    Bah alors comment ?


    Un petit essai raté

    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
    {Author : Leon
    Description : Resolves Lvl2 Equations of the form Ax²+Bx+C}
    program equation2; {AX²+BX+C}
    var
    A,B,C:real;
    DELTA:real;
    X0,X1,X2:real;
    	procedure start;
    	begin
    	writeln('Welcome to EquaTOR!');
    	writeln('I will solve your lvl2 equations faster than your math prof & as fast as a computer');
    	writeln('First, be sure that the equations are under this form');
    	writeln;
    	writeln('Ax²+Bx+C');
    	writeln('Give me respectively,A then B and then C');
    	readln(A,B,C);
    	writeln('Ok let''s get started!!!');
    	end;
    	procedure calc_delta;
    	begin
    	delta := (b*b)+(-4*A*C);
    	end;
    	procedure deltaplus;
    		begin
    		X1 := ((B*-1)-sqrt(DELTA)) div (2 * A);
    		X2 := ((B*-1)+sqrt(DELTA)) div (2 * A);
    		writeln('The Two results are :',X1,'and :',X2);
    		writeln('See, that was fast :) ');
    		end;
    		procedure deltanone;
    		begin
    		writeln('Since delta has revealed to be a value under 0, there are no solutions to this equation');
    		end;
    		procedure deltanull;
    		begin
    		X0 := (B*-1) div (2*A);
    		writeln('There is only one solution and it''s :',X0);
    		end;
    	procedure check_delta;
    	begin
    	case delta of
    	 1..999 : deltaplus;
    	 -999..0 : deltanone;
    	  0 : deltanull;
    	 end;
    begin
    start;
    calc_delta;
    check_delta;
    end.
    13 Erreur

  4. #4
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 946
    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 946
    Points : 59 446
    Points
    59 446
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Plusieurs problèmes de syntaxe à l'horizon :
    • Avec des réels, l'opérateur de division est / et non div
    • On ne peut faire un case of sur des réels : uniquement sur des types ordinaux. Remplace-le par des if...then...else
    • Il n'y a pas de end à la fin de la procédure check_delta


  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 27
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par Alcatîz Voir le message
    Bonjour,

    Plusieurs problèmes de syntaxe à l'horizon :
    • Avec des réels, l'opérateur de division est / et non div
    • On ne peut faire un case of sur des réels : uniquement sur des types ordinaux. Remplace-le par des if...then...else
    • Il n'y a pas de end à la fin de la procédure check_delta

    Merci,aucune de ces conditions n'ont été mentionner sur les tuto ou j'ai appris le peu que j'ai appris

    Au fait,c'est qui (quoi) les types ordinaux
    Vous n'auriez pas un cours intéressant avec tous ce qu'il faut savoir?

  6. #6
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 946
    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 946
    Points : 59 446
    Points
    59 446
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par LeonHONORE Voir le message
    Au fait,c'est qui (quoi) les types ordinaux
    Vous n'auriez pas un cours intéressant avec tous ce qu'il faut savoir?
    Voici un lien vers la FAQ, où est expliqué ce qu'est un type scalaire (ou ordinal) : http://pascal.developpez.com/faq/?pa...-type-scalaire

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

Discussions similaires

  1. [MySQL] Erreur de syntaxe sur requête
    Par winnie82 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 21/03/2006, 13h51
  2. [MySQL] Erreur de syntaxe sur ma requête SELECT
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 08/03/2006, 11h50
  3. [MySQL] Erreurs de syntaxe sur requêtes DELETE
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/03/2006, 15h53
  4. Erreur de syntax sur JOIN
    Par helje dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/03/2006, 17h36
  5. Erreur de syntaxe sur la création d'une vue.
    Par cgougeon dans le forum Installation
    Réponses: 3
    Dernier message: 09/09/2005, 11h00

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