Tutorat en bio-informatique Le 2 novembre 2012. Exercice 5 et 6 (MAT1400) Chapitre 9.7, Analyse - concepts et contextes vol. 2 23) Écrivez l'équation.

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Explorer un espace d’états
Les fonctions A quoi ça sert ?
Portée des variables VBA & Excel
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
Le publipostage La fonction de fusion permet de créer des documents identiques dans les grandes lignes que l’on personnalise automatiquement à chaque destinataires.
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Algorithme et programmation
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Apprendre à se servir d’un tableur
Lycée Louis Vincent SEANCE 6 Python Les listes Lundi 25 novembre 2013.
CSI3525: Concepts des Langages de Programmation Notes # 11: Sous-Programmes ( Lire Chapitre 8 )
Principes de programmation (suite)
Points importants de la semaine Les fonctions. La portée. La passage par copie. Les tableaux.
Structures de données linéaires
Programmation orientée objet
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Créer une animation simple Gif avec ImageReady.
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Présentation du logiciel Le Compagnon. Table des matières Le Compagnon Configuration du logiciel Icônes Inscription des parents Inscription des enfants.
Faculté I&C, Claude Petitpierre, André Maurer What is this ? (Quest ce que this ?)
CSI3525: Concepts des Langages de Programmation Notes # 12: Implementation des Sous-Programmes ( Lire Chapitre 9 )
Points importants de la semaine Le paramétrage. La portée. Le passage par copie. Le passage par référence.
28 novembre 2012 Grégory Petit
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
© 2007 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java et les Exceptions Peter Van Roy Département dIngénierie Informatique,
Quest-ce quune classe dallocation? Une classe dallocation détermine la portée et la durée de vie dun objet ou dune fonction.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Manipulation de formulaires en Javascript
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Introduction à la programmation I Fonctions Structures de contrôle Structures de données (arrays simples et indexés) Variables locales et globales.
Présentation Structures de Données et TDA
Sixième cours Les chaînes de caractères et le passage de paramètres par référence Passage de paramètres par référence String.h.
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Chapitre 9 Les sous-programmes.
8PRO100 Éléments de programmation Les types composés.
COURS DE PROGRAMMATION ORIENTEE OBJET :
Structures de données IFT-10541
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
Procédures et fonctions
Plan cours La notion de pointeur et d’adresse mémoire.
TP n°3 Javascript Contrôle de formulaire
JavaScript.
Créer des packages.
Tutorat en bio-informatique
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
Introduction au langage C Fonctions et Procédures
Les types composés Les enregistrements.
Fonctions avancées et graphiques
Cours LCS N°4 Présenté par Mr: LALLALI
Tutorat en bio-informatique Le 12 octobre Exercices 3 et 4 (MAT1400) - solutions La série du binôme (chap. 8.8) –Trouver la série entière et le.
Tutorat en bio-informatique Le 5 décembre Au programme… MAT1400 Algorithmes de tri dans un tableau (suite)
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Conception de Programmes - IUT de Paris - 1ère année Quelques éléments du langage C++ Les références La surcharge de fonctions Les fonctions «
Tutorat en bio-informatique 29 janvier Au programme… Introduction au Java.
Tutorat en bio-informatique Le 31 octobre Exercice 3 et 4 (MAT1400) Chapitre 9.3, Analyse - concepts et contextes vol. 2 25) Quel est le vecteur.
8PRO107 Éléments de programmation Les adresses et les pointeurs.
8PRO107 Éléments de programmation Les tableaux. Étude de cas 1 Description du problème : Lire une liste d’entiers et l’afficher d’abord dans le même ordre.
Scripts et fonctions Instructions de contrôle
1 PHP 5 Notions fondamentales (niveau 1 cours #3) Formation continue – Cégep de Sainte-Foy François G Couillard.
Algorithmique Tableaux de données
Programmation créative – Les vecteurs
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
** Flash séance 2 Action script. ** Action Script Ajoute de l’interactivité Permet de contrôler les clips  Langage de programmation orienté objet.
LES CLASSES ET LES OBJETS
M. BENJELLOUN : 2005 Le but final est de programmer un jeu où l'ordinateur choisira un nombre aléatoire entre 0 et 100 que vous devez deviner.
Transcription de la présentation:

Tutorat en bio-informatique Le 2 novembre 2012

Exercice 5 et 6 (MAT1400) Chapitre 9.7, Analyse - concepts et contextes vol. 2 23) Écrivez l'équation a) en coordonnées cylindriques et b) en coordonnées sphériques : 29) Un solide est délimité inférieurement par le cône et supérieurement par la sphère. Écrivez des inéquations en coordonnées sphériques qui correspondent à ce solide.

