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

Autres IDE Pascal Discussion :

Calculatrice en Pascal


Sujet :

Autres IDE Pascal

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Calculatrice en Pascal
    Bonjour,

    J'aimerais faire une calculatrice, mais quand je compile mon code, il y a certaines erreurs.
    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
    MODULE calculette;
    IMPORT Dialog; 
    	VAR a,b,r: real; 
     
    	PROCEDURE addition;
    	BEGIN 
    		function addition(var a,b: real):real; 
    		r:=a+b;
    	END addition;
     
    	PROCEDURE soustraction;
    	BEGIN
    		function soustraction(var a,b: real):real;
    		r:=a-b;
    	END soustraction;
     
    	PROCEDURE multiplication;
    	BEGIN
    		function multiplication(var a,b: real):real;
    		r:=a*b;
    	END multiplication;
     
    	PROCEDURE division(a,b:real);
    	BEGIN
    		function division(var a,b: real):real;
    		r:=a/b;
    	END division;
     
    	BEGIN
    		writeln('r');
    		readln(a);
    		readln(x);
    		readln(b);
    		case x of
    		'+':addition(a;b);
    		'-':soustraction(a,b);
    		'*'multiplication(a,b);
    		'/':division(a,b);
     
    	END;
     
    	writeln(r);
     
    END calculette.
    (l'erreur récurrente est undeclared identifier)

    Merci d'avance.

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Jai,

    Il faut commencer par apprendre les bases de la syntaxe du Pascal, que ton programme ne respecte pas du tout.
    Si les cons volaient, il ferait nuit à midi.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    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
    MODULE calculette;
    IMPORT Dialog; 
    	VAR a,b,r1*,r2*,r3*,r4*: REAL; 
     
    	PROCEDURE addition;
    		BEGIN 
    			r1:=a+b;
    			Dialog.UpdateReal(r1);
    		END addition;
     
    	PROCEDURE soustraction;
    		BEGIN	
    				r2:=a-b;
    				Dialog.UpdateReal(r2);
    		END soustraction;
     
    		PROCEDURE multiplication;
    		BEGIN
    				r3:=a*b;
    				Dialog.UpdateReal(r3);
    		END multiplication;
     
    		PROCEDURE division;
    			BEGIN
    					r4:=a/b;
    					Dialog.UpdateReal(r4);
    		END division;
    			BEGIN
    			a:=0;
    			b:=0;
    			addition;
     
    		END calculette.
    Maintenant il me semble que le code est bon, puis que le compilateur n'affiche pas d'erreur. (désolé je suis débutant en pascal). Cependant quand je fais New Form, il ne me charge pas le module Dialog.
    Que faire?

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

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par droggo Voir le message
    Jai,

    Il faut commencer par apprendre les bases de la syntaxe du Pascal, que ton programme ne respecte pas du tout.
    il semblerait que ce soit du GNU Pascal ...
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Jai,

    C'est ce que j'avais compris, mais pour moi, ce langage ne devrait pas s'appeler Pascal, la syntaxe est trop différente.
    Si les cons volaient, il ferait nuit à midi.

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 235
    Points : 506
    Points
    506
    Par défaut
    La syntaxe de GNU Pascal n'est pas vraiment différente elle est surtout étendue. Ce compilateur supporte deux syntaxes différentes pour les "unités" : les unités classiques (unit) et les modules du pascal ISO étendu (modules). Et il y a des choses vraiment intéressantes : WriteStr et ReadStr (ajouté depuis peu dans FPC), les schema types (http://www.gnu-pascal.de/gpc/Schema-...l#Schema-Types), la possibilité de donner une valeur initiale à un type.

    Malheureusement l'encéphalogramme est plat depuis quelques années du côté de GNU Pascal...

  7. #7
    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
    Citation Envoyé par batyann811 Voir le message
    les schema types (http://www.gnu-pascal.de/gpc/Schema-...l#Schema-Types), la possibilité de donner une valeur initiale à un type.
    interessant les schema. Si je comprend bien, c'est un peu comme les Template en C++ !?

    Dans ce sens, il existe aussi la programmation des générique en Free Pascal :http://wiki.freepascal.org/Generics

  8. #8
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 235
    Points : 506
    Points
    506
    Par défaut
    En fait le but est plutôt un moyen d'imiter les types avec discriminants d'Ada. Ça permet par exemple de créer un type matrice (paramétré par une largeur et une hauteur) sans avoir à gérer soit même la mémoire par MemAlloc ou SetLength.

    Exemple :

    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
     
    type
      TMatrix (N, M: PositiveInteger) = array [1 .. N, 1 .. M] of Integer;
     
    var
      M1, M2 : TMatrix(3,3); 
      M3 : TMatrix(6,3); 
     
    begin
      // ici ont peut utiliser M1,M2,M3 directement
      // la mémoire est déjà allouée et sera libérée 
      // sans qu'on s'en occupe
     
      M1[2, 2] := 7;
     
      // on peut acceder aux discriminants
      WriteLn('M1.N=', M1.N);
    end.

Discussions similaires

  1. HP Pascal Studio : Compilateur Pascal pour calculatrices HP
    Par forum dans le forum Outils à télécharger
    Réponses: 15
    Dernier message: 11/06/2014, 15h22
  2. Ultra Pascal : Compilateur Pascal pour calculatrices TI-89 et TI-92
    Par forum dans le forum Outils à télécharger
    Réponses: 0
    Dernier message: 22/03/2011, 23h56
  3. Outil de reformatage d'un source Pascal
    Par HRS dans le forum Pascal
    Réponses: 7
    Dernier message: 21/10/2002, 14h55
  4. Passer du Pascal à Delphi
    Par poppels dans le forum Langage
    Réponses: 7
    Dernier message: 30/08/2002, 21h07

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