13. TP - Révisions



Voici une série d'exercices pour vous préparer au Contrôle Continu.

Exercice 13.1

Un pangramme est une phrase qui contient toutes les lettres de l'alphabet au moins une fois.

Écrire un programme python pangramme.py et une fonction :

est_un_pangramme(s:str) -> bool

qui prend une phrase avec des lettres minuscules, majuscules et des caractères de ponctuation et vérifie si elle est un pangramme.

Testez avec les phrases suivantes :

  • Portez, ce vieux whisky, au juge blond qui fume.
  • Bonjour tout le monde.
  • The quick brown fox jumps over the lazy dog !

Le résultat affiché doit être le suivant :

"Portez, ce vieux whisky, au juge blond qui fume." est un pangramme
"Bonjour tout le monde." n'est pas un pangramme 
"The quick brown fox jumps over the lazy dog !" est un pangramme

Exercice 13.2

Ecrire un programme python courbe.py qui utilise matplotlib pour dessiner la fonction $f(x) = x^2 - 4x + 3$ sur l'intervalle $[-2,6]$ avec 100 points.

Dessiner, sur le même graphique, la dérivée de la fonction.

  • la fonction doit être affichée en rouge
  • la dérivée en vert
  • l'axe des x en bleu
  • la grille doit être présente
  • ainsi que la légende

Courbe

Exercice 13.3

Ecrire un programme permute.py qui implante une fonction récursive nommée permute(s:str) -> list qui prend une chaîne s en entrée et retourne toutes ses permutations possibles sous forme de liste.

Exemple d'exécution :

Saisir une chaine : abc 
les permutations sont : ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']

L'algorithme est le suivant :

  • si la chaîne s est composée d'une seule lettre on retourne une liste composée de cette lettre
  • sinon, on crée un liste vide result, pour chaque caractère c de la chaîne s :
    • on met dans result la liste des permutations de la chaîne s à laquelle on a enlevé le caractère c
    • on ajoute à chacune des chaînes de result le caractère c en première position