Aller au contenu principal

TP6 - Révisions

Objectifs
  1. Comprendre le concept de variable ;
  2. Effectuer des affectations ;
  3. Gérer des cas dans des programmes ;
  4. Répéter des instructions ;
  5. Factoriser à l'aide de fonctions.
Au préalable
  1. Se créer un dossier SNT sur votre ordinateur ou clé USB
  2. Dans ce dossier, créer un dossier T3 - Programmation (Programmation Orientée Objet)

Sur EduPython ou autre instance python, faire :

  1. Créer un nouveau fichier en cliquant sur l'icône 📄, ou en appuyant sur CTRL+N
  2. Enregistrer le fichier sous le nom TP6_Révisions en cliquant sur l'icône 💾, ou en appuyant sur CTRL+S
TP

L'ensemble des exercices se fait sur le logiciel EduPython.

Rappels

On utilise int(input()) pour saisir un entier et le stocker dans une variable.
Pour afficher le contenu d’une variable ou du texte, on utilise la fonction print() :

variable = int(input("saisir quelque chose"))
print(variable)
print("Afficher un texte")

Les conditions permettent d'exécuter un bout de code, ou bien un autre, suivant le résultat d'une condition :

age = 18
if age >= 18 :
print("Je suis majeur")
else :
print("Je suis mineur")

Pour répéter des instructions, on utilise la boucle for :

for i in range(0,10) :
print("Bonjour")

"Bonjour" sera répété 10 fois.

Pour définir une fonction en python, on emploie le schéma suivant :

def nomFonction(paramètre1, paramètre2,...) :
#on écrit ce qu'on veut faire dans la fonction

On rajoute return à la fin si la fonction doit retourner une valeur. On peut sauvegarder la valeur retournée dans une variable pour la réutiliser :

def f(x):
return x**2

valeur1 = f(5)
valeur2 = f(43)

Résolution d'une équation du second degré

Une équation du second degré, de la forme a*x2 + b*x + c = 0 peut être résolue en calculant ce que l'on appelle le discriminant (représenté en mathématiques par le symbole 𝚫, appelé delta), puis en testant la valeur du delta.

Fonction discriminant

On souhaite dans un premier temps écrire une fonction discriminant, permettant de calculer et retourner la valeur du discriminant, suivant 3 paramètres : a, b et c.

  1. Définir la fonction, à l'aide du mot-clé def, l'appeler discriminant, et lui donner 3 paramètres : a, b et c.

Le discriminant est calculé par la formule 𝚫 = b2 - 4*a*c .

  1. Écrire la formule dans une variable appelée resultat.
  2. Retourner la variable resultat.
  3. Tester la fonction avec les valeurs a=1,b=−3,c=2.

Fonction résolution

On souhaite maintenant écrire une fonction resolution, permettant de calculer et d'afficher le ou les résultats de x permettant de vérifier l'équation a*x2 + b*x + c = 0.

  1. Définir la fonction, à l'aide du mot-clé def, l'appeler resolution, et lui donner 3 paramètres : a, b et c.
  2. Dans une variable delta, stocker le résultat de l'appel à la fonction discriminant, dont les paramètres sont a, b et c.
Solutions à une équation de degré 2

En fonction de la valeur du discriminant, on a :

  • Si delta > 0, on a 2 solutions :
    • x1 = (-b + √delta)/(2*a)
    • x2 = (-b - √delta)/(2*a)
  • Si delta = 0, on a une solution : x = (-b)/(2*a)
  • Si delta < 0, on affiche qu'il n'y a pas de solution réelle.
  1. À l'aide des différents cas énoncés, écrire les instructions affichant la ou les solutions à l'équation.
  2. Tester la fonction pour plusieurs valeurs de a,b et c.

Manipuler les chaines de caractères

Les chaines de caractères (phrases, mots) sont représentées en python par le symbole " ". L'objectif des exercices à suivre est de pouvoir manipuler ces chaînes, pour effectuer divers traitement.

Boucles et accès sur les chaines

Nous pouvons utiliser une boucle spécifique pour parcourir une à une les lettres du mot :

mot = "Bonjour"
for lettre in mot :
print(lettre)

Ici, lettre va contenir, à chaque tour de boucle, les lettres présentes dans mot.
Au premier tour, cela nous affichera B, puis o au second, etc.

On peut également accéder à une lettre en particulier, en utilisant une position, aussi appelée indice :

mot = "Bonjour"
print(mot[2]) #Affiche n

L'indice est spécifié à l'aide des [ ]. La première lettre commence toujours à l'indice 0.

Fonction affichant toutes les consonnes

On veut faire une fonction qui, pour un mot donné, affiche toutes les consonnes présentes.
Pour ce faire, la logique ici serait :

  • De parcourir, à l'aide d'une boucle, toutes les lettres du mot ;
  • Si la lettre est différente d'une voyelle (il faut donc tester pour toutes les voyelles), on affiche la voyelle.
  1. Définir la fonction, à l'aide du mot-clé def, l'appeler afficher_consonnes, et lui donner pour paramètre mot.
  2. Écrire la boucle permettant de parcourir toutes les lettres du mot.
  3. Écrire la condition testant si la lettre n'est pas une voyelle. Si c'est le cas, afficher la lettre.
  4. Tester la fonction avec les mots Lune et Papillon.

Nombre de voyelles dans un mot

On veut cette fois-ci avoir une fonction qui calcule et retourne le nombre de voyelles présentes dans un mot.
Pour ce faire, la logique ici serait :

  • De commencer par définir un nombre de voyelles égal à 0 ;
  • De parcourir, à l'aide d'une boucle, toutes les lettres du mot ;
  • Si la lettre est égale à une voyelle (il faut donc tester pour toutes les voyelles), on met +1 dans la variable comptant les voyelles.
  1. Définir la fonction, à l'aide du mot-clé def, l'appeler compter_voyelles, et lui donner pour paramètre mot.
  2. Créer la variable voyelles et lui mettre la valeur 0.
  3. Écrire la boucle permettant de parcourir toutes les lettres du mot.
  4. Écrire la condition testant si la lettre est une voyelle. Si c'est le cas, augmenter voyelles d'un.
  5. Retourner la variable voyelles.
  6. Tester la fonction avec les mots Lune et Papillon.