INSTITUT SUPERIEUR DES ETUDES TECHNOLOGIQUES DE JENDOUBA DEPARTEMENT TECHNOLOGI

INSTITUT SUPERIEUR DES ETUDES TECHNOLOGIQUES DE JENDOUBA DEPARTEMENT TECHNOLOGIE DE L’INFORMATIQUE Année Universitaire 2013/2014 Sem.2 Page 1/5 EXAMEN Matière: PROGRAMMATION WEB 2 Documents: Non autorisés Enseignants: B. Kalfi, H. Chorfi, S. Abidi et Y.Mbarek Durée: 1h30 Classes : TI1* Date: Juin 2014 Il vous est demandé d’apporter un soin particulier à la présentation de votre copie. EXERCICE 1 : (5 POINTS) On rappelle qu’un document est dit bien formé s’il est syntaxiquement correct, sans référence à une quelconque DTD. Un document valide est bien formé et respecte les contraintes indiquées dans la DTD qui lui correspond (la DTD est obligatoire). I. Ce document xml n’est pas bien formé. Indiquez les lignes contenant les erreurs et les corrigez. 1. <?xml version="1.0" "?> 2. <bibliographie> 3. <TITRE>Calcul Quantique</titre> 4. <article type=non publié> 5. <titre>Quantum Proofs for Classical Theorem</titre> 6. <auteurs> 7. <nom>Drucker</nom><nom>de Wolf</nom> 8. </auteurs> 9. <uri>arxiv:quant-ph/0910.3376v1</uri> 10. </article> 11. <livre lang = "en"> 12. <titre>Quantum Computation and Quantum Information</titre 13. <auteurs> 14. <nom>Nielsen</nom><nom>Chuang</nom> 15. <éditeur>Cambridge U. Press</éditeur> 16. <livre/> 17. </bibliographie> Correction : I. Barème : ligne : 0.25+ correction 0.5 3. Casse : <titre>Calcul Quantique</titre> 0.25+0.5 4. apostrophes : <article type="non publié"> 0.25+0.5 <livre xml:lang = "en"> 12. fermeture de balise : <titre>Quantum Computation and Quantum Information</titre> 0.25+0.5 13. </auteurs> 0.25+0.5 16. </livre> 0.25+0.5 II. Pour chacun des documents suivants, indiquez s’il est valide ou pas. Quand le document n’est pas valide indiquez la nature de l’erreur (ou des erreurs). 1. document non valide (6. <c x="bold">du texte</c>) 0.5+0.25 2. document valide 0.5 Année Universitaire 2013/2014 Sem.2 Page 2/5 1. 1. <?xml version="1.0" ?> 2. <!DOCTYPE a SYSTEM "a.dtd"> 3. <a> 4. <b/> 5. <b/> 6. <c x="medium">du texte</c> 7. </a> <!ELEMENT a (b*, c)> <!ELEMENT b EMPTY> <!ELEMENT c (#PCDATA)> <!ATTLIST c x CDATA #FIXED "bold"> 2. 1. <?xml version="1.0" ?> 2. <!DOCTYPE a SYSTEM "a.dtd"> 3. <a> 4. <b/> 5. <b truc="bidule"/> 6. <c>Et voilà</c> 7. </a> <!ELEMENT a (b*, c)> <!ELEMENT b EMPTY> <!ELEMENT c (#PCDATA)> <!ATTLIST b truc CDATA #IMPLIED> EXERCICE 2 : (7 POINTS) Etablir la DTD du document suivant, sachant que l’élément fleuriste est optionnel et qu’il contient nécessairement soit un élément ville soit un élément lieu. <composition> <auteur>Floristore</auteur> <date_de_creation>29/02/2001</date_de_creation> <fleuriste> <ville>Paris</ville> </fleuriste> <composants> <vase> <matiere>Porcelaine</matiere> <taille>50x70 cm</taille> </vase> <fleurs> <nature>Europeenne</nature> <item>Tulipe</item> <item>glaieul</item> <item>Marguerite</item> </fleurs> </composants> </composition> Correction : Syntaxe : 0.5 <!ELEMENT composition (auteur,date_de_creation,fleuriste?,composants)> 0.5 <!ELEMENT auteur (#PCDATA)> 0.5 <!ELEMENT date_de_creation (#PCDATA)> 0.5 <!ELEMENT fleuriste (lieu?,ville?)> 0.5 <!ELEMENT lieu (#PCDATA)> 0.5 <!ELEMENT ville (#PCDATA)> 0.5 Année Universitaire 2013/2014 Sem.2 Page 3/5 <!ELEMENT composants (vase,fleurs)> 0.5 <!ELEMENT vase (matiere,taille)> 0.5 <!ELEMENT matiere (#PCDATA)> 0.5 <!ELEMENT taille (#PCDATA)> 0.5 <!ELEMENT fleurs (nature,item+)> 0.5 <!ELEMENT nature (#PCDATA)> 0.5 <!ELEMENT item (#PCDATA)> 0.5 EXERCICE 3 : (8 POINTS) Soit le document HTML ci-dessous qui permet de choisir son menu au restaurant : une entrée, un plat principal et un dessert. L'appui sur un bouton "Envoi" permet de calculer l'addition. Le code HTML de cette page est la suivante : <body> <h1><strong>Composez votre menu </strong></h1> <hr> <p>Choisissez une entrée, un plat et un dessert, puis appuyez sur le bouton «Prix» </p> <form name="f1" method="post" action=""> <p>Entrée Plat Principal Dessert </p> <select name="s1" size="1"> <option value="15.00">Paté en croute</option> <option value="18.00">Soupe</option> </select> <select name="s2" size="1"> <option value="32.00">Couscous</option> <option value="50.00">Poisson</option> </select> <select name="s3" size="1"> Prix à payer : Couscous Année Universitaire 2013/2014 Sem.2 Page 4/5 <option value="16.5">Glace</option> <option value="17.00">Fruit</option> </select> <input type="button" name="prix" value="prix" onClick="addition()"> <input type="text" name="t1"> <input type="text" name="t2"> <input type="text" name="t3"> Total: <input type="text" name="t4"> Adresse de livraison: <input type="text" name="a"> <input type="submit" name="Submit" value="Envoi" onClick="adresseValide ()"> </form> </body> 1. Définir la fonction JavaScript addition() qui permet de :  afficher le prix de l’entrée dans le champ t1  afficher le prix du plat principal dans le champ t2  afficher le prix du dessert dans le champ t3  calculer le prix à payer et l’afficher dans le champ t4 2. Définir la fonction JavaScript adresseValide() qui vérifie si l'adresse remplie est valide ou non. L’adresse est valide si :  si le nombre de caractères de la chaîne est non nul.  si la chaîne contient un code postal (un nombre de 4 chiffres). Correction : Syntaxe: 1 <script language="JavaScript"> function addition(){ var e=document.f1.s1.options.selectedIndex; 0.5 document.f1.t1.value=document.f1.s1.options[e].value; 0.75 var pp=document.f1.s2.options.selectedIndex; 0.5 document.f1.t2.value=document.f1.s2.options[pp].value; 0.75 var d=document.f1.s3.options.selectedIndex; 0.5 document.f1.t3.value=document.f1.s3.options[d].value; 0.75 var prix=document.f1.t1.value*1+document.f1.t2.value*1+document.f1.t3.value*1; 0.75 document.f1.t4.value=prix; 0.5 } </script> 2. //on suppose que le code postal s’écrit en dernière position. Cette solution n’est pas la solution optimale puisqu’on doit utiliser les expressions régulières et personnellement je n’ai pas abordé cette partie dans le cours. Année Universitaire 2013/2014 Sem.2 Page 5/5 Je vois qu’on ne doit pas compter cette partie de l’exercice ou attribuer un bonus pour cette partie (vérification du code postal) function adresseValide(){ var ad=document.f1.a.value; 1 if (ad.length == 0) 1 {alert ("Adresse vide!!"); return false;} else { Bonus : 2 var c="012356789"; if (c.indexOf(ad.charAt(ad.length))==-1) {alert('Le code postal est invalide'); return false;} if (c.indexOf(ad.charAt(ad.length-1))==-1) {alert('Le code postal est invalide'); return false;} if (c.indexOf(ad.charAt(ad.length-2))==-1) {alert('Le code postal est invalide'); return false;} if (c.indexOf(ad.charAt(ad.length-3))==-1) {alert('Le code postal est invalide'); return false;} alert('Le code postal est valide'); return true; }} Bon Travail uploads/s1/ examen-prog-web-ii-2014-avec-correction.pdf

  • 19
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Jui 26, 2021
  • Catégorie Administration
  • Langue French
  • Taille du fichier 0.5280MB