[PDF] [PDF] Cours 2 : La récursivité





Previous PDF Next PDF



[PDF] Cours 2 : La récursivité

De récursivité terminale si aucune instruction n'est exécutée après l'appel de la fonction à elle-même • De récursivité non terminale dans l'autre cas



[PDF] Algorithmique Récursivité

Quand une appel est récursive terminal on peut le transformer en un saut sans utilisation de mémoire supplémentaire Exemple : le tri rapide tri_rapide( 



[PDF] Programmation récursive 1 Quest-ce que la programmation - LIPN

Définition : un appel récursif dans lequel la fonction n'exécute aucune instruction après l'appel est un appel récursif terminal Page 4 Page 4/8 Ex : 



[PDF] Fonctions et récursivité STS SIO - IREM Clermont-Ferrand

Récursivité terminale Conclusion Récursivité terminale Conclusion Contenu les algorithmes récursifs vont procurer des avantages non



[PDF] Initiation à la programmation impérative et algorithmique - LCQB

On parle de récursivité non terminale lorsque l'appel récursif n'est pas la dernière instruction de la fonction et/ou qu'elle n'est pas isolée (fait partie 



[PDF] Récursivité des actions [rc] Support de Cours - Unisciel

-`a-d qu'elle fait partie d'une expression) Exemple Retour sur l'addition Fonction plus (non terminale)



[PDF] I Introduction - cpge paradise

L'ensemble E est dit bien fondé si toute partie non vide de E admet un élément minimal sont dans M f est dite récursive terminale si pour x /? M 



[PDF] Récursivité

Un exemple typique de fonction récursive terminale est le calcul du pgcd par la tableau non trié et bien loin du coût logarithmique de l'algorithme 



[PDF] TD n°3 - Récursivité terminale - LaBRI

Exercice 1: Récursivité terminale 1 Écrire une fonction plus récursive terminale qui appelée avec deux entiers a et b comme



Cours 2 : La récursivité - LRI

Le principe de récursivité Tout objet est dit récursif s’il se définit à partir de lui-même Ainsi une fonction est dite récursive si elle comporte dans son corps au moins un appel à elle-même De même une structure est récursive si un de ses attributs en est une autre instance 2013-2014 Algorithmique 2



Algo: Recursivité (fr)

La r ecursivit e n’est pas terminale si l’appel r ecursif n’est pas la derni ere instruction et/ou elle n’est pas isol ee (c - a-d qu’elle fait partie d’une expression) Exemple Retour sur l’addition Fonction plus (non terminale) Fonction plus(ab: Entier ) : Entier Début Si (b= 0 ) Retourner (a) Sinon



Algorithmique et programmation avancée - Le Mans University

récursive non terminale Deuxième méthode Quand la transformation n’est pas possible (récursivité multiple) on introduit une pile dans laquelle on stocke les paramètres de l’appel récursif Cette méthode est plus complexe à réaliser



CHAPITRE 6: LA RECURSIVITE

Récursivité terminale et non terminale Une fonction récursive est dite terminale si aucun traitement n'est effectué à la remontée d'un appel récursif (sauf le retour d'une valeur) Une fonction récursive est dite non terminale si le résultat de l'appel récursif est



Algorithmique Récursivité

11 de 11 Larécursivitéterminale(3) L’optimisationpeutsefaireappelparappel Retenir Quanduneappelestrécursiveterminalonpeutletransformeren unsaut

Quelle est la différence entre une fonction récursive terminale et non terminale ?

Une fonction récursive est dite terminale si aucun traitement n’est effectué à la remontée d’ un appel récursif (sauf le retour d’une valeur). Une fonction récursive est dite non terminale si le résultat de l’appel récursif est utilisé pour réaliser un traitement (en plus du retour d’une valeur).

Quel est le principe de récursivité ?

Le principe de récursivité. Tout objet est dit récursif s’il se définit à partir de lui-même Ainsi, une fonction est dite récursive si elle comporte, dans son corps, au moins un appel à elle-même De même, une structure est récursive si un de ses attributs en est une autre instance. 2013-2014 Algorithmique 2.

Qu'est-ce que la récursivité terminale?

Sans affectation, on utilise la récursivité pour programmer des boucles. (if (zero? n) La récursivité terminale est un mécanisme permettant à l’interprète scheme d’implémenter certaines boucles récursives comme des boucles itératives, c’est-à-dire sans utiliser de pile d’appel.

Comment transformer une fonction récursive terminale en une fonction itérative ?

Certains langages utilisent cette propriété pour exécuter les récursions terminales aussi efficacement que les itérations. Il est possible de transformer de façon simple une fonction récursive terminale en une fonction itérative : c’est la dérécursivation.

[PDF] Cours 2 : La récursivité

Cours 2 : La récursivité

Principe

Utilisation

Exemples

Le principe de récursivité

Tout objet est dit récursif s"il se définit à partir de lui-mêmeAinsi, une fonction est dite récursive si elle comporte, dans son corps, au moins un appel à elle-mêmeDe même, une structure est récursive si un de ses attributs en est une autre instance

2013-2014 Algorithmique2

CorrespondancemathématiquePrincipe de récurrenceExemple : définition des entiers (Peano)•0 est un entier•Si nest un entier, alors n+1 est un entier

2013-2014 Algorithmique3

Exemples de fonctions

récursives

Calcul de la somme des entiers

de 1 à n•On calcule la somme jusqu"à n-1•Puis on ajoute n

Idem avec le produit (fonction

factorielle)

2013-2014 Algorithmique4

Un peu de vocabulaire

Pour une fonction récursive, on

parlera :•De récursivité terminale si aucune instruction n"est exécutée après l"appel de la fonction à elle-même •De récursivité non terminale dans l"autre cas

2013-2014 Algorithmique5

ExempleTerminale

void f( int n){ if (n==0) System. out .println( "Hello" else f(n-1);

Non terminale

void f( int n) { if (n>0) f(n-1);

System.

out .println( "Hello"

Récursivité directe

Lorsque fs"appelle elle-même,

on parle de récursivité directe

Lorsque fappelle gqui appelle f,

il s"agit aussi de récursivité•On l"appelle alors indirecte

2013-2014 Algorithmique7

Exemples de structures

récursives

Liste récursive•Le premier élément•Et le reste de la liste (qui est aussi une liste)

Une expression arithmétique est :•Soit une valeur•Soit une expression, un opérateur et une autre expression

2013-2014 Algorithmique8

Implémentation

Comment programmer une

fonction récursive ?

Quels sont les pièges à éviter ?

2013-2014 Algorithmique9

Programmer une fonction

récursive

Il suffit de la faire s"appeler elle-mêmeint

f( int n){ return f(n-1);

La fonction fest récursive : elle

s"appelle elle-mêmeMais fn"a-t-elle pas un problème ?

2013-2014 Algorithmique10

Une obbligation : s"arrêter

La fonction ftelle qu"elle est écrite ne

s"arrête pas :•Appel : f(2) •Appel : f(1) •Appel : f(0) •Appel : f(-1) •Appel : f(-2) •Etc...

2013-2014 Algorithmique11

Comment y parvenir

Première étape : la condition

terminale•Obligatoirement au début de toute fonction récursive•Une condition : le cas particulier•Pour ce cas, pas d"autre appel à la fonction : la chaîne d"appels s"arrête

2013-2014 Algorithmique12

Exemple

void f( int n){ if (n==0)

System.

out .println( "Hello" else f(n-1); Ici quand nvaut 0, on s"arrêteProblème : arrive-t-on à n = 0 ?

2013-2014 Algorithmique13

Terminaisonde la fonction

Il faut que la fonction s"arrêteLa condition terminale ne sert à rien si elle ne devient jamais vraieExemple avec la fonction précédente :•f(-2) provoque une pile d"appels infinie •Probablement d"autres tests à faire (si n<0, envoyer une exception par exemple)

2013-2014 Algorithmique14

Une bonne solution

void f( int n) { if (n<0) System.exit(-1); ifquotesdbs_dbs2.pdfusesText_2
[PDF] algorithme récursif maternelle

[PDF] algorithme récursif factorielle

[PDF] algorithme itératif

[PDF] exercice récursivité algorithme

[PDF] exercices corrigés récursivité python

[PDF] exercices récursivité

[PDF] exercice algorithme avec solution recursivité

[PDF] fonction récursive exercice corrigé python

[PDF] algorithme récursif exemple

[PDF] fonction recursive langage c

[PDF] fonction récursive exercice corrigé

[PDF] recursivite java

[PDF] la récursivité en algorithme exercice corrigé

[PDF] leo traduction

[PDF] récursivité python exercices corrigés