Nom :
PTSI DEVOIR N°1 29 septembre 2016
Tous les résultats doivent être justifiés.
Pour les programmes en Python, l’indentation doit clairement apparaître.
Tout document interdit, y compris la calculatrice.
Le barème est donné à titre indicatif : il pourra être soumis à quelques fluctuations.
Exercice 1 : Changements de bases 3,5 points
1. Calculer de deux façons différentes l’écriture en base 10 du nombre 1010102.
2. Donner l’écriture en base 2 de 163 .
3. Donner l’écriture en base 16 de 10010110110010102.
4. Donner l’écriture de 5E16 en base 2, puis en base 10.
Exercice 2 : Codage des entiers relatifs 3,5 points
1. Quels entiers naturels peut-on représenter avec des mots de 8 bits? et quels entiers relatifs?
2. a. Donner de deux façons différentes la représentation binaire sur 8 bits de 22.
b. Effectuer en binaire la multiplication de 22 par 5.
c. De quel entier relatif obtient-on la représentation? (attention : on travaille toujours sur 8 bits.)
3. Soit xet x0deux entiers négatifs représentés en mémoire sur 8 bits respectivement par met m0. On suppose que x×x0
peut être représenté sur 8 bits (c’est à dire qu’il est dans l’intervalle donné à la question 1.). Montrer qu’en effectuant
le produit de mpar m0(toujours sur 8 bits), on obtient la représentation de x×x0.
Exercice 3 : Variables et affectations 2,5 points
On a tapé dans une console Python la suite d’instructions suivantes. Indiquer à côté de chaque ligne la valeur des va-
riables aet baprès l’exécution de la ligne.
a b
>>> a,b= 42,15
>>> a=2*b
>>> b+= 6
>>> a=a-10;b=a- 10
>>> a,b=a+ 10, a
Exercice 4 : Fonctions 7,5 points
1. Écrire une fonction angle_reflexion en Python qui prend en
argument l’angle d’incidence theta1 d’un rayon lumineux, et
qui renvoie l’angle de réflexion.
Formule : les angles d’incidence θ1et réflexion θ2sont liés par
la relation dite de Snell-Descartes :
θ2= −θ1
2. Écrire une fonction angle_refraction en Python qui prend
en argument les indices de réfractions n1 et n2 de deux milieux
et l’angle incident theta1 d’un rayon lumineux, et qui renvoie
l’angle réfracté.
Formule : les indices de réfraction n1et n2de chacun des mi-
lieux et les angles incident θ1et réfracté θ2sont liés par la rela-
tion dite de Snell-Descartes :
n1·sin(θ1)=n2·sin(θ2)
Remarque : on pourra considérer que Python connaît les fonctions sin et arcsin (équivalent du sin1de la calcula-
trice).
3. Écrire une fonction est_refracte en Python qui prend en argument les indices de réfractions n1 et n2 de deux
milieux et l’angle incident theta1 d’un rayon lumineux, et qui renvoie un booléen indiquant si le rayon est réfracté
ou pas.
Rappel : le rayon est réfracté si n1
n2·sin(θ1)É1). Sinon, il y a réflexion totale et le rayon réfracté n’existe pas.
4. Écrire un programme Python qui :
demande à l’utilisateur de rentrer les valeurs des indices de réfractions et de l’angle incident;
affiche la valeur de l’angle de réflexion;
affiche soit la valeur l’angle de réfraction, soit un message indiquant qu’il y a réflexion totale.
Exercice 5 : Fonctionnement d’un algorithme 3 points
On considère l’algorithme suivant :
Entrées : nN,aR
Sorties : r=???
r1
tant que n>0faire
si n est pair alors
nn/2
sinon
rr×a
n(n1)/2
aa2
Compléter le tableau suivant, en faisant fonctionner cet algorithme pour a=5 et n=13.
Remarques :
les lignes ne sont pas forcément toutes utiles;
on se dispensera de calculer explicitement les puissances de 5.
Étape a r n
Initialisation
Fin d’itération 1
Fin d’itération 2
Fin d’itération 3
Fin d’itération 4
Fin d’itération 5
Que semble calculer cet algorithme? (On ne demande pas de justification.)
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !