CALCULATRICE POUR POËTES

lord948 Messages postés 34 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 19 mai 2009 - 26 janv. 2009 à 15:59
alan54 Messages postés 6 Date d'inscription lundi 8 décembre 2003 Statut Membre Dernière intervention 24 février 2010 - 24 févr. 2010 à 10:53
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/49080-calculatrice-pour-poetes

alan54 Messages postés 6 Date d'inscription lundi 8 décembre 2003 Statut Membre Dernière intervention 24 février 2010
24 févr. 2010 à 10:53
Ben malheureusement non

En fait je commence par taper aux hasards cela me permet de tester si l'auteur à bien prévu tous les cas de gestions d'erreurs ensuite si rien je m'intéresse au prog
fredelem Messages postés 136 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 décembre 2022 2
24 févr. 2010 à 10:17
Le source est remis à jour. J'en ai profité pour regrouper toutes les procédures en deux fichiers. ça fera plaisir à quelques poëtes qui avaient un peu râlé à ce sujet.

La version des premiers jours contenait une procedure qui marchait très mal. c'était celle du calcul de la fonction puissance. si on demandait -10 à la puissance 2, on n'obtenait pas 100, on obtenait un centième. J'ai corr0gé bien sûr assez vite.

Et puis quelqu'un m'a fait remarquer que les nombres négatifs n'avaient pas de puisssances décimales. J'ai corrigé ça aussi.

Du coup, je pensais que mon programme était très fiable mais tu me dis que tu as eu un plantage. Si tu peux retrouver ce que tu étais en train de faire, dis-le moi, ça m'intéresserait.
alan54 Messages postés 6 Date d'inscription lundi 8 décembre 2003 Statut Membre Dernière intervention 24 février 2010
24 févr. 2010 à 06:43
l'émotion , on peu dire (yavai pas envie de remettre tous mes icones) ------- du coup je suis repassé sous linux ^^ Na et depuis j'y suis tjours

Remet à jour ton source

La rançon de la gloire @_@': ^_^
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
24 févr. 2010 à 03:43
"hiiiiiiiiiiiii Bacterius"
La rançon de la gloire @_@'

Cordialement, Bacterius !
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
23 févr. 2010 à 16:36
@ALAN54 Ah ben non. T'es pas maudit. -_^

En tout cas, 2ème effet Kiss-Cool, on sait comment rendre invisibles les icônes du bureau à présent...
alan54 Messages postés 6 Date d'inscription lundi 8 décembre 2003 Statut Membre Dernière intervention 24 février 2010
23 févr. 2010 à 16:21
ok merci

hiiiiiiiiiiiii Bacterius
fredelem Messages postés 136 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 décembre 2022 2
23 févr. 2010 à 14:11
Je pense que les icones sont toujours là et vont réapparaître au prochain redémarrage.

Mais c'est vrai, c'est de ma faute: dans la version des premiers jours (qui était franchement buggée), le fichier create.pas commençait par ces lignes:
h := FindWindow('ProgMan', nil) ;
h := GetWindow(h, GW_CHILD) ;
ShowWindow(h, SW_Hide);
Elles avaient pour effet de rendre invisibles les icones. De sorte que si on ne sortait pas du programme normalement, on avait l'impression que le bureau était devenu vide.

J'ai supprimé ces lignes par la suite. Il n'y a plus ce danger.

Désolé pour l'émotion que je t'ai donnée, Clique sur "démarrer" puis "Fermer la session" et les icones reviendront.
fredelem Messages postés 136 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 décembre 2022 2
23 févr. 2010 à 12:40
Dis-moi quelle opération tu étais en train de faire quand l'incident s'est produit. (Essaie de te rappeler les nombres exacts). Je vais prendre le risque de faire le même calcul sur mon appareil pour voir si j'ai le même résultat.
alan54 Messages postés 6 Date d'inscription lundi 8 décembre 2003 Statut Membre Dernière intervention 24 février 2010
23 févr. 2010 à 11:17
Ben non

Mon bureau est vide de tout icône !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
23 févr. 2010 à 10:58
C'est marrant, tu as plein de problème exotiques avec beaucoup de sources, Alan54. Tu n'exagererais pas un tout petit peu desfois ?

