Bureau d'étude PEIP - IS

TP1

Avant de commencer ce TP, vous devez impérativement lire les cours associés.

    Manipulations avec Linux

  1. Ouvrez un terminal
  2. Créez un dossier "TAC".
  3. Déplacez vous dans le dossier TAC.
  4. Créez un fichier "tp1.py".
  5. Ouvrez le fichier tp1.py avec atom.
  6. Instructions de base

  7. Écrire une fonction "addition" qui prend en paramètre deux nombres a et b et retourne leur addition.
  8. Écrire une fonction "maximum" qui prend en paramètre deux nombres a et b et retourne le plus grand des deux.
  9. Écrire une fonction "entre_0_et_100" qui prend en paramètre un nombre a et renvoie True s'il est entre 0 et 100, ou False sinon.
  10. On propose de réécrire la fonction "addition" mais sans écrire directement a+b ; à la place, vous n'avez le droit d'utiliser le symbole "+" que pour écrire "+1". Écrire une fonction "addition2" qui respecte cette contrainte. (astuce : utilisez une boucle for).
  11. On s'intéresse à la somme des N premiers entiers : 1+2+3+4+5+...+N ; écrire une fonctionne "somme_entiers" qui prend en paramètre un entier n et qui renvoie la somme des n premiers entiers.
  12. On veut maintenant savoir à partir de quel entier N cette somme dépasse une certaine limite. Écrire une fonction "limite_somme" qui prend en paramètre un entier m et renvoie le premier entier n tel que la somme des n premiers entiers est supérieur à m.
  13. Manipulation de listes

  14. Écrire une fonction "somme_liste" qui prend en paramètre une liste d'entier l et qui renvoie la somme des éléments de l.
  15. Écrire une fonction "taille_liste" qui prend en paramètre une liste d'entier l et qui renvoie le nombre d'éléments dans l, mais sans utiliser la fonction len.
  16. En utilisant les deux fonctions précédentes, écrire une fonctionne "moyenne_liste" qui prend en paramètre une liste l et renvoie la moyenne des éléments de la liste.
  17. Écrire une fonction "est_present" qui prend en paramètre un entier x et une liste l et renvoie True si x est dans l, False sinon.
  18. Chaînes de caractères

  19. Créez une fonction "nombre_lettre" qui prend en paramètre une chaîne de caracètre s et renvoie le nombre de lettres de la chaîne ; que remarquez vous ?
  20. Regardez sur internet ce que fait la fonction split en python. Écrivez une fonction "nombre_mot" qui prend en paramètre une chaîne de caracètre s et renvoie le nombre de mots de la chaîne.
  21. Écrire une fonction "nombre_occurence" qui prend en paramètre une chaîne s et un caractère c et qui renvoie le nombre d'occurence de c dans s.
  22. Écrire une fonction "ponctuation" qui prend en paramètre une chaîne s et renvoie la liste de tous les symboles de ponctuations de cette chaîne. (Astuce : on pourra déclarer une liste contenant tous les symboles de ponctuations possibles et utiliser l'opérateur "in" qui permets de savoir si un élèment est dans une liste)
  23. Lecture de fichiers

  24. Écrire une fonction "nombre_mot_fichier" qui prend en paramètre le chemin d'accès d'un fichier et renvoie le nombre de mot dans ce fichier.
  25. Écrire une fonction "nombre_occurence_mot_fichier" qui prend en paramètre un chemin d'accès vers un fichier ainsi qu'un mot (une chaine de caractère) et renvoie le nombre de fois où ce mot apparaît dans le fichier.
  26. Écrire une fonction "liste_mots_fichier" qui prend en paramètre un fichier et renvoie la liste des mots qu'il contient (attention chaque mot ne doit apparaître qu'une seule fois dans la liste).
  27. En utilisant les deux fonctions précédentes, écrire une fonction "nombre_occurences_fichiers" qui prend en paramètre un fichier et renvoie une liste de couple (mot, occurence) contenant tous les mots du fichier associés au nombre de fois où ils apparaissent dedans.
  28. **difficile** Écrire une fonction "fréquents" qui prend en paramètre un fichier et un entier k et renvoie la liste des k mots les plus fréquents du fichier.
  29. **difficile** Écrire une fonction "élimine_fréquents" qui prend en paramètre un fichier et un entier k et renvoie une chaîne de caractère correspondant au contenu du fichier sans les k mots les plus fréquents.