[PDF] Puissance ni`eme dun nombre [rc02] - Exercice





Previous PDF Next PDF



Récursivité Récursivité

Une fonction est récursive si elle s'appelle elle- à ce que le problème avec la solution triviale puisse ... Récursivité: Fibonacci et Hanoï.



Exercices sur la technique diviser pour régner Chapitre 7 ÉNONCÉS

b) Sachant que la solution générale de l'équation de récurrence. T (n) ? { l'efficacité de la partie non récursive de l'algorithme ?



Calcul des nombres de Fibonacci [cx03] - Exercice

Calcul des nombres de Fibonacci [cx03] - Exercice 1.3 Algorithme récursif terminal . ... Validez votre fonction avec la solution. Solution Python.



IFT2015 5 Techniques de récursion

Sept 27 2011 avec solution T(n) = ?(2n). 5.2 Récursion terminale. On peut toujours transformer une boucle en un algorithme récursif ... Exercice 5.1.



Récursivité des actions [rc] Exercices de cours

Exercices de cours Déduisez une fonction récursive factoriel(n) qui calcule et renvoie le factoriel de n ... Validez votre algorithme avec la solution.



Exemples dalgorithmes récursifs 1 Des exercices sur les suites

Par exemple algo1Rtrous.sce désigne la traduction de l'algorithme 1 sous SCILAB





Calcul des nombres de Fibonacci [cx03] - Exercice

1.3 Algorithme récursif terminal . Cet exercice analyse la complexité de la suite de Fibonacci. ... Validez votre fonction avec la solution.



Puissance ni`eme dun nombre [rc02] - Exercice

Validez votre algorithme avec la solution. Solution alg. @[pgpuissance.alg]. Algorithme pgpuissance. Variable x : Réel. Variable n : Entier.



SUJET + CORRIGE

Jun 16 2014 Le but de l'exercice est l'écriture d'un algorithme de tri de tableaux ... La figure 1 montre qu'un même tableau peut être dessiné avec des ...



Récursivité - AlloSchool

1 Algorithmes récursifs 1 1La multiplication du paysan russe La méthode du paysan russe est un très vieil algorithme de multiplication de deux nombres entiers déjà décrit (sous une forme légèrement di?érente) sur un papyrus égyptien rédigé vers 1650 av J -C Il s’agissait de la



Corrigés des exercices sur les fonctions récursives

Corrigés des exercices sur les fonctions récursives Exercice 7 1 1 sous-programmes récursifs Pour chacun des sous-programmes nous donnerons les paramètres en précisant le paramètre sur lequel porte la récurrence le cas de base (valeur de ce paramètre pour lequel le calcul s’arrête) et la



Algorithmique et Programmation 1 Feuille de TD La récursivité

Exercice 2 Élever un nombre ?ottant à une puissance entière 1 ÉcrireenCamlunefonctionquiàpartird’unentierpositifnetd’un?ottantxrenvoielavaleurde x n Avantd’écrirecettefonctionélaborerunalgorithmequicalculecettevaleurdefaçonrécursive

Comment définir un algorithme récursif?

Un algorithme est dit récursif lorsqu’il est défini en fonction de lui-même. Dans le cadre de ce cours, nous ne nous intéresserons qu’aux programmes et algorithmes récursifs. Mais la notion de définition récursive est beaucoup plus générale : en mathématiques : définition de l’exponentielle : ? x ? R, f 0 ( x) = f ( x) et f (0) = 1.

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

Fiche TD N° 01.2 : La Récursivité solution . 1. Qu’est ce que la 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 2.

Quel est l’algorithme d’une fonction récursive de dérivation?

Voici (une esquisse) de l” algorithme d’une fonction récursive de dérivation (nommée ici derivee ). sinon si … 2.2.4. Exemple 3 : Les tours de Hanoï ¶ Et voici un algorithme récursif pour résoudre le problème des tours de Hanoi. Cet algorithme est celui d’une fonction nommée hanoi à trois paramètres

Comment prouver la terminaison d'un algorithme récursif ?

