Informatique et programmation
Transcription
Informatique et programmation
Nom : Prénom : Numéro étudiant : Informatique et programmation Janvier 2015 - Session 1 L’examen a une durée de 45 minutes. Aucun document (quel qu’il soit) n’est autorisé durant l’épreuve. Le sujet comporte cinq exercices indépendants. EXERCICE 1 – Informatique : système binaire (3 pts) Répondez aux questions suivantes, et précisez les éventuels calculs. 1) Quel est le plus grand nombre décimal que l’on puisse représenter avec un nombre binaire à 8 chiffres ? 2) Donner à l’aide du tableau ci-dessous le plus grand nombre binaire à 8 chiffres : 0 1 2 3 4 5 6 7 3) Donner l’écriture décimale du nombre binaire ci-dessous : 1 0 0 1 0 2 1 3 1 4 0 5 1 6 0 7 4) Donner à l’aide du tableau ci-dessous l’écriture binaire du nombre décimal 215 : 0 1 2 3 4 5 6 7 EXERCICE 2 – Algorithmique : algèbre de Boole (3 pts) Soit les trois variables booléennes : A = True, B = True, C = False. Évaluez les expressions booléennes suivantes et indiquez le résultat (True ou False). Nota bene : bonne réponse : + score ; mauvaise réponse : - score ; absence de réponse : 0 pt 1) A or B (score : 0,5 pt) 2) A or C (score : 0,5 pt) 3) A and B (score : 0,5 pt) 4) A and C (score : 0,5 pt) 5) not(A or B and C) (score : 1 pt) c 2015 Licence Science Cognitive 1ère année – Université Lumière (Lyon 2) Responsable : Adrien Guille EXERCICE 3 – Programmation : code à corriger (4 pts) Le programme ci-après, écrit en langage Python, permet à son utilisateur de retrouver le nom d’une personne à partir de son prénom. Il comporte quatre erreurs (un même type d’erreur peut être répété plusieurs fois mais n’est comptabilisé qu’une fois) que vous devez identifier et corriger. Une erreur peut être une faute dans le code existant ou un morceau de code manquant. # On crée deux listes contenant chacune 4 éléments listeDePrenoms = [Adrien,Haley,Noel,Liam] listeDeNoms = [Guille,Davis,Gallagher,Gallagher] # L’utilisateur du programme saisit un prénom unPrenom = print("Veuillez saisir un prénom : ") # Le programme teste tous les prénoms i = 1 while i <= 4 : # Lorsqu’il trouve le prénom recherché, il affiche le nom correspondant if listeDePrenoms[i] == unPrénom : print("Le nom complet recherché est : ",unPrénom,listeDeNoms[i]) EXERCICE 4 – Programmation : concevoir un programme (5 pts) Écrivez un programme en langage Python selon les consignes suivantes. Premièrement, créez une liste contenant les entiers naturels de 1 à 6. Ensuite, à l’aide d’une boucle, affichez le résultat du produit de chaque élément de la liste par son rang dans cette même liste. Enfin, affichez la somme de ces produits. Autrement dit, votre programme doit afficher les nombres suivant : 0, 2, 6, 12, 20, 30, 70. 2 EXERCICE 5 – Programmation : interpréter un programme (5 pts) Soit le programme ci-après mettant en œuvre une version simpliste du jeu de démineur. (a) Insérez des commentaires à propos du programme au niveau des symboles # (vous pouvez vous inspirer du programme commenté à l’exercice 3). compteur = 0 joueur = 1 perdant = 0 # # # plateau = [ [’O’,’O’,’O’] , [’O’,’O’,’X’] , [’X’,’O’,’O’] ] # # # while compteur < 9 and perdant == 0 : # # # ligne = input("ligne ?") colonne = input("colonne ?") # # # ligne = int(ligne) colonne = int(colonne) # # # if ligne >= 0 and ligne < 3 and colone >= 0 and colonne < 3 : if plateau[ligne][colonne] == ’O’ : print("La case (",ligne,colonne,") n’est pas minée !") plateau[ligne][colonne] = ’D’ else : print("La case (",ligne,colonne,") est minée ou a déjà été découverte !") perdant = joueur else : print("Coordonnées (",ligne,colonne,") invalides") perdant = joueur compteur = compteur + 1 # # # if joueur == 1 : joueur = 2 else : joueur = 1 # # # print("Le joueur",perdant,"a perdu !") i = 0 while i < 3 : print(plateau[i][0],plateau[i][1],plateau[i][2]) i = i + 1 3 (b) Décrivez ce qu’afficherait le programme si les utilisateurs entraient successivement les valeurs suivantes : 0,0,2,0 (c) Décrivez ce qu’afficherait le programme si les utilisateurs entraient successivement les valeurs suivantes : 1,1,2,4 4