Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 10 sur 10
  1. #1
    Rédacteur
    Avatar de darrylsite
    Inscrit en
    juillet 2007
    Messages
    1 300
    Détails du profil
    Informations forums :
    Inscription : juillet 2007
    Messages : 1 300
    Points : 2 210
    Points
    2 210

    Par défaut [tp7] calculatrice scientifique en mode graphique

    Salut, Je suis encore là pour vous presenter mon nouveau release toujours en turbo pascal (Meme si ça derange certain, turbo pascal est trop cool je vous l' assure).
    Ce programme est une calculatrice scientique basique (avec les fonctions mathematiques elementaires sin,cos,expo,...).
    Le programme fonctionne en mode graphique avec une imitation de programmation evennementielle (boutons, souris, ...).

    j' attends vos commentaires et vos critiques. Merci !

    Je vous dois bien cela, ce site à tellement fait pour moi.

    Clicquer ici pour telecharger le zip :
    http://darkpi.100webspace.net/index.php?page=util

  2. #2
    Expert Confirmé Sénior
    Inscrit en
    août 2006
    Messages
    3 575
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 575
    Points : 4 613
    Points
    4 613

    Par défaut

    Cie,

    Téléchargé, je pense pouvoir jeter un coup d'oeil demain.
    Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.

  3. #3
    Expert Confirmé Sénior
    Avatar de krachik
    Inscrit en
    décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : décembre 2004
    Messages : 1 964
    Points : 4 168
    Points
    4 168

    Par défaut

    Bonjour
    Telechargé aussi mais la je suis sous linux et j'ai pas de compilateur Pascal installé,mais je crois que ça serait aussi cool de mettre l'executable du programme au cas ou les gens n'auront pas sous la main directement un compilateur .
    Je sens que ça doit etre cool ton truc
    @+
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  4. #4
    Expert Confirmé Sénior
    Inscrit en
    août 2006
    Messages
    3 575
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 575
    Points : 4 613
    Points
    4 613

    Par défaut

    Wie,

    Testé.

    Ça marche bien, mais je regrette qu'on ne puisse pas entrer les données/fonctions au clavier (en tout cas, c'est ainsi chez moi).

    Bon travail, mais je ne serais pas droggo s'il n'y avait quelques critiques, n'est-ce pas ?

    Indentation, commentaires, etc... Inutile d'insister, je suppose.

    A part ça,il y a pas mal de sections du code que je n'aime pas trop, par exemple
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    i:=25;
     
    new(pmemory,init(debutx,debuty-dy,'M'));
    tab[i]:=pmemory;
    inc(i);
     
    new(pmemory,init(debutx+dx,debuty-dy,'RM'));
    tab[i]:=pmemory;
    inc(i);
     
    new(pmemory,init(debutx+2*dx,debuty-dy,'MCL'));
    tab[i]:=pmemory;
    inc(i);
    ...
    peut facilement se faire dans une boucle, en créant un tableau ad hoc pour les chaines

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    function fonct(f:str255;valeur:real):real;
     var v:real;
     begin
     writeln(f);
     if  f='abs'         then v:=abs(valeur)
     else if  f='sin'    then v:=sin(valeur)
     else if  f='cos'    then v:=cos(valeur)
    ...
    au lieu de passer une chaine qu'il reste à tester, déclarer des constantes pour chaque fonction à mettre en jeu rendrait le code plus évolutif.

    Et ceci:
    Code :
    type str255=string[100];
    oublie une des bonnes habitudes à toujours utiliser : les noms des types/fonctions... doivent être représentatifs.

    Il y en a d'autres, mais je n'ai pas trop le temps de lire le code de plus près.
    Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.

  5. #5
    Rédacteur
    Avatar de darrylsite
    Inscrit en
    juillet 2007
    Messages
    1 300
    Détails du profil
    Informations forums :
    Inscription : juillet 2007
    Messages : 1 300
    Points : 2 210
    Points
    2 210

    Par défaut

    Merci pour tes commentaires.

    Citation Envoyé par droggo Voir le message
    A part ça,il y a pas mal de sections du code que je n'aime pas trop, par exemple

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    function fonct(f:str255;valeur:real):real;
     var v:real;
     begin
     writeln(f);
     if  f='abs'         then v:=abs(valeur)
     else if  f='sin'    then v:=sin(valeur)
     else if  f='cos'    then v:=cos(valeur)
    ...
    au lieu de passer une chaine qu'il reste à tester, déclarer des constantes pour chaque fonction à mettre en jeu rendrait le code plus évolutif.

    Et ceci:
    Code :
    type str255=string[100];
    oublie une des bonnes habitudes à toujours utiliser : les noms des types/fonctions... doivent être représentatifs.

    Il y en a d'autres, mais je n'ai pas trop le temps de lire le code de plus près.
    Pour la fonction fonct, je suis obligé de faire comme ça puis la chaine (representant) la fonction sera extaite d' une autre chaine automatiquement.
    Et le code sera bien evolutif puisque si j' ajoute une nouvelle fonction, je n' aurais qu' à modifier la partie ci-dessous et nulle part ailleurs :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function fonct(f:str255;valeur:real):real;
     var v:real;
     begin
     writeln(f);
     if  f='abs'         then v:=abs(valeur)
     else if  f='sin'    then v:=sin(valeur)
     else if  f='cos'    then v:=cos(valeur)
     
              {modification ici}
     else if f=nouvelle_fonction then ...
    ...
    T' as raison le nom des types doit etre representatif. Mais c' est j' ai à modifier la valeur lors des tests que je faisais pour deceler des gugs eventuels vu que je pouffais de la memoire unitilement (j' ai bien sur eu la paresse de modifier le nom dans tous le programme).

    C' est une bonne idée que tu me donne concernant la saisie au clavier des données. Je vais l' inclure dans la deuxieme version je vais finir d' ici là (elle aura un grapheur et un tableur integrés pour tracer les courbes). Je voulais le faire en java mais comme c' est pas à but lucratif, je le fais en turbo pascal.

    S' il y' a des propositions, des commentaires ou des critiques, je suis ouvert.

  6. #6
    Expert Confirmé Sénior
    Inscrit en
    août 2006
    Messages
    3 575
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 575
    Points : 4 613
    Points
    4 613

    Par défaut

    Fie,
    Citation Envoyé par darrylsite Voir le message
    Pour la fonction fonct, je suis obligé de faire comme ça puis la chaine (representant) la fonction sera extaite d' une autre chaine automatiquement.
    C'est à la fonction qui va analyser l'entrée de faire la relation chaine<=>constante numérique pour définir la fonction à utiliser, pas besoin de garder ça sous forme d'une chaine de caractères.
    Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.

  7. #7
    Membre expérimenté
    Avatar de diden138
    Développeur Web
    Inscrit en
    mai 2006
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 26

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : mai 2006
    Messages : 713
    Points : 552
    Points
    552

    Par défaut Re : bonjour

    il faut quelques optimisations(640ko environs pour une éxécution normale c'est trop) pour l'interface y'a quelques bug d'affichage ,mal gestion de certaines erreurs(surtout dans les calculs) et oui il faut penser à tout mais surtout comme l'a dit droggo commentaire ,indentation on le dira jamais assez.
    mais en gros c'est bon .
    cordialement @+
    et vint le 20siècle et l'homme se mit à réflechir comme la machine auteur: diden138
    Langage: Pascal,OCaml,Delphi,c/c++.
    Langages web:Xhtml,Css,Php/Mysql,Javascript,Actionscript 2.0
    Plate forme:Windows XP Pro SP2./Red Hat 9.0/SUSE 10.2
    Config :Intel P4 3.2GHZ,2MO cach,512 RAM.
    Outils:Tp7,objective caml,Delphi 6 perso, C++builder 6,Visual C++ Express edition sous win,code-block sous linux(Ubuntu) .

  8. #8
    Rédacteur
    Avatar de darrylsite
    Inscrit en
    juillet 2007
    Messages
    1 300
    Détails du profil
    Informations forums :
    Inscription : juillet 2007
    Messages : 1 300
    Points : 2 210
    Points
    2 210

    Par défaut

    Citation Envoyé par diden138 Voir le message
    il faut quelques optimisations(640ko environs pour une éxécution normale c'est trop) pour l'interface y'a quelques bug d'affichage ,mal gestion de certaines erreurs(surtout dans les calculs) et oui il faut penser à tout mais surtout comme l'a dit droggo commentaire ,indentation on le dira jamais assez.
    mais en gros c'est bon .
    cordialement @+
    j' ai bien remarqué ces bugs. Je m' y mettrai dès que j' aurai un peu de temps.

    Vous parlez sans cesse d' identations, comment voulez qu' on idente le texte alors ?
    C' est avec cette identation que j' ai participé à beaucoup de programming contest et on ne m' a rien reproché.

  9. #9
    Expert Confirmé Sénior
    Avatar de krachik
    Inscrit en
    décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : décembre 2004
    Messages : 1 964
    Points : 4 168
    Points
    4 168

    Par défaut

    Citation Envoyé par darrylsite Voir le message
    Vous parlez sans cesse d' identations, comment voulez qu' on idente le texte alors ?
    C' est avec cette identation que j' ai participé à beaucoup de programming contest et on ne m' a rien reproché.
    Quel texte?le code tu veux dire
    J'ai pas encore vu ton code mais si tu veux savoir comment indenter voila un cours dessus http://philippe-gormand.developpez.c...i/Indentation/
    @+
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  10. #10
    Rédacteur
    Avatar de darrylsite
    Inscrit en
    juillet 2007
    Messages
    1 300
    Détails du profil
    Informations forums :
    Inscription : juillet 2007
    Messages : 1 300
    Points : 2 210
    Points
    2 210

    Par défaut

    je viens de corriger les quelques bugs remarqués et aussi ajouter quelques fonctions à la calculatrice.
    merci de me prevenir si vous rencontrez un bug.
    Le module de tracer des courbes y sera bientot integré.
    http://darkpi.100webspace.net/index.php?page=util

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •