Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Python exam 2020-2021, Exams of Computer science

Python exam covering the basics of manipulation of lists and sets and dicts. It's from prepatory school and it will help you to revise

Typology: Exams

2019/2020

Uploaded on 11/03/2023

oussama-harrabi
oussama-harrabi đŸ‡č🇳

1 document

1 / 2

Toggle sidebar

Related documents


Partial preview of the text

Download Python exam 2020-2021 and more Exams Computer science in PDF only on Docsity! AnnĂ©e universitaire 2017-2018 Devoir surveillĂ© NumĂ©ro 1 MatiĂšre Nombre de pages nombre d’heures Classes Informatique 2 1 h 2iĂšme Cycle prĂ©paratoire NB : Si un candidat est amenĂ© Ă  repĂ©rer ce qui peut lui sembler ĂȘtre une erreur d’énoncĂ©, il le signalera sur sa copie et devra poursuivre sa composition en expliquant les raisons des initiatives qu’il a Ă©tĂ© amenĂ© Ă  prendre. Les parties 1 et 2 sont totalement indĂ©pendantes. Partie 1- Programmation OrientĂ©e Objet (10 points) L’objectif de cette partie est d’implĂ©menter en Python, une classe Point3D permettant de reprĂ©senter un point Ă  3 dimen- sions en coordonnĂ©es cartĂ©siennes : chaque instance de cette classe contiendra 3 attributs de type float x, y et z. La classe doit offrir une interface permettant de l’instancier et d’appliquer des opĂ©rations simples sur ses instances. Donner l’implĂ©mentation Python de cette classe en respectant les consignes suivantes : (1.1)2 points Le constructeur reçoit 3 arguments tous optionnels : 3 floats xm, ym et zm reprĂ©sentant les coordonnĂ©es du point dans un systĂšme de coordonnĂ©es cartĂ©sien et prenant par dĂ©faut des valeurs nulles. (1.2)1 point La mĂ©thode magique __repr__ permettant de retourner un str contenant une reprĂ©sentation for- melle de self (voir dĂ©monstration ci-dessous). (1.3)2 points La mĂ©thode magique __abs__ permettant de calculer la norme euclidienne de self. La norme euclidienne d’un point de coordonnĂ©es cartĂ©siennes M = (xM , yM , zM ) est un float donnĂ© par : ‖M‖2 = √ x2 M + y2M + z2M (1.4)2 points La mĂ©thode magique __sub__ qui prend deux paramĂštres (self et other : other supposĂ©e instance de Point3D) et qui retourne un Point3D contenant la diffĂ©rence terme Ă  terme de self et other. La diffĂ©rence entre deux points 3D M = (xM , yM , zM ) et N = (xN , yN , zN ) est donnĂ©e par : M −N = (xM − xN , yM − yN , zM − zN ) (1.5)11/2 points Une mĂ©thode dist2 qui prend deux paramĂštres (self et other : other supposĂ© de type Point3D) et qui retourne un rĂ©el positif contenant la distance euclidienne entre self et other, donnĂ©e par : ‖self− other‖2 (1.6)11/2 points Rappelons que la fonction native sorted permet de construire une liste triĂ©e Ă  partir d’un itĂ©rable : >>> sorted([1,-17, 18, -30, 4]) [-30, -17, 1, 4, 18] Le paramĂštre optionnel key permet de spĂ©cifier une fonction indiquant le critĂšre de tri : >>> sorted([1+3j, 3-5j, 9+10j], key=lambda z: z.imag) # CritĂšre du tri = partie imaginaire [(3-5j), (1+3j), (9+10j)] Écrire une mĂ©thode plus_proches_voisins qui prend 3 paramĂštres (supposĂ©s valides) : — self : le point courant. — pts : un itĂ©rable contenant des instances de la classe Point3D. — n : un int strictement positif. La mĂ©thode doit retourner les n points de l’itĂ©rable pts les plus proches de self (en considĂ©rant la distance euclidienne comme mesure de proximitĂ©).
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved