[Tutoriel] Un Lbl tout en un
Posté le 26/02/2014 16:42
Bonjour,
aujourd'hui je vous propose un alternative au GoTo, fonction controversée et souvent évité.
Pourquoi ?
C'est un fonction lente
Elle peut etre a l'origine de bug (voir
ce tutoriel)
Il n'y en a que 26 (les lettres) + 10 (les chiffres) + 2 (θ et π) =38
L'astuce ?
C'est simple, voici le code :
0[b]->[/b]L [green]'Libelé par défault[/green]
[red]Lbl[/red] [maroon]0[/maroon]
[b][blue]If[/blue][/b] L=[maroon]0[/maroon]
[b][blue]Then[/blue][/b] [green]'Libelé [maroon]0[/maroon][/green]
...
[b][blue]IfEnd[/blue][/b]
[b][blue]If[/blue][/b] L=[maroon]1[/maroon]
[b][blue]Then[/blue][/b] [green]'Libelé [maroon]1[/maroon][/green]
...
[b][blue]IfEnd[/blue][/b]
etc...
[b][blue]If[/blue][/b] L=[maroon]9[/maroon]e99
[b][blue]Then[/blue][/b] [green]'Libelé [maroon]9[/maroon]e99[/green]
...
[b][blue]IfEnd[/blue][/b]
[red]Goto[/red] [maroon]0[/maroon]
Ici, L est la variable de "libelé", c'est a dire que si par exemple vous voulez accèder au premier libelé, mettez la variable L a 1 (0->L) puis faire un retour a la racine par un Goto 0 (j'aurais aussi bien pu mettre la variable X et le Lbl 7... Question d'habitude, a vous de choisir ;D)
Ensuite, je vous conseille de mettre comme je l'ai fais un Goto 0 général a la fin du programme pour éviter les boucles infinis...
Et enfin, avant le Lbl 0, initialiser la variable L pour savoir quel sera le libelé "par défault" de votre programme.
Maintenant, on a :
Une infinité (enfin presque) de libelés
Plus aucun bug
Un Goto rapide puisque le Lbl se trouve au début du programme (la calculatrice recherchant les Lbl de manière linéaire)
Ainsi, quand vous voulez par exemple faire une redirection, vous n'avez plus qu'a écrire ce code :
Numero_du_libelé [b]->[/b] L : [red]Goto[/red] [maroon]0[/maroon]
Bonne programmation a tous !
Alternative proposée par Louloux
Cliquer pour enrouler
Remplacer le "Lbl 0" par un "Do" et le "Goto 0" par un "Lpwhile 1" de sorte a avoir la meme chose sous forme de boucle.
Avantages :
Eviter la perte de temps avec le Goto
Inconvénient :
Avant de rejoindre le libelé de destination, le programme doit finir le parcourt de la boucle, sauf si ce libelé se trouve après celui en cours
Il faut utiliser une variable de sortie s'il y a des boucles/conditions imbriquées les unes dans les autres
Citer : Posté le 02/03/2014 13:42 | #
Ils s'en fichent
Citer : Posté le 02/03/2014 13:58 | #
Il mettent peut-être du code comme ça dans les manuel d'enseignants pour qu'ils comprennent mieux.
-ASM (assembleur) sur x86 et gb-Z80
-locomotive basic/amstrad basic
-Basic Casio
-VBS
-Batch
-Bash
-Python 3.4
-html
-CSS
-javascript
-Lua
-brainfuck
-ruby
Il faut savoir que je ne maitrise pas parfaitement tout ces langages
[/spoiler]
Remerciment
Ma calto: graph 75
Citer : Posté le 02/03/2014 14:01 | #
En effet, c'est sûrement un exemple d'utilisation qui peut être facilement contourner par les boucles
Zelda de Smashmaster
Super Geek Brothers de Siapran
Pac-Man
Pac-Man Color
Meta Ball
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Citer : Posté le 02/03/2014 14:10 | #
Bon par contre j'avoue ne pas trop comprendre la version de Louloux...moi un noob nnnnoooonnnn !
-ASM (assembleur) sur x86 et gb-Z80
-locomotive basic/amstrad basic
-Basic Casio
-VBS
-Batch
-Bash
-Python 3.4
-html
-CSS
-javascript
-Lua
-brainfuck
-ruby
Il faut savoir que je ne maitrise pas parfaitement tout ces langages
[/spoiler]
Remerciment
Ma calto: graph 75
Citer : Posté le 02/03/2014 15:04 | #
Ils s'en fichent
Tu leur as écrit ?
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 02/03/2014 15:22 | #
Ils s'en fichent
Tu leur as écrit ?
Non, mais je pense qu'ils ne veulent pas d'un code compliqué et que de toute façon leurs livrets pédagogiques ont deux ans et ils ont d'autres priorités.
Citer : Posté le 02/03/2014 15:31 | #
Leur code n'est guère plus évident :/
Peut-être qu'il est plus explicite pour un utilisateur ne connaissant pas le basic casio...
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<