Université de Bretagne Occidentale UFR des Sciences et Techniques Département d’Informatique Examen UE Introduction à l’informatique S1 – Parcours 1 Mardi 5 Janvier 2016 de 8h00 à 10h00 Remarques La présentation des réponses est un élément déterminant tant pour la conception de celles-ci que pour leur compréhension par le correcteur. Les réponses doivent être justifiées. Le barème et le temps sont donnés à titre indicatif. Seules les notes de cours, de TD et de TP sont autorisées. Les calculatrices et autres dispositifs électroniques sont interdits. Exercice 1 - Codage (3 pts – 15 min.) Question 1 (0,5 pts) : coder le nombre 57 en binaire. Question 2 (1 pt) : coder le nombre 0,75 en binaire Question 3 (1,5 pts) : la suite de bit 1110 0111 0000 0101 représente un nombre codé sous forme Mantisse-Exposant. Donner sa valeur en base 10. Signe (1 bit) Mantisse (11 bits) Signe (1 bit) Exposant (3 bits) Exercice 2 – Structures itératives (4 pts – 20 min.) Question 1 (2 pts) : Soit le programme : Pour i = 1 jqa 9 Instr1 Instr2 Instr3 FinPour Proposez un programme équivalent en utilisant une structure Tantque … FinTantque, à la place de la structure Pour … FinPour. Question 2 (2 pts) : Soit le programme : Répéter Instr1 Instr2 Instr3 Jqa Cond Proposez un programme équivalent en utilisant une structure Tantque … FinTantque, à la place de la structure Répéter … Jqa. Exercice 3 – Programmation (6 pts – 40 min.) Un carré magique est tableau dont la somme des valeurs des lignes, des colonnes et des diagonales est identique. L’exemple ci-dessous (source wikipedia) est un carré magique de taille 5x5 et de valeur 65. Les carrés magiques de taille NxN peuvent être représentés informatiquement par des tableaux à 2 dimensions. Pour la suite, on supposera que l’on possède un tableau pré-rempli, nommé CM,à 2 dimensions (CM[N-1, N-1]) contenant des valeurs entières. On cherchera donc à vérifier si les valeurs contenues dans le tableau, correspondent bien à un carré magique de taille NxN. On supposera que la valeur de N est supérieure ou égale à 4. On supposera que la case en haut à gauche est la case CM[0,0], que la case en bas à droite est la case CM[N-1,N-1], et que la case en bas à gauche est la case CM[0,N-1]. Question 1 (1 pt) : Proposer un algorithme qui permet d’additionner les valeurs de la ligne 2 du tableau CM. Question 2 (1 pt) : Proposer un algorithme qui permet d’additionner les valeurs de la colonne 3 du tableau CM. Question 3 (1 pt) : Proposer un algorithme permettant d’additionner les valeurs de la diagonale qui va de la case CM[0,0] à la case CM[N-1,N-1]. Question 4 (1 pt) : Proposer un algorithme qui permet de vérifier si toutes les lignes du tableau ont bien la même valeur. On affichera le message « lignes magiques » ou « lignes non magiques » en fonction du résultat. Question 5 (2 pts) : Proposer un algorithme complet permettant de vérifier que le carré est magique. Exercice 4 - Base de Données (7 pts – 40 min.) Préambule Un magasin de vente de téléphones portables multimarques souhaite mémoriser dans une base de données son matériel (téléphones et coques protectrices entre autres). Question 1 : La table Téléphones contiendra les données suivantes : Identifiant, Modèle, Marque, Mémoire et Quantité disponible en stock. a) Tracer cette table avec ses champs et leurs types. b) Placer la ou les clés. Question 2 : La table Coques contiendra : Identifiant, Couleur. a) Tracer cette table avec ses champs et leurs types. b) Placer la ou les clés. Question 3 : Une coque peut convenir à plusieurs téléphones et un téléphone peut recevoir plusieurs coques différentes. Il faut donc créer une table de jointure Coques-Téléphones. a) Tracer cette table avec ses champs (à déduire des tables précédentes) et donner leurs types. b) Placer la ou les clés. c) Relier cette table aux précédentes en prenant soin d'indiquer les valeurs 1 et N aux extrémités. Question 4 : Ajouter une table Marques pour mémoriser les marques de téléphone distribuées. a) Tracer cette table avec le ou les champs (que vous définirez) et leurs types. b) Placer la ou les clés. c) Relier correctement cette table. Question 5 : Ajouter une table Couleurs pour mémoriser les couleurs possibles des coques. a) Tracer cette table avec le ou les champs (que vous définirez) et leurs types. b) Placer la ou les clés. c) Relier correctement cette table. Question 6 : L'architecture de la base étant achevée, il convient maintenant d'y placer des données. a) Dans quel ordre faut-il remplir les tables ? b) Inventer 3 téléphones, 2 marques, 4 coques et 3 couleurs, dont une coque universelle noire allant pour tous les téléphones ainsi qu'une coque rouge allant pour 2 de vos téléphones. Tracer en conséquence toutes vos tables. Question 7 : Recherche de données. a) Ecrire (graphiquement - comme sous Access - ou bien en SQL) une requête pour retrouver tous les téléphones qui peuvent recevoir une coque rouge. b) Ecrire (graphiquement - comme sous Access - ou bien en SQL) une requête pour afficher tous les téléphones de votre première marque.