Aux nouvelles
Exercice noté 10
L'exercice noté 10 vous attend. Vous avez une semaine pour le remettre sur Studium.
Exercice noté #9
L'exercice noté #9 vous attend. Vous avez une semaine pour le remettre sur Studium.
Devoir #2
Le sujet du devoir2 est disponible.
Exercice noté #8
L'exercice noté #8 vous attend. Vous avez une semaine pour le remettre sur Studium.
Reprise des exercice notés
L'exercice noté #7 vous attend. Vous avez une semaine pour le remettre sur Studium.
J'enregistre mes cours sous forme de capsules vidéo que vous pouvez consulter sur Studium. Je répondrai aux messages indiquant IFT1015 dans le sujet ainsi que sur le forum (à tous). Vous avez reçu par Studium de l'information concernant la reprise. En bref: pas de final (la pondération des évaluations change), un devoir 2 et 4 semaines de cours.
Corona virus oblige ...
Cours de vendredi 13 mars annulé
Corona virus oblige ...
Intra: notes
Les notes à l'intra sont disponibles. La moyenne est de 54 (sur 100) pour la section B, et de 53 pour la section A. Trois personnes n'ont pas indiqué leur nom sur leur copie. Si vous êtes l'une d'elles, passez voir Marc Feeley qui s'est occupé de la correction.
Intra: changement de salle
Il y a un changement de salle pour l'examen INTRA qui se déroulera (jeudi 20 février de 12h30 à 14h30) en salle E-310 du pav. Roger-Gaudry. Je vous rappelle que vous avez le droit de venir avec une page recto-verso de notes écrites de votre main. et qu'il vous faut venir avec un crayon mine HB (gras).
Intra
Je vous rappelle la tenue ide l'examen intra le jeudi 20 février de 12h30 à 14h30 en salle Z-240 du pav. Claire Mc-Nicoll. Vous avez le droit de venir avec une page recto-verso de notes écrites de votre main. Il vous faut venir avec un crayon mine HB (gras). Voici pour vous pratiquer l'examen intra de la session H2019: [intra-IFT1015-H2019.pdf]
Devoir #1
Le sujet du devoir #1 est disponible. Allez voir la section travaux.
Exercices notés
J'ai repoussé la date butoir de remise de l'exercice noté 2 au 4 février. Vous pouvez donc modifier votre solution si vous le désirez. Un nouvel exercice sera présenté vendredi (demain) pour lequel vous avez une semaine pour remettre votre solution.
Info
Le cours en mon absence la semaine passée a été donné en partie par votre démonstrateur. Cette semaine, en plus des cours je vais assurer les séances de TP et de LAB de façon à rattraper le retard. Aucun changement de salle (1340 pour les LAB et TP, salle de cours habituelle).
Démonstrations
Vous avez maintenant un démonstrateur. Cette semaine commence donc les séances de TP (mercredis 15h30-16h30, AA-1340) et les séances de laboratoire (vendredis, 14h30-16h30). Dans la séance démo de cette semaine, votre démonstrateur vous encadrera afin que vous puissiez remettre votre solution du premier exercice noté !
Cours de vendredi 10 janvier annulé
Je ne peux pas me présenter demain (vendredi 10 janvier) en cours (soutenance de thèse). Je vous rappelle que les séances de démonstration et laboratoire ne commencent que la semaine prochaine. Bonne fin de semaine.
Bienvenue
Cette page accompagne la page Studium du cours IFT1015 (section B). J'y déposerai les ressources et informations concernant le cours. Je me servirai de la page Studium pour vous rejoindre (travaux à remettre, disponibilité de notes, etc.). Le premier cours a lieu mercredi 8 janvier à 13h30 en salle Y-115 du pav. Roger Gaudry. La première séance de TP/laboratoire aura lieu la semaine suivante.
Je vous souhaite une bonne session et vous encourage à passer me voir pour toute question concernant ce cours.
Voici une série d'exercices. Le dernier d'entre eux est l'exercice noté de la semaine. Vous avez une semaine pour en faire la remise sur Studium.
Expressions, priorités, conversions
- i)
- Soit l'expression
-4*6/(3+5)
. Dans quel ordre les opérateurs -, *, / et + sont-ils exécutés? Quelle est la valeur de cette expression? Essayer de trouver par vous même, puis utiliser codeBoot pour faire l'exécution pas à pas et vérifier votre réponse. - ii)
- Soit l'expression
9-3+2*3-4/2
. Dans quel ordre les opérateurs -, *, / et + sont-ils exécutés? Quelle est la valeur de cette expression ? Vérifiez avec codeBoot. - iii)
- Retirez les parenthèses redondantes du calcul suivant et vérifier que l'expression résultante s'évalue à la meme valeur:
((-256) + ((5 + 3) * (4 / 2)) - (22 - (44 + 6)))
- iv)
-
Dites si les expressions suivantes sont valides en JavaScript :
Pour les expressions valides, donnez leur valeur
a. 1 + 1 b. -1 - -1 c. +-1 d. -+-+-1 -+-+-1 e. - 5 - 5 - 5 - 5 f. +3 +3 +3 +3 g. ((2 * 3) + 4 h. 6 / 1 + 5 - 6 / (1 + 5)
- v)
- Soit
x
une variable de valeur10
,y
de valeur2
etb
de valeurfalse
. Que valent les expressions suivantes ? Si certaines de ces expressions ne sont pas correctes, alors indiquez le en précisant le problème. Aidez vous de codeBoot pour vérifier vos réponses.(a) x * y > 22 && !b || y % 3 !=== 22 (i) 10 < 12 < 15 (b) y * 5 === 4 || (b != true) (j) 7 == "7" (c) 5 / 0 (k) 0 == "" (d) 0 / 0 (l) "123" <= 123 (e) 0 / 4 (m) " " == 0 (f) Infinity + Infinity (n) 0 === "" (g) Math.sqrt(Infinity) (o) 0 === false (h) infinity * Infinity (p) "3+47="+3+47
Expressions booléennes
- i)
- Que valent les expressions suivantes:
(a) 10 < 20 < 30 (b) 10 < 8 <= 10 (c) Math.random() < 1 (d) Math.random() < 0.5 (e) true || false && true (f) true && false || true
- ii)
- Simplifiez les expressions suivantes (par simplifier, on veut dire trouver l'expression de même valeur la plus simple possible);
on supposera que
x
une variable numérique:(a) (x < 10) && (x < 12) (b) (x < 10) || (x < 12) (c) Math.floor(Math.random() * 6 + 1) < 7 (d) Math.floor(Math.random()) * 6 + 1
Textes
Évaluez les expressions suivantes:
(a) "Some text".charAt(3); (b) "Some text".indexOf("me"); (c) "Pomme melon".indexOf("me"); (d) "Pomme Melon".lastIndex("me"); (e) "Some text".substring(3,4); (f) "Some text".substring(3,3); (g) "Some text".substring(0,100); (h) "bonjour".substring(0,3)+" " + "bon matin".substring(4)Vous trouverez utile de regarder la description des méthodes (nous verrons la définition de ce concept plus tard) disponibles pour les éléments de type chaine. Voici une documentation.
Mes premiers programmes
Évaluez (sans codeboot) ce qu'imprime chacun de ces programmes:
// programme #1 var m = 5; m = m = m; print(m); // Programme #2 var m = 5; m = m == m; print(m); // Programme #3 var m = 5; m = m * m; print(m); // Programme #4 var m = 5; print(m--); print(--m); // Programme #5 var m = 5; m++; m *= 2; m /= 3; print(m);
Refonte de code
Nous pouvons représenter une date avec 3 variables a, m, q qui sont liées respectivement à l'année, le mois et le quantième. Les mois sont encodés par le numéro du mois (i.e. 1=janvier, 2=février, etc) et le quantième c'est le jour dans le mois (i.e. 1=premier jour du mois). Nous pouvons donc représenter le 16 octobre 2012 avec ces déclarations de variables :
var a = 2012; var m = 10; var q = 16;
La déclaration de variable suivante permet de lier la variable j au jour de la semaine correspondant aux valeurs de a, m et q :
var j = (Math.floor(23*m/9) + Math.floor((a*12+m-3)/12) + Math.floor((m+9)/12)*4 + Math.floor(Math.floor((a*12+m-3)/12)/4) - Math.floor(Math.floor((a*12+m-3)/12)/100) + Math.floor(Math.floor((a*12+m-3)/12)/400) + q + 5) % 7 + 1;
où le jour de la semaine est un entier dans l'intervalle 1 à 7. La valeur 1 représente dimanche, 2 représente lundi, etc. Donc dans cet exemple, j sera liée à la valeur 3 puisque le 16 octobre 2012 est un mardi.
La formule utilisée est difficile à lire car elle contient des parties répétées. Utilisez des déclarations de variables pour décomposer le calcul de j en plusieurs étapes. Il faut éviter autant que possible de refaire un calcul plus d'une fois.
Exercice noté #1
Écrivez un programme quiz1.js
dont l'exécution affiche dans l'ordre vos réponses à ces questions. Lorsque vous ne savez pas répondre à une question ou que vous avez des doutes, votre réponse à la question doit être NOP
. Vous devez réfléchir par vous même à ces questions, vous aider au besoin de codeBoot. Assurez vous que l'exécution de votre programme (une séquence d'instructions print
) affiche une réponse à chaque question dans l'ordre où elles ont été posées. Ainsi votre programme devrait ressembler à ceci.
- i)
- Soit l'expression
100-4+5*7
. Dans quel ordre les opérateurs -, + et * sont-ils exécutés? Si l'ordre d'exécution est -, + et *, alors répondre: -+* . Il faut essayer de trouver la réponse par vous même, puis utiliser codeBoot pour faire l'exécution pas à pas et vérifier votre réponse. - ii)
- Soit l'expression
-4*6/(3+5)
. Dans quel ordre les opérateurs -, *, / et + sont-ils exécutés? Si l'ordre d'exécution est -, *, / et +, alors répondre: -*/+ . Il faut essayer de trouver la réponse par vous même, puis utiliser codeBoot pour faire l'exécution pas à pas et vérifier votre réponse. - iii)
1010001
est l'encodage binaire non-signé de quelle valeur ?- iv)
- Quel est l'encodage binaire non-signé de la valeur 43 ?
- v)
-
Quelle expression obtient-on si on enlève toutes les parenthèses redondantes de l'expression :
(((8-5)+3)-((2)*(1+1)))
? - vi)
- Trouver l'expression la plus petite possible (en terme de nombre de caractères) ayant pour résultat 88 en utilisant les nombres 5 8 9 14 une et une seule fois chacun, les opérateurs +, - et * (autant que nécessaire) et des parenthèses au besoin
- vii)
- Trouver l'expression la plus petite possible ayant pour résultat 239 en utilisant les nombres 3 8 10 19 une et une seule fois chacun, les opérateurs +, - et * (autant que nécessaire) et des parenthèses au besoin
Votre programme est à remettre studium sous l'onglet exo#1
. Vous serez encadrés en démonstration pour cela.