Bienvenue

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.


Devoir 3

Calcul de l'amortissement d'un bien.

		##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