Voir l'énoncé d'EFF Théorique 2012 sur le lien suivant : Examen de Fin de Formation - Théorique Session Juillet 2012 - TDI
Correction Complet d'Examen Théorique De Fin De Formation 2012 - UML - Merise - SQL Server - POO - HTML - JavaScript - Réseaux
Dossier 1 : UML - Merise :
Voir le lien suivant : Correction EFF Théorie 2012 Partie UML et MeriseDossier 2 : SQL Server :
Q 1 : Écrire une requête qui affiche le nombre de matchs joués dans la journée n°12.SELECT count(*)
from Match
Where numJournee=12
Q 2 : Écrire une requête qui affiche le nombre de matchs joués par journée.
SELECT numJournee, Count(numMatch)
From Match
Group By numJournee
Q 3 : Écrire une requête qui affiche le match qui a compté le plus grand nombre de spectateurs..
Select numMatch, dateMatch, numJournee
From Match
Where nombreSpectateur = (Select Max(nombreSpectateur) From Match)
Q 4 : Écrire une requête qui affiche le nombre de points de l’équipe de code 112 ; le nombre de
points se calcule de la façon suivante : une victoire donne 3 points, une égalité donne 1 point
et une défaite donne 0 point.
Solution 1 :
Declare @nbVictoirs int , @nbEgalite int , @totalPoints int
Select @nbVictoirs = Count(numMatch)
From Match
Where (nombreButLocaux > nombreButVisiteurs and codeEquipeLocaux=112) OR (nombreButLocaux < nombreButVisiteurs and codeEquipeVisiteurs=112)
Select @nbEgalite = Count(numMatch)
From Match
Where (nombreButLocaux = nombreButVisiteurs) and (codeEquipeLocaux=112 OR codeEquipeVisiteurs=112)
Set @totalPoints = @nbVictoirs * 3 + @nbEgalite
Select @totalPoints
Solution 2 :
SELECT SUM(MyTable.resultat) FROM
(SELECT resultat=COUNT(numMatch)*3 FROM Match
WHERE (nombreButLocaux > nombreButVisiteurs and codeEquipeLocaux=112)
OR (nombreButLocaux < nombreButVisiteurs and codeEquipeVisiteurs=112)
UNION
SELECT Count(numMatch) FROM Match
WHERE (nombreButLocaux = nombreButVisiteurs)
and (codeEquipeLocaux=112 OR codeEquipeVisiteurs=112)) MyTable
Q 5 : Écrire une procédure stockée qui affiche les équipes qui ont gagné leur match dans une
journée dont le numéro est donné comme paramètre.
CREATE PROC Q5 @nbrjour int
AS
BEGIN
SELECT codeEquipeLocaux AS 'Code Equipe' FROM Match
WHERE nombreButLocaux > nombreButVisiteurs AND numJournee = @nbrjour
UNION
SELECT codeEquipeVisiteurs AS 'Code Equipe' FROM Match
WHERE nombreButLocaux < nombreButVisiteurs AND numJournee = @nbrjour
END
EXEC Q5 1;
Q 6 : Écrire un trigger qui refuse l’ajout d’une ligne à la table Match pour laquelle la colonne
codeEquipeLocaux est égale à la colonne codeEquipeVisiteurs..
CREATE TRIGGER question6 ON Match2 AFTER INSERT
AS
DECLARE @loc int , @vis int
SELECT @loc= codeEquipeLocaux, @vis= codeEquipeVisiteurs FROM Inserted
IF (@loc=@vis)
BEGIN
RAISERROR ('ATTENTION: codeEquipeLocaux == codeEquipeVisiteurs :p', 16, 1);
Rollback
END
Voir aussi » : Examen de Fin de Formation - Théorique 2012
Dossier 3 : POO - Programmation Orientée Objet :
Solution 1 : en Java Par : AJDI Yassin:Q 1 & Q 2 :
public class Camera {
protected int code;
protected String type;
protected int orientation;
public Camera() {
super();
}
public Camera(int code, String type) {
super();
this.code = code;
this.type = type;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public int getOrientation() {
return orientation;
}
public void setOrientation(int orientation) {
this.orientation = orientation;
}
public void tourner(int sens) {
this.orientation = sens;
}
public void afficher() {
System.out.println("-Code: " + this.code + " Orientation:"
+ this.orientation);
}
}
Q3 - Q4 - Q5 :
public class CameraMobile extends Camera {
private int abs;
private int ord;
public CameraMobile(String type, int code, int abs, int ord) {
super(code, type);
this.abs = abs;
this.ord = ord;
}
public CameraMobile() {
super();
}
}
public int getAbs() {
return abs;
}
public void setAbs(int abs) {
this.abs = abs;
}
public int getOrd() {
return ord;
}
public void setOrd(int ord) {
this.ord = ord;
}
public void avancer(int d) {
switch (this.orientation) {
case 1:
this.ord += d;break;
case 2:
this.abs += d;break;
case 3:
this.ord -= d;break;
case 4:
this.abs -= d;break;
}
}
public void afficherPosition() {
System.out.println("-position: abs=" + this.abs + " ord=" + this.ord);
}
public void afficher() {
super.afficher();
this.afficherPosition();
}
}
Q 6 :
public class classTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
CameraMobile cm1 = new CameraMobile("SUMSUNG", 213, 0, 0);
cm1.afficher();
// a
cm1.setOrientation(2);
cm1.afficher();
// b
cm1.setOrientation(4);
cm1.avancer(10);
cm1.afficher();
// c
cm1.setOrientation(1);
cm1.avancer(16);
cm1.afficher();
// d
cm1.setOrientation(2);
cm1.avancer(5);
cm1.afficher();
// e
cm1.setOrientation(3);
cm1.avancer(12);
cm1.afficher();
}
}
Solution 2 : en C# :
Q 1 - Q 2 :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
Public class Camera
{
private int code;
private string type;
private int orientation;
public Camera()
{ }
public Camera(int code, string type, int orientation) {
this.code = code;
this.type = type;
if (orientation >= 1 && orientation <= 4)
this.orientation = orientation;
else throw new Exception("valeur incorrecte");
}
public int Code {
get { return code; }
set { code = value; }
}
public string Type {
get { return type; }
set { type = value; }
}
public int Orientation {
get { return orientation; }
set {
if (value >= 1 && value <= 4)
orientation = value;
else throw new Exception("valeur incorrecte");
}
}
public void tourner(int sens){
if (sens >= 1 && sens <= 4)
orientation = sens;
else throw new Exception("valeur incorrecte");
}
public virtual void afficher(){
Console.WriteLine("La caméra {0} a l'orientation {1}",code,orientation);
}
}
Q 3 - Q 4 - Q 5 :
Public class CameraMobile:Camera
{
private int abs;
private int ord;
public CameraMobile():base()
{ }
public CameraMobile(int code, string type, int orientation,int abs,int ord) :base(code,type,orientation){
this.abs = abs;
this.ord = ord;
}
public void afficherPosition(){
Console.WriteLine("Abscisse={0}-Ordonnée={1}",abs,ord);
}
public override void afficher()
{
base.afficher();
afficherPosition();
}
public void avancer(int d){
switch (this.Orientation){
case 1: ord += d; break;
case 2: abs += d; break;
case 3: ord -= d; break;
case 4: abs -= d; break;
}
}
}
Q 6 :
Public class Test
{
static void Main(string[] args){
CameraMobile cm = new CameraMobile(125, "Sony FX30", 1, 0, 0);
cm.afficher();
cm.tourner(2); cm.afficher();
cm.tourner(4); cm.avancer(10); cm.afficher();
cm.tourner(1); cm.avancer(16); cm.afficher();
cm.tourner(2); cm.avancer(5); cm.afficher();
cm.tourner(3); cm.avancer(12); cm.afficher();
Console.ReadLine();
}
}
Dossier 3 : HTML - JavaScript - Réseaux:
Exercice 1 : HTML - JavaScript :
Q 1 - Q 2 :
<html >
<head>
<script type="text/javascript">
function ChangeEtat(f) {
if(f.accepter.checked == true) {f.validation.disabled = false }
if(f.accepter.checked == false) {f.validation.disabled = true }
}
function valForm (f) {
if(f.nom.value == "" || f.prenom.value == "" || f.jour.value == "" || f.mois.value == "" || f.an.value == "" || f.pass.value == "" || f.confpass.value == "")
alert('Remplir tous les champs!!');
else
if(f.jour.value <=0 || f.jour.value >31|| f.mois.value <=0 || f.mois.value <=0 || f.mois.value>12 || f.an.value<1900)
alert('Date incorrecte!!');
else
if (f.pass.value != f.confpass.value)
alert('Le mot de passe et sa confirmation ne coïncident pas !! ');
else
f.submit();
}
</script>
</head>
<body >
Pour s’inscrire, remplir le formulaire :< br >
<form Action=" inscr.html" Method="Post" name="f1">
Nom:<br>
<input name="nom" size="30" ><br /><br />
Prénom:<br>
<input name="prenom" size="30" ><br /><br />
Date de naissance:<br>
<input name="jour" size="6" > <input name="mois" size="6" > <input name="an" size="6" ><br /><br />
Mot de passe : <br />
<input type="password" name="pass" size="30" >
<br /><br />
Confirmer mot de passe :<br>
<input type="password" name="confpass" size="30" /><br /><br />
<p><input type="checkbox" name="accepter" onClick=" ChangeEtat (this.form)" >J'accepte les conditions</p>
<p>
<input type="button" name="validation" value="Valider" disabled onClick="valForm(this.form)" >
<input type="reset" value="Annuler" ></p>
</form>
</body>
</html>
Voir aussi » : Examens fin module : HTML - CSS - JavaScript
Q 3 :
On ajoute aux scripts, la fonction :
function start() {
setTimeout(window.close, 8000);
}
La function start s’éxécute au chargement de la page par :
<body onload="start()">
Exercice 2 : Réseaux :
De Q1 à Q4 voir cours.
Q5 :
a - Donner les adresses IP et les masques de chaque machine.
- les adresses autorisées sont (192.168.79.2 jusqu'à 192.168.79.254) sous un masque 255.255.255.0
b - Donner le type de câble utilisé pour connecter les équipements entre eux.
c - Donner la commande MSDOS pour tester si la machine 1 est connectée à Internet.
- La commande MSDOS : ping 42.42.6.6
d - On souhaite que la machine 1 joue le rôle d’un serveur Web (IIS ou Apache), donner les
étapes d’installation et de configuration de ce serveur.
- Voir cours.
Pour télécharger - Correction Complet d'Examen Théorique De Fin De Formation 2012 - Cliquez sur le lien suivant :
Soon ...