• Aucun résultat trouvé

Une procédure (ou fonction au sens informatique) estrécursivelorsqu’elle s’appelle elle même

N/A
N/A
Protected

Academic year: 2022

Partager "Une procédure (ou fonction au sens informatique) estrécursivelorsqu’elle s’appelle elle même"

Copied!
1
0
0

Texte intégral

(1)

Informatique MPSI B Hoche

La récursivité est un concept qui généralise la notion de suite définie par récur- rence.

Une procédure (ou fonction au sens informatique) estrécursivelorsqu’elle s’appelle elle même.

Certains langages (dont Maple) autorisent cette manière de mettre en oeuvre un algorithme. Il est particulièrement important de prouver que l’algorithme va s’ar- rêter. En général on introduit pour cela un nombre entier qui doit strictement décroitre d’un appel à l’autre. Un exemple simple est donné par la définition (du cours) des coefficients du binôme.

cbin:=proc(n,p) if p=0 or p=n then

1 else

cbin(n-1,p-1) + cbin(n-1,p);

fi;

end:

cbin(5,2);

Dans cet exemple le nombre qui diminue strictement à chaque appel est n+p. On peut former une procédure qui rend mieux compte de ce qu’elle fait.

nbappel:=0;

cbinbavard:=proc(n,p) global nbappel;

local texte;

nbappel:=nbappel+1;

texte:= "appel numero" || nbappel || " , n=" || n || " , p=" || p;

print(texte);

if p=0 or p=n then 1

else

cbinbavard(n-1,p-1) + cbinbavard(n-1,p);

fi;

end:

cbinbavard(3,2);

Remarquer qu’il est indispensable d’utiliser une variable globale pour compter le nombre d’appels de la procedure. Remarquer l’opérateur de concaténationk qui permet d’envoyer vers l’écran un joli texte.

Bien noter qu’une procédure récursive doit contenir dès le début une structure de contrôleifcomprenant une branche qui se termine sans s’appeler. Cette branche correspond à l’initialisation de la récursivité. Sans cela la boucle infinie est assurée.

Enregistrez avant d’exécuter.

Cette création est mise à disposition selon le Contrat

Paternité-Pas d’utilisations commerciale-Partage des Conditions Initiales à l’Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-nc-sa/2.0/fr/

1 Rémy Nicolai Arecurs

Références

Documents relatifs

66. a) Seul le Chef de délégation ou son remplaçant tel que défini dans l’article 6 des Règles de procédure peut voter et intervenir pour ce Membre. b) Aucun délégué ne

Dans la construction des machines et l’industrie métallurgique, l’évolution de la production a été négative sur l’ensemble de l’année, tandis que dans le secteur

David Monnard, Chargé de formation, Romande Energie SA Pierre Genoud, Responsable dispatching production, Alpiq Mathias Lorenz, Spécialiste Affaires publiques, Alpiq Marco

Sur l’axe efficience qui focalisait l’attention des Fédérations syndicales, il a été rappelé qu’aucun autre service public n’a fait un tel effort sur la

Le générateur va fournir le courant (c'est la sève dans le cas de l'arbre) et la partie de circuit à laquelle il appartient s'appelle la branche principale (c'est le tronc dans le

procédures de distribution du prix de vente d’un immeuble et les procédures de distribution du prix de vente d’un meuble ne faisant pas suite à une procédure d’exécution ayant

• Le problème est: Calculer le factoriel d'un nombre entier donné en entrée.. • En entrée: Nous avons n nombre entiers qui sont plus grands ou égaux

Ce sont majoritairement des formateurs et animateurs de la formation continue, par contre, toujours proportionnellement à leur poids dans les effectifs de la branche,