Exercice 5 et 6 (MAT1400) - solutions Chapitre 9.7, Analyse - concepts et contextes vol. 2 23) Écrivez l'équation a) en coordonnées cylindriques et b) en coordonnées sphériques : a)

Exercice 5 et 6 (MAT1400) - solutions Chapitre 9.7, Analyse - concepts et contextes vol. 2 23) Écrivez l'équation a) en coordonnées cylindriques et b) en coordonnées sphériques : b)

Exercice 5 et 6 (MAT1400) - solutions Chapitre 9.7, Analyse - concepts et contextes vol. 2 23) Écrivez l'équation a) en coordonnées cylindriques et b) en coordonnées sphériques : Rappel :

Exercice 5 et 6 (MAT1400) - solutions Chapitre 9.7, Analyse - concepts et contextes vol. 2 29) Un solide est délimité inférieurement par le cône et supérieurement par la sphère. Écrivez des inéquations en coordonnées sphériques qui correspondent à ce solide. z x 1

Exercice 5 et 6 (MAT1400) - solutions Chapitre 9.7, Analyse - concepts et contextes vol. 2 29) Un solide est délimité inférieurement par le cône et supérieurement par la sphère. Écrivez des inéquations en coordonnées sphériques qui correspondent à ce solide. z x 1

Exercice 5 et 6 (MAT1400) - solutions Chapitre 9.7, Analyse - concepts et contextes vol. 2 29) Un solide est délimité inférieurement par le cône et supérieurement par la sphère. Écrivez des inéquations en coordonnées sphériques qui correspondent à ce solide. z x 1

Exercice 5 et 6 (MAT1400) - solutions Chapitre 9.7, Analyse - concepts et contextes vol. 2 29) Un solide est délimité inférieurement par le cône et supérieurement par la sphère. Écrivez des inéquations en coordonnées sphériques qui correspondent à ce solide. z x 1

Exercice 5 et 6 (MAT1400) - solutions Chapitre 9.7, Analyse - concepts et contextes vol. 2 29) Un solide est délimité inférieurement par le cône et supérieurement par la sphère. Écrivez des inéquations en coordonnées sphériques qui correspondent à ce solide. z x 1

Au programme… Les fonctions Les tableaux

Les fonctions Une fonction (ou méthode) est un regroupement d'instructions auquel on donne un nom. Lorsque la fonction est définie (on lui a donné un nom et on a écrit la liste d'instructions), on peut l'appeler en une ligne de code.

Les fonctions Les fonctions nous permettent : –d'alléger notre code (même si on va se servir de la fonction une seule fois) –d'éviter de répéter le même bloc d'instructions plusieurs fois (réutilisation du code)

Les fonctions Une grande quantité de méthodes sont déjà offertes par JavaScript. Vous les avez probablement déjà utilisées : –de l'objet String : maString.charAt(5); maString.toLowerCase(); maString.toUpperCase(); –de l'objet Math : Math.abs(-5); Math.pow(4, 2); Math.sqrt(4);

Les fonctions Il est préférable de définir toutes les fonctions au même endroit dans le code, au tout début ou à la fin du fichier par exemple. Le code est ainsi plus lisible.

Les fonctions La définition d'une fonction comprend la signature (en couleur dans l'exemple) et le bloc d'instructions (corps de la fonction) : function nomDeFonction(paramètre1, paramètre2, …) { … } Par convention, on choisit un verbe comme nom de fonction.