Cordialement, Bacterius !
alan54 Messages postés 6 Date d'inscription lundi 8 décembre 2003 Statut Membre Dernière intervention 24 février 2010
23 févr. 2010 à 10:43
A planter et à bruler tous mes icônes du bureau !
cs_Forman Messages postés 600 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 6 avril 2010 1
3 juil. 2009 à 20:37
A mon avis la calculette de windows calcule en valeur exacte jusqu'à un certain point, puis décide de passer en flottants lorsque le résultat dépasse un certain seuil. Ce qui explique la durée du calcul.

Ce que je voulais dire c'est que si ta calculette utilise le type extended alors ça ne doit pas être triste non plus lorsque tu lui demandes 100000! vu que la mantisse des extended va jusqu'à un peu moins de 10^5000 :-)

Au fait lorsque tu parles de préparer les banderilles, j'espère que tu n'envisages pas que l'un de nous fasse le taureau?
fredelem Messages postés 136 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 décembre 2022 2
3 juil. 2009 à 19:37
C'est une bonne idée J'ai téléchargé ce programme sur les nombres monstrueux lorsqu'il est paru et je l'ai trouvé génial. Mais serait-ce bien utile d'ajouter cette option à ma calculatrice ? Je pense que la calculatrice de Windows serait en mesure d'afficher les 456 000 chiffres puisqu'elle les connait tous. Elle ne le fait pas, sans doute parce que personne n'en a besoin.

Bon allez, assez parlé de cette calculatrice. Je viens de faire un autre envoi. On ne le verra peut-être que lundi. En attendant, préparez les banderilles !
fredelem Messages postés 136 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 décembre 2022 2
3 juil. 2009 à 18:59
Loin de moi, l'idée de décrier la calculatrice de Wimdows ! Je la trouve très réussie mais si tu fais l'expérience de lui demander la valeur de factorielle 100 000, tu verras qu'il lui faut presque 5 minutes pour trouver la réponse (2,8242294079603478742934215780245 e+456573). C'est tout-à-fait normal puisque cette réponse contient 456 574 chiffres, comme l'indique la puissance de 10 à la fin. Alors que ma calculatrice utilise des nombres de type "extended" qui ne prennent que 10 octets !
Mon "c'est pas triste" ne veut pas dire "c'est mauvais" mais simplement "c'est un peu long quand on a envie de voir un résultat."
cs_Forman Messages postés 600 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 6 avril 2010 1
3 juil. 2009 à 11:33
"tape la valeur 100 000 puis clique sur le bouton [X!]. C'est pas triste !"

Je l'avais raté celle-là :)