Dans le cas des algorithmes récursifs, ces méthodes sont spécifiques. Pour prouver la terminaison d'un algorithme récursif, la méthode la plus usuelle est la suivante: chacun des ensembles dans lesquels les paramètres prennent leurs valeurs sont équipés d'une relation d'ordre.

Puissance nieme d'un nombre [rc02] - Exercice

Karine Zampieri, Stephane Riviere

UniscielalgoprogVersion 21 mai 2018

Table des matieres

1 Puissance nieme d'un nombre / pgpuissance

2

1.1 Puissance na

ve. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Strategie basee sur la parite

3

1.3 Autre strategie basee sur la parite

3

1.4 Fonction iterative

5

1.5 Programme de test

5

2 References generales

6 alg - Puissance nieme d'un nombre (Solution)Mots-ClesRecursivite des actions

RequisSchema iteratif

Diculte• • ◦(30 min)Objectif

Cet exercice calcule recursivement la puissancexnd'un reelxpar un entiern≥0de plusieurs manieres. Dans le m^eme ordre d'idees, l'exercice @[Fonction produit] calcule recursivement le produita·nd'un reelapar un entiern≥0de plusieurs manieres. 1 Unisciel algoprog { Puissance nieme d'un nombre [rc02]2

1 Puissance nieme d'un nombre / pgpuissance

1.1 Puissance na

ve

Soient un reelxet un entiern≥0.

L'idee la plus simple pour le calcul dexnconsiste a utiliser : x n=? ?1sin= 0 x·xn-1sinon Ecrivez une fonction recursivepuiss1(x,n)qui calcule et renvoie la puissance d'un reelx| avec

lstinlinen@ entier positif) a partir de la denition par recurrence.Validez votre fonction avec la solution.

Solution alg@[pgpuissance.alg]Fonctionpuiss1Rec( x : Réel; n : Entier;y : Réel) : RéelDébut|Si(n = 0 ) Alors| |Retourner(y ) |Sinon| |Retourner(puiss1Rec ( x , n - 1 , x * y ) ) |FinSiFin

Fonctionpuiss1( x : Réel; n : Entier) :RéelDébut|Retourner(puiss1Rec ( x , n , 1 ) ) Fin

Solution commentee

La fonctionpuiss1Recest recursive terminale.Combien y a-t-il d'appels recursifs?

Solution simple

Le nombre d'appels recursifs estn.

