TP noté de l`an dernier

Transcription

TP noté de l`an dernier
TS - ISN - TP noté du 12 novembre 2014
Prénom/Nom :
Échauffement - 5 points - 15 minutes maximum
1. (a) Codez les entiers 42, 64, 101 sur un octet.
→ 42
→ 64
→ 101
(b) Codez alors leurs opposés −42, −64, −101 sur un octet en utilisant le codage en complément à 2.
Une ligne intermédiaire vous est proposée pour l’étape intermédiaire (complément à un).
→ −42
→ −64
→ −101
2. Représentation des réels
(a) Codez en base 2 à virgule fixe les réels −6,375 et 15,4.
10
−6,375
=
15,4
10
=
(b) En virgule flottante normalisée (simple précision), codez les réels −6,375 et 15,4 dans les 32 bits cidessous.
→ −6,375
→ 15,4
Rappel :
En simple précision, les nombres à virgule flottante sont représentés sur 4 octets :
• D’abord 1 bit pour le signe,
• puis 8 bits pour l’exposant, auquel on a rajouté 127,
• enfin le reste (soit 23 bits) pour la mantisse.
Enfin, rappelons que le premier « 1 » de l’« écriture scientifique binaire », celui avant la virgule, n’est
jamais écrit dans la mantisse, car c’est toujours un « 1 » avant la virgule.
Passons à Javascool ! Une histoire de triangles... 2 + 2 + 1 + 2 + 3 + 6 + 3 + 4 points
1. Réaliser un programme qui demande un entier n
strictement positif (saisie blindée), l’affiche, saute
une ligne et affiche un triangle isocèle rectangle
constitué d’astériques en console.
Pour faire simple, par exemple, si 3 est saisi, le
programme affiche :
Vous avez saisi 3
*
**
***
2. Modifier le programme pour que le triangle soit
comme ci-dessous, avec saisie blindée : 1 6 n 6 9.
Vous avez saisi 3
1
22
333
3. Modifier le programme pour que le triangle soit
comme ci-dessous, avec saisie blindée : 1 6 n 6 9.
Vous avez saisi 4
1
12
123
1234
4. Modifier le programme pour que le triangle soit
comme ci-dessous, avec saisie blindée : n > 1.
Vous avez saisi 12
1
12
123
1234
12345
123456
1234567
12345678
123456789
1234567890
12345678901
123456789012
5. (**) Modifier le programme pour que le triangle
soit comme ci-dessous, saisie blindée : 1 6 n 6 9.
Vous avez saisi 7
1
11
121
1221
12321
123321
1234321
6. (***) Réaliser un « menu » qui demande un entier choix, avec saisie blindée : 0 6 choix 6 5.
Si 1 6 choix 6 5, il lance le programme correspondant dans les cinq premiers programmes, puis
repropose le menu.
Si l’utilisateur saisit 0, on quitte le programme.
7. (**) Réaliser un programme qui demande une
chaîne de caractères, l’affiche, saute une ligne et
affiche un triangle constitué des lettres en console.
Pour faire simple, par exemple, si I love
ISN :-) est saisi, le programme affiche :
Vous avez saisi I love ISN :-)
I
I
I
I
I
I
I
I
I
I
I
I
I
I
l
lo
lov
love
love
love
love
love
love
love
love
love
I
IS
ISN
ISN
ISN :
ISN :ISN :-)
Rappel : variables de type String :
• mot.length() donne la longueur du mot. Avec
mot = "TP noté", mot.length() donne 7.
• mot.charAt(i) donne la i-ème lettre, i allant de 0 à 6 si le mot fait 7 lettres.
8. (**) Réaliser un programme qui trace un triangle
isocèle rectangle constitué de chiffres aléatoires,
à 42 lignes maximum, mais qui « s’arrête » si la
somme des chiffres d’une ligne fait 42.
Exemple :
5
72
454
6579
85472
939382
8582553
88751240
101384736
6876801428
52756882514
356324930511 -> 42 ;-)

Documents pareils