Les fonctions On peut aussi affecter la définition de la fonction à une variable : var nomDeFonction = function(paramètre1, paramètre2, …) { … };

Les fonctions Attention!!! De cette manière, il est impossible de faire un appel à la fonction avant d'avoir fait l'affectation à la variable : nomDeFonction(); //ERREUR! var nomDeFonction = function(paramètre1, paramètre2, …) { … } js: uncaught runtime exception: TypeError: nomDeFonction is not a function, it is undefined.

Les fonctions Voyons en détails ces quatre types de fonctions : –les fonctions sans valeur de retour et sans paramètre –les fonctions avec valeur de retour et sans paramètre –les fonctions sans valeur de retour et avec un ou plusieurs paramètres –les fonctions avec valeur de retour et avec un ou plusieurs paramètres

Les fonctions Les fonctions sans valeur de retour et sans paramètre : //L'utilisateur doit donner en argument un prix et les taxes seront calculees if (arguments.length != 1)‏ { //On quitte le programme si il n'y a pas un seul argument throw "Vous devez donner un argument!"; } var prix = Number(arguments[0]); if(isNaN(prix)) { //On quitte le programme si l'utilisateur n'a pas donné un nombre throw "L'argument doit etre un nombre!"; } var avecTaxes = prix * 1.05 * 1.095; print("Le prix du produit avec les taxes est egal a : " + avecTaxes);

Les fonctions Les fonctions sans valeur de retour et sans paramètre : On peut définir une fonction "quitter" qui va imprimer un message d'erreur et arrêter le programme. //Pour imprimer un message d'erreur et quitter le programme function quitter() { throw "Erreur!"; }

Les fonctions Les fonctions sans valeur de retour et sans paramètre : //L'utilisateur doit donner en argument un prix et les taxes seront calculees if (arguments.length != 1)‏ { quitter(); } var prix = Number(arguments[0]); if(isNaN(prix)) { quitter(); } var avecTaxes = prix * 1.05 * 1.095; print("Le prix du produit avec les taxes est egal a : " + avecTaxes); function quitter() { throw "Erreur!"; }

Les fonctions Les fonctions avec valeur de retour et sans paramètre : –On peut définir une seule valeur de retour. –L'instruction 'return' suivie d'une variable ou d'une valeur permet de retourner la variable ou la valeur. –Après un 'return', on sort immédiatement de la fonction.

Les fonctions Les fonctions avec valeur de retour et sans paramètre : //L'utilisateur doit donner en argument un prix et les taxes seront calculees if (arguments.length != 1)‏ { quitter(); } var prix = Number(arguments[0]); if(isNaN(prix)) { quitter(); } var avecTaxes = prix * 1.05 * 1.095; print("Le prix du produit avec les taxes est egal a : " + avecTaxes); function quitter() { throw "Erreur!"; }

Les fonctions Les fonctions avec valeur de retour et sans paramètre : On peut définir une fonction "trouveTaxes" pour calculer le taux correspondant aux deux taxes. //Fonction qui retourne le taux des deux taxes function trouveTaxes() { var taux = 1.05 * 1.095; return taux; } Si vous oubliez l'instruction return, undefined sera retourné par la fonction.

Les fonctions Les fonctions avec valeur de retour et sans paramètre : //L'utilisateur doit donner en argument un prix et les taxes seront calculees if (arguments.length != 1)‏ { quitter(); } var prix = Number(arguments[0]); if(isNaN(prix)) { quitter(); } var avecTaxes = prix * trouveTaxes(); print("Le prix du produit avec les taxes est egal a : " + avecTaxes); function trouveTaxes() { var taux = 1.05 * 1.095; return taux; }

Les fonctions Les fonctions sans valeur de retour et avec un ou plusieurs paramètres : //L'utilisateur doit donner en argument un prix et les taxes seront calculees if (arguments.length != 1)‏ { quitter(); } var prix = Number(arguments[0]); if(isNaN(prix)) { quitter(); } var avecTaxes = prix * trouveTaxes(); print("Le prix du produit avec les taxes est egal a : " + avecTaxes); function quitter() { throw "Erreur!"; }

