• Aucun résultat trouvé

Fonctions récursives sur les listes

N/A
N/A
Protected

Academic year: 2022

Partager "Fonctions récursives sur les listes"

Copied!
1
0
0

Texte intégral

(1)

L2 - Algorithmique et structures de données (Année 2011/2012) Delacourt, Phan Luong, Poupet

Fonctions récursives sur les listes

Exercice 1. Fonctions récursives

Écrivez les fonctions suivantes de manière récursive en utilisant les primitivesliste(),tete(l), queue(l),vide(l)etcons(a,l)(on suppose que toutes les listes contiennent des entiers) :

1.ajoute(x,l)qui ajoutexà chacun des éléments del;

2.paire(l)qui teste si la listelne contient que des entiers pairs ; 3.avant_dernier(l)qui renvoie l’avant-dernier élément de la listel;

4.multiple(l)qui calcule le plus petit commun multiple des éléments del. On pourra supposer que l’on a déjà une fonctionppcm(a,b)qui calcule le plus petit commun multiple de deux entiers ; 5.incremente(l)qui incrémente chaque élément de la liste de son rang (l’élément en position0 n’est pas modifié, celui en position1est incrémenté de1, celui en position2de2, etc.). Par exemple, sur la liste2,9,5,22la fonction doit renvoyer2,10,7,25.

6.alterne(l)qui teste si une liste estalternée, c’est-à-dire si son premier élément est plus petit que le second, que le second est plus grand que le troisième, le troisième est plus petit que le quatrième, le quatrième plus grand que le cinquième et ainsi de suite.

7.repete(n,i,l)qui répètenfois l’élément delen positioni. Par exemple sin = 3,i = 2et l= 1,2,3,4, la fonction doit renvoyer la liste1,2,3,3,3,4(la numérotation des positions commence à0) ;

8.applique(f, l1, l2)qui applique un certain nombre de fois la fonctionfaux éléments de l1. On suppose que la listel2est de même longueur quel1et c’est elle qui donne pour chacun des éléments del1le nombre de fois qu’il faut appliquerf. Par exemple, sil1= 1,2,3etl2= 2,0,1, la fonction doit renvoyer la listef(f(1)),2, f(3);

1

Références

Documents relatifs

Exercice de narration en chœur d’une pièce de théâtre, d’une comptine, d’un poème ou d’une. nouvelle à tour de

[r]

a - Ecrire un programme pour afficher un d´ egrad´ e de couleur entre les couleurs rouge et verte : chaque point de coordonn´ ees (x, y) devra avoir une intensit´ e de couleur rouge

"Possédant initialement un couple de lapins, combien de couples obtient-on en douze mois si chaque couple engendre tous les mois un nouveau couple à compter du second mois de

Ainsi, les sols profonds et fertiles du Plateau suisse conviennent tout particulièrement à la produc- tion de denrées alimentaires ; toutefois, même si cette fonction doit

[r]

Il en résulte que les opérations d’effacement peuvent être réalisées dans n’importe quel ordre et qu’en fin de parcours c’est à dire au bout de n-1 minutes, c’est toujours

Le troisième côté est compris entre 16 et 36, différence et somme des deux autres ; ainsi le côté 10 est le plus petit et est opposé au plus petit angle ; celui-ci est l’angle