Breaking News

Langage C

L’expression d’algorithmes sous forme récursive permet des descriptions concises et naturelles. Le principe est d’utiliser, pour décrire l’algorithme sur une donnée D, l’algorithme lui-même appliqué à un ou plusieurs sous-ensembles de D, jusqu’à ce que le traitement puisse s’effectuer sans nouvelle décomposition. Dans une procédure récursive, il y a deux notions à retenir :
• la procédure s’appelle elle-même : on recommence avec de nouvelles données.
• il y a un test de fin : dans ce cas, il n’y a pas d’appel récursif. Il est souvent préférable d’indiquer le test de fin des appels récursifs en début de procédure.
Cours de Langage C

Travaux dirigés de Langage C 




Avant-propos
aml est un langage de programmation de conception récente qui réussit a étre a la fois trés puissant et cependant simple a comprendre. Issu d’une longue réflexion sur les langages de programmation, Caml s’organise autour d’un petit nombre de notions de base, chacune facile a comprendre, et dont la combinaison se révéle extrémement féconde. La simplicité et la rigueur de Caml lui valent une popularité grandissante dans l’enseignement de l’informatique, en particulier comme premier langage dans des cours d’initiation a la programmation. 

Son expressivité et sa puissance en font un langage de choix dans les laboratoires de recherche, ou il a été utilisé pour traiter des problémes parmi les plus ardus de l’informatique : démonstration assistée par ordinateur, analyses automatique de programmes, systémes de réécriture, compilation et métacompilation. En bref, Caml est un langage facile avec lequel on résout des problémes difficiles.

Conclusions sur la récursivité des procédures 
On a vu qu’une boucle peut s’écrire sous forme récursive. Quand il n’y a qu’un seul appel récursif, on peut passer à une procédure itérative avec boucle ; c’est le cas des exemples pour factorielle, les nombres de Fibonacci ou les conversions (numération). Par contre, si la procédure divise le problème récursivement en plusieurs sousproblèmes, la récursivité s’impose. Refuser la récursivité, c’est s’obliger à gérer une pile pour retrouver le contexte. Dans le cas de deux appels récursifs par exemple, il y a deux tâches à accomplir. 

Il faut effectuer le premier appel récursif, en sauvegardant le contexte que l’on retrouve quand on a fini le premier appel récursif et les appels qu’il a engendrés en cascade. La procédure itérative serait beaucoup plus longue et beaucoup moins naturelle. Les procédures des Tours de Hanoi, des dessins des cercles ou de l’arbre s’écrivent, sous forme récursive, de manière concise et naturelle