Les fonctions Les fonctions sans valeur de retour et avec un ou plusieurs paramètres : On peut améliorer la fonction "quitter" en lui faisant imprimer un message d'erreur spécifique à la situation: //Pour imprimer un message d'erreur donné en paramètre et quitter le programme function quitter (message) { throw message; }

Les fonctions Les paramètres servent à "transporter" des copies des variables à l'intérieur d'une fonction. À l'intérieur d'une fonction avec paramètres, on travaille avec les copies des variables seulement. Les variables de départ ne peuvent pas être modifiées dans une fonction. On appelle cela du passage de paramètre par valeur.

Les fonctions Les fonctions sans valeur de retour et avec un ou plusieurs paramètres : //L'utilisateur doit donner en argument un prix et les taxes seront calculees if (arguments.length != 1)‏ { quitter("Vous devez donner un argument!"); } var prix = Number(arguments[0]); if(isNaN(prix)) { quitter("L'argument doit etre un nombre!"); } var avecTaxes = prix * trouveTaxes(); print("Le prix du produit avec les taxes est egal a : " + avecTaxes); function quitter(message) { throw message; }

Les fonctions Les fonctions avec valeur de retour et avec un ou plusieurs paramètres : //L'utilisateur doit donner en argument un prix et les taxes seront calculees if (arguments.length != 1)‏ { quitter("Vous devez donner un argument!"); } var prix = Number(arguments[0]); if(isNaN(prix)) { quitter("L'argument doit etre un nombre!"); } var avecTaxes = prix * trouveTaxes(); print("Le prix du produit avec les taxes est egal a : " + avecTaxes); function quitter(message) { throw message; }

Les fonctions Les fonctions avec valeur de retour et avec un ou plusieurs paramètres : On peut faire le calcul du prix avec les taxes dans une fonction et retourner le total. //Pour calculer le montant total avec les taxes en prenant le prix en paramètre function calculeTotal (prix) { //var avecTaxes = prix * trouveTaxes(); //return avecTaxes; return prix * 1.05 * 1.095; }

Les fonctions Les fonctions avec valeur de retour et avec un ou plusieurs paramètres : //L'utilisateur doit donner en argument un prix et les taxes seront calculees if (arguments.length != 1)‏ { quitter("Vous devez donner un argument!"); } var prix = Number(arguments[0]); if(isNaN(prix)) { quitter("L'argument doit etre un nombre!"); } print("Le prix du produit avec les taxes est egal a : " + calculeTotal(prix)); function calculeTotal(prix) { return prix * 1.05 * 1.095; }

Les fonctions Avec les fonctions, il faut bien comprendre la notion de portée des variables, c'est-à-dire à quels endroits les variables sont accessibles. Les variables que vous créez à l'intérieur d'une fonction sont appelées variables locales. Elles n'existent qu'à l'intérieur de la fonction où elles ont été créées. Les fonctions ont accès à ce qui a été passé en paramètre, aux variables locales et aux variables globales.

Les variables globales Toutes les variables créées en dehors d'une fonction sont automatiquement des variables globales. Les variables globales sont accessibles partout dans le code, donc dans toutes les fonctions. var test = 5; //variable globale, accessible partout function uneFonction() { var test2 = 2; //variable locale, disparaît à la sortie de la fonction }

Les fonctions Pour les nombres et les strings : –les paramètres permettent de rendre accessibles des copies des variables (paramètres formels), et non pas les vraies variables. –Donc, toutes les modifications faites sur les copies des variables à l'intérieur d'une fonction ne seront pas transmises aux vraies variables (paramètres actuels). –Il s'agit de passage par valeur.

Les fonctions Pour les tableaux et les objets : –Une copie de la référence du tableau ou de l'objet est passée en paramètre. –On a donc accès directement au valeurs du tableau ou aux propriétés de l'objet et on peut les modifier à l'intérieur d'une fonction (et le paramètre actuel sera modifié aussi). –Une modification de la référence n'aura toutefois aucun effet.

