<== PLAN | P.précédente P.suivante Corrigé en bas |
N.F.I. 2 ième année | Langage C | octobre 1999 |
Contrôle d'octobre 1999
Durée : 1h30
Eléments d'appréciation: présentation, sens des noms utilisés, intérêt des
commentaires: 2 points
Barème approximatif: 6 - 4 - 8 points
Ce texte est un travail de simulation d'opérations logiques sur des groupes de 8 bits. Les deux caractères '0' et '1' sont appelés carBit. Une suite de 8 carBits est appelée un carOctet.
La disjonction entre deux carBits c et d est le carBit coud défini ci-contre: |
char c, d, coud; // évaluation de c, d ... puis if(c=='0' && d=='0') coud = '0'; else coud = '1'; |
La disjonction entre deux carOctets est le carOctet, défini ci-contre : |
c1c2c3c4c5c6c7c8 OU d1d2d3d4d5d6d7d8 = c1OUd1 c2OUd2 . . . c8OUd8 |
Ecrire un programme qui initialise deux
carOctets u et v, respectivement par des tableaux de 8 caractères,
puis évalue dans un troisième tableau le résultat de l'opération
'OU' entre ces carOctets. Il est imposé que l'initialisation de u et v soit faîte à la déclaration des tableaux. Un exemple d'affichage figure ci-contre. |
u = xxxxxxxx v = yyyyyyyy u ou v = ++++++++ |
Ecrire un sous-programme qui prend un entier entre 0 et 255 en paramètre et le convertit en carOctet. Indiquer les essais que vous prévoyez pour tester votre programmation.
Ecrire un seul sous-programme dont l'appel fournit, pour un tableau de carOctets, les indices dans ce tableau du plus petit et du plus grand carOctet (on utilisera les sous-programmes ci-dessus).
<== PLAN | P.précédente P.suivante Corrigé en haut |