Dans cette section, vous trouverez des ressources sur les cours que j'enseigne à savoir de la documentation, du code, des vidéos etc. Dès que je trouve quelque chose d'intéressant à partager, je le mettrai à disposition ici pour mes étudiants.
##Auteur : Enseignant
##École : Collège Marie Victorin
##Session : Automne 2023
##Titre du cours : Introduction à la programmation avec Python
##Titre du programme : devoir3.py
##Courte description du programme : Calcul de l'amortissement d'un bien.
##Version : 1.0
##Date : 00/00/2023
##Langage et version : Python - 3.11
##Règles de fonctionnement du programme :
##
##=============================================================================
# =================================================
# Calcul d'amortissement d'un bien a l'aide de trois méthodes
# 1 - Méthode d'amortissement linéaire
# 2 - Méthode d'amortissement à taux fixe
# 3 - Méthode d'amortissement à taux variable
# =================================================
# Fonction qui vérifie si un nombre est positif
# ==============================================
def nb_positif(pNombre):
if pNombre < 0:
return False
else:
return True
# Fonction qui vérifie la validité de la saisie utilisateur
# =========================================================
def verif_input(pValeur, pPrompt):
strMessageErreur = 'Entrée invalide, veuillez recommencer...'
while pValeur < 0:
pValeur = int(input(pPrompt))
if nb_positif(pValeur):
return pValeur
else:
print(strMessageErreur)
pValeur = -1
# Calcul du facteur d'amortissement
# =================================
def calcul_facteur(pMethode, pDuree):
intSomme = 0
if pMethode == 1:
#print('amortissement lineaire')
facteur = 1 / pDuree
return facteur
elif pMethode == 2:
facteur = 2 / pDuree
return facteur
#print('amortissement taux fixe')
elif pMethode == 3:
for indice in range(1,pDuree + 1 ):
intSomme = intSomme + indice
denominateur_facteur = intSomme
#print('intSomme : ', intSomme)
return denominateur_facteur
## Fin des fonctions
## Programme Devoir 3
## Programme principal
## Déclaration et initialisation de chaines
strChoix = ''
strPromptValeurBien = 'Veuillez entrer la valeur du bien : '
strPromptDureeAmrt = 'Veuillez entrer la durée de l\'amortissement du bien : '
strPromptChoix = 'Veuillez choisir une option 1, 2, 3 ou 0 pour quitter : '
strAmortissementLineaire = '\nAmortissement linéaire\n'
strAmortissementDegressifFixe = '\nAmortissement dégressif à taux fixe \n'
strAmortissementDegressifVariable = '\nAmortissement dégressif à taux variable \n'
strErreurChoix = '\nErreur, choix erroné... Veuillez recommencer.\n'
strFinProgramme = 'Fin de programme. Merci aurevoir'
strMessageSortie = 'Année \t {} \t Amortissement : {:.2f} \t valeur actuelle : {:.2f} '
strOption0, strOption1, strOption2, strOption3 = '0', '1', '2', '3'
strAuteur = 'Auteur : Votre nom et prénom'
strTraitAuteur = '='
strTitre = 'Calcul de dépréciation d\'un bien'
strTrait = '='
strOptionMenu1 = '1 - Amortissement linéaire'
strOptionMenu2 = '2 - Amortissement dégressif à taux fixe'
strOptionMenu3 = '3 - Amortissement dégressif à taux variable'
strOptionMenu0 = '0 - Fin de programme \n'
## Déclaration et initialisation de variable numériques
flFacteurAmrt = 0.0
flAmortissement = 0.0
flValeurResiduelle = 0.0
intMethode = 0
intNombre = -1
## Boucle d'affichage du menu
while strChoix != strOption0:
print(strTraitAuteur * len(strAuteur))
print(strAuteur)
print(strTraitAuteur * len(strAuteur))
print(strTitre)
print(strTrait * len(strTitre))
print(strOptionMenu1)
print(strOptionMenu2)
print(strOptionMenu3)
print(strOptionMenu0)
strChoix = input(strPromptChoix)
# Initialisation des entrées au début du calcul
# de chaque méthode d'amortissement
intValeurBien = -1
intValeurDuree = -1
if strChoix == strOption1:
print(strAmortissementLineaire)
intMethode = 1
## Saisie du montant du bien et de la durée de l'amortissement
## Appel de la fonction qui valide les entrées
## Tant que la valeur est négative, recommencer
intValeurBien = verif_input(intValeurBien, strPromptValeurBien)
intValeurDuree = verif_input(intValeurDuree, strPromptDureeAmrt)
flValeurResiduelle = intValeurBien
# Calcul du facteur d'amortissement
#Appel de la fonction qui calcule le facteur d'amortissement
flFacteurAmortissement = calcul_facteur(intMethode, intValeurDuree)
# Boucle qui calcule l'amortissement et la valeur résiduelle
# L'amortissement est le produit du facteur d'amortissement par
# la valeur du bien
# La valeur résiduelle est la différence entre l'ancienne valeur et l'amortissement
for indice in range(1,intValeurDuree + 1):
flAmortissement = flFacteurAmortissement * intValeurBien
flValeurResiduelle = flValeurResiduelle - flAmortissement
print(strMessageSortie.format(indice, flAmortissement, flValeurResiduelle))
elif strChoix == strOption2:
print(strAmortissementDegressifFixe)
intMethode = 2
## Saisie du montant du bien et de la durée de l'amortissement
## Appel de la fonction qui valide les entrées
## Tant que la valeur est négative, recommencer
intValeurBien = verif_input(intValeurBien, strPromptValeurBien)
intValeurDuree = verif_input(intValeurDuree, strPromptDureeAmrt)
flValeurResiduelle = intValeurBien
# Calcul du facteur d'amortissement
#Appel de la fonction qui calcule le facteur d'amortissement
flFacteurAmortissement = calcul_facteur(intMethode, intValeurDuree)
# Boucle qui calcule l'amortissement et la valeur résiduelle
# L'amortissement est le produit du facteur d'amortissement par
# la valeur du bien
# La valeur résiduelle est la différence entre l'ancienne valeur et l'amortissement
for indice in range(1,intValeurDuree + 1):
flAmortissement = flFacteurAmortissement * flValeurResiduelle
flValeurResiduelle = flValeurResiduelle - flAmortissement
print(strMessageSortie.format(indice, flAmortissement, flValeurResiduelle))
elif strChoix == strOption3:
print(strAmortissementDegressifVariable)
intMethode = 3
## Saisie du montant du bien et de la durée de l'amortissement
## Appel de la fonction qui valide les entrées
## Tant que la valeur est négative, recommencer
intValeurBien = verif_input(intValeurBien, strPromptValeurBien)
intValeurDuree = verif_input(intValeurDuree, strPromptDureeAmrt)
flValeurResiduelle = intValeurBien
# Calcul du facteur d'amortissement
#Appel de la fonction qui calcule le facteur d'amortissement
#Pour l'option 3, une partie seulement du calcul du facteur d'amortissement se
# fait dans la fonction car in retourne une constante.
# Le numérateur change chaque année
flDenoFacteurAmortissement = calcul_facteur(intMethode, intValeurDuree)
#Numérateur du facteur d'amortissement
intNumFacteurAmortissement = intValeurDuree
# Boucle qui calcule l'amortissement et la valeur résiduelle
# L'amortissement est le produit du facteur d'amortissement par
# la valeur du bien
# La valeur résiduelle est la différence entre la valeur du bien et l'amortissement
# for indice in range(intValeurDuree, 0, -1):
for indice in range(1,intValeurDuree + 1):
#flFacteurAmortissement = indice / flDenoFacteurAmortissement
flFacteurAmortissement = intNumFacteurAmortissement / flDenoFacteurAmortissement
flAmortissement = flFacteurAmortissement * intValeurBien
flValeurResiduelle = flValeurResiduelle - flAmortissement
# Décrémentation du numérateur
intNumFacteurAmortissement = intNumFacteurAmortissement - 1
print(strMessageSortie.format(indice, flAmortissement, flValeurResiduelle))
elif strChoix == strOption0:
print(strFinProgramme)
else:
print(strErreurChoix)
W3schools
Python.org