Différences entre versions de « Js algo td3 »

De The Linux Craftsman
Aller à la navigation Aller à la recherche
Ligne 42 : Ligne 42 :
 
<big>Exercice 1</big>
 
<big>Exercice 1</big>
 
<source lang="javascript" style="border:1px solid black;font-size:130%" class="mw-collapsible-content">
 
<source lang="javascript" style="border:1px solid black;font-size:130%" class="mw-collapsible-content">
function octal_decimal(octal) {
+
function decimal_octal(decimal) {
     var resultat = 0;
+
     var resultat = new Array();
     var i = octal.length - 1;
+
    var fin = false;
     for (index in octal) {
+
    var quotient = decimal;
         resultat += octal[index] * Math.pow(8, i);
+
     var i = 0;
         i--;
+
     while (!fin) {
 +
         resultat[i] = quotient % 8;
 +
        quotient = Math.floor(quotient / 8);
 +
        if (quotient == 0) {
 +
            fin = true;
 +
        }
 +
         i++;
 
     }
 
     }
     return resultat;
+
     return resultat.reverse();
 
}
 
}
 
</source>
 
</source>

Version du 24 mars 2014 à 13:25

Introduction

On souhaite passer de la base dix à la base huit (base octale) puis de la base huit à la base dix.

Exemple

Conversion de en base 8.

1205 = 150 x 8 + 5
150 = 18 x 8 + 6
18 = 2 x 8 + 2
2 = 0 x 8 + 2
Dividende reste
1205 5
150 6
18 2
2 2

Exercice 1

Ecrire une fonction decimal_octal(n) dont le param`tre est un entier n. Cette fonction renvoie le nombre n en base 8 sous forme de liste

Exemple : n= 1205, decimal_octal(n) renvoie la liste [2, 2, 6, 5]

Exercice 1

function decimal_octal(decimal) {
    var resultat = new Array();
    var fin = false;
    var quotient = decimal;
    var i = 0;
    while (!fin) {
        resultat[i] = quotient % 8;
        quotient = Math.floor(quotient / 8);
        if (quotient == 0) {
            fin = true;
        }
        i++;
    }
    return resultat.reverse();
}

Exercice 2

Ecrire une fonction octal_decimal(n), dont le param`tre est la liste n d’entiers. Cette fonction renvoie le nombre n, écrit en octal, en décimal.

Exemple : n = [2, 2, 6, 5], octal_decimal(octal) renvoie 1205

Exercice 1

function octal_decimal(octal) {
    var resultat = 0;
    var i = octal.length - 1;
    for (index in octal) {
        resultat += octal[index] * Math.pow(8, i);
        i--;
    }
    return resultat;
}

Exercice 3

Ecrire un page qui permet d'utiliser votre programme grâce à :

  • un champ input de type text pour la saisie d'un nombre;
  • une liste de deux boutons radio pour choisir le type de conversion;
  • une div qui permettra l'affichage de la conversion;