• Aucun résultat trouvé

TD n°4 Algorithmique : de la récursivité

N/A
N/A
Protected

Academic year: 2022

Partager "TD n°4 Algorithmique : de la récursivité"

Copied!
1
0
0

Texte intégral

(1)

Ecole alsacienne Option Informatique Michel LAGOUGE Classe de Seconde

- 1 –

TD n°4 Option Informatique – Michel LAGOUGE

TD n°4

Algorithmique : de la récursivité I En s’appuyant sur le modèle de la fonction addition vue en cours, écrire :

1) la fonction mul : N x N -> N de multiplication des nombres entiers

> (mul 3 5) 15

2) la fonction puis : N x N -> N d’élévation à la puissance

> (puis 2 4) 16

>(puis 3 5) 243

II Ecrire les fonctions qui font les calcul suivants :

1) la fonction somme qui calcule la somme des nombres 1 + 2 + 3 + 4 + ……+ n

> (somme 6) 21

2) la fonction somme_carre qui calcule la somme des nombres 12 + 22 + 32 + 42 + ……+ n2

> (somme_carre 6) 91

3) la fonction carre_somme qui calcule le carré de la somme des n premiers entiers soit : (1 + 2 + 3 + 4 + ……+ n)2 sans utiliser la fonction somme de la question 1)

> (carre_somme 6) 441

On peut remarquer que les fonctions somme et somme_carre ont exactement la même forme. Ecrire une fonction somme_gene permettant de passer en argument la nature de l’opération à faire sur n.

> (somme_gene identite 6) ; avec (define (identite n) n) 21

> (somme_gene carre 6) ; avec (define (carre n) (* n n)) 91

> (somme_gene cube 6) ; avec (define (cube n) (* n n n)) 441 …. Montrer alors que 13 + 23 + 33 + 43 + ……+ n3 = (1 + 2 + 3 + 4 + ……+ n)2

5) la fonction Leibniz qui calcule la somme des nombres 1 –1 3 + 1

5 - 1

7 +……..+ (-1)n 1 2n+1 a) avant d’écrire la définition , que vaut :

(Leibniz 0) ? (Leibniz 1) ? (Leibniz 2) ? (- (Leibniz 1) (Leibniz 0)) ? (- (Leibniz 2) (Leibniz 1)) ? b) que vaut la différence (- (Leibniz n )(Leibniz (1- n) )) ?

c) écrire la fonction Leibniz puis - après avoir vérifié que son écriture est correcte !- évaluer l’expression (* 4 (Leibniz 100)) : Le résultat est-il original ?

6) la fonction somme_racine qui calcule l’expression :

Idée : il peut être utile d’écrire d’abord la fonction (somme_racine_partielle p n)

qui

calcule :

Références

Documents relatifs

→ et sinon, qui renvoie le couple (u,v) de coordonnées de la case noire la plus en Haut à Gauche des cases noires de rect(a, i, j, k, `) , le critère prioritaire étant d'être le

La fonction d’Ackermann, fournit un exemple de fonction récursive mais non primitive récursive (notions totalement hors programme – pour simplifier, les fonctions

Dans un premier temps, on r´ epondra aux questions ` a l’´ ecrit puis pour v´ erifier que nos algorithmes sont bien ´ ecrits, on les programmera sur machine.. Exercice

[r]

Le but de cet exercice est d’écrire une fonction Python listing(d) prenant en argument un nom de fichier ou de répertoire d et affichant (à raison d’un nom par ligne) d ainsi que

On cherche une nouvelle fonction qui calcule la suite de Fibbonacci mais où, pendant le calcul de la valeur de cette suite pour un entier N, la fonction n’est appelée qu’une seule

La Pile d’exécution (call stack) du programme en cours est un emplacement mémoire destiner à mémoriser les paramètres, les variables locales ainsi que l’adresse de retour de

La Pile d’exécution du programme en cours est un emplacement mémoire destiner à mémoriser les paramètres, les variables locales ainsi que les adresses de retour des fonctions en