90

Bah c'est exactement ça !? Sauf qu'en plus tu peux choisir et nommer ton bloc de code pour plus de puissance et de lisibilité. Bref moi j'y vois une certaine élégance pour des cas particuliers.

91

92

Il se trouve que c'est suffisamment peu connu pour ne pas être utilisé par les noobs, donc je trouve ça satisfaisant. C'est sûr que ça m'ennuierait si je voyais ça partout et mal utilisé.
Mais faut pas être sectaire.

93

Ouais, mais c'est du Java embarrassed
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

94

Ah oui, pardon.

95

Zerosquare (./89) :
En effet. Mais rien que si l'effet du break en C était de quitter le bloc (paire d'accolades) en cours dans tous les cas, ce serait déjà très bien.

Ça serait vraiment casse-pieds, on ne pourrait faire un break; conditionnel qu'avec un if sans accolades, ce qui ferait paniquer certains.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

96

Perso, ça me dérangerait pas plus que ça.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

97

Le truc puissant dans le code de Pen^2, c'est l'attribution d'un nom à un bloc, ça évite toute erreur d'interprètation, et ça permet de modifier le code sans rien casser. J'aime vraiment. Peut-être parce que du coup, ça se rapproche plus de la structure d'un programme en asm que d'un programme structuré classique. cheeky

98

Euh non, en ASM, tu n'as pas de blocs, juste des labels et des instructions.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

99

Et des sauts conditionnels, dont il est question ici. Après, t'as pas de blocs en assembleur, évidemment, mais rien n'empêche de formaliser un peu ton écriture, pour obtenir une qqchose de facile à lire. C'est ma façon de faire en tout cas.

100

Franchement utiliser un goto plutot que cette pseudo astuce a base de break serait bien plsu propre..

Sinon Zero: oui mais kevin a raison la dessus, if (bla) {break;} ou meme if (bla) { continue;} est quand meme assez souvent utilisé, et on ne pourrais pas le faire.. En meme temps je pense que le break actuel est pas si mal.
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

101

Dans quel cas ? (perso, je ne l'utilise jamais)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

102

Truc tout bete, parsage de fichier:

si par exemple ton fichier est un format texte, que tu decide que si le premiere caractere est un "#" tu peux ignorer la ligne, et que si tu tombe sur un "$" en début de ligne ce qui suit dans le fichier est pas interessant (et imaginont que le format utiliser des trucs conditionel qui peuvent faire sauter des lignes, donc meme si il y a un "$" on ne s'arrete pas forcement si la ligne est sauté.

Tu peux assez facilement resoudre ce genre de conditions avec un continue et un break poru les deux cas:char buf[512]; FILE *fp = fopen(bla, "rt"); while(!feof(fp)) { fgets(fp, buf, 511); if (buf[0] == '#') continue; if (buf[0] == '$') break; [...] }
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

103

Oui, mais dans ton exemple il n'y a pas d'accolades, donc ça ne changerait rien smile

C'est vrai que tu pourrais avoir besoin d'un break ou d'un continue dans un if() if (...) { ... fin_boucle = 1; } if (fin_boucle) break; } avec accolades, mais dans ce cas, un truc de ce style me semble plus clair de toute façon : for (...) { int fin_boucle = 0;

Et Ximoon te dirait qu'il y a des normes de codage vont plus loin : ils interdisent carrément les break (sauf dans les switch) et les continue tongue
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

104

(je n'ai pas mis d'accolades parceque c'est chiant de taper du code ici directement et de bien indenter sinon j'en aurais mis)

Par contre un deja ton exemple tu utlilise un break pour sortir du for et je trouve pas sa bien plsu clair tongue

Certains te dirons de mettre le test de "fin_boucle" dans ce cas le test du for/while

Et mon cas plus haut est aussi utilisé pour parser les arguments d'un programme, genre pour le cas ou '--' sert a dire "ne parse plus les arguments, et utiliser tout ce qui est apres tel que
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

105

il y a bien des blocs en asm. ce sont les séquences d'instructions au milieu desquelles personne ne saute.

106

Kevin Kofler (./98) :
Euh non, en ASM, tu n'as pas de blocs, juste des labels et des instructions.


Folco (./99) :
Et des sauts conditionnels, dont il est question ici. Après, t'as pas de blocs en assembleur, évidemment, mais rien n'empêche de formaliser un peu ton écriture, pour obtenir une qqchose de facile à lire. C'est ma façon de faire en tout cas.


Folco a tout fait raison, ce que tu considère comme un bloc chez toi, c'est une 'astuce visuel' va t'on dire. Si tu formatte ton code correctement en asm, cela fait aussi des blocs. Et exception des personne qui codent des démos en asm, on le fait tous par instinct pour retrouvé ces petits. tongue

Tu utilise des labels avec des noms explicite aussi, pour pouvoir retrouvé facilement un morceau de code.

GT calin Folco

P.S. : Au fait Folco, je t'ai envoyé un email wink
avatar
Accrochez vous ca va être Cerebral !!

107

ok ! smile

108

(euh, pas reçu encore ?!)

109

Envoyez le 17/12/2014 smile

Bon je te le renvois de suite smile


GT octopus
avatar
Accrochez vous ca va être Cerebral !!

110

argh xD

111

La différence avec les vrais blocs, c'est que ça ne s'imbrique pas*. Le comportement fallthrough par défaut et la possibilité de jouer avec l'indentation permettent de simuler des blocs imbriqués, mais l'assembleur ne voit aucune différence entre:
label1:
  foo
  bar
label2:
  baz
  toto

et
label1:
  foo
  bar
  label2:
    baz
    toto


* Certains assembleurs reconnaissent des labels locaux, permettant 2 niveaux d'imbrication, mais ça reste limité à 2.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

112

Euh, à qui crois-tu apprendre quelque chose, ici, avec ce post ? cheeky

113

Je vous dis que vous avez tort d'appeler ça des blocs. tongue C'est tout. smile
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

114

Formellement, bien sûr, c'est d'ailleurs pourquoi l'assembleur est à la limite de la définition de "langage de programmation". On est plus dans un langage formalisé, mais dans de l'exécutable pur, sans abstraction. C'est pour ça que c'est facile de coder en assembleur d'ailleurs.
Mais il ne faut pas nier les bienfaits d'une pensée structurée, malgré tout, pour clarifier les choses, les rendre aisément lisibles et maintenables. C'est pourquoi l'appellation bloc n'est pas vraie au sens strict, en effet, mais on petu simuler cette notion importée des langages de haut niveau.

115

Et au fait, l'appelation correcte est "bloc basique" ("basic block"). Ce qu'il n'y a pas, ce sont les blocs généraux (qui s'imbriquent, contrairement aux blocs basiques)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

116

ils simbriquent logiquement via les sauts; ce sont eux qui construisent la structure du programme.