Calculer avec MiniLogo


MiniLogo permet de mettre en oeuvre des algorithmes de calculs élémentaires. En voici quelques exemples.

Sommaire :


  1. Doublement d'un capital
  2. 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.

  3. PGCD de deux entiers
  4. 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
    

  5. Calcul d'une racine carrée
  6. 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
    


Voir aussi :