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

Code : Tout sélectionner

Fin_du_Progreamme
par

Code : Tout sélectionner

Fin_du_Programme
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. :mrgreen: <== 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 :lol: 8)
En fait au debut j'ai cru que c'etait de la magie....ASMiene 8O
Puis j'ai vu les MACROS... :idea:

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 :mrgreen:
Il va me dire maintenant, qu'il programmerait bien en français, si il fallait pas frapper sur un clavier :? :lol:

Merci FWEIL de cette bonne idée et du partage 8)

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 8O
Dans la vraie vie, faut attendre au moins une semaine hors du frigo, pour que ce soit aussi fort :mrgreen:

Et quand j'avais lu, que les MACROS etaient prioritaires sur les NATIVES...(on dirait une explication de Kholanta :D ) et ben je suis encore plus tombé sur le cul 8O
D'un autre coté, c'est pas pour ça que je les utilisent :oops:
Allez au boulot. Tu n'as plus qu'à faire des macros pour chacune des fonctionnalités de PureBasic. ^^
On pourrait demander à GOGOLE :lol: