DS d’Informatique Scientifique Mesures Physiques S2
1h30, sans document hors l’Abrégé Dense Python 3.1, sans calculatrice ou autre système électronique
Faites d’abord tout ce qui est pour vous évident, et revenez ensuite sur les questions qui vous posent problème.
N°
Nom :___________________________ Prénom : ___________________________ Date : __________
Exercice n°1
Définition d’un algorithme
Exercice n°2
Cochez la case Oui ou Non pour indiquer si l’expression est vraie :
Python est un langage orienté objet Oui Non Python est un langage interprété dynamique Oui Non Python est un langage procédural Oui Non Python est un langage machine Oui Non Python est un langage typé Oui Non
Exercice n°3
Quelle est la fonction du module math permettant de calculer la racine carrée d’un nombre ?
Exercice n°4
Qu’est-ce qu’une “ instructions composé ”, où en trouve-t-on dans les programmes ?
Exercice n°5
Soit la définition des variables :
s = "Joe Student"
vals = [ "8", "9", 2, 0, 2, "0", 3 ]
niveaux = { 0:"na", -1:7.8, 4:11.7, 2:0.3, -3:-7.12 } A = ( -4, 11.3)
B = ( 9, 7.3) rectangle = (A,B)
Que valent les expressions suivantes :
Expression Valeur résultante
s[:4] * 2 niveaux[-1]
vals[4]
rectangle[1]
rectangle[0][1]
7.8 in niveaux max(niveaux) niveaux[2]
niveaux[-1]
Quel est le type du résultat des expressions suivantes :
Expression Type du résultat
s s[2:5]
s.lower() 9/8
vals[1]
vals[1:3]
vals.index("0") niveaux
34 == 12
Exercice n°6
Écrire en Python la fonction mathématique f: f(a,d) = d sin(3ad) Ne pas oublier les imports nécessaires.
Exercice n°7
for i in range(1,11,3) : print(i)
Qu’affichent les instructions ci-dessus ?
Exercice n°8
nom = input("Quel est votre nom:")
age = int(input("Quel est votre age (ans):"))
print ("Bonjour " + nom + ", agé de " + age + " ans")
Les instructions ci-dessus provoquent une erreur, pourquoi ? Comment la corriger ?
Exercice n°9
chrome = float(input("Densité du chrome:")) or = float(input("Densité de l'or:")) if chrome > or :
print("Le chrome est plus lourd que l'or.")
Les instructions ci-dessus provoquent systématiquement une erreur de syntaxe, pourquoi ?
Exercice n°10
Écrire les instructions de boucles permettant d’afficher la liste des noms des cases d’un jeu de bataille navale (“touche/coulé”) de 12x12, c’est à dire les combinaisons entre une lettre de A à L et un nombre de 1 à 12. L’affichage se fera simplement par des lignes comme ci-dessous:
A1A2 A3 ...
L9
L10 L11 L12
Réponse :
Exercice n°11
Soit une variable globale couleur_feu, contenant une chaîne qui indique la couleur d’un feu tricolore.
Écrire une fonction passage_au_vert(), sans paramètre et sans valeur de retour, qui affiche la couleur actuelle du feu, indique le changement d’état, puis stocke la chaine "VERT" dans la variable sus-citée pour mémoriser cet état.
Exercice n°12
Soit une liste :
prenoms = [ "jean", "yacine", "andrew", "jerome", "li" ]
Écrire une boucle qui remplace, directement dans la liste prenoms, chaque prénom par sa version avec une majuscule au début (noter la méthode title() des chaînes). Après l’exécution de la boucle, la liste prenoms devrait donc contenir :
prenoms → [ "Jean", "Yacine", "Andrew", "Jerome", "Li" ]
Réponse :
Exercice n°13
Soit un dictionnaire qui contient une correspondance entre certains numéros de départements et le nom correspondant :
depart = { 91:"Essonne", 75:"Paris, 18:"Cher", 46:"Lot", 89:"Yonne" }
Écrire une boucle permettant d’afficher les noms des départements triés par ordre alphabétique.
Réponse :
Exercice n°14
Écrire une fonction droite() prenant quatre paramètres x1, y1, x2 et y2, et retournant un tuple contenant deux valeurs : la pente et l’ordonnée à l’origine de la droite passant par les points (x1,y2) et (x2,y2). La fonction retournera un tuple vide si les abscisses sont confondues.
Exercice n°15
Écrire les instructions Python permettant de lire un fichier texte "index.html", utilisant des
caractères encodés en iso-8859-1, et d’en afficher uniquement les lignes qui contiennent le caractère
"@" afin de rechercher les adresses email.
Exercice n°16
i = 1
while i>=1 or i<=100 : print(i,i**2) i = i+1
Les instructions ci-dessus entraînent une boucle sans fin, pourquoi ?
Exercice n°17
Dans l'appel de la fonction standard open() qui permet d'ouvrir un fichier, à quoi sert le paramètre
mode ?
Exercice n°18
Dans les méthodes d’une classe, à quoi correspond le premier paramètre self ?
Exercice n°19
Soit une classe Poly2, utilisée pour stocker les coefficients d’un polynôme du second degré et fournissant les méthodes pour le manipuler.
Quelle méthode de Poly2 est appelée lorsque l’on affiche par print() un objet de la classe Poly2 ?
Exercice n°20
Le message d’erreur suivant s’affiche:
Traceback (most recent call last):
File "<string>", line 1, in <fragment>
builtins.KeyError: 8
Quel genre d’erreur dois-je rechercher dans mon programme ?
Exercice n°21
Quel est l’effet de l’instruction:
if __name__ == "__main__" :
que l’on trouve souvent à la fin des modules ?
Quel est son usage ?