Notez qu'initialement les traitement conditionnels n'étaient pas demandés dans ce lab. Cependant, les solutions incluent des traitements conditionnels pour plus de pratique.
Exercice 1
Des étudiants souhaitent avoir une application de mathématiques qui les aide à comprendre les propriétés des triangles, précisément, elle doit les aider à identifier si un triangle est rectangle ou non. Créez un tel programme en utilisant les fonctions.
Voici la formule de vérification qu'un triangle est rectangle :
a2+b2=c2
Solution
Pseudo-code
# ************************* Les fonctions ******************************
Nom de la fonction qui vérifie si un triangle est réctangle : triangle_est_rectangle
# *************************** entrées/sorties ***************************
Paramètres (entrées) : a, b et c
Retour (sorties) : vrai ou faux (booleen, True ou False)
# ************************** Début pseudo-code **************************
début fonction triangle_est_rectangle :
si a**2 + b**2 == c**2 alors
retourner True
sinon
retourner False
Fin de la fonction triangle_est_rectangle
# ***********************************************************************
Début du programme principal :
- Lire la valeur de a (l'utilisateur doit entrer la valeur de a)
- Lire la valeur de b
- Lire la valeur de c
triangle_est_rect = triangle_est_rectangle(a, b, c)
si triangle_est_rect == True, alors
afficher : "Le triangle dont les valeurs sont " a"," b "et" c "est un triangle rectangle"
Sinon,
afficher "Le triangle dont les valeurs sont " a"," b "et" c "n'est pas un triangle rectangle"
Fin du programme principal
# ***********************************************************************
Programme en Python
def triangle_est_rectangle(a, b, c):
"""
Vérifie si un triangle est rectangle.
:param a: La longueur du premier côté du triangle.
:param b: La longueur du deuxième côté du triangle.
:param c: La longueur du troisième côté du triangle (hypoténuse).
:return: (booléen) True si le triangle est rectangle, False sinon.
"""
if a**2 + b**2 == c**2:
return True
else:
return False
if __name__ == "__main__":
a = float(input("Entrez la valeur de a: "))
b = float(input("Entrez la valeur de b: "))
c = float(input("Entrez la valeur de c: "))
triangle_est_rect = triangle_est_rectangle(a, b, c)
if triangle_est_rect:
print(f"Le triangle dont les valeurs sont {a}, {b} et {c} est un triangle rectangle.")
else:
print(f"Le triangle dont les valeurs sont {a}, {b} et {c} n'est pas un triangle rectangle.")
Plan de test :
a
b
c
Résultat
3
4
5
Le triangle est rectangle
5
12
12
Le triangle n'est pas rectangle
29
420
421
Le triangle est rectangle
24
143
170
Le triangle n'est pas rectangle
52
73
93
Le triangle n'est pas rectangle
Exercice 2
Écrivez un programme qui fera la conversion d’un angle. L’utilisateur devra fournir un angle en degrés et le programme devra le convertir en radians.
La formule de conversion est la suivante :
rad=π/180×degreˊs
Plan de tests
Valeurs d'entrée
Résultat observé
Angle en degrés : 0°
Angle en degrés : 79°
Angle en degrés : 360°
Angle en degrés : 58.6°
Angle en degrés : -45°
Exercice 3
Vous travaillez en tant que programmeur pour une application de gestion de profils. Votre tâche est d'écrire un programme qui récupère les informations d'un utilisateur pour lui créer un profil personnalisé (nom, prénom, date de naissance, profession, adresse de résidence et adresse courriel). Ce profil doit ensuite être affiché à l’écran.
L'adresse courriel de l'utilisateur doit être construite de manière automatique à partir des données saisies en respectant le format suivant :
[prénom].[nom]@[domaine]
Le nom de domaine ne change pas et doit être « cegepoutaouais.qc.ca »
Inspirez-vous des laboratoires précédents pour créer un affichage professionnel.
Solution
Pseudo-code
# ************************* Les fonctions ******************************
Fonction qui créé l'adresse courriel : creer_courriel
# *************************** entrées/sorties ***************************
Paramètres (entrées) : nom et prenom
Retour (sorties) : l'adresse courriel
# ************************** Début pseudo-code **************************
début fonction creer_courriel
Définir la constante NOM_DOMAINE = "cegepoutaouais.qc.ca"
adresse_courriel = nom + "." + prenom + "@" + NOM_DOMAINE
retourner adresse_courriel
Fin fonction
# **********************************************************************
Fonction qui lit les informations du profil et qui affiche le profil: afficher_profil
# *************************** entrées/sorties ***************************
Paramètres (entrées) : aucun
Retour (sorties) : Aucun (affichage du profil)
# ************************** Début pseudo-code **************************
Début fonction afficher_profil
Lire le nom (on demande à l'utilisateur d'entrer le nom)
Lire le prénom
Lire la date de naissance (demander un format, ex: JJ/MM/AAAA)
Lire la profession
Lire l'adresse de résidence
adresse_courriel = creer_courriel(nom, prenom)
nom_complet = prenom + " " + nom
Afficher toutes les informations lues et l'adresse courriel au format suivant :
"********************************************************************"
Profil d'Alain:
Nom complet: Alain Connu
Date de naissance: 15/03/1860
Profession: Chercheur introuvable
Adresse de résidence: 42 Rue des Mystères, 00000 Fictionville
Adresse courriel: Alain.Connu@cegepoutaouais.qc.ca
"********************************************************************"
Fin fonction
# ***********************************************************************
Début du programme principal :
afficher_profil()
Fin du programme principal
# ***********************************************************************
Programme en Python
def creer_courriel(nom, prenom):
"""
Crée une adresse courriel à partir du nom et du prénom.
:param nom: Le nom d'une personne.
:param prenom: Le prénom d'une personne.
:return: L'adresse courriel générée.
"""
NOM_DOMAINE = "cegepoutaouais.qc.ca"
adresse_courriel = nom + "." + prenom + "@" + NOM_DOMAINE
return adresse_courriel
def afficher_profil():
"""
Lit les informations de l'utilisateur et affiche le profil complet.
:return: Aucun (on affiche le profil)
"""
prenom = input("Entrez le prénom: ")
nom = input("Entrez le nom: ")
date_naissance = input("Entrez la date de naissance au format JJ/MM/AAAA : ")
profession = input("Entrez la profession: ")
adresse_residence = input("Entrez l'adresse de résidence: ")
adresse_courriel = creer_courriel(nom, prenom)
nom_complet = prenom + " " + nom
print("\n********************************************************************")
print(f"Profil de {prenom}:")
print(f"Nom complet: {nom_complet}")
print(f"Date de naissance: {date_naissance}")
print(f"Profession: {profession}")
print(f"Adresse de résidence: {adresse_residence}")
print(f"Adresse courriel: {adresse_courriel}")
print("********************************************************************")
if __name__ == "__main__":
afficher_profil()
Exercice 4
Vous êtes développeur pour une entreprise de services financiers qui aide ses clients à gérer leurs investissements. Une de vos missions consiste à créer un programme pour vérifier automatiquement si des valeurs spécifiques, comme les prix des actions ou les taux d'intérêt, se situent dans une plage prédéfinie. Cela permet aux analystes financiers de savoir rapidement si les données respectent les seuils de tolérance ou les conditions fixées par les clients.
Solution
Pseudo-code
# ************************* Les fonctions ******************************
Fonction qui vérifie si une valeur est dans un intervalle : valeur_dans_intervalle
# *************************** entrées/sorties ***************************
Paramètres (entrées) : valeur, seuil_inferieure, seuil_superieure
Retour (sorties) : vrai ou faux (booléen, True ou False)
# ************************** Début pseudo-code **************************
début fonction valeur_dans_plage :
si limite_inferieure <= valeur <= limite_superieure alors
retourner Vrai
sinon
retourner Faux
Fin de la fonction valeur_dans_plage
# ***********************************************************************
Début du programme principal :
Lire la valeur
Lire la limite inférieure
Lire la limite supérieure
valeur_valide = valeur_dans_intervalle(valeur, limite_inferieure, limite_superieure)
si valeur_valide == True alors
afficher "La valeur " valeur " est dans la plage prédéfinie de " limite_inferieure " à " limite_superieure "."
sinon
valeur_valide "La valeur " valeur " n'est pas dans la plage prédéfinie de " limite_inferieure " à " limite_superieure "."
Fin du programme principal
# ***********************************************************************
Programme en Python
def valeur_dans_intervalle(valeur, seuil_inferieur, seuil_superieur):
"""
Vérifie si une valeur est dans un intervalle spécifié.
:param valeur: La valeur à vérifier.
:param seuil_inferieur: Le seuil inférieur de l'intervalle.
:param seuil_superieur: Le seuil supérieur de l'intervalle.
:return: (bool) True si la valeur est dans l'intervalle, sinon False.
"""
return seuil_inferieur <= valeur <= seuil_superieur
if __name__ == "__main__":
valeur = float(input("Entrez la valeur à vérifier: "))
limite_inferieur = float(input("Entrez le seuil inférieur: "))
limite_superieur = float(input("Entrez le seuil supérieur: "))
valeur_valide = valeur_dans_intervalle(valeur, limite_inferieur, limite_superieur)
if valeur_valide:
print(f"La valeur {valeur} est dans la plage prédéfinie de {limite_inferieur} à {limite_superieur}.")
else:
print(f"La valeur {valeur} n'est pas dans la plage prédéfinie de {limite_inferieur} à {limite_superieur}.")
Plan de tests
Valeur à vérifier
Seuil inférieur
Seuil supérior
Résultat observé
134.73
120
139
La valeur 134.73 est dans la plage prédéfinie de 120.0 à 139.0.
10.5
9.8
10.5
La valeur 10.5 est dans la plage prédéfinie de 9.8 à 10.5.
228.67
137.62
228.65
La valeur 228.67 n'est pas dans la plage prédéfinie de 137.62 à 228.65.
74.22
71.13
77.16
La valeur 74.22 est dans la plage prédéfinie de 71.13 à 77.16.
57.30
57.30
68.74
La valeur 57.3 est dans la plage prédéfinie de 57.3 à 68.74.