Sujet 1 - Guillaume Rivière
Transcription
Sujet 1 - Guillaume Rivière
Page 1/6 Unité d’Enseignement en Informatique Année 2010-2011 – Décembre 2010 2ième année ESTIA – CGP-MPA Apprentis Examen de Système d’Information (2h00, aucun document autorisé) PARTIE 1 – Questions de cours Exercice 1 : (7 pts) Répondre directement sur la feuille au QCM proposé : mettre une croix pour la bonne réponse. Exercice 2 : (1 pt) Citez au moins 3 exemples d’informations qu’un SI peut gérer au sein de l’entreprise. Exercice 3 : (1 pt) Qu’y a-t-il à prendre en compte dans le coût d’un SI ? PARTIE 2 : Implémentation Le magasin d'un fabricant de pièces détachées est organisé de la manière suivant : les pièces sont stockées dans des armoires (identifiées par un numéro), et les armoires sont organisées en rayons (identifiés par une lettre). Les pièces sont identifiées par un type, une dimension, et un matériau de fabrication. Pour gérer le stock du magasin de manière informatisée, un fichier informatique centralise l'état du stock. Les lignes de ce fichier informatique sont formatées ainsi : Rayon;Armoire;Type;Dimension;Matériau;Quantité; Voici, par exemple, le début d'un tel fichier : A;1;Vis;10;Inox;10000; A;1;Vis;50;Inox;1000; A;2;Vis;20;Inox;15000; A;3;Ecrou;5;Inox;7500; A;3;Vis;5;Inox;2500; A;3;Boulon;5;Inox;5000; A;3;Rondelle;5;Inox;7500; B;1;Rondelle;8;Laiton;250; B;1;Rondelle;10;Laiton;500; B;1;Vis;10;Laiton;200; B;2;Vis;10;Acier;3800; B;2;Boulon;20;Acier;3200; B;2;Ecrou;20;Acier;6000; B;2;Rondelle;10;Acier;1000; stock.txt Les magasiniers doivent pouvoir répondre rapidement, quant à l'état des stocks, à n'importe quelle demande sur un type de pièce particulier. Nous proposons de mettre en place cette fonctionnalité ESTIA 2ième année – Epreuve d’Informatique – SI - Guillaume Rivière - CGP-MPA Estia 2009 Page 2/6 de recherche. A partir du nom et de la dimension de la pièce indiquée, le magasinier doit pouvoir obtenir le nombre d'unités disponibles pour tel matériau, ainsi que l'armoire où elles sont entreposées, et le rayon où se situe l'armoire. Voici, par exemple, pour une requête concernant des vis de 10mm, ce qu’affiche le formulaire recherche.html (à gauche) et le résultat calculé par reponses.php (à droite) : Voici une partie du code du fichier reponses.php : <html> <head> <title>Réponses</title> <style type="text/css"> table {border-collapse: collapse;} td,th { border: solid 1px black; padding: 10px;} h2 { font-family: sans-serif; } </style> </head> <body> <h1>Réponses</h1> <?php $tab = Rechercher ('stock.txt', $_POST['piece'], $_POST['dimension']) ; Afficher ($_POST['piece'], $_POST['dimension'], $tab) ; ?> <p><a href="recherche.html">Nouvelle recherche</a></p> </body> </html> ESTIA 2ième année – Epreuve d’Informatique – SI - Guillaume Rivière - CGP-MPA Estia 2009 Page 3/6 Exercice 4 : (4 pt) Ecrire le code de la fonction "Rechercher" telle que : /** * Cette fonction cherche, dans un fichier décrivant l'état du stock, * les pièces d'un certain type et d'une certaine dimension. * La fonction retourne la lettre du rayon, le numéro de l'armoire, * le matériau de la pièce, et le nombre d'unités pour chacune * des pièces trouvées. * * ENTREE/ $fichier (string) : le nom du fichier décriant l'état du stock, * ENTREE/ $piece (string) : le type des pièces recherchées, * ENTREE/ $dimension (string) : la dimension des pièces recherchées, * * SORTIE/ (array[array[]]) : un tableau de tableaux, qui contient les * informations sur chaque pièce trouvée, et où les informations * sur une pièce trouvée sont décrites dans un tableau par * [Rayon|Armoire|Materiau|Quantite]. */ function Rechercher ($fichier, $piece, $dimension) Note 1 : La fonction explode() permet de décomposer une chaîne de caractères dans un tableau. /** * La fonction explode segmente une chaîne en un ensemble de sous* chaînes, sous la forme d'un tableau. * La segmentation se fait en définissant un séparateur. * * Exemple : * $liste = "tennis-badminton-pala-pelote-tennis de table-jokari"; * $tableau = explode ("-", $liste); * => $tableau [0] == tennis, $tableau [1] == badminton, ... * * ENTREE/ $separateur (string) : une chaîne de caractère définissant le * séparateur * ENTREE/ $chaine (string) : la chaîne de caractère à découper * SORTIE/ (array[string]) : un tableau de chaîne de caractère */ function explode ($separateur, $chaine) Note 2 : La fonction array() permet de créer un tableau. $tab = array() ; $tab[0] = array("A","1","Inox" ,"10000") ; $tab[1] = array("B","1","Laiton","200") ; $tab[2] = array("B","2","Acier","3800") ; La case $tab[0][3] contient donc "10000". ESTIA 2ième année – Epreuve d’Informatique – SI - Guillaume Rivière - CGP-MPA Estia 2009 Page 4/6 Exercice 5 : (4 pt) Ecrire le code de la fonction "Afficher" telle que : /** * Cette fonction affiche les reponses concernant les résultats d'une * recherche. * * ENTREE/ $piece (string) : le type des pièces recherchées, * ENTREE/ $dimension (string) : la dimension des pièces recherchées, * ENTREE/ $reponses (array[array[]]) : un tableau de tableaux, qui * contient les informations sur chaque réponse, et où les informations sur * une réponse sont décrites dans un tableau par * Rayon|Armoire|Materiau|Quantite]. */ function Afficher ($piece, $dimension, $reponses) Note 3 : La fonction count() permet de compter le nombre d'éléments d'un tableau. Par exemple, avec le tableau $tab de la Note 2, count($tab) retourne 3. Exercice 6 : (3 pt) Le formulaire recherche.html contient un formulaire permettant au magasinier de saisir les champs de sa requête et d'appeler le script reponses.php. Ecrire le code du fichier "recherche.html" Note 4 : La balise select permet de créer une liste déroulante d'éléments (précisés par des balises option). Grâce à l'attribut "name", elle peut être utilisée de même que la balise "input" dans un formulaire. <select name="liste_a_choix"> <option>Choix 1</option> <option>Choix 2</option> <option>Choix 3</option> <option>Choix 4</option> </select> ESTIA 2ième année – Epreuve d’Informatique – SI - Guillaume Rivière - CGP-MPA Estia 2009 Page 5/6 QCM NOM Prénom : ________________________ : ________________________ Règles pour la notation : On part de 0 point. une réponse juste : positif / +1 point une réponse fausse : négatif / -1 point pas de réponse : neutre / 0 point Les scores négatifs seront ramenés à 0. 1) Une entreprise qui ne possède pas d’ordinateur ne peut pas posséder de SI : a. □ Vrai b. □ Faux 2) Qu’est-ce qu’un ERP ? a. □ Un Environnement Robuste de Programmation b. □ Un progiciel de gestion intégré c. □ Un Réacteur Pressurisé Européen 3) Un bon SI cherche à favoriser : a. □ la redondance de saisie des données b. □ l’achat de logiciels propriétaires, plus sûrs c. □ l’interconnexion des données et des processus pour une meilleure interopérabilité entre les différentes applications du SI 4) Pour concevoir un SI, je fais des… : b. □ diagrammes UML a. □ lignes de code c. □ diagrammes pieuvres 5) Dans une architecture client-serveur, on parle de niveaux d’abstraction. Combien en définit-on ? a. □ 3 b. □ 5 c. □ 8 5) Parmi ces 3 points forts, lequel attribue-t-on à une architecture 1 tiers répartie ? a. □ Facilité de maintenance b. □ Confidentialité des données c. □ Ergonomie de l’IHM 6) Parmi ces 3 points faibles, lequel attribue-t-on à une architecture 1 tiers centralisée ? a. □ Problème de confidentialité des données b. □ Problème de saturation du réseau c. □ Pauvreté de l’ergonomie de l’IHM 7) Avec lequel de ces langages développe-t-on des « clients lourds » ? b. □ PHP c. □ JAVA a. □ XHTML 8) Quel protocole est utilisé par un « client léger » ? a. □ SMTP b. □ JAVA c. □ RMI 9) PHP est un langage : a. □ compilé c. □ compilé puis interprété d. □ HTTP e. □ RPC b. □ interprété d. □ interprété puis compilé ESTIA 2ième année – Epreuve d’Informatique – SI - Guillaume Rivière - CGP-MPA Estia 2009 Page 6/6 ESTIA 2ième année – Epreuve d’Informatique – SI - Guillaume Rivière - CGP-MPA Estia 2009