Unisciel algoprog { Puissance nieme d'un nombre [rc02]3

1.2 Strategie basee sur la parite

La propriete suivante accelere le calcul :

x n=? ??1sin= 0 (xndiv2)2sinpair x·xn-1sinon Ecrivez une fonctioncarre(x)qui renvoie le carre dex(reel). Ecrivez une fonction recursivepuiss2(x,n)qui calcule et renvoie la puissance d'un reelx (avecnentier positif) comme decrit ci-avant.Validez votre fonction avec la solution.

Solution alg@[pgpuissance.alg]Fonctionpuiss2( x : Réel; n : Entier) :RéelDébut|Si(n = 0 ) Alors| |Retourner( 1 )|Sinon| |Si(Modulo ( n , 2 ) = 0 ) Alors| | |Retourner(Carr é (puiss2 ( x , DivEnt ( n , 2 ) ) ) ) | |Sinon| | |Retourner(x * Carr é (puiss2 ( x , DivEnt ( n - 1 , 2 ) ) ) ) | |FinSi|FinSiFin

1.3 Autre strategie basee sur la parite

Une autre facon d'accelerer signicativement le calcul de la puissance (en le ramenant a au plus2log2n) est la propriete suivante : x n=? ??1sin= 0 (x2)ndiv2sinpair x·xn-1sinon Par exemple, on calculex10en quatre multiplications au lieu de 9 : x

10= (x2)5=x2?(x2)4?=x2((x2)2)2

Unisciel algoprog { Puissance nieme d'un nombre [rc02]4 Ecrivez une fonction recursivepuiss3(x,n)qui calcule et renvoie la puissance d'un reelx (avecnentier positif) en appliquant la relation ci-dessus.Validez votre fonction avec la solution.

Solution alg@[pgpuissance.alg]Fonctionpuiss3Rec( x : Réel; n : Entier;y : Réel) : RéelDébut|Si(n = 0 ) Alors| |Retourner(y ) |Sinon| |Si(Modulo ( n , 2 ) = 0 ) Alors| | |Retourner(puiss3Rec ( x * x , DivEnt ( n , 2 ) , y ) ) | |Sinon| | |Retourner(puiss3Rec ( x , n - 1 , x * y ) ) | |FinSi|FinSiFin

Fonctionpuiss3( x : Réel; n : Entier) :RéelDébut|Retourner(puiss3Rec ( x , n , 1 ) ) Fin

Solution commentee

La fonctionpuiss3Recest recursive terminale.Donnez la suite des transformations de(x,n,y)pour le calcul de58puis le calcul de57.

Concluez.Solution simple

Le cas beneciant de la plus forte acceleration est celui ou l'exposant est une puissance de 2. Voici la suite des transformations de(x,n,y)pour le calcul de58(en trois operations au lieu de 8) :(5,8,1) -> (25,4,1) -> (625,2,1) -> (390625,0,1) La situation est moins favorable quand l'exposant n'est pas une puissance de 2 : le calcul

de57se fait en 5 operations, soit moins de2log27:(5,7,1) -> (5,6,5) -> (25,3,5) -> (25,2,125) -> (625,1,125) ->

(625,0,78125) Cet algorithme est decrit dans leChandah Sutra d'Acharya Pingala(ecrit avant 200 ans avant J.C.). Unisciel algoprog { Puissance nieme d'un nombre [rc02]5

1.4 Fonction iterative

La fonction du probleme precedent etant recursive terminale, Ecrivez une fonction iterativepuiss4(x,n), equivalente a la version recursive terminale puiss3 x n ), en remplacant la liste des parametres des appels recursifs par des aectations appropriees.Validez votre fonction avec la solution.

Solution alg@[pgpuissance.alg]Fonctionpuiss4( x : Réel; n : Entier) :RéelVariabley: RéelDébut|y <- 1

|TantQue(n <> 0 ) Faire| |Si(Modulo ( n , 2 ) = 0 ) Alors| | |x <- x * x n

DivEnt

n , 2 ) | |Sinon| | |y <- x * y n n - 1 | |FinSi|FinTantQue|Retourner(y ) Fin

1.5 Programme de test

Ecrivez un algorithme qui saisit un reel et un entier puis calcule et ache le resultat de chacune des fonctions. Unisciel algoprog { Puissance nieme d'un nombre [rc02]6Testez. Exemple d'execution :

Puissance

x ? 5 Ordre n ? 7 puiss1 x n vaut 78125
puiss2 x n vaut 78125
puiss3 x n vaut 78125
puiss4 x n vaut 78125

Validez votre algorithme avec la solution.

Solution alg@[pgpuissance.alg]AlgorithmepgpuissanceVariablex: RéelVariablen: EntierDébut|Afficher(" Puissancex ?" ) |Saisir(x ) |Afficher(" Ordren ?" ) |Saisir(n ) |Afficher(" ==>puiss1 (x,n)vaut " , puiss1 ( x , n ) ) |Afficher(" ==>puiss2 (x,n)vaut " , puiss2 ( x , n ) ) |Afficher(" ==>puiss3 (x,n)vaut " , puiss3 ( x , n ) ) |Afficher(" ==>puiss4 (x,n)vaut " , puiss4 ( x , n ) ) Fin

2 References generales

Comprend[Divay-CC1 :c1 :xm5]

quotesdbs_dbs22.pdfusesText_28
[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

[PDF] exercices récursivité python

[PDF] récursivité algorithme exercice corrigé

[PDF] écrire un discours en allemand

[PDF] variable réelle définition économie

[PDF] carte shom pdf

[PDF] instructions nautiques pdf

[PDF] carte marine shom gratuite