• Aucun résultat trouvé

IFT1176 – Automne 2004 FINAL

N/A
N/A
Protected

Academic year: 2022

Partager "IFT1176 – Automne 2004 FINAL"

Copied!
1
0
0

Texte intégral

(1)

IFT1176 – Automne 2004 FINAL

Michel Reid Date: 8 décembre 2004

Durée: 2:45 heures (de 18h30 à 21h15)

Identification :

Nom : _________________________________

code permanent : __________________

Directives:

- Toute documentation permise.

- Calculatrice non programmable permise.

- Répondre sur le questionnaire.

Soyez BREF et PRÉCIS dans vos réponses.

Question 1 Servlet (35 points)

1.1) (23 pts) Voici une page Web qui va appeler une Servlet :

(2)

a) Écrivez le code de cette page web sachant que les 3 champs sont initialisés à « 0 » et que les informations seront soumises à une Servlet nommée Commande associée au contexte oRonald.

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

(3)

b) Écrivez le code de la Servlet Commande qui va afficher la commande reçue, le prix pour chacun des articles, le sous-total, les taxes (tps : 7% et tvq 7.5%), le total ainsi que des messages pertinents (voir l’exemple).

Les prix des articles sont : hamburger : 2.61 $, frite : 1.31 $, boisson gazeuse : 1.65$.

Voici l’affichage à générer pour une commande de 2 hamburgers et une frite :

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

(4)

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

(5)

1.2) (8 pts) Soit l’URL suivant : http://www.mydomain.com:8080/test/servlet/ATester a) Que représente l’information 8080 dans l’URL ?

__________________________________________________________________

__________________________________________________________________

b) Quel est le nom de la classe contenant le code de la Servlet invoquée ? _______________________________

c) Quel est le nom du contexte qui contient cette Servlet ? ___________________

d) Ce lien étant valide, est-ce que ça implique des instructions particulières (autres que le minimum) dans le fichier web.xml ? _______________________

Si oui, lesquelles ?____________________________________________

1.3) (4 pts) Soit la classe maServlet qui dérive HttpServlet.

a) Doit-on redéfinir la méthode service pour spécifier le traitement qui sera effectuer toutes les fois que la Servlet maServlet sera invoquée?

__________________

Pourquoi ?

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

b) Est-il possible que la page Web générée par une Servlet exécute du code JavaScript ? _______

Pourquoi ?

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

(6)

Question 2 SQL et JDBC (40 points) Soit la table cours comme suit:

titre sigle etudiants idProf

Aspects avancés de Java IFT1176 65 32 Programmation Java et

applications IFT1170 60 32

Principes d'économie ECN1000 70 36 Astronomie générale PHY1971 50 28

Algèbre linéaire MAT1600 70 27

titre est du texte, max. 40 caractères.

sigle est du texte, 7 caractères (clé primaire).

etudiants est numérique (entier, nombre d’inscriptions pour le cours) idProf est numérique (entier, clé étrangère associée à la table prof).

Soit la table prof comme suit:

nom id

Michel Reid 32

Alex Martin 36

Manon Tremblay 28

Martine Parent 27

nom est du texte, max. 30 caractères ( nom de l’enseignant(e) ).

id est numérique (entier, clé primaire, numéro du prof. ).

a) (4 pts) Quel sera le résultat de la requête suivante :

SELECT titre from cours where etudiants > 60 ORDER BY sigle DESC

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

b) (5 pts) Écrivez la requête SQL pour faire afficher, le titre du cours et le nom de l’enseignant de chaque cours donné par un prof dont le nom (prenom) commence par

‘M’. L’affichage doit se faire en ordre croissant du titre.

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

(7)

c) Écrivez un programme java pour :

 (14 pts) Créer, sans les remplir, les tables cours et prof dans la base de donnée Oracle a04 sur le serveur veles, port 1176. Le login et mot de passe seront fournis sur la ligne de commande ( paramètres de la méthode main(String[] args) ).

 (3 pts) Ajouter un nouvel enregistrement dans la table prof. Nom : Annie Lebrun, id : 55.

 (3 pts) Ajouter un nouvel enregistrement dans la table cours. Sigle : POL1234, titre : Analyse de gauche, 35 étudiants et l’enseignante est Annie Lebrun.

 (11 pts) Faire afficher, à l’écran, le nom de l’enseignant, le titre et le sigle des cours ayant 70 étudiants ou plus. L’affichage se fera en ordre croissant des titres de cours. Présumez, qu’à ce stade-ci, les tables ont été remplies.

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