Les fonctions Exemple : var a = 55; var b = calcule(a); //appel de la méthode -> a est un paramètre actuel print("Dans le code, a = " + a); print("Dans le code, b = " + b); function calcule(a) //Définition de la fonction -> a est un paramètre formel { //Ici, le paramètre a "cache" la variable globale a a *= 4; print("Dans la fonction calcule, a = " + a); return a; } Dans la fonction calcule, a = 220 Dans le code, a = 55 Dans le code, b = 220;

Les fonctions Exemple modifié : var a = 55; var b = calcule(); print("Dans le code, a = " + a); print("Dans le code, b = " + b); function calcule() //Sans paramètre maintenant { a *= 4; //Ici, on modifie donc la variable globale print("Dans la fonction calcule, a = " + a); return a; } Dans la fonction calcule, a = 220 Dans le code, a = 220 Dans le code, b = 220;

Exercice 1 Vous disposez du code suivant: var nbLitres = 25; var prixEssence = 5.49; var total; Définissez une fonction qui prend en paramètre le nombre de litres et le prix de l'essence (au litre), qui retourne le total et qui imprime ce total dans la console. Écrivez ensuite en une ligne l'affectation de la variable double total dans le code présenté en haut avec la valeur de retour de votre fonction.

Exercice 1 (réponse) var nbLitres = 25; var prixEssence = 5.49; var total; total = calculeTotal(nbLitres, prixEssence); function calculeTotal(nbLitres, prix) { var total = nbLitres * prix; print("Le cout total est de " + total + " $."); return total; }

Tableaux On utilise les tableaux pour : –enregistrer dans une même structure plusieurs informations qui sont habituellement reliées (une suite logique d'évènements, un ensemble de résultats, etc.) –passer plusieurs informations à une fonction dans un seul paramètre (la taille du tableau n'est pas définie dans les paramètres formels) –retourner plusieurs valeurs dans une fonction

Tableaux Lorsqu'on initialise un tableau, on a deux choix : –On crée un tableau vide –On donne la liste complète des éléments du tableau En JavaScript, la taille d'un tableau n'est pas définitive. On peut modifier la taille du tableau sans problème.

Tableaux Initialisation d'un tableau vide : var tab = []; var tab2 = new Array(); Initialisation avec tous les éléments : var tabNbDecimaux = [1.2, 2.22, 5.44, 6.1]; var tabString = ["test", "test2", "test3"]; var tabMelange = [3, 5.5, "string"];

Tableaux Pour accéder à une case du tableau, autant pour lire la valeur de la case que pour la modifier : var tabInt = []; tabInt[0] = 555; //ajoute un premier élement (position 0) tabInt[1] = 23; //ajoute un deuxième élément var test = tabInt[0]; //lecture tabInt[1] = tabInt[0]; //case 1 prend la valeur de case 0 La première case est toujours la case 0.

Tableaux Pour obtenir la taille d'un tableau : var tabInt = [0,1,2,3,4,5]; var size = tabInt.length; Attention : –La taille du tableau correspond au nombre total de cases, mais les positions des cases commencent à partir de 0.

Tableaux On peut laisser des "trous" dans un tableau : var tab = []; tab[0] = "dimanche"; tab[1] = "lundi"; tab[5] = "vendredi"; print("La case 3 contient : " + tab[3]); print("Taille : " + tab.length) La case 3 contient : undefined Taille : 6

Tableaux tabString var tabString = [];

Tableaux tabString "test" var tabString = []; tabString[0] = "test";

Tableaux tabString "test" var tabString = []; tabString[0] = "test"; tabString[1] = tabString[0];

Tableaux tabString "test" "test2" var tabString = []; tabString[0] = "test"; tabString[1] = tabString[0]; tabString[2] = tabString[1] + "2";

Tableaux tabString "test" "test2" undefined "fin" var tabString = []; tabString[0] = "test"; tabString[1] = tabString[0]; tabString[2] = tabString[1] + "2"; tabString[9] = "fin";

Tableaux On peut éliminer toute la fin d'un tableau en modifiant la longueur : var tab = [0,1,2,3,4,5]; print(tab); tab.length = 2; print(tab); 0,1,2,3,4,5 0,1

