Bonsoir,
svp y'a t'il des règles de passage du procédé itératif vers le procédé récursif?
s'il y en a lesquelles?
Bonsoir,
svp y'a t'il des règles de passage du procédé itératif vers le procédé récursif?
s'il y en a lesquelles?
oui la règle dite "idiote" ...
vouloir passer de l'itératif au récursif c'est comme passé d'une formule 1 à une 2CV!
[ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
Ma messagerie n'est pas la succursale du forum... merci!
+1
Bon, ne soyons pas trop méchants. Je suppose qu'il y a des problèmes qui se résolvent plus facilement en récursif qu'en itératif. Le parcours d'une arborescence, par exemple.
Pour le reste, c'est vrai que c'est tarte de s'encombrer de la récursion. C'est comme les pointeurs, d'ailleurs : faut surtout pas en abuser !
« Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
Attribué indistinctement à :
Thomas Jefferson
Benjamin Franklin
Albert Einstein !
Lae,
Sans parler d'un processus récursif utilisant des pointeurs.
Mais il est vrai que la récursivité est utile pour certaines tâches. Ce qui me fait réagir, c'est que nombres de profs l'enseignent avec des exemples qui sont à l'antipode de cette utilité (typique : factorielle ).
Si les cons volaient, il ferait nuit à midi.
Hei,
Oui, mais quand c'est pour apprendre, l'enseignant se doit d'expliquer que c'est seulement un exemple, et préciser que la récursivité n'est utile que si elle apparaît naturellement dans la description du problème.
Son usage pour calculer une factorielle, que je retrouve souvent dans les programmes autres que ceux d'apprentissage me hérisse littéralement, montre que le prof n'a pas fait son boulot.
Et je ne parle que de la factorielle pour simplifier, mais il y a de nombreux autres exemples d'usage aberrant.
Si les cons volaient, il ferait nuit à midi.
Eh oui !
Mais qui te dit que le prof ne l'a pas clairement expliqué ?
Certaines études ont, à ce que j'ai entendu dire, démontré que, lors d'une conférence, les auditeurs ne retenaient que 10 % du discours.
Même si l'enseignant est très bon, on ne peut espérer un "rendement" supérieur à 20 - 25 %, ce qui laisse un minimum de 75 % de "déchet" !
Il arrive donc à tout le monde de retenir d'un cours des informations erronées.
Sans compter que le programmeur peut se faire un petit plaisir en codant un truc d'une façon originale, même si ce n'est pas la plus lisible, la plus efficace...
Souvenons-nous de certains programmeurs en C qui s'ingéniaient à coder toute une boucle dans la seule ligne for (...)... À la base c'était aussi un exercice d'école (d'ingénieurs, surtout), pour apprendre à bien maîtriser le langage. C'est vite devenu une mode , puis un moyen de garder son emploi (le développeur étant le seul à pouvoir comprendre ce qu'il a écrit...) , enfin une faute professionnelle.
Ceci dit, il existe des profs, purs théoriciens, qui ne rêvent que de récursivité & autres machins tordus du même style, car le code est plus élégant, car c'est conforme au fonctionnement d'une machine théorique, car c'est plus proche de l'axiome de Truc...
Bref, avant de désigner les coupables...
« Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
Attribué indistinctement à :
Thomas Jefferson
Benjamin Franklin
Albert Einstein !
Noe,
Étant moi-même enseignant, je sais très ce qui se fait, je n'ai qu'à regarder les cours de collègues.
D'ailleurs, quand j'ai des élèves venant d'autres cours, je constate que la plupart vont coder la factorielle () en récursif. Et quand je leur demande pourquoi ils n'utilisent pas la version itérative, qui est naturelle puisque découlant directement de la définition, la réponse est quasi systématiquement "notre professeur nous a expliqué que c'était mieux". Et là, ça me fait bondir à chaque fois.
Que des théoriciens de l'informatique discutent de ça, et même l'affirment, c'est leur droit, encore que souvent ils oublient le côté utile pour ne penser qu'à la beauté, ce qui dans la pratique de la programmation ne conduit pas vraiment très loin, sauf en ce qui concerne la perte de temps et d'efficacité (car il faut que le programmeur ET son programme soient efficaces, ce qui inclut facilité de lecture, compréhension, reprise en mains par un autre ...).
Mais de là à ce qu'un prof enseigne ce genre de "certitude" à des élèves débutants, il y a une très grosse différence, et je m'insurge contre ça.
Si les cons volaient, il ferait nuit à midi.
Là, je ne peux qu'approuver.
À 100 %.
D'ailleurs, c'est ce que j'avais écrit (en gros) dans mon premier message.
« Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
Attribué indistinctement à :
Thomas Jefferson
Benjamin Franklin
Albert Einstein !
je connais ça , bien qu'étant étudiant, ça m'arrive de donner quelques cours de soutient sur le langage C.Bien souvent, un élève peut affirmer que le prof ne nous a pas appris un tel truc ou nous a dit que tel truc ne marche pas. Mais est-ce la vérité? ça m'arrive meme parfois de jurer par pascal qu'un prof ne nous a jamais parlé d'un theme donné
Mais je pense que l'élève comprendra mieux si on lui montre pourquoi on dit qu'un truc est meilleur que l'autre au lieu d'affirmer sans povoir le montrer.
on devrait inventer un langage qui refuse de compiler les méthodes récursives.
et les blocs notes aussi.
[ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
Ma messagerie n'est pas la succursale du forum... merci!
Fastoche !
Il suffit de retirer cette fonctionnalité des compilateurs existants.
« Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
Attribué indistinctement à :
Thomas Jefferson
Benjamin Franklin
Albert Einstein !
A OUI?
Tout a fait d'accord avec vous, et je signala en plus que la recursite s'adapte bien avec les algo recurrents d'ordre >=2 généralement comme le triangle de pascal, le calcul de combinaisons Cnp, ...
c'est en fait un autre esprit de pensée;
salut.
d'aprés Niklaus Wirth : il faut éviter d'utiliser la récursivité lorsqu'il y a une solution itérative.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager