Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

lundi 24 novembre 2014

Correction Theorique 2013 TDI OFPPT

11/24/2014 02:35:00 PM Posted by Ahmed

Correction Theorique 2013  TDI OFPPT




Dossier I


Dossier II :
NB : D’autre solution peuvent être envisageable
--1. Réaliser une requête qui permet d’afficher  les 3 clients d’or
--sachant qu’un client d’or est un client qui consomme plus de recharges.
select top 3 client.numtel , client.nomclient, SUM(ticket.Montant) as consomme
from client inner join compte inner join recharger inner join ticket on ticket.CodeTicket = recharger.CodeTicket on recharger.NumTel=compte.Numtel on compte.numTel = client.numtel
group by client.numtel , client.nomclient
order by consomme desc

ou autre solution
--2.   Réaliser une requête qui permet d’afficher les codes de recharges consommé
--par le client dont l’adresse Email est : hamzaoui_ofppt@gmail.com. (0,5 pt)
select CodeRech from recharger
where numtel=(select numtel from client where EmailClient='hamzaoui_ofppt@gmail.com')
--3.   Réaliser une procédure stockée qui permet d’afficher  les clients
--dont un montant est expiré (pour parcourir la table compte, utiliser un curseur). (1 pt)
create proc PS_Qst5
as
begin
declare cur cursor for select NumTel from compte where MontantRest>0
declare @tel varchar(14)
open cur
fetch cur into @tel
while @@fetch_status=0
begin
  select * from client where NumTel=@tel
fetch cur into @tel
end
close cur
deallocate cur
end

ou bien avec la moitie de la note

create proc PS_Qst5
as
begin
  select client.* from client inner join compte on compte.numTel = client.numtel where compte.MontantRest>0
end
ou
autre solution

--4.   Réaliser une fonction qui retourne le total de consommation d’un client en paramètre. (0,75 pt)
create function FTotal(@nt nchar(14))
returns money
begin
declare @tot money
select @tot=sum(Ticket.Montant) from Ticket inner join recharger
on Ticket.CodeTicket=Recharger.CodeTicket
where Numtel=@nt
return @tot
end
--5.Réaliser une fonction qui retourne les machines utilisées par un client lors de
-- ses connexions. (1 pt)
create function MachineConnexion(@nt nchar(14))
returns table
as
return(
select machine.* from machine inner join connexion
on machine.AdresseMAC= connexion.AdresseMAC
where connexion.Numtel = @nt)

--6.Réaliser un déclencheur qui permet de décrémenter la quantité des tickets
--lors de l’utilisation d’une recharger. (1 pt)
create trigger Tr_Qt8
on recharger
after insert
as
begin
declare  @CodeTicket int
select @CodeTicket = CodeTicket from inserted
update Ticket set Qte=Qte-1 where CodeTicket=@CodeTicket
end



Dossier III :
Exercice 01 :
1-       DTD
<!ELEMENT etablissement (CDJ?,CDS?,FQ?)>
  <!ELEMENT CDJ (filiere+)>
  <!ELEMENT CDS (filiere+)>
  <!ELEMENT filiere (employer+|stagiaire+)>
  <!ELEMENT employer (ste,matricule,datedebut)>
  <!ELEMENT stagiaire (nom,prenom,nins,age)>
  <!ELEMENT FQ (formation+)>
  <!ELEMENT formation (Participant*)>
  <!ELEMENT Participant (nom, Tel)>
  <!ELEMENT nom (#PCDATA)>
  <!ELEMENT datedebut (#PCDATA)>
  <!ELEMENT prenom (#PCDATA)>
  <!ELEMENT nins (#PCDATA)>
  <!ELEMENT age (#PCDATA)>
  <!ELEMENT ste (#PCDATA)>
  <!ELEMENT matricule (#PCDATA)>
  <!ELEMENT datedebut (#PCDATA)>
  <!ATTLIST filiere nom ID #REQUIRED>
  <!ATTLIST filiere nbstag ID #REQUIRED>
D’autres structures DTD peuvent être  envisageable : 
2.     XML
<?xml version ="1.0"?>
<etablissement>
  <CDS>
    <filiere nom="1" nbstag="23">
      <employer>
        <ste>GO 2000</sta>
        <matricule> 7657655</matricule>
        <datedebut>12/12/2010</datedebut>
      </employer>
      <employer>
        <sta>SG tech</sta>
        <matricule>877655</matricule>
        <datedebut>01/12/2010</datedebut>
      </employer>
      <employer>
        <ste>Grafs</sta>
        <matricule> 765675</matricule>
        <datedebut>12/01/2010</datedebut>
      </employer>
    </filiere >
  </CDS>
  <CDJ>
    <filiere nom="IA" nbstag="23">
      <stagiaire>
        <nom>Alaoui</nom>
        <prenom>Brahim</prenom>
        <nins>I54/2011</nins>
        <age>20</age>
      </stagiaire>
      <stagiaire/>
    </filiere>
  </CDJ>
  <FQ>
    <formation id="01" nom="Bureautique">
      <Participant>
                               <Nom>HAMRACHI FOUAD</NOm>
                <Tel>055555555</Tel>
      </Participant>
    </formation>
    <formation/>
  </FQ>
</etablissement>

3-     XSD
xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="etablissement">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="CDS">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="filiere">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="employer">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="sta" type="xs:string" />
                          <xs:element minOccurs="0" name="ste" type="xs:string" />
                          <xs:element name="matricule" type="xs:unsignedInt" />
                          <xs:element name="datedebut" type="xs:string" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                <xs:attribute name="nom" type="xs:unsignedByte" use="required" />
              <xs:attribute name="nbstag" type="xs:unsignedByte" use="required" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="CDJ">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="filiere">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="stagiaire">
                      <xs:complexType>
                        <xs:sequence minOccurs="0">
                          <xs:element name="nom" type="xs:string" />
                          <xs:element name="prenom" type="xs:string" />
                          <xs:element name="nins" type="xs:string" />
                          <xs:element name="age" type="xs:unsignedByte" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="nom" type="xs:string" use="required" />
              <xs:attribute name="nbstag" type="xs:unsignedByte" use="required" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="FQ">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="formation">
                <xs:complexType>
                  <xs:sequence minOccurs="0">
                    <xs:element maxOccurs="unbounded" name="Participant">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Nom" type="xs:string" />
                          <xs:element name="Tel" type="xs:unsignedInt" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="id" type="xs:unsignedByte" use="optional" />
                  <xs:attribute name="nom" type="xs:string" use="optional" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>




Exercice 2
<html><head><script language="JavaScript">
function vider(){
id1.innerHTML="";
id2.innerHTML="";
id3.innerHTML="";
id4.innerHTML="";
id5.innerHTML="";
id6.innerHTML="";
id7.innerHTML="";
f.tnp.value="";
f.tsb.value="";
}
function valider(){

var E1 =new RegExp("^[0-9]*$","g");
if (E1.test (f.tnp.value)==false){
id1.innerHTML="<font color=red>Erreur!!</font>";}
}
function Calculer(){
var salannu="ok";
f.tsb.value=f.tnp.value*4.83;
f.tpr.value=f.tsb.value*0.13;
var somme=parseFloat(f.tpr.value)+parseFloat(f.tsb.value);
f.trr.value=somme*0.06;
f.trm.value=somme*0.025;
salannu=(parseFloat(somme)-parseFloat(f.trr.value)-parseFloat(f.trm.value))*parseFloat(12);
if(parseFloat(salannu)<=28000.00) salannu=salannu;
else{
   if(parseFloat(salannu)<=40000.00) salannu=salannu-3360;
   
   else{
   if(parseFloat(salannu)<=50000.00) salannu=salannu-8160-(salannu-40000)*0.24;
       else{
         if(parseFloat(salannu)<=60000.00) salannu=salannu-13160-(salannu-50000)*0.34;
         else{
         if(parseFloat(salannu)<=150000.00) salannu=salannu-15160-(salannu-60000)*0.38;
             else
               salannu=parseFloat(salannu-18560)-(salannu-1500000)*0.4;
             }
           }
       }
     }
f.tsn.value=Math.round(salannu/12,2);
f.tir.value=Math.round(somme-parseFloat(f.tsn.value),2);
}

</script></head>
<body><form name=f>
<table width=600 border=1>
<tr><td colspan=3><font size=4>Simulateur pour le calcule de salaire net</font></td></tr>
<tr>
    <td width=200>Nombre de points</td>
    <td width=200><input type=text name=tnp></td>
    <td width=200 id=id1>&nbsp;&nbsp;</td>
</tr>
<tr>
    <td width=200>Salaire brut</td>
    <td width=200><input type=text name=tsb></td>
    <td width=200 id=id2>&nbsp;&nbsp;</td>
</tr>

<tr>
    <td width=200>Prime de résidence 13%:</td>
    <td width=200><input type=text name=tpr></td>
    <td width=200 id=id3>&nbsp;&nbsp;</td>
</tr>
<tr>
    <td width=200>Retune de retraite de 6,00% :</td>
    <td width=200><input type=text name=trr></td>
    <td width=200 id=id4>&nbsp;&nbsp;</td>
</tr>
<tr>
    <td width=200>Retune metuelle de 2,5%</td>
    <td width=200><input type=text name=trm></td>
    <td width=200 id=id5>&nbsp;&nbsp;</td>
</tr>
<tr>
    <td width=200>Retenue Impôt sur le revenu(IR)</td>
    <td width=200><input type=text name=tir></td>
    <td width=200 id=id6>&nbsp;&nbsp;</td>
</tr>
<tr>
    <td width=200>Salaire NET</td>
    <td width=200><input type=text name=tsn></td>
    <td width=200 id=id7>&nbsp;&nbsp;</td>
</tr>
<tr>
    <td colspan=3>
 <input type=button value=Calculer onclick="valider();Calculer();">
                  <input type=button value=fermer onclick="window.close()">
                  <input type=button value=imprimer onclick="window.print()">
                  <input type=reset value=vider></td>
</tr>
</table>
</body></html>






Exercice 03 :
Voir cours//        pour les équipements vous choisissez la version convenable selon la compréhension du stagiaire      
Annexe 2 
Réseau
Caractéristiques
Equipements version 1
Equipements version2
LAN





Equipement
oui
non
Routeur

*
Carte LAN
*

Switch
*

Hub
*

Modem

*
Tableau 1 (liste équipements)

Equipement
oui
non
Routeur

*
Carte LAN
*

Switch
*

Hub
*

Modem

*
Tableau 1 (liste équipements)
MAN






Equipement
oui
non
Routeur
*

Carte LAN
*

Switch
*

Hub
*

Modem


Tableau 2 (liste équipements)

Equipement
oui
non
Routeur
*

Carte LAN


Switch


Hub


Modem


Tableau 2 (liste équipements)
WAN






Equipement
oui
non
Routeur
*

Carte LAN
*

Switch
*

Hub
*

Modem
*

Tableau 3 (liste équipements)

Equipement
oui
non
Routeur
*

Carte LAN


Switch


Hub


Modem
*

Tableau 3 (liste équipements)
WIFI






Equipement
oui
non
Routeur
*

Carte LAN


Switch
*

Hub
*

Modem
*

Tableau 4 (liste équipements)

Equipement
oui
non
Routeur
*

Carte LAN


Switch


Hub


Modem


Tableau 4 (liste équipements)