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 ;-)