Initiation à la programmation en Basic – ETAPE 7 : Boucles

Pour le moment, notre programme calcule et affiche la mensualité à rembourser. La présente étape propose d’établir l’échéancier de remboursement.

La modélisation d’un échéancier est simple : pour une échéance donnée, le montant des intérêts est calculé sur le montant du capital restant dû et le montant du capital amorti égale l’annuité déduction faite des intérêts. Pour obtenir l’échéancier, il suffit de répéter ces calculs sur la durée de remboursement.

Toutes les notions nécessaires aux calculs ont été vues précédemment. Seule manque la technique de programmation qui permet la répétition des calculs de remboursements. Cette répétition est rendue possible à l’aide d’une boucle.

Boucle compteur :

Une boucle est une structure de programmation qui permet de répéter un ensemble d’instructions un certain nombre de fois. Il existe plusieurs types de boucles. Celui que nous verrons ici est de type compteur. Il se construit à l’aide des mots clefs suivants :

FOR variable compteur = départ TO arrivée STEP pas

[…]

NEXT

Exemple :

FOR i=1 TO 5
  PRINT « Ligne n° « ,i
NEXT i

L’instruction FOR fera prendre à la variable i successivement toutes les valeurs comprises de 1 à (TO) 5. Cet exemple affichera donc cinq lignes « Ligne n° » affublées respectivement du chiffre 1, 2, 3… L’instruction NEXT ferme la boucle, le programme repart sur la ligne FOR jusqu’à ce que la variable i égale cinq.

Dans l’exemple précédent, la variable est incrémentée de un en un. L’instruction STEP permet de définir le pas d’incrémentation. Par exemple, STEP 2 incrémentera la variable i de deux en deux. Il est également envisageable d’adopter un pas négatif (dans ce cas, la valeur de départ du compteur doit être supérieure à celle d’arrivée).

Pour établir notre échéancier, notre boucle compteur nécessite la définition d’une variable de type Integer, que nous nommerons i. La valeur de départ du compteur sera 1 (la première échéance) et la valeur d’arrivée sera duree * 12, c’est-à-dire le nombre de mois (soit le nombre d’échéances) ; ainsi programmée, la boucle traitera successivement chaque échéance.

Calcul des échéances :

Le calcul de chaque échéance intègre le calcul :

  • Des intérêts (variable interet) : les intérêts sont calculés en appliquant le taux de rémunération sur le montant du capital restant dû ; ce calcul sera programmé ainsi : interet=capitalrestant*taux/12.
  • Du capital remboursé (variable capitalremb) : cet item est calculé en soustrayant les intérêts de l’échéance à la mensualité ; code-source : capitalremb=mens-interet
  • Du capital restant à rembourser (variable capitalrestant) : calculé par soustraction entre le capital restant dû et le capital remboursé lors de l’échéance ; code-source : capitalrestant = capitalrestant – capitalremb

Les nouvelles variables introduites ci-avant sont déclarées en tête de programme :

Dim capitalrestant As Double
Dim interet As Double
Dim capitalremb as double

Il ne reste plus qu’à afficher le calcul de chaque échéance avec l’instruction PRINT.

Résultat du programme :

Le programme affiche l’échéancier. Dans la prochaine étape, nous verrons comment le mettre en forme…

Conclusion :

Après cette étape, vous savez maintenant programmer des problèmes de calcul simples.

Avez-vous des calculs que vous effectuez couramment manuellement que vous souhaiteriez automatiser ? Soumettez-les en commentaires ou par méls, nous y réfléchirons ensembles.

Code-source du programme à ce stade de l’initiation :

Le code-source fourni ci-après est téléchargeable (cf en bas d’article) :

'Calcul d'un échéancier d'emprunt

'Ecrit en basic sous FreeBASIC

'Par Benoît-René RIVIERE, www.auditsi.eu

 

#include "string.bi"

 

'---Déclaration des variables

'------Paramètres emprunt

Dim capital As Double

Dim duree As Integer

Dim taux As Double

Dim mens As Double

'------Variables diverses

Dim i As Integer

'------Variables emprunt mensualité

Dim capitalrestant As Double

Dim interet As Double

Dim capitalremb as double

 

'---Saisie des paramètres de l'emprunt

Cls

Color 11

Print "Calcul d'un échéancier d'emprunt"

Print

Color 15

Print "Saisissez les paramètres de l'emprunt :"

Input "Capital emprunté : ",capital

Input "Durée de l'emprunt en années : ",duree

Input "Taux annuel : ",taux

 

'---Calcul et affichage de la mensualité

taux=taux/100

mens = (capital*taux/12) / (1-(1+taux/12)^-(duree*12))

Print "Mensualité : ";Format(mens,"0.00")

'---Calcul, affichage et enregistrement de l'échéancier

capitalrestant=capital

For i=1 To duree*12

  interet=capitalrestant*taux/12

  capitalremb=mens-interet

  'Affichage de la ligne en cours

  Print i ; " : ";Format(capitalrestant,"0.00");" - ";Format(interet,"0.00");" - ";Format(capitalremb,"0.00");" - ";Format(capitalrestant-capitalremb,"0.00")

 

  capitalrestant=capitalrestant-capitalremb

Next i

 

Sleep
Share Button
calcul emprunt (etape 7)
calcul emprunt (etape 7)
calcul emprunt (etape 7).bas
1 KiB
807 téléchargements
Détails...
The following two tabs change content below.
Après seize années passées en cabinet d’expertise-comptable et de commissariat aux comptes (où j’ai exercé comme expert-comptable et chef de mission audit), j’ai pris le poste de directeur comptable d’un groupe de distribution automobile en novembre 2014. Au cours de ma carrière, j’ai acquis une expérience significative en audit et en exploitation des systèmes d’information (analyse de données, automatisation des tâches, programmation informatique) au service de la production des comptes annuels et consolidés. C’est cette expérience personnelle et ma passion pour l’informatique que je partage sur ce blog. Mon CV / Réalisations personnelles et projets informatiques / Ma collection / Me contacter

Un commentaire

  1. Pingback: EXCEL et VBA : Manipuler des plages de cellules dans des variables tableaux | Audit & Systèmes d'Information

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.