Js algo td2

De The Linux Craftsman
Aller à la navigation Aller à la recherche

Introduction

Énoncé

On considère une liste de noms. Le but de l’exercice est de tirer une lettre au hasard dans l’alphabet et d’afficher les noms de la liste commençant par cette lettre.

Postulat de base

On considère le code suivant comme constituant le début du programme

var listenoms = new Array("Alain","Antoine", "Bernard", "Colin", "Christine","François", "Guy","Gérard", "Léa","Léon","Louis","Nathalie","Serge","Sylvie","Sylvain","Vincent");
var alphabet = new Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");

Exercice 1

Écrire une fonction lettre_au_hasard(), sans paramètre, qui retourne une lettre choisie au hasard de la liste alphabet.

Exemple : Si le nombre choisi au hasard est 2, lettre_au_hasard() renvoie la lettre C.

Solution

function lettre_au_hasard(){
    var rand = Math.round(Math.random()*25);
    return alphabet[rand];
}

Exercice 2

Ecrire une fonction noms(liste,lettre) dont les paramètres sont une liste de noms, liste et une lettre, lettre.

Cette fonction créera la liste des noms de liste commen ̧cant par la lettre lettre et retournera cette liste. Exemple :

noms(listenoms,"A")

renvoie la liste ["Alain","Antoine"]

noms(listenoms,"W")

renvoie la liste [ ] (liste vide).

Solution

function noms(liste,lettre){
    var noms = new Array();
    var i = 0;
    for ( var index in liste) {
        if(liste[index][0] == lettre){
            noms[i] = liste[index];
            i++;
        }
    }
    return noms;
}

Code final