-
Doublement d'un capital
On place un capital au taux de 5%. Combien d'années faudra-t-il attendre pour que ce
capital ait doublé ?
Analyse
A la fin de chaque année, les intérêts s'ajoutent au capital. Il faut donc, pour chaque année,
calculer le nouveau capital jusqu'à ce qu'il dépasse le double du capital initial. On pourra
utiliser une boucle "tantque". Le programme comportera 3 parties : entrée du capital initial,
boucle de calcul et de décompte des années, affichage du résultat.
Programme
On utilisera les variables suivantes :
- capini pour conserver le capital initial
- capital pour contenir le montant du capital année par année
- ans pour compter le nombre d'année
;doublement d'un capital placé à 5%
;
;entrée du capital initial
aff "Montant du capital initial : "
demande capini
;initialiser les variables
dans capital capini
dans ans 0
;boucle de calcul
tantque capital<2*capini
(dans interet capital*5/100
dans capital capital+interet
dans ans ans+1)
;affichage du résultat
aff "Le capital aura doublé en " aff ans aff " ans." ret
;arrondir à 2 chiffres après la virgule; astuce :
;multiplier par 100, prendre la partie entière et diviser par 100
dans capital ent(capital*100)/100
aff "Il aura atteint la somme de " aff capital aff "F." ret
Résultat obtenu
Montant du capital : 6000
Le capital aura doublé en 15 ans.
Il aura atteint la somme de 12473.56F.
En faisant varier le montant du capital initial on observe que la durée de doublement est
toujours de 15 ans. Ceci peut être le point de départ d'une nouvelle recherche.
-
PGCD de deux entiers
On se propose de calculer le PGCD de deux entiers en utilisant la méthode des différences
successives.
Principe du programme
Deux entiers a et b étant donnés (a>b), on calcule leur différence a-b. Le PGCD de a et b est
alors égal à celui de b et b-a. En recommençant on obtient une suite de couples (u,v) ayant
toujours le même PGCD et devenant de plus en plus petits. Cette suite s'arrête de décroitre
lorsque u=v. La valeur commune à u et v est le PGCD de a et b.
Programme
;calcul du PGCD par différences successives
;entrée des données
aff "PGCD des entiers A et B" ret
aff "=======================" ret ret
aff "Entrer l'entier A : " demande A
dans A ent(A)
aff "Entrer l'entier B : " demande B
dans B ent(B)
aff "Le PGCD de " aff A aff " et " aff B aff " est "
;calcul
tantque A<>B
(
si A>B (dans A A-B)
si B>A (dans B B-A)
)
;affichage du résultat
aff A ret
-
Calcul d'une racine carrée
On calcule la racine carrée d'un nombre positif en recherchant des approximations
successives.
Principe du programme
Pour calculer la racine carrée du nombre X on construit une suite de rectangles dont l'aire
est toujours égale à X et dont la différence entre les côtés devient de plus en plus petite. On
commence par le rectangle de dimensions (1,X). Pour passer d'un rectangle au rectangle
suivant on prend la moyenne des mesures précédentes comme mesure d'un côté et le
quotient de X par cette mesure pour l'autre côté. On arrête le processus lorsque la différence
entre les deux mesures est suffisamment petite.
Programme
On commence par écrire une procédure permettant d'obtenir le nombre X dont on cherche la
racine en veillant à ce qu'il soit positif. On utilise ensuite deux variables a et b qui
contiendront les dimensions des rectangles successifs et une variable nommée fini qui
indiquera le moment où ces dimensions sont suffisamment proches l'une de l'autre pour
arrêter.
;Calcul d'une racine carrée
;Utilisation d'une suite de rectangle
;
;lecture de X qui doit être positif
pour lirex
(
dans finlirex faux
tantque finlirex=faux
(
aff "Entrer la valeur de X : " demande X
si x>=0 (dans finlirex vrai)
si finlirex=faux
(aff "X doit être positif." ret)
)
)
;
aff "Calcul de la racine carrée de X." ret
aff "================================" ret ret
lirex
dans fini faux
;Si X=0 la réponse est 0
si X=0 (dans a 0 dans fini vrai)
si X>0 (dans a 1)
;A contient la 1ère dimension du rectangle
;qui sera aussi la réponse fournie
tantque fini=faux
(
aff A ret
dans B (A+X/A)/2
;si A et B sont assez proches on arrête le processus
si abs(A-B)<0.000001 (dans fini vrai)
si fini=faux (dans A B)
;Pour le rectangle suivant c'est la moyenne contenue dans B qui
;sera la 1ère dimension
)
aff "La racine carrée de " aff X aff " est " aff A ret