Ce « langage » supprime la complexité dans le même sens que ce que j'avais fait pour cet atelier :
Alors pour cette version en Java, j'ai voulu faire simple. J'ai donc éliminé tout ce qui pourrait nuire à la bonne compréhension du code, à savoir :
Les notions compliquées de String ou pire, de StringBuffer|StringBuilder. Ou même de tableau de char. On affiche directement les caractères les uns après les autres.
Tout import explicite à une quelconque lib externe ou à une quelconque fonction non implicite de la JVM.
Tout ce qui ressemble à un objet, autre ce qui est strictement imposé en Java.
Toute forme de fonction.
Toutes variable intermédiaire inutiles.
Les boucles imbriquées — une seule, c'est déjà beaucoup.
Les variables avec un nom compliqué, donc composé de plusieurs caractères.
Tous les nombres dont la représentation est ambigüe selon la base utilisée – donc tout nombre autre que 0 ou 1.
À noter que j'avais une version avec un formatage en forme de sapin et un autre sans la variable intermédiaire de la ligne 4, mais là le code devenait difficilement lisible donc peu compréhensible.
Dommage parce-que la réponse est quand même juste (donc la question n'est pas bien formulée ?)
Accessoirement, imaginons qu'en tant que prof de math (ou faisant la pratique assidue) et n'ayant jamais fait de Java (et non de java), je tombe sur (1 << 1) je penserai forcément que c'est faux (un nombre ne peut pas être très très inférieur à lui-même) du moins dans nos algèbres classiques. :)
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
Vous pouvez vérifier, ce code fonctionne. Saurez-vous me dire comment ?
Bah il fat "juste" en compliqué ce qui est interdit pour afficher 0x20, 0x42 ou 0x0A suivant le besoin, afin de rentrer dans le joli algo, par exemple :
Tous les nombres dont la représentation est ambigüe selon la base utilisée – donc tout nombre autre que 0 ou 1.
1 << (1 << 1) n'est qu'une façon de dire 4, et mettre une autre lettre que O pour la variable permet de mieux voir les zéros.
Il y a vraiment de tout chez les humains dans les plaisirs de casse-tête!
Sinon l'avantage c'est que c'est facile à tester avec un compilo C vu que la "formule" est identique en C :-p.
Si tu peux garder la boucle, c'est pas très éloigné de ce que j'avais fait. Il faut juste reprendre l'expression à partir de nombres (cf plus loin dans le sujet de forum en lien) et appliquer les transformations, c'est plus fastidieux que compliqué.
# okay
Posté par steph1978 . Évalué à 8.
# « Complexité »
Posté par SpaceFox (site web personnel, Mastodon) . Évalué à 10.
Ce « langage » supprime la complexité dans le même sens que ce que j'avais fait pour cet atelier :
La connaissance libre : https://zestedesavoir.com
[^] # Re: « Complexité »
Posté par Papey . Évalué à 8.
En étant interprété par la JVM ?
[^] # Re: « Complexité »
Posté par SpaceFox (site web personnel, Mastodon) . Évalué à 3.
Bien essayé, mais ça n’était pas la réponse attendue.
La connaissance libre : https://zestedesavoir.com
[^] # Re: « Complexité »
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 5.
Dommage parce-que la réponse est quand même juste (donc la question n'est pas bien formulée ?)
Accessoirement, imaginons qu'en tant que prof de math (ou faisant la pratique assidue) et n'ayant jamais fait de Java (et non de java), je tombe sur
(1 << 1)
je penserai forcément que c'est faux (un nombre ne peut pas être très très inférieur à lui-même) du moins dans nos algèbres classiques. :)“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: « Complexité »
Posté par Zenitram (site web personnel) . Évalué à 2.
Bah il fat "juste" en compliqué ce qui est interdit pour afficher 0x20, 0x42 ou 0x0A suivant le besoin, afin de rentrer dans le joli algo, par exemple :
1 << (1 << 1)
n'est qu'une façon de dire4
, et mettre une autre lettre queO
pour la variable permet de mieux voir les zéros.Il y a vraiment de tout chez les humains dans les plaisirs de casse-tête!
Sinon l'avantage c'est que c'est facile à tester avec un compilo C vu que la "formule" est identique en C :-p.
[^] # Re: « Complexité »
Posté par barmic 🦦 . Évalué à 5.
Pour ceux n'auraient pas d'environnement sous la main :
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: « Complexité »
Posté par cg . Évalué à 3.
Tu ferais le même avec juste des portes NON-ET ?
(moi non :D)
[^] # Re: « Complexité »
Posté par SpaceFox (site web personnel, Mastodon) . Évalué à 2.
Si tu peux garder la boucle, c'est pas très éloigné de ce que j'avais fait. Il faut juste reprendre l'expression à partir de nombres (cf plus loin dans le sujet de forum en lien) et appliquer les transformations, c'est plus fastidieux que compliqué.
La connaissance libre : https://zestedesavoir.com
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.