(8)

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

(9)

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

(10)

Question 3 Threads (25 points)

3.1) (15 pts) Soit le programme incomplet suivant:

class ExamThread implements Runnable { public ExamThread(){ }

public void run() { // supposez la méthode bien écrite } }

public class testExam {

public static void main (String args[]) { ExamThread test1 = new ExamThread();

ExamThread test2 = new ExamThread();

// instructions à ajouter ici

} }

Si les instructions ajoutées sont les suivantes :

test1.run() ; test2.run() ;

a) Est-ce que, avec ces appels, l’exécution de la méthode run de test1 terminera toujours avant l’exécution de la méthode run de test2 ? ________

Pourquoi ?

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

Si les instructions ajoutées sont les suivantes :

Thread t1 = new Thread(test1, "numero 1") ; Thread t2 = new Thread(test2, "le second") ; t2.setPriority(6);

t1.start();

t2.start();

b) Combien de Thread s’exécutent en concurrence? ____________

Lesquels ?

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

(11)

c) Quel Thread devrait, probablement, se terminer avant les autres ? ______________

Pourquoi ?

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

d) De tous les Thread que ce programme va exécuter, peut-on affirmer qu’il y en a un qui va nécessairement débuter avant les autres ? _________________

Si oui, lequel ? Si non, pourquoi ?

__________________________________________________________________

__________________________________________________________________

e) Que fera afficher l’appel suivant : System.out.println(t2) ;

__________________________________________________________________

__________________________________________________________________

3.2) (10 pts) Soit la classe Q3 qui hérite de Thread. :

class Q3 extends Thread {

public Q3(String nom){super(nom) ;}

public void run() { // supposez la méthode bien écrite } }

public class testQ3 {

public static void main (String args[]) {

// instructions à ajouter ici

} }

a) Écrivez l’instruction nécessaire pour créer un groupe de Thread (ThreadGroup) nommé « ABC ».

__________________________________________________________________

__________________________________________________________________

b) Complétez les instructions nécessaires pour créer un objet Q3 : a, nommé

« mon Thread a » qui appartiendra au groupe de Thread (ThreadGroup) nommé

« ABC ». .

Q3 a = new __________________________________________;

__________________________________________________________________

__________________________________________________________________

(12)

Présumez que plusieurs Thread ont ensuite été ajoutés au groupe « ABC » . Écrivez les instructions nécessaires pour changer la priorité de chaque Thread du groupe « ABC » à la priorité 8.

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

Bonne chance et Joyeuses Fêtes !

Michel Reid

Références

Documents relatifs

On peut aussi tronquer un nombre au dixième (ou au centième...) en lui enlevant tous les chiffres situés à droite du chiffre des dixièmes (ou des centièmes...). Arrondi à

Ce qu’il est amusant de constater, c’est que cette formule pour les 4k + 1 s’applique également au nombre premier 3 si ce n’est qu’il faut considérer celui-ci non pas comme un

(Courte explication) ET correction (si nécessaire) Pas de méthode setElementAt pour ArrayList.. uneListe.set(0,

[r]

En l’absence de parenthèses, on peut appliquer les opérateurs de multiplications et les opérateurs de divisions dans n’importe quel ordre. Grâce à ce résultat,

Un des joueurs choisit un nombre entier entre 1 et 100, appelé le nombre caché, et le second joueur doit deviner

Mais si je trouve 121 931 902 224 à la place du bon résultat (toujours pour une erreur de retenue), je ne vais pas m'en apercevoir avec ce test car alors la racine numérique du

 Remarque : pour simplifier une fraction et la mettre sous forme irréductible on peut utiliser la décomposition en facteurs premiers du numérateur et celle