tutorat en bio-informatique

53
Tutorat en bio- informatique Le 10 octobre 2012

Upload: vachel

Post on 25-Jan-2016

39 views

Category:

Documents


0 download

DESCRIPTION

Tutorat en bio-informatique. Le 10 octobre 2012. Au programme…. Rappel sur les variables Constantes Conditions Comparaisons Tables de vérité Switch. Rappel. var a = 7; var b = 11; var c = 2; b += Number(a + "4"); a += 1.5 * c; a = b / a + c; c = a / c; b = c + b % 20; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Tutorat en bio-informatique

Tutorat en bio-informatique

Le 10 octobre 2012

Page 2: Tutorat en bio-informatique

Au programme…

• Rappel sur les variables

• Constantes

• Conditions

• Comparaisons

• Tables de vérité

• Switch

Page 3: Tutorat en bio-informatique

Rappel

var a = 7;

var b = 11;

var c = 2;

b += Number(a + "4");

a += 1.5 * c;

a = b / a + c;

c = a / c;

b = c + b % 20;

Quelle est la valeur de b à la fin?

(b = 85)(a = 10)

(a = 10.5)

(c = 5.25)

(b = 10.25)

Page 4: Tutorat en bio-informatique

Rappel

• Il n'existe pas d'opérateur exponentiel, ou racine carré, ou valeur absolue en JS.

• On doit utiliser des méthodes de l'objet Math :

var expo = Math.pow(2,3); // 2^3

var racineC = Math.sqrt(49); // 49^1/2

var vAbs = Math.abs(-6); // |-6|

Page 5: Tutorat en bio-informatique

Post / pré-(dé/in)crémentation

var entier = 0;

print(entier++); //0print(entier); //1

entier = 0;

print(++entier); //1print(entier); //1

Page 6: Tutorat en bio-informatique

Post / pré-(dé/in)crémentation

Qu'est ce qui sera imprimé?

var cpt = 3;

print("cpt = " + cpt + " cpt-- = " + cpt-- + " --cpt = " + --cpt);

Page 7: Tutorat en bio-informatique

Post / pré-(dé/in)crémentation

Qu'est ce qui sera imprimé?

var cpt = 3;

print("cpt = " + cpt + " cpt-- = " + cpt-- + " --cpt = " + --cpt);

cpt = 3 cpt-- = 3 --cpt = 1

Page 8: Tutorat en bio-informatique

Constantes

• Les constantes sont des variables qui, une fois initialisées, ne devraient jamais changer de valeur.

• Elles sont utiles pour garder en mémoire des valeurs qui seront utilisées souvent et qui ne doivent pas être modifiées.

• Exemples: le nombre de minutes dans une heure, le nombre de cents dans un dollar, etc.

Page 9: Tutorat en bio-informatique

Constantes

• La plupart des fureteurs et des interprètes de JS permettent l'utilisation du mot réservé 'const' pour déclarer une constante (au lieu de 'var').

• On écrit le nom de la constante en lettres majuscules et on sépare les mots par des ‘_’ (convention).

Page 10: Tutorat en bio-informatique

Constantes

• Lorsque le mot réservé 'const' est reconnu par le fureteur ou l'interprète, une seule affectation est permise. Les affectations suivantes n'auront aucun effet.

• Exemple :const MINUTES_DANS_HEURE = 60;

Page 11: Tutorat en bio-informatique

Conditions• Dans 99 % (± 1 %) des programmes que vous

allez écrire, vous allez utiliser les conditions…

• Une condition, c’est une expression qui est soit vraie, soit fausse.

• Utiliser une condition, c’est dire à l’ordinateur : – Dans une telle situation, fait ceci. – Sinon, fait cela.

Page 12: Tutorat en bio-informatique

Conditions

• Un exemple concret :

Lorsque vous arrivez à un feu de circulation en voiture, vous allez (normalement) :

– Freiner si le feu est rouge.– Continuer si le feu est vert.

Page 13: Tutorat en bio-informatique

Conditions

• Un exemple en programmation :

Vous avez écrit un programme qui demande à l’utilisateur son âge et vous avez mémorisé cette valeur dans la variable age.

Si age < 18,écrire dans la console : « Vous êtes un enfant.

»Sinon

écrire dans la console : « Vous êtes un adulte. »

Page 14: Tutorat en bio-informatique

Conditions

