|
Les bases de la programmation - Partie 2
|
|
par sky
, le Jeudi 02 septembre 2004 |
|
|
7 Solutions des exercices 7.1 Exercice 1
|
// initialisation
var welcome = 'Bonjour';
// decoupage de la variable dans deux autres
// recuperation des 3 premières lettres
var debut = welcome.substring( 0,3 );
// recuperation de la fin du texte
var fin = welcome.substring ( 3, welcome.length );
// affichages
alert ( 'Debut: ' + debut + '.' );
alert ( 'Fin: ' + fin + '.' );
|
|
7.2 Exercice 2
|
// la fonction principale
function concat( chaine1, chaine2 ) { var longue_chaine = chaine1 + chaine2;
alert ( 'La chaine resultante est : ' + longue_chaine + '.' );
alert ( 'La longueur est longue de ' + longue_chaine.length + ' caracteres.');
}
// quelques lignes de code supplementaires pour tester la fonction
// initialisation de 2 chaines
var ch1 = 'Construction de ';
var ch2 = 'la phrase.';
// appel de la fonction
concat( ch1, ch2 );
|
|
7.3 Exercice 3
|
// la fonction qui modifie la liste
function modifieUneListe( liste, index, valeur ) { // on modifie la liste
liste[ index ] = valeur;
// on renvoie la liste
return liste;
}
// initialisation de la liste et des valeurs de test
var maliste = [ 4, 7, 9, 12 ];
var monindex = 2;
var mavaleur = 16;
// modification
maliste = modifieUneListe ( maliste, monindex, mavaleur );
// affichage du resultat
alert ( 'La liste modifiee est : ' + maliste + '.' );
|
|
7.4 Exercice 4
|
// la fonction qui recherche et revoie la chaine modifiee
function rechercheDeChaine( ch1, ch2 ) { // on trouve la position
var trouve = ch2.indexOf ( ch1 );
// On renvoie la solution.
// Il est possible, voir fort probable, que vous ayez decompose en
// 4 a 5 instructions distinctes.
return ( ch2.substring( 0, trouve ).toLowerCase() + ch2.substring( trouve, ch2.length ).toUpperCase() );
}
// initialisation des chaines
var chaine1 = 'chaine';
var chaine2 = 'Pour realiser cet exercice, nous avons besoin d une longue chaine de caractere.';
// affichage de la transformation
alert ( rechercheDeChaine ( chaine1, chaine2 ) );
|
|
7.5 Exercice 5
|
// la fonction a corriger
function additionne ( liste1, liste2 ) { /* j additionne les premiers elements
avec les bonnes listes */
liste1[ 0 ] += liste2[ 0 ];
/* j additionne les seconds elements.
L erreur est ici une double erreur, ce n est pas la bonne liste qui est mise a jour, de plus ce n est pas le bon index pour la valeur additionnee. */
liste1[ 1 ] += liste2[ 1 ];
// j'additionne les derniers elements
liste1[ 2 ] += liste2[ 2 ];
// je retourne la liste modifiee
return liste1;
}
// lignes supplementaires
// inititalisation de 2 listes de 3 elements chacune
var liste1 = [ 1, 2, 3 ];
var liste2 = [ 2, 2, 2 ];
// affichage et lancement de la fonction
alert ( additionne ( liste1, liste2 ) );
|
|
7.6 Exercice 6
|
// initialisation de la matrice
trinity = [];
trinity [ 0 ] = [ 0, 0, 0, 0];
trinity [ 1 ] = [ 0, 0, 0, 0];
trinity [ 2 ] = [ 0, 0, 0, 0];
|
|
7.7 Exercice 7
|
// fonction qui affiche la matrice
function afficheUnElement ( matrice, ligne, colonne ) { /* on affiche le bon element, il faut bien faire attention a appeller les valeurs de ligne et colonne dans l'ordre*/
alert( matrice[ ligne ][ colonne ]); ;
}
// fonction qui edite la matrice
function editerUneMatrice ( matrice, ligne, colonne, valeur ) { // on edite le bon element
matrice[ ligne ][ colonne ] = valeur;
return matrice;
}
// initialisation de la matrice
trinity = [];
trinity [ 0 ] = [ 0, 0, 0, 0];
trinity [ 1 ] = [ 0, 0, 0, 0];
trinity [ 2 ] = [ 0, 0, 0, 0];
// appel de la fonction qui met a jour la matrice
trinity = editerUneMatrice ( trinity, 1, 2, 4 );
// appel de la fonction qui affiche l element voulu
afficheUnElement ( trinity, 1, 2 );
|
|
|
|