• Aucun résultat trouvé

une fonction récursive renvoyant le produit des nombres de L

N/A
N/A
Protected

Academic year: 2022

Partager "une fonction récursive renvoyant le produit des nombres de L"

Copied!
1
0
0

Texte intégral

(1)

DUT Info Structures de données et algorithmes fondamentaux 2020–2021

TD 5 - Récursivité sur des itérables

Pour les exercices suivants, il est permis et même recommandé d’utiliser une fonction auxi- liaire. Vous ne pouvez par contre pas utiliser les slices. Comme pour le TD précédent, il est fortement conseillé de d’abord formuler le problème à résoudre de manière récursive.

Exercice 1. SoitL une liste de nombres. Écrivez :

1. une fonction récursive renvoyant la somme des nombres de L (sans utiliser la fonction sum) ;

2. une fonction récursive renvoyant le produit des nombres de L. Si la liste est vide, renvoyez 0 dans les deux cas.

Exercice 2. SoitL une liste de nombres. Écrivez :

1. une fonction récursive renvoyant le minimum de L(sans utiliser la fonctionmin) ; 2. une fonction récursive renvoyant le maximum de L (sans utiliser la fonctionmax) ; 3. une fonction récursive renvoyant la position d’un élément donné dans L (sans utiliser la

méthodeindex) ouNonesi l’élément ne s’y trouve pas.

4. une fonction récursive renvoyant le nombre d’occurrences d’un élément donné dans L (sans utiliser la méthodecount).

Pour les deux premières fonctions, si la liste passée en paramètre est vide, il faut afficher une erreur et renvoyerNone.

Exercice 3. Pour rappel, un palindrome est un mot qui se lit indifféremment de gauche à droite ou de droite à gauche (par exemple : “kayak” ou “radar”). Écrivez une fonction récursive renvoyantTruesi la chaîne passée en paramètre est un palindrome, et Falsesinon (on suppose que tous les caractères sont des minuscules non accentuées).

Exercice 4. Écrivez une fonction récursive renvoyantTruesi une liste donnée est croissante, et False sinon. On renverra aussi Truesi la liste est vide ou si tous ses éléments sont les mêmes.

Exercice 5. Écrivez deux fonctions récursives qui renvoient une liste contenant les nombres de 1 à n. La première fonction renvoie les nombres dans l’ordre croissant, tandis que la deuxième les renvoie dans l’ordre décroissant (sans se servir de fonctions commereversed).

Exercice 6. Écrivez une fonction récursive renvoyant True si une liste donnée contient des doublons, etFalse sinon.

Page 1 / 1

Références

Documents relatifs

Écrire une fonction d’entête def partage(lst, pivot): qui va renvoyer deux listes linf et lsup composées des éléments de lst, la liste linf contenant les éléments inférieurs

Écrire une fonction est_Palindrome prenant pour paramètre une chaîne de caractères et renvoyant 1 s'il s'agit d'un palindrome non strict et 0

Ecrire une fonction f qui prend comme argument une chaine de caractères s et retourne True si s est un palindrome et False sinon..

Écrire un programme en SciLab permettant de déterminer et d’afficher le plus petit entier naturel n pour lequel u n ⩾ 100?. (a) Les termes de quelle suite sont contenus dans la

Écrivez une fonction qui vérifie qu’une liste passée en paramètre est triée dans l’ordre croissant (on renvoie True si elle est triée, False sinon).. Écrivez une fonction

Le run length encoding (RLE) est une méthode de compression de données qui réduit la taille d’un texte en résumant les occurrences successives de caractères par une paire (a, n a

Écrivez une fonction renvoyant l’union de A et B sous la forme d’une troisième liste sans doublon.. Écrivez une fonction renvoyant l’intersection de A et B sous la forme

Donnez une expression récursive décrivant la somme des chiffres d’un entier positif, et écrivez ensuite une fonction Python somme_chiffres(n) renvoyant le résultat.. Sans utiliser