• L’instruction 'if' :– C’est la traduction de « si »!– Doit être suivie (sur la même ligne) d’une condition entre

parenthèses.– Doit être suivie (sur la ou les lignes suivantes) d’une ou de

plusieurs instructions à faire dans le cas où la condition serait vraie.

– Exemple :if (2 < 5){

print(" C’est vrai! ");}

Page 15: Tutorat en bio-informatique

Conditions• L’instruction 'else' :

– Signifie « sinon »!– Ne peut évidemment pas être utilisée sans être précédée d’un 'if'.– Ne doit pas être suivie d’une condition.– Doit être suivie (sur la ou les lignes suivantes) d’une ou de

plusieurs instructions à faire dans le cas où la condition du 'if' précédent est fausse.

– Est relié directement et seulement au 'if' qui le précède.

– Exemple :else{

print(" La condition du if était fausse! ");}

Page 16: Tutorat en bio-informatique

Conditions

• Un exemple en programmation (version 1.2) :

if (age < 18)

{

print(" Vous êtes un enfant. ");}

else

{

print(" Vous êtes un adulte. ");}

Page 17: Tutorat en bio-informatique

Conditions• Pourquoi on utilise le 'else'?

• Pour éviter des vérifications inutiles :L’ordinateur n’a qu’à vérifier la condition du 'if'. Si elle est vraie, les instructions du 'if' seront exécutées. Si elle est fausse, ce sont les instructions du 'else' qui seront exécutées.

• Pour éviter d’écrire une autre condition :if (age < 18){ print(" Vous êtes un enfant. ");}if (age >= 18){

print(" Vous êtes un adulte. ");}

Page 18: Tutorat en bio-informatique

Exercice 1

• Vous avez écrit un programme qui va chercher la température sur Internet et vous la gardez en mémoire dans une variable nommée temp.

Il ne vous reste qu’une petite partie à coder : vous voulez que votre programme écrive dans la console de porter des gants s’il fait moins de 0 °C et de ne pas porter de gants sinon.

Écrivez cette partie manquante du programme.

Page 19: Tutorat en bio-informatique

Exercice 1 (solution)

if (temp < 0){

print("Il faut porter des gants!");}else{

print("Pas besoin de gants!");}

Page 20: Tutorat en bio-informatique

Conditions

• Rappel :

Dans une structure de 'if' – 'else', un seul des deux blocs d’instructions sera exécuté (soit le bloc du 'if', soit le bloc du 'else').

• Que fait-on lorsqu’on a plus de deux cas à vérifier?– On doit utiliser plusieurs 'if'…?

Page 21: Tutorat en bio-informatique

Conditions

• Retour sur l’exemple concret :

Lorsque vous arrivez à un feu de circulation en voiture, vous allez (normalement) :

– Freiner si le feu est rouge.– Continuer si le feu est vert.– Ralentir si le feu est jaune.

Page 22: Tutorat en bio-informatique

Conditions

• Mais on sait que les feux de circulation ne peuvent être que d’une seule couleur à un moment donné.

• Dès qu’on a trouvé de quelle couleur est le feu de circulation, il est inutile de continuer à vérifier pour les autres couleurs.

Page 23: Tutorat en bio-informatique

Conditions• L’instruction 'else if' :

– Signifie « sinon, si… ».– Doit être utilisée immédiatement après un 'if' ou un autre 'else if'.– Doit être suivie (sur la même ligne) d’une condition entre

parenthèses.– Doit être suivie (sur la ou les lignes suivantes) d’une ou de plusieurs

instructions à faire dans le cas où la condition du 'if' ou 'else if' précédent est fausse et la condition du 'else if' courant est vraie.

– Exemple :if (nombre < 10)

{

print(" Le nombre est strictement inférieur à 10. ");

}

else if (nombre > 20)

{

print(" Le nombre est strictement supérieur à 20. ");

}

Page 24: Tutorat en bio-informatique

Conditions

• Retour sur l’exemple concret :

if (le feu est rouge){

Freiner;}else if (le feu est vert){

Continuer;}else //sinon, le feu ne peut être que jaune{

Ralentir;}

Page 25: Tutorat en bio-informatique

Conditions

• Un exemple de très mauvaise programmation :if (age < 18)

{

print(" Vous êtes un adolescent. ");

}

if (age < 13)

{

print(" Vous êtes un enfant. ");

}

