0% ont trouvé ce document utile (0 vote)
240 vues5 pages

Revision Python

Révision Python - EPO

Transféré par

Maxime M.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
240 vues5 pages

Revision Python

Révision Python - EPO

Transféré par

Maxime M.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

EPO Examen en Informatique MPSI - PCSI

CPGE Année scolaire : 2020-2021

Algorithme et Programmation II
__________________________________________________________________________________
Documents et appareils (téléphones portables, tablettes, ordinateurs) : non autorisés

Calculettes non programmables : autorisées pour les calculs numériques

Durée : 3 heures

Exercice 1 : QCM (10 points)


Question 1 : Soit le code suivant :

str = "something"
cpt = 0
for car in str :
cpt += 1
print(cpt)

Quelle opération permet de faire la même chose que le code ci-dessus ?

a. len(str) b. print(len(str))
c. print([Link]) d. je ne sais pas

Question 2 : Considérons un dictionnaire (notée article) représentant les informations d’un


article scientifique et définit par :

{"titre" : "Will systems biology offer new holistic paradigms to life


sciences?",
"auteur" : ["Conti","Valerio","Zbilut","Giuliani"],
"date" : 2007,
"journal" : "Syst Synth Biol.",
"pageDebut": 161,
"pageFin" : 165,
"volume" : 1,
"numero" : 4}

Parmi les codes ci-dessous, lequel permet d’afficher l’auteur « Giuliani » ?

a. print(article["auteur"])

b. print(article["auteur"][0])

a. print(article["auteur"][-1])
EPO Examen en Informatique MPSI - PCSI
CPGE Année scolaire : 2020-2021

Algorithme et Programmation II
__________________________________________________________________________________
Question 3 : Considérons un dictionnaire « d » dont on souhaiterait vérifier si celle-ci
contient une valeur particulière. Lesquelles des fonctions ci-dessous permettent de réaliser
cette tâche :

a. def find(d, val) : b. def find(d, val) :


for key in d : return val in [Link]()
if d[key] == val :
return True
return False
c. def find(d, val) : d. def find(d, val) :
for key in d : return val in [Link]()
if key == val :
return True
return False

Question 4 : Que fait la fonction suivante :

def func(text) :
d = {}
norm = [Link]().split()
for word in norm :
d[word] += 1
return d

a. Elle ne fait rien de particulier b. Elle recherche des mots dans la


variable « text »
c. Elle recherche les occurrences des mots d. Elle retourne un dictionnaire dont la
contenus dans la variable « text » clé est un mot et la valeur, le nombre
d’apparition du mot dans le texte

Question 5 : On souhaiterait écrire un programme estimant la valeur de la constante


mathématiques « e » en utilisant la formule suivante :

Laquelle des fonctions répond au mieux au problème, en supposant l’existence d’une


fonction « factoriel » ?
EPO Examen en Informatique MPSI - PCSI
CPGE Année scolaire : 2020-2021

Algorithme et Programmation II
__________________________________________________________________________________

a. def do(n) : b. def do(d, val) :


somme = 0 somme = 0
for i in range(n) : for i in range(1, n) :
somme += 1/factoriel(i) somme += 1/factoriel(i)
return somme

Question 6 : Quel est la valeur affichée à l’exécution du programme Python suivant :

ports = {"http" : 80, "imap" : 142, "stmp" : 25}


ports["ftp"] = 21
print(ports["ftp"])

a. 21 b. Key not found


c. {"ftp" : 21} d. 3

Question 7 : Quelle expression Python permet d’accéder au numéro de téléphone de


Tournesol, sachant que le répertoire a été définie par l’affectation suivante :

repertoire = [{"nom" : "Dupont", "tel" : "5234"}, {"nom" :


"Tournesol", "tel" : "5248"}, {"nom" : "Dupond", "tel" : "3452"}]

a. repertoire[1]["tel"] b. repertoire["Tournesol"]
c. repertoire["tel"][1]

Question 8 : Soit la fonction suivante

Il s’agit :

a. d’une fonction récursive b. d’une fonction simple


c. d’une procédure
EPO Examen en Informatique MPSI - PCSI
CPGE Année scolaire : 2020-2021

Algorithme et Programmation II
__________________________________________________________________________________
La valeur retournée par la fonction f lorsque x = 4 est :
a. 3 b. 4
c. 5 d. 6

Question 9 : Soit un fichier nommé « [Link] » contenant des données relatives aux noms de
famille des étudiants. Chaque ligne correspond à un nom. Lesquelles parmi les codes
suivants permettent d’extraire tous les noms :

a. def charger() : b. def charger() :


fid = open("[Link]", "w") fid = open("[Link]", "r")
data = [Link]().split("\n") data = [Link]().split("\n")
return data [Link]()
return data
c. def charger() : d. def charger() :
with open("[Link]", "r")as fid with open("[Link]", "r") :
data = [Link]().split("\n") data = [Link]().split("\n")
return data return data

Exercice 2 : Traduction d’algorithme en Python (5 points)


On désire implémenter la méthode de Tri rapide. Son l’algorithme est le suivant :

Traduire le code en Python


EPO Examen en Informatique MPSI - PCSI
CPGE Année scolaire : 2020-2021

Algorithme et Programmation II
__________________________________________________________________________________
Exercice 3 : Python (5 points)

On souhaiterait gérer la moyenne générale des notes de chaque étudiant en 1ère année des
CPGE. Pour cela, on considère un dictionnaire « d » dont la clé correspond à l’identifiant
(chaine de caractère) de l’étudiant et la valeur, la moyenne générale.
Exemple : d = {‘01044’ : 15.5, ‘01045’ : 10, ‘01046’ : 18}

Ecrire les fonctions suivantes en Python (elles prennent en paramètre un dictionnaire « d ») :


• « moyenne(d) » : elle retourne la moyenne des valeurs du dictionnaire
• « MinMax(d) » : elle retourne la plus faible et la plus forte moyenne
• « moyenneGeo(d) » : elle retourne la moyenne géométrique des notes. La formule est
la suivante : : 𝑚𝑜𝑦𝐺 = 𝑛√∏𝑛𝑖=1 𝑥𝑖 , ou les xi correspondent aux moyennes générales de
chaque étudiant
• « admis(d, seuil) » : elle affiche les numéros étudiants de tous les étudiants ayant
une moyenne générale supérieure à la valeur de « seuil »
• « ecart_type(d) » : elle retourne l’écart-type des moyennes générales. La formule
1
est la suivante : 𝜎 = √𝑛 ∑𝑛−1
𝑖=0 (𝑥𝑖 − 𝑥̅ ) , ou 𝑥̅ correspond à la moyenne des valeurs du
2

dictionnaire

Vous aimerez peut-être aussi