Page 1 sur 3
Petite gâterie pédagogique en PureBasic francophone
Publié : dim. 23/oct./2016 19:33
par fweil
Bon j'ai commis ça. C'est pour montrer une approche de ce qu'est la programmation en évitant d'effrayer les personnes qui veulent étudier le langage sans étudier les langues
C'est juste un joke. Mais comme il n'y a pas de rubrique pour les "cas marade", j'ai là mis.
Code : Tout sélectionner
Structure RIEN
EndStructure
Define.RIEN
Macro Pour : For : EndMacro
Macro jusque : To : EndMacro
Macro Suivant : Next : EndMacro
Macro Si : If : EndMacro
Macro FinSi : EndIf : EndMacro
Macro Appel_Mode_Pas_a_pas : CallDebugger : EndMacro
Macro Fin_du_Programme : End : EndMacro
Macro Creer_Tableau : Dim : EndMacro
Macro Afficher_trace : Debug : EndMacro
Macro Cadrer_a_droite : RSet : EndMacro
Macro Nombre_en_texte : Str : EndMacro
Taille_Tableau_en_bits.l = 100
Taille_Tableau_en_octets.l = Taille_Tableau_en_bits >> 3
Si Taille_Tableau_en_octets << 3 < Taille_Tableau_en_bits
Taille_Tableau_en_octets + 1
FinSi
Creer_Tableau Mon_Tableau.b(Taille_Tableau_en_octets)
Pour i.l = 0 jusque Taille_Tableau_en_octets
Mon_Tableau(i) = i
Suivant
BitValue.l
Pour Pointeur_octet.l = 0 jusque Taille_Tableau_en_octets
Afficher_trace Cadrer_a_droite(Hex(Mon_Tableau(Pointeur_octet), #PB_Byte), 8, "0") + #TAB$ + Cadrer_a_droite(Bin(Mon_Tableau(Pointeur_octet), #PB_Byte), 8, "0")
Pour Position_bit.l = 0 jusque 7
! mov ecx, dword [a_Mon_Tableau]
! add ecx, dword [v_Pointeur_octet]
! mov edx, dword [v_Position_bit]
! mov ax, word [ecx]
! bt ax, dx
! jc Le_bit_est_a_1
! Le_bit_est_a_0:
! mov dword [v_BitValue], 0
! jmp Fin_du_test_de_bit
! Le_bit_est_a_1:
! mov dword [v_BitValue], 1
! Fin_du_test_de_bit:
Afficher_trace Nombre_en_texte(Pointeur_octet) + #TAB$ + Nombre_en_texte(Position_bit) + #TAB$ + Nombre_en_texte(BitValue)
Suivant
Suivant
Appel_Mode_Pas_a_pas
Fin_du_Programme
Re: Petite gâterie pédagogique en PureBasic francophone
Publié : dim. 23/oct./2016 19:39
par falsam
Hello fweil. Merci pour ce joke ^^
Seulement voila ...... la chute est ratée.
[20:36:34] [COMPILER] Line 52: Syntax error.
Remplacer
par
PS :
Je me demande quand même quelle image tu as des autres utilisateurs de ce forum ...
Re: Petite gâterie pédagogique en PureBasic francophone
Publié : dim. 23/oct./2016 21:03
par Ollivier
Falsam a écrit :PS : Je me demande quand même quelle image tu as des autres utilisateurs de ce forum ...
On ne peut pas avoir réellement d'image des "autres utilisateurs" Falsam !
Je suis désolé de philosopher sur ta remarque. Mais je t'assure que je le fais constructivement.
"Je" suis ces autres utilisateurs, "Tu" es ces autres utilisateurs, "Il" est ces autres utilisateurs. Nous formons un groupe avec, chacun ses qualités et ses défauts.
Je suis d'accord avec toi qu'il y a parfois des personnes avec des défauts reprochables, et c'est le but de la modération.
Pour exemple, tu n'as pas encore saisi que, matériellement, il m'est quasi-impossible de tenir une conversation en mp! (par contre, par mail, c'est impeccable) Bon, je ne t'en fais pas un fromage. Car, j'apprécie tes apports et la rigueur que tu te contrains à la présenter au mieux.
Le type d'erreur que fweil a fait et que tu as souligné, c'est le genre d'erreur typique que l'on fait quand on se prend la tête à rédiger un message directement sur l'explorateur, sans avoir forcément le compilateur en route.
Je trouve ta remarque un peu forte, par rapport au travail nécessité.
Imagine : une seule lettre de l'alphabet en trop et "paf!" tu colles un pv, et en public!!! Ce temps et cette énergie, qu'est-ce que je l'aimerais bien...
Re: Petite gâterie pédagogique en PureBasic francophone
Publié : dim. 23/oct./2016 21:04
par fweil
@falsam ... merci pour avoir pointé la coquille, j'ai fait l'oeuf ... c'est corrigé.
PS : je ne me fais pas d'image ... j'en fabrique de temps en temps. Je suis également doté d'un fort sens de l'autodérision.
Ce qui est à la fois un plus et un moins sur ce forum, c'est que tout le monde peut y passer et parfois ça donne des trucs super ... et parfois moins. Bon à chacun de faire le tri.
Quoiqu'il en soit, le langage de Fred mérite un peu de dynamisme côté utilisateurs. Quelle que soit la raison qui fait qu'on utilise PureBasic, c'est un langage tout à fait abouti et performant, et c'est l'un des piliers de ma production alimentaire et de loisirs.
Re: Petite gâterie pédagogique en PureBasic francophone
Publié : dim. 23/oct./2016 21:16
par djes
Vue la méthode, j'ai hâte de voir, sacrebleu !
Mais pas de compilo avant demain, alors je comprends ollivier puisque je me retrouve souvent sur smartphone et que ce n'est vraiment pas l'idéal pour programmer (et encore, je ne vous explique pas à quoi ressemble un terminal bash sur un écran de 5 pouces)...
Re: Petite gâterie pédagogique en PureBasic francophone
Publié : dim. 23/oct./2016 21:44
par fweil
Un terminal bash en 5" est un petit écran chargé d'insultes de bd, on pourrait dire un outil de bashing. Les mécréants pourraient penser qu'il s'agit d'un truc pour dire du mal des autres en se tournant les pouces.
C'est aussi un bijou d'intelligence pour celui qui arrive à s'en servir.
Etant à moitié unixien, je penche pour la deuxième possibilité.
Re: Petite gâterie pédagogique en PureBasic francophone
Publié : dim. 23/oct./2016 21:46
par Ollivier
@fweil
Super le pti "a" de (a)rray ! Connaissais pas. C'est dans la doc?
Re: Petite gâterie pédagogique en PureBasic francophone
Publié : dim. 23/oct./2016 22:29
par fweil
@Ollivier,
Le a_ en préfixe d'un tableau donne la valeur d'adresse du début de tableau soit a_tableau en assembleur = @tableau() = @tableau(0).
Je sais pas si c'est dans la doc quelque part, mais je pense que c'est écrit à différents endroits sur le forum.
En fait les règles de programmation entre PB et assembleur, si on utilise pas le inline asm qui évite de se prendre la tête, c'est que toutes les variables sont préfixées v_, les pointeurs p_ et les adresses tableaux a_. Il doit y avoir d'autres trucs comme ça à connaître, mais qui peuvent facilement être déduits en générant le code depuis la compilation avec le flag /COMMENTED.
A l'intérieur des procédures, les mêmes préfixes sont utilisablesz, avec un préambule sur le préfixe qui est p.
La variable locale toto dans une procédure est ainsi identifiée en asm avec p.v_toto
Re: Petite gâterie pédagogique en PureBasic francophone
Publié : dim. 23/oct./2016 22:50
par falsam
@Ollivier (Le doigt de la justice).
Ollivier a écrit :Je suis désolé de philosopher sur ta remarque.
Moi aussi d'autant plus que tu es loin de philosopher.
Ollivier a écrit :Je trouve ta remarque un peu forte, par rapport au travail nécessité. .... Imagine : une seule lettre de l'alphabet en trop et "paf!" tu colles un pv, et en public!!!
Ou vois tu un procès verbal ?!!! Il ne s'agissait que d'un commentaire sans aucune agression contrairement à toi qui en public (
Et oui tu fais la même chose) est en train de me faire un procès d'intention.
Le type d'erreur que fweil a fait et que tu as souligné, c'est le genre d'erreur typique que l'on fait quand on se prend la tête à rédiger un message directement sur l'explorateur, sans avoir forcément le compilateur en route.
Rhooo j'aime ce commentaire ou "
que tu as souligné" me montre du doigts accusateur. La moindre des choses est de tester un code avant de le publier.
Ollivier a écrit :Ce temps et cette énergie, qu'est-ce que je l'aimerais bien...
Garde ton énergie pour faire de la méditation par exemple ou du yoga. C'est un bon exutoire à la colère et à l’énergie négative.
@fweil
falsam a écrit :PS : Je me demande quand même quelle image tu as des autres utilisateurs de ce forum ...
fweil a écrit :Je suis également doté d'un fort sens de l'autodérision.
Voila une réponse comme j'aime.
fweil a écrit :le langage de Fred mérite un peu de dynamisme côté utilisateurs.
+1
■ Pour conclure : Un bon sketch est encore plus drôle quand il finit par une chute maladroite. C'est le cas du code de fweil. ^^
Re: Petite gâterie pédagogique en PureBasic francophone
Publié : dim. 23/oct./2016 23:09
par Ollivier
@Falsam
En disant "les autres", j'en fais partie. Ce n'est point de la colère que de te dire mon désaccord sur ton expression qui, explicitement, se signe au nom des autres, dont je fais partie.
Si tu n'es point content de cette réaction "publique" de ma part, tu peux retrouver mon mail vieux de deux ans et y apporter une réponse.
Re: Petite gâterie pédagogique en PureBasic francophone
Publié : lun. 24/oct./2016 8:32
par Zorro
@Fweil :
je ne veux pas jouer les plombeurs d'ambiance
mais le forum contient une rubrique Asm
http://www.purebasic.fr/french/viewforum.php?f=12
je pense que ce code devrai y etre
mais bon , ce n'est qu'une remarque lié a la logistique
Re: Petite gâterie pédagogique en PureBasic francophone
Publié : lun. 24/oct./2016 9:03
par falsam
Zorro enlève ton masque tu pourras mieux décrypter le premier message.

<== Tu l'as bien vu hein?
Re: Petite gâterie pédagogique en PureBasic francophone
Publié : lun. 24/oct./2016 9:22
par Kwai chang caine
Fweil a écrit :Bon j'ai commis ça. C'est pour montrer une approche de ce qu'est la programmation en évitant d'effrayer les personnes qui veulent étudier le langage sans étudier les langues
Cool, je viens d'essayer

En fait au debut j'ai cru que c'etait de la magie....ASMiene

Puis j'ai vu les MACROS...
D'un autre coté c'est une bonne idée, encore ce week end, le gamin me disait qu'il programmerait bien si ce n'etais pas en anglais
En vrai, il a trouvé cette excuse, pour réserver ses neurones aux jeux sur smartphone

Je vais pouvoir lui mettre le nez dedans

Il va me dire maintenant, qu'il programmerait bien en français, si il fallait pas frapper sur un clavier
Merci FWEIL de cette bonne idée et du partage

Re: Petite gâterie pédagogique en PureBasic francophone
Publié : lun. 24/oct./2016 9:24
par falsam
le gamin me disait qu'il programmerait bien si ce n'etais pas en anglais
Allez au boulot. Tu n'as plus qu'à faire des macros pour chacune des fonctionnalités de PureBasic. ^^
Re: Petite gâterie pédagogique en PureBasic francophone
Publié : lun. 24/oct./2016 9:28
par Kwai chang caine
C'est vrai ces MACROS, c'est vraiment un truc tres fort

Dans la vraie vie, faut attendre au moins une semaine hors du frigo, pour que ce soit aussi fort
Et quand j'avais lu, que les MACROS etaient prioritaires sur les NATIVES...(on dirait une explication de Kholanta

) et ben je suis encore plus tombé sur le cul
D'un autre coté, c'est pas pour ça que je les utilisent
Allez au boulot. Tu n'as plus qu'à faire des macros pour chacune des fonctionnalités de PureBasic. ^^
On pourrait demander à GOGOLE
