La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Tutorat en bio-informatique Le 12 octobre 2012. Exercices 3 et 4 (MAT1400) - solutions La série du binôme (chap. 8.8) –Trouver la série entière et le.

Présentations similaires


Présentation au sujet: "Tutorat en bio-informatique Le 12 octobre 2012. Exercices 3 et 4 (MAT1400) - solutions La série du binôme (chap. 8.8) –Trouver la série entière et le."— Transcription de la présentation:

1 Tutorat en bio-informatique Le 12 octobre 2012

2 Exercices 3 et 4 (MAT1400) - solutions La série du binôme (chap. 8.8) –Trouver la série entière et le rayon de convergence : 1) 5)

3 Exercices 3 et 4 (MAT1400) - solutions Rappels : La série converge toujours pour

4 Exercices 3 et 4 (MAT1400) - solutions 1)

5 Exercices 3 et 4 (MAT1400) - solutions 5) avec y = -x 4

6 Retour sur les conditions var age = 11; var droitAuRabais = false; if(age 65 && droitAuRabais) print("Vous avez droit au rabais!"); else print("Vous n'avez pas droit au rabais."); Imprime : Vous avez droit au rabais! Le "et logique" (&&) a priorité sur le "ou logique" (||).

7 Retour sur les conditions var age = 11; var droitAuRabais = false; if((age 65) && droitAuRabais) print("Vous avez droit au rabais!"); else print("Vous n'avez pas droit au rabais."); Imprime : Vous n'avez pas droit au rabais.

8 Retour sur les conditions Ordre de priorité sur les opérateurs (de la plus petite priorité vers la plus grande) : =, +=, -=, *=, /= || && ==, !=, ===, !==, >= +, - *, /, % !, - (unaire) ++, --

9 Au programme… Indentation Commentaires Messages d’erreurs Tester son programme Trouver des erreurs

10 Indentation C’est le fait de mettre des tabulations pour différencier les « niveaux » dans le code. L’indentation permet de voir rapidement quelles lignes de code appartiennent à une plus grande entité. On change de niveau lorsqu’une partie du code est à l’intérieur de quelque chose d’autre.

11 Indentation Revenons à un exemple connu : if (age < 18) { if (age < 13) { print(" Vous êtes un enfant. "); } else { print(" Vous êtes un adolescent. "); } else { print(" Vous êtes un adulte. "); }

12 Indentation On peut aussi faire : if (age < 18) { if (age < 13) print(" Vous êtes un enfant. "); else print(" Vous êtes un adolescent. "); } else print(" Vous êtes un adulte. ");

13 Indentation ou encore : if (age < 18){ if (age < 13) print(" Vous êtes un enfant. "); else print(" Vous êtes un adolescent. "); } else print(" Vous êtes un adulte. ");

14 Indentation En fait, à chaque fois qu’on utilise les accolades ({ }), on indente le code qui se retrouve entre les deux. Les accolades sont des séparateurs qui indiquent que les lignes de code situées à l’intérieur appartiennent à l’élément qui précédait l’accolade ouvrante ({).

15 Indentation Pourquoi utiliser une définition aussi générale? Parce que les accolades ne sont pas seulement employées avec les ‘if’ et les ‘else’! On les retrouve aussi dans les boucles, les fonctions et les objets.

16 Commentaires Les commentaires sont des lignes dans votre programme qui ne seront pas lues par le compilateur. On ajoute // au début d’une ligne pour indiquer qu’il s’agit d’un commentaire. Mais pourquoi écrire des lignes qui ne seront pas utilisées par le compilateur?

17 Commentaires 1.Pour expliquer en vos mots qu’est-ce que votre programme fait à un certain endroit. Cela permettra à quelqu’un d’autre de travailler sur votre programme sans avoir à vous poser plein de questions… Cela vous aidera également à vous souvenir de ce qui vous passait par la tête quand vous avez écrit votre programme il y a quelques mois…

18 Commentaires Exemple: //Cette partie du programme vérifie l’âge de l’utilisateur: if (age < 18) { if (age < 13) { print(" Vous êtes un enfant. "); } else//Ici, age est nécessairement entre 13 et 17. { print(" Vous êtes un adolescent. "); } else//Si le programme arrive ici, age est plus grand ou égal à 18. { print(" Vous êtes un adulte. "); }

19 Commentaires Écrire trop de commentaires n'est pas mieux que de ne pas en écrire assez. print(“Bonjour.”); //Ici, on écrit dans la console la //chaîne de caractères //“Bonjour.” Certaines instructions sont tellement évidentes qu’il n’est pas nécessaire de les expliquer.

20 Commentaires 2.Les commentaires peuvent aussi servir à enlever temporairement une ligne de code sans l’effacer complètement. C’est utile lorsque vous voulez vérifier si votre programme fonctionne bien sans cette ligne ou lorsque vous voulez remplacer cette ligne et pouvoir revenir rapidement à la version précédente ensuite.

21 Commentaires if (age < 13) { print(" Vous êtes un enfant. "); } else if (age < 18) { print(" Vous êtes un adolescent. "); } else { print(" Vous êtes un adulte. "); } //if (age < 18) //{ //if (age < 13) //{ // print(" Vous êtes un enfant. "); //} //else //{ //print(" Vous êtes un adolescent. "); //} //else //{ //print(" Vous êtes un adulte. "); //}

22 Commentaires Pour mettre en commentaire plusieurs lignes de code, on peut « encadrer » les lignes par /* au début et */ à la fin. /* if (age < 18) { if (age < 13) { print(" Vous êtes un enfant. "); } else { print(" Vous êtes un adolescent. "); } else { print(" Vous êtes un adulte. "); } */

23 Commentaires // permet de commenter tout ce qui est à droite (tout le reste de la ligne) : print("Bonjour!"); //Comment allez-vous?"); /* */ permet de commenter seulement une partie d'une ligne de code : print("Bonjour! /*Comment allez-vous?*/");

24 Messages d’erreurs Même si vous êtes très éveillés et concentrés pendant que vous programmez, vous allez devoir déboguer votre code. JS vous indique deux types d’erreurs : –les erreurs syntaxiques –les erreurs d'exécution Regardons les messages d’erreurs les plus souvent rencontrés.

25 Messages d’erreurs – erreurs syntaxiques var test = 5,6; rhino : js: "test.js", line 1: missing variable name js: var test = 5,6; js:....................^ codePlay : var test = 5,6; syntax error -- unexpected token

26 Messages d’erreurs – erreurs syntaxiques print("Blablabla."; rhino : js: "test.js", line 1: missing ) after argument list js: print("Blablabla."; js: ……...................^ codePlay : print("Blablabla."; syntax error -- unexpected token

27 Messages d’erreurs – erreurs syntaxiques var s = "Bonjour"; var 2s = s + s; rhino : js: "test.js", line 2: missing variable name js: var 2s = s + s; js: …....^ codePlay : var 2s = s + s; syntax error -- unexpected token

28 Messages d’erreurs – erreurs d'exécution String s = allo; rhino : js: uncaught JavaScript runtime exception: ReferenceError: "allo" is not defined. codePlay : cannot read an undefined variable

29 Messages d’erreurs – erreurs d'exécution var s; print(s.length); rhino : js: uncaught JavaScript runtime exception: TypeError: Cannot read property "length" from undefined codePlay : cannot read an undefined variable

30 Messages d’erreurs – erreurs d'exécution var s = "Bonjour"; s = null; print(s.length); rhino : js: uncaught JavaScript runtime exception: TypeError: Cannot read property "length" from null codePlay : TypeError: x is null

31 Pour prévenir les erreurs d'exécution On peut utiliser le try - catch –On essait d'exécuter les instructions du bloc try et dans le cas ou une erreur est lancée, on exécute les instructions du bloc catch, sans afficher l'erreur à l'utilisateur Syntaxe : try{ …instructions qui peuvent lancer une erreur… } catch(err){ …instructions à exécuter en cas d'erreur… }

32 Tester son programme Il est primordial de tester souvent son programme pour : –corriger les erreurs syntaxiques –corriger les erreurs à l'exécution –vérifier si le programme fait exactement ce que vous voulez qu'il fasse (corriger les erreurs logiques) Chaque fois qu'une partie du programme est terminée, il faut la tester séparément du reste (si possible).

33 Tester son programme Pour corriger les erreurs syntaxiques : –on exécute le programme Pour corriger les erreurs d'exécution : –on exécute le programme avec différentes valeurs en entrée (valeurs normales et/ou anormales) Pour corriger les erreurs logiques : –on exécute le programme avec différentes valeurs –on utilise le print()

34 Tester son programme On utilise le print() pour vérifier la valeur d'une variable à différents moments : var nbA; var nbNucleo = 20; var pourcentA = nbA / nbNucleo * 100;

35 Tester son programme On utilise le print() pour vérifier la valeur d'une variable à différents moments : var nbA; var nbNucleo = 20; var pourcentA = nbA / nbNucleo * 100; print("pourcentA = " + pourcentA);

36 Tester son programme On utilise le print() pour vérifier la valeur d'une variable à différents moments : var nbA; var nbNucleo = 20; var pourcentA = nbA / nbNucleo * 100; print("pourcentA = " + pourcentA); imprime : pourcentA = NaN

37 Tester son programme On utilise le print() pour vérifier la valeur d'une variable à différents moments : var x = 10; var y = 20; //Swap x = y; y = x;

38 Tester son programme On utilise le print() pour vérifier la valeur d'une variable à différents moments : var x = 10; var y = 20; //Swap x = y; y = x; print("x = " + x + " et y = " + y);

39 Tester son programme On utilise le print() pour vérifier la valeur d'une variable à différents moments : var x = 10; var y = 20; //Swap x = y; y = x; print("x = " + x + " et y = " + y); imprime : x = 20 et y = 20

40 Tester son programme On utilise le print() pour vérifier la valeur d'une variable à différents moments : var x = 10; var y = 20; //Swap var temp = x; x = y; y = temp; print("x = " + x + " et y = " + y); imprime : x = 20 et y = 10

41 Tester son programme On utilise le print() pour vérifier si on entre dans un 'if' : var prix = 0; var age = 11; var jour = "mardi"; var droitAuRabais = true; if ((age 65) && (jour == "mardi" || jour == "jeudi") && droitAuRabais) { prix = 7.99; } else { prix = 12.99; }

42 Tester son programme On utilise le print() pour vérifier si on entre dans un 'if' : var prix = 0; var age = 11; var jour = "mardi"; var droitAuRabais = true; if ((age 65) && (jour == "mardi" || jour == "jeudi") && droitAuRabais) { print("On entre dans le if."); prix = 7.99; } else { prix = 12.99; }

43 Tester son programme On pourra également utiliser le print() pour vérifier : –si on entre dans une boucle –combien on fait d'itérations dans la boucle –si on boucle à l'infini

44 Exercice 1 Trouvez toutes les erreurs! var capital = 1250,95; var pourcentInteret = 2%; var resultat == capital * PourcentInteret; Print(Le resultat est egal a : + resultat):

45 Exercice 1

46 Nous avons corrigé la première vague d'erreurs : var capital = 1250.95; var pourcentInteret = 0.02; var resultat == capital * PourcentInteret; Print("Le resultat est egal a : " + resultat):

47 Exercice 1

48 Nous avons corrigé la deuxième vague d'erreurs : var capital = 1250.95; var pourcentInteret = 0.02; var resultat = capital * PourcentInteret; Print("Le resultat est egal a : " + resultat);

49 Exercice 1

50 Nous avons corrigé la troisième vague d'erreurs : var capital = 1250.95; var pourcentInteret = 0.02; var resultat = capital * pourcentInteret; Print("Le resultat est egal a : " + resultat);

51 Exercice 1

52 Nous avons corrigé la quatrième vague d'erreurs : var capital = 1250.95; var pourcentInteret = 0.02; var resultat = capital * pourcentInteret; print("Le resultat est egal a : " + resultat); Enfin!! Ça fonctionne!!

53 Exercice 2 var bo = !(2<3 && 9%3==0) || !("oiseau".toUpperCase() == "OISEAU"); if(!bo) print("Loup"); if(bo) { print("Chat"); if((2<3 && 9%3==0) || "oiseau" == "OISEAU") print("Chien"); } else if((2<3 && 9%3==0) || "oiseau" == "OISEAU") print("Cheval"); else if(false || !false) print("Ecureuil"); else print("Gazelle"); Loup Cheval

54 Optimisation On peut diviser l'optimisation du code en 3 types : –Optimisation en temps –Optimisation en espace –Optmisation du nombre de lignes de codes (réutilisation du code)

55 Optimisation Exemple : if (age < 18) { print(" Vous êtes un enfant. "); } if (age >= 18) { print(" Vous êtes un adulte. "); } if (age < 18) { print(" Vous êtes un enfant. "); } else { print(" Vous êtes un adulte. "); }

56 Optimisation Pour optimiser efficacement, il est important de savoir reconnaître les régions critiques du programme (bottlenecks) C'est inutile de perdre trop de temps à optimiser des parties de code qui ne sont même pas critiques

57 Optimisation Pour optimiser efficacement, il est également important d'utiliser un langage de programmation qui est approprié pour ce qu'on veut réaliser Il faut aussi bien connaître son langage de programmation (structures de données, complexité des opérations fournies, etc.)

58 Optimisation Plus le programme prend du temps à s'exécuter (par exemples, plusieurs heures), plus l'optimisation en temps sera payante L'optimisation en espace n'est pas souvent un facteur sur les ordinateurs d'aujourd'hui, mais peut l'être sur d'autres plateformes (téléphone cellulaire)

59 Exercice 3 et 4 (MAT1400) Chapitre 9.3, Analyse - concepts et contextes vol. 2 25) Quel est le vecteur tel que, si ? 29) Une femme tire avec une force de 100 N, exercée horizontalement, une caisse qu'elle amène 3 m plus loin sur un plan incliné qui fait un angle de 20 ° avec l'horizontale. Calculez le travail effectué sur la caisse.


Télécharger ppt "Tutorat en bio-informatique Le 12 octobre 2012. Exercices 3 et 4 (MAT1400) - solutions La série du binôme (chap. 8.8) –Trouver la série entière et le."

Présentations similaires


Annonces Google