Et Vive le Goto !
Mer 6 Jan - 12:30
Bonjour,
Réf. : http://www.les-mathematiques.net/phorum/read.php?15,2158638
C'est un sujet qui revient régulièrement "le GOTO beurk !".
Le plus comique c'est que l'instruction "saut" est l'une des instructions fondamentales en informatique.
J'ai eu une discussion il n'y a pas très longtemps sur le sujet, je crois que c'était avec PM42. Il m'a dit clairement que je n'y connaissais rien et que cette instruction pouvait provoquer des dégâts. Je lui ai demandé un exemple, naturellement je n'ai rien reçu.
Toutes les instructions du type boucle sont des GOTO déguisés. Il y a une instruction bien connue en C/C++, c'est le switch, c'est le correspondant du goto calculé du fortran.
Bref, c'est une instruction comme une autre, on l'utilise si on veut. Qu'elle n'existe pas en Python me parait assez caractéristique de la volonté de ses auteurs de s'éloigner le plus possible de la logique informatique.
PS La solution donnée par Soleil_Vert est parfaite, elle comporte 2 Goto déguisés.
Réf. : http://www.les-mathematiques.net/phorum/read.php?15,2158638
C'est un sujet qui revient régulièrement "le GOTO beurk !".
Le plus comique c'est que l'instruction "saut" est l'une des instructions fondamentales en informatique.
J'ai eu une discussion il n'y a pas très longtemps sur le sujet, je crois que c'était avec PM42. Il m'a dit clairement que je n'y connaissais rien et que cette instruction pouvait provoquer des dégâts. Je lui ai demandé un exemple, naturellement je n'ai rien reçu.
Toutes les instructions du type boucle sont des GOTO déguisés. Il y a une instruction bien connue en C/C++, c'est le switch, c'est le correspondant du goto calculé du fortran.
Bref, c'est une instruction comme une autre, on l'utilise si on veut. Qu'elle n'existe pas en Python me parait assez caractéristique de la volonté de ses auteurs de s'éloigner le plus possible de la logique informatique.
PS La solution donnée par Soleil_Vert est parfaite, elle comporte 2 Goto déguisés.
Re: Et Vive le Goto !
Jeu 7 Jan - 14:09
Bonjour,
Cette histoire du Goto est un faux problème.
Le langage Basic comportait l'instruction Goto, en Fortran, elle existe sous différentes formes, disons que c'est une instruction de base. Comme je l'ai dit dans le message précédent, le switch qui existe en Python est un goto déguisé.
Par contre, il y a une logique que je n'aime pas : le code d'une fonction inclus dans un fonction. Ca existait en Fortran IV, je ne connais pas le Fortran moderne. Cette écriture existe en Python.
En programmation, que le langage soit interprété ou compilé, on ne peut pas se passer du jump. Quelle que soit la forme de son écriture, il existe forcément.
Cette histoire du Goto est un faux problème.
Le langage Basic comportait l'instruction Goto, en Fortran, elle existe sous différentes formes, disons que c'est une instruction de base. Comme je l'ai dit dans le message précédent, le switch qui existe en Python est un goto déguisé.
Par contre, il y a une logique que je n'aime pas : le code d'une fonction inclus dans un fonction. Ca existait en Fortran IV, je ne connais pas le Fortran moderne. Cette écriture existe en Python.
En programmation, que le langage soit interprété ou compilé, on ne peut pas se passer du jump. Quelle que soit la forme de son écriture, il existe forcément.
Re: Et Vive le Goto !
Sam 9 Jan - 11:51
Bonjour,
Apparemment l'éruption de boutons provoquée par Python chez certains informaticiens est plus répandue qu'on ne le pense. Mais il y en a peu qui osent le dire.
J'avoue que, moi aussi, j'ai très rarement utilisé le goto pour la simple raison que j'ai trop écouté des gens qui n'avaient jamais programmé.
Je tiens à signaler que mon compilateur n'accepte pas un goto qui serait une faute de logique.
Question : le python accepte-il ce genre de chose ? je le crains.
Bonne journée.
Apparemment l'éruption de boutons provoquée par Python chez certains informaticiens est plus répandue qu'on ne le pense. Mais il y en a peu qui osent le dire.
J'avoue que, moi aussi, j'ai très rarement utilisé le goto pour la simple raison que j'ai trop écouté des gens qui n'avaient jamais programmé.
Je tiens à signaler que mon compilateur n'accepte pas un goto qui serait une faute de logique.
Question : le python accepte-il ce genre de chose ? je le crains.
Bonne journée.
Re: Et Vive le Goto !
Sam 9 Jan - 14:20
Voila un texte de quelques pages écrit il y a près de 40 ans.
Sachant le rythme d'évolution de l'informatique et en particulier de la programmation, c'est assez amusant.
http://www.usm.uni-muenchen.de/~hoffmann/roff/tmp/rpdup.pdf
Pour préciser les choses, j'ai écrit un logiciel de traitement automatique en Fortran à cette époque. Ce logiciel a calculé et dessiné environ 400 lotissements de maisons individuelles.
Bonne lecture.
Sachant le rythme d'évolution de l'informatique et en particulier de la programmation, c'est assez amusant.
http://www.usm.uni-muenchen.de/~hoffmann/roff/tmp/rpdup.pdf
Pour préciser les choses, j'ai écrit un logiciel de traitement automatique en Fortran à cette époque. Ce logiciel a calculé et dessiné environ 400 lotissements de maisons individuelles.
Bonne lecture.
Re: Et Vive le Goto !
Sam 9 Jan - 17:09
J'ai la nette impression que dans de nombreux messages, on fait un amalgame entre algorithmique et programmation.
L'algorithmique c'est la science qui décrit une opération ou un groupe d'opérations.
En logique le nombre d'opérations ou de tests est très limité. Un programme, quel qu'il soit est strictement linéaire et séquentiel. Mettons de côté la logique événementielle. Les seules instructions de base sont IF et JUMP. Dans le code cité par Dom, qu'est-ce qui ferait que le programme sorte de la boucle ?
D'autre part, si on écrit un programme, c'est pour avoir un résultats. Il n'y a que les spécialistes un peu curieux qui écrivent un bout de code pour le seul motif de savoir si ça marche ou le temps que ça prendra.
Il me parait très regrettable que l'on ne fasse plus faire de jolis ordinogrammes avec des losanges pour les tests, des rectangles pour les calculs, des cylindres pour les entrées-sorties, des flèches résultant des goto etc.
Il est très caractéristique de constater que le terme "algorithme" est maintenant synonyme de "programme".
L'algorithmique c'est la science qui décrit une opération ou un groupe d'opérations.
En logique le nombre d'opérations ou de tests est très limité. Un programme, quel qu'il soit est strictement linéaire et séquentiel. Mettons de côté la logique événementielle. Les seules instructions de base sont IF et JUMP. Dans le code cité par Dom, qu'est-ce qui ferait que le programme sorte de la boucle ?
D'autre part, si on écrit un programme, c'est pour avoir un résultats. Il n'y a que les spécialistes un peu curieux qui écrivent un bout de code pour le seul motif de savoir si ça marche ou le temps que ça prendra.
Il me parait très regrettable que l'on ne fasse plus faire de jolis ordinogrammes avec des losanges pour les tests, des rectangles pour les calculs, des cylindres pour les entrées-sorties, des flèches résultant des goto etc.
Il est très caractéristique de constater que le terme "algorithme" est maintenant synonyme de "programme".
Quelle loi d'analyse combinatoire ?
Sam 9 Jan - 19:18
Bonjour,
Réf. : https://www.maths-forum.com/superieur/esperance-t228657.html
C'est une question qui concerne l'analyse combinatoire.
C'est comme tirer des boules dans une urne.
Réf. : https://www.maths-forum.com/superieur/esperance-t228657.html
C'est une question qui concerne l'analyse combinatoire.
C'est comme tirer des boules dans une urne.
Re: Et Vive le Goto !
Sam 9 Jan - 22:59
Bonsoir,
Concernant l'utilisation de l'informatique, de ce que signifie "algorithme", la nécessité de savoir ce qu'on fait etc. il y a un très bel exemple en cours. Des gens très compétents essayent de l'expliquer au demandeur, mais apparemment sans succès pour l'instant. La seule chose qui semble l'intéresser semble être la transposition de son code Python dont il n'est peut-être pas l'auteur en C/C++.
S'il commençait par rédiger l'algorithme en français, n'importe qui pourrait le coder.
C'est assez comique.
Concernant l'utilisation de l'informatique, de ce que signifie "algorithme", la nécessité de savoir ce qu'on fait etc. il y a un très bel exemple en cours. Des gens très compétents essayent de l'expliquer au demandeur, mais apparemment sans succès pour l'instant. La seule chose qui semble l'intéresser semble être la transposition de son code Python dont il n'est peut-être pas l'auteur en C/C++.
S'il commençait par rédiger l'algorithme en français, n'importe qui pourrait le coder.
C'est assez comique.
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|