Est-ce que tu as une idée du nombre d'octets nécessaires pour stocker la valeur exacte de la factorielle de 100000? (un indice: taper "formule de stirling" dans Google). On peut certainement reprocher beaucoup de choses aux appli livrées avec Windows, mais il faut quand même rester objectif!
fredelem Messages postés 136 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 décembre 2022 2
28 janv. 2009 à 13:46
Excellente réponse. J'apprécie particulièrement la métaphore de la table couverte de papiers. Je suis maintenant bien motivé pour remettre un peu d'ordre dans mes productions.
En ce qui concerne le bug de tg(90ª), je me suis aperçu que ce n'en était pas un. Étant donné que la calculatrice travaille en radians et que la valeur de pi/2 ne peut être écrite que d'une façon approchée, il est normal de ne pas avoir de message d'erreur. On obtient la valeur de la tangente d'un angle légèrement inférieur ou supérieur à l'angle droit. C'est un nombre énorme mais pas infini. C'est sans doute un arrondi par excès qui fait que l'angle devient plus grand que l'angle droit et que cette valeur est négative.
L'autre bug par contre est grave. Je prenais le logarithme d'un nombre égal à zéro et j'avais un message d'erreur. Aprés avoir corrigé (if x=0 then result:=0 et exit;, je n'ai plus de message d'erreur mais ma courbe y=x^2 fait de ces fantaisies sur le côté gauche que même un grand poëte n'apprécierait pas.
Pour finir, je demande une faveur: que l'on m'accorde que ma calculatrice est quand même plus mignonne que celles que l'on trouve habituellement. Le souci de faire sérieux conduit parfois à faire des choses tellement sévères qu'elles sont un peu rebutantes. Avec la mienne, je pense que ce n'est pas le cas.
La calculatrice de Windows travaille en arithmétique des entiers, ce qui est magnifique: elle permet d'avoir jusqu'à factorielle 22 et même au delà avec tous les chiffres exacts alors que la mienne arrondit à partir de 22 si je me souviens bien mais elle va beaucoup plus vite. Avec la calculatrice de Windows. tape la valeur 100 000 puis clique sur le bouton [X!]. C'est pas triste !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
28 janv. 2009 à 12:21
Quand je dis réutilisable, c'est-à-dire que si jamais tu as une unité CRYPT.PAS et une autre DECRYPT.PAS (toujours dans le cadre d'une application de cryptage de fichier), si tu as envie de réutiliser les méthodes qui se trouvent dans ces unités dans une autre de mes applications, j'aurai juste à trouver les deux fichiers et à les copier dans mon répertoire. Avec plein de fichiers, il faudra faire le tri à chaque fois => difficile de réutiliser le programme.
Ca rejoint la théorie de la table de travail couverte de papiers : si tu veux déménager ta table, tu vas faire tomber tous les papiers - or si tu les mets tous dans un même tiroir, ça marchera !

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
28 janv. 2009 à 12:19
Fredelem, ta demande de raison est justifiée mais à cela je te répondrai que pour le programmeur lambda qui lit ton source (la plupart les lisent même en ligne, donc ouvrir une page internet pour 2 procedures), il est plus facile de tout rejoindre dans deux ou trois fichiers.
D'ailleurs, la plupart du temps, on classe les fichiers par thème : par exemple, on mettra 1 fichier DFM associé à 1 seul fichier PAS. Ensuite, on mettra toutes les routines qui concernent le cryptage (dans le cadre d'une application de cryptage de fichier) dans un fichier CRYPT.PAS, et toutes les routines de décryptage dans un fichier DECRYPT.PAS, par exemple. Ca facilite à la fois la lecture, la souplesse de ton programme, et ça lui permet également d'être réutilisable facilement.

Cordialement, Bacterius !
fredelem Messages postés 136 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 décembre 2022 2
27 janv. 2009 à 22:02
Le message de Forman est venue s'intercaler entre celui de Bactérius et le mien pendant que je rédigeaia ma réponse.
Mon message précédent s'adressait à Bacterius. A Forman, je réponds que cette idée de recherche d'un assembleur minimum ne me laisse pas indifférent et je vais faire d'autres visites sur ce site. Mais on s'éloigne du sujet, je ne m'étends pas davantage. Merci quand même pour ce lien et pour le précédent.

Cordialement. Fred.
cs_Forman Messages postés 600 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 6 avril 2010 1
27 janv. 2009 à 21:51
:-)
je connaissais le brainfuck au doux nom poétique, mais en suivant ton lien j'ai découvert le Malbodge:
http://fr.wikipedia.org/wiki/Malbolge
Celui-là bat des records: les instructions à d'autres endroits du programme sont cryptées au fur et à mesure de l'exécution, c'est un cauchemar!
fredelem Messages postés 136 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 décembre 2022 2
27 janv. 2009 à 21:47
C'est toujours avec plaisir que je lis tes commentaires et ceux des autres. Aucun risque que je les prenne mal.

Dans ce qu'on me dit, je t'avoue que ce sont surtout les bugs qui m'intéressent. tu en as trouvé un pas triste et juste avant Forman en avait trouvé un aussi. C'est d'abord ça que je vais m'efforcer de corriger.

Mais enfin bon, les bugs, il y en a toujours, on les corrige et on n'en parle plus.

Tes critiques rejoignent celles de Forman: Mon programme est mal composé, ce qui le rend difficile à relire pour un autre programmeur. Cette critique est presque flatteuse, ça veut dire que ce programme a quelque intérêt et que certains pourraient être tentés de l'explorer pour y trouver des idées.