else

{

print(" Vous êtes un adulte. ");

}

Si age est égal à 10 :

Vous êtes un adolescent.Vous êtes un enfant.

Si age est égal à 15 :

Vous êtes un adolescent.Vous êtes un adulte.

Page 26: Tutorat en bio-informatique

Conditions• Un exemple en programmation (version 1.3) :

if (age < 13)

{

print(" Vous êtes un enfant. ");

}

else if (age < 18)

{

print(" Vous êtes un adolescent. ");

}

else

{

print(" Vous êtes un adulte. ");

}

Page 27: Tutorat en bio-informatique

Conditions• Les 'if' imbriqués :

– Il est possible de mettre des 'if' à l’intérieur des instructions d’un 'if'.

– Dans certaines situations, il semble plus simple pour le programmeur d’utiliser des 'if' imbriqués.

– Une bonne technique d’indentation devient essentielle afin de ne pas se perdre dans les 'if' et les 'else'…

Page 28: Tutorat en bio-informatique

Conditions• Un exemple en programmation (version 1.4) :

if (age < 18){

if (age < 13){

print(" Vous êtes un enfant. ");}else{

print(" Vous êtes un adolescent. ");}

}else{

print(" Vous êtes un adulte. ");}

Page 29: Tutorat en bio-informatique

Conditions

• D’autres faits importants :

– On peut utiliser plusieurs 'if' de suite si les conditions de ces 'if' ne sont pas interdépendantes.

– On peut utiliser autant de 'else if' qu’on le désire, en autant qu’il y ait un 'if' avant le premier 'else if'.

– Il n’est jamais obligatoire d’utiliser un 'else' après un 'if' ou un 'else if', mais pour utiliser un 'else', il doit absolument y avoir un 'if' ou un 'else if' avant.

Page 30: Tutorat en bio-informatique

Exercice 2

• Toujours dans votre programme qui a sauvegardé la température actuelle dans la variable temp, vous désirez être plus précis dans vos conseils vestimentaires.

• Réécrivez la dernière partie du code afin d’écrire dans la console :

– de porter un chandail chaud s’il fait moins de 5 °C

– de porter une chemise s’il fait entre 5 °C et 15 °C

– de porter un t-shirt s’il fait plus de 15 °C

– de porter des gants s’il fait moins de 0 °C

Page 31: Tutorat en bio-informatique

Exercice 2 (solution)if (temp < 5){

print("Il faut porter un chandail chaud!");}else if (temp < 15){

print("Il faut porter une chemise!");}else{

print("Il faut porter un t-shirt!");}if (temp < 0){

print("Il faut porter des gants!");}

Page 32: Tutorat en bio-informatique

Conditions

• On peut utiliser directement un boolean comme condition.

• Type boolean :

– 2 valeurs possibles: 'true' et 'false'.– 'true' veut dire vrai et 'false' veut dire faux… étonnant!

Page 33: Tutorat en bio-informatique

Conditions

• Exemple :

var vrai = true;

var faux = false;

if (vrai)

{

print("On écrit."); //Écriture dans la console

}

if (faux)

{

print("On n'écrit pas."); //Pas d’écriture dans

} //la console

Page 34: Tutorat en bio-informatique

Conditions

• Conversion automatique de Number ou String en Boolean :– lorsqu'on utilise seulement un Number ou une String

dans une condition (sans comparateur)– lorsqu'on compare un Number ou une String avec un

Boolean

• Les valeurs 0, "", null et undefined seront évaluées à false

• Toutes les autres valeurs possibles seront évaluées à true

Page 35: Tutorat en bio-informatique

Conditions

• Exemple :

var nb1 = 1;

if (nb1)

{

print("On écrit."); //Écriture dans la console

}

var nb0 = 0;

if (nb0)

{

print("Pas d'écriture."); //nb0 == 0 == false

}

Page 36: Tutorat en bio-informatique

Opérateurs de comparaison

• On peut comparer deux expressions représentant des Number ou des String avec ces opérateurs :

== identique

!= différent

< strictement inférieur

<= inférieur ou égal

> strictement supérieur

>= supérieur ou égal

Page 37: Tutorat en bio-informatique

Opérateurs de comparaison

• On peut utiliser ces opérateurs pour construire des conditions ou des variables de type boolean :

if (nb1 != nb2)