Tableaux tabString "test" "test2" undefined "fin" String[] tabString = new String[10]; tabString[0] = "test"; tabString[1] = tabString[0]; tabString[2] = tabString[1] + "2"; tabString[9] = "fin"; tabString.length = 3;

Tableaux On peut utiliser la méthode push() pour ajouter un élément à la fin du tableau : tab.push(2); tab.push(3); On peut utiliser la méthode pop() pour retirer le dernier élément du tableau (retourne la valeur du dernier élément) : var dernierElem = tab.pop()

Tableaux tabString "test" "test2" String[] tabString = new String[10]; tabString[0] = "test"; tabString[1] = tabString[0]; tabString[2] = tabString[1] + "2"; tabString[9] = "fin"; tabString.length = 3;

Tableaux tabString "test" "test2" "push" String[] tabString = new String[10]; tabString[0] = "test"; tabString[1] = tabString[0]; tabString[2] = tabString[1] + "2"; tabString[9] = "fin"; tabString.length = 3; tabString.push("push");

Tableaux tabString "test" "test2" "push" "push2" String[] tabString = new String[10]; tabString[0] = "test"; tabString[1] = tabString[0]; tabString[2] = tabString[1] + "2"; tabString[9] = "fin"; tabString.length = 3; tabString.push("push"); tabString.push("push2");

Tableaux tabString "test" "test2" "push" "push2" String[] tabString = new String[10]; tabString[0] = "test"; tabString[1] = tabString[0]; tabString[2] = tabString[1] + "2"; tabString[9] = "fin"; tabString.length = 3; tabString.push("push"); tabString.push("push2"); var dernierElem = tabString.pop();

Tableaux On peut utiliser la méthode splice() pour retirer des cases d'un tableau, à n'importe quel endroit dans le tableau : var tab = [0, 1, 2, 3, 4, 5]; print("Tableau avant : " + tab); tab.splice(2, 3); //à partir de la position 2 (incl.), enlève 3 éléments print("Tableau apres : " + tab); Tableau avant : 0,1,2,3,4,5 Tableau après : 0,1,5

Tableaux 2D On peut utiliser des tableaux à 2 dimensions : var tab2d = [[1,2,3], [1,2,3], [1,2,3]]; tab2d

Tableaux 2D On peut utiliser des tableaux à 2 dimensions : var tab2d = [[1,2,3], [1,2,3], [1,2,3]]; tab2d[0][0] = 9; tab2d

Tableaux 2D On peut utiliser des tableaux à 2 dimensions : var tab2d = [[1,2,3], [1,2,3], [1,2,3]]; tab2d[0][0] = 9; tab2d[2][1] = 5; tab2d

Tableaux 2D Le tableau n'est pas réellement représenté graphiquement. Vous pouvez le regarder dans les deux sens. L'important est de bien se souvenir de la façon dont vous avez défini vos "lignes" et vos "colonnes". Toutefois, il faut plutôt voir le tableau 2D tout simplement comme un tableau qui contient des tableaux.

Exercice 2 Écrivez une fonction qui prend en paramètre un tableau de nombres entiers et qui retourne la valeur minimale du tableau.

Exercice 2 (réponse) function min(tab) { var min = tab[0]; for(var i = 1; i < tab.length; i++) { if(tab[i] < min) min = tab[i]; } return min; }

Exercice 3 Écrivez une fonction qui prend en paramètre un tableau de strings et une string. Cette fonction insère la string dans le tableau à la première position vide trouvée. Si elle ne trouve pas de case vide dans le tableau, elle doit ajouter la string à la fin du tableau.

Exercice 3 (réponse) function insertion(tab, string) { for(var i = 0; i < tab.length; i++) { if(tab[i] == undefined) { break; } tab[i] = string; }

Prochain rendez-vous Mercredi, le 7 novembre, à 13h30, au local 1207 Solution de ces questions d'examens intra antérieurs –intra Hiver-2007 : questions 5 et 6 –intra Automne-2009 : question 5 –intra Hiver-2011 : question 7 (tout sauf f)