Donc, c'est sûr, il faut améliorer la forme. Tu sembles tenir à ce que je réduise le nombre de fichiers. Je veux bien mais il faut me donner une raison. J'ai réparti mes fichiers d'une façon dans laquelle je me sentais à l'aise. Et même - tu vas rigoler - je me suis demandé à un certain moment si la sagesse ne serait pas de mettre un seul sous-programme par fichier !

Ne te fâche pas toi non plus si je te reprends à nouveau: mon programme ne contient que 2 unités. C'est le nombre de fichiers .pas qui est de 25.

Que penses-tu de l'idée de donner à certains fichiers l'extension .inc au lieu de .pas pour distinguer les plus importants des moins importants ?

Au plaisir de te lire. Et ne t'inquiète pas. Quoi qu'il arrive, je reste zen.

Cordialement. Fred.
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
27 janv. 2009 à 20:46
@Forman : Voilà un autre style de poésie informatique : http://fr.wikipedia.org/wiki/Brainfuck ^^
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
27 janv. 2009 à 19:37
"Je te fais quand même remarquer que tu emploies le mot unité pour désigner tout fichier .pas. Ce n'est pas le terme exact."

Et moi je te ferais remarquer que poser une source qui contient 25 fichiers .pas de maximum 5 kilo-octets chacun, ce n'est pas une source, mais une fontaine.
Nettoie ton source d'abord :}

J'ai regardé ça d'un peu plus près : si on a défini le terme "d'unité", c'est parce que ton source doit pouvoir se loger dans une demi-douzaine d'unités maximum (peut-être plus pour une grande application, mais pas 25 (surtout pour une calculatrice !). Ici, tu mets une paire d'évènements de la fiche dans Fermer.pas, alors que tu pourrais très bien les mettre dans l'unité propriétaire de la fiche ... idem pour Horloge.pas ...

Je ne pense pas me tromper en affirmant que ta source est vraiment trop "éclatée", "dispersée", tout ce que tu veux.
Bref, centralises-moi tout ça :)

Bon voilà, c'est fini pour l'aspect "forme".
Maintenant, le "fond" :

Juste un truc bien en rapport avec la calculatrice : la plupart des calculatrices se mettent en mode degré par défaut - la tienne se met en mode radian. En voulant tester Tan(90), j'ai eu un choc en voyant un nombre numérique (la tangente de 90° en degrés est indéfinie).

Ne le prends pas mal, les commentaires sont là pour te faire progresser.

Cordialement, Bacterius !
fredelem Messages postés 136 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 décembre 2022 2
27 janv. 2009 à 17:36
Je retiens l'idée de nommer certains fichiers *.inc. C'est vrai que ça peut aider un peu à distinguer les sous-programmes des unités.

J'ai un programme qui met en forme les fichiers en créant l'indentation et en mettant la plupart des mots-clefs en majuscules. Il est paramétrable mot par mot. On peut l'adapter à ses goûts.

La fonction f(x)=x^2 provoque effectivement un message d'erreur lorsque x=0. Je dois bien reconnaître que ça, ça me chagrine davantage. Je vais y réfléchir. Curieusement si f(x)=x*x. ça se passe bien.
cs_Forman Messages postés 600 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 6 avril 2010 1
27 janv. 2009 à 16:00
Personnellement, la poésie du programmeur je l'ai plutôt ressentie avec ce genre de choses:
http://fr.wikipedia.org/wiki/Quine_(informatique)

As-tu fait du C auparavant? En Delphi on utilise rarement {$include ...}, ça contredit un peu le principe qui veut qu'on écrive des sources dont un autre programmeur saisit au moins la structure globale en moins d'une minute. En particulier les fichiers inclus ne sont pas visibles dans le gestionnaire de projet, et je ne vois pas trop l'intérêt de les nommer en *.pas, puisque ce ne sont pas des unités Pascal bien formées, justement. Pour qu'on s'y retrouve tu peux les nommer en *.inc par exemple (mais c'est vrai que ça ne rime pas)...

Juste une question: pourquoi tous les mots-clefs sont en majuscules, à part "Uses"? (C'est peut-être là que se situait la poésie après tout!)

À propos, tracer la fonction f(x)=x^2 bugue dans les négatifs.
fredelem Messages postés 136 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 décembre 2022 2
27 janv. 2009 à 10:17
Le mot "original" ne me déplait pas. J'avais demandé qu'on n'abuse pas du mot "cinglé". Je suis habitué à entendre les deux mots et je préfère le premier.
Qu'est-ce que tu diras si j'envoie ma deuxième calculatrice destinée aus nombres imaginaires ! (Ceux qui ont fait une terminale scientifiques savent de quoi il s'agit)
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
26 janv. 2009 à 23:43
«Je te fais quand même remarquer que tu emploies le mot unité pour désigner tout fichier .pas. Ce n'est pas le terme exact»
- Ah bon?

...

Perso, j'ai bcp de mal à trouver la moindre trace de poésie dans tout ça.
A moins de confondre bordel et poésie... Je ne pense pas que ça puisse aider un programmeur et encore moins un poète.
Qu'on prenne sa lyre et que l'on mette une petite jupette à l'antique avec une couronne de laurier-sauce sur la tête ne me dérange pas, sauf si c'est pour faire 'passer' et excuser toutes les maladresses. Là, ça devient de la manipulation je trouve.

Désolé d'être aussi franc, FREDELEM. Mais on ne doit pas ressentir les mêmes émotions, toi et moi.
Sois quand même le bienvenu! :)
Perso, je dirais que tu es un original (si tu veux bien?)
fredelem Messages postés 136 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 décembre 2022 2
26 janv. 2009 à 21:32
Bien sûr, bien sür, ce programme fait un peu désordre, je le sais bien. Je me souviens maintenant: quand je l'ai abandonné, il y a quelque temps,je m'étais dit "Un jour, je l'enverrai mais il faudra d'abord que je corrige ceraines erreurs et que j'y mette beaucoup d'ordre". J'avais oublié. Les corrections, je viens de le faire ce soir à la hâte mais pour ce qui est de mettre de l'ordre, c'est trop tard.
Je te fais quand même remarquer que tu emploies le mot unité pour désigner tout fichier .pas. Ce n'est pas le terme exact.
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
26 janv. 2009 à 19:31
AAAH !
Inutile de faire une unité de 250 octets !
Je sais qu'il ne faut pas centraliser mais là ... oh !
Essaye de mettre les trucs qui vont ensemble, ensemble (comme CALCUL et CHIFFRES).
Tu auras déjà beaucoup moins d'unités.
Je teste et je reviens.

Cordialement, Bacterius !
fredelem Messages postés 136 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 décembre 2022 2
26 janv. 2009 à 19:07
Sympa, merci.
Je sais bien que ce programme est très lourd. J'ai voulu faire tout ce qui me venait à l'esprit et le résultat est un peu baroque.
Je l'ai longtemps laissé dormir et je m'aperçois qu'il m'était pas tout-à-fait fini. Quand on clique sur le sigma ou sur le symbole d'intégrale, c'est la catastrophe. Je vais essayer de réparer ça ce soir et de modifier le zip pour ne pas me faire trop enguirlander demain matin.
debiars87 Messages postés 43 Date d'inscription dimanche 18 janvier 2009 Statut Membre Dernière intervention 25 juin 2009
26 janv. 2009 à 16:50
Oups j'ai oublier !!
10/10
Debiars87
debiars87 Messages postés 43 Date d'inscription dimanche 18 janvier 2009 Statut Membre Dernière intervention 25 juin 2009
26 janv. 2009 à 16:50
Bonjour FREDELEM !!
Votre Application ma beaucoup Aider dans le cadre d'un mini Projet !!
Même si cette Application est beaucoup Trop lourd "+ 7Secondes pour compiler"
Alors je te donne Comme Note: 10/10 je pense que tu mérite ceci!!
Debiars87
fredelem Messages postés 136 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 décembre 2022 2
26 janv. 2009 à 16:15
Ok, merci, je connaissais pas.
lord948 Messages postés 34 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 19 mai 2009
26 janv. 2009 à 15:59
bonjour,
juste un truc bete, Labeldate.Caption := FormatDateTime('dddd dd mmmm yyyy', Date) a la place de Labeldate.Caption:=Jourssemaine[Dayofweek(Date)]+' '+Datetostr(Date);
Rejoignez-nous