{

print("Les nombres sont différents.");

}

var differentBool = nb1 != nb2;

Page 38: Tutorat en bio-informatique

Opérateurs de comparaison• La comparaison de deux String peut nous indiquer un

ordre lexicographique à un certain degré.

Source : www.asciitable.com

Page 39: Tutorat en bio-informatique

Opérateurs de comparaison

• Pour la comparaison d'un seul caractère, on compare le code du caractère :

var a = 'a';

var b = 'b';

var D = 'D';

var bool1 = a < b; //true

var bool2 = a < D; //false!

Page 40: Tutorat en bio-informatique

Comparaison de String

• Pour la comparaison de chaînes de caractères, on compare le premier caractère qui est différent :

var s1 = "test2";

var s2 = "tesT25";

var compareBool = s1 < s2; //compareBool = false

Page 41: Tutorat en bio-informatique

Comparaison de String

• Comment comparer deux String en ignorant la casse (majuscules/minuscules)?

• En mettant tous les caractères en majuscules (upper case) ou en minuscules (lower case)

• On utilise les méthodes toUpperCase() ou toLowerCase()

Page 42: Tutorat en bio-informatique

Comparaison de String

• Exemple :

var s1 = "test";

var s2 = "TeSt";

if(s1.toUpperCase() == s2.toUpperCase())

{

print("Chaînes identiques!");

}

Page 43: Tutorat en bio-informatique

Comparaison de String

• Lorsqu'on compare un Number avec une String, JavaScript fait une conversion automatique pour vérifier l'égalité

• Exemple :

var s = '2';

var nb = 2;

var bool = s == nb; //bool est true!

Page 44: Tutorat en bio-informatique

Comparaison de String

• Si on veut comparer non seulement la valeur mais aussi le type, on peut utiliser les opérateurs === et !==

• Exemple

var s = '2';

var nb = 2;

var bool = s === nb; //bool est false maintenant

Page 45: Tutorat en bio-informatique

Comparaison de nombres décimaux

• Pour comparer des nombres décimaux, il est préférable de vérifier la différence entre les deux nombres plutôt que de vérifier directement l'égalité :

var a = 0.1 + 0.1 + 0.1;

if (Math.abs(a - 0.3) < 0.001)

{

System.out.println("0.1 + 0.1 + 0.1 est égal à 0.3");

}

a = 0.30000000000000004 !!!

Page 46: Tutorat en bio-informatique

Opérateurs logiques

• Pour alléger le code, on peut utiliser des opérateurs logiques :

&& et logique

|| ou logique

! non logique

Page 47: Tutorat en bio-informatique

Opérateurs logiques

• && (et logique) :

if (age >= 13)

{

if (age < 18)

{

print("Vous êtes un adolescent.");

}

}

est équivalent à

if ( age >= 13 && age < 18 )

print("Vous êtes un adolescent.");

Page 48: Tutorat en bio-informatique

Opérateurs logiques

• || (ou logique) :

if (age < 13)

print("Vous avez droit à un rabais.");

else if (age > 65)

print("Vous avez droit à un rabais.");

est équivalent à

if (age < 13 || age > 65)

{

print("Vous avez droit à un rabais.");

}

Page 49: Tutorat en bio-informatique

Opérateurs logiques

• ! (non logique) :

var s = "string";

if (s == "mot magique")

{

}

else

print("Ce n'est pas le mot magique…");

est équivalent à

if (s != "mot magique")

print("Ce n'est pas le mot magique…");

Page 50: Tutorat en bio-informatique

Tables de vérité

ET V F

V V F

F F F

OU V F

V V V

F V F

Page 51: Tutorat en bio-informatique

Switchvar note = 'B';

if (note == 'A')

{

print("Excellent");

}

else if (note == 'B')

{

print("Bon");

}

else if (note == 'C')

{

print("Moyen");

}

else

{

print("Note invalide");

}

Page 52: Tutorat en bio-informatique

Switchvar note = 'B';

switch (note)

{

case 'A':

print("Excellent");

break;

case 'B':

print("Bon");

break;

case 'C':

print("Moyen");

break;

default:

print("Note invalide");

}

Page 53: Tutorat en bio-informatique

Exercices 3 et 4 (MAT1400)

• La série du binôme (chap. 8.8)– Trouver la série entière et le rayon de convergence :

1)

5)

x1

4 41 x