retour sommaire des sujets logo ULP Examen d'informatique industrielle

Première Session 2004
DEUST Process Industriel Electro-Mécanique 2ème année
Partie Programmation (P. Trau)

Durée totale de l'épreuve : 2h. L'examen comporte deux parties (cette partie Programmation et la partie réseau de Mr Rohrbacher), d'égale importance. Vous êtes maîtres de votre organisation du temps, mais veuillez composer les deux sujets sur des copies différentes. Documents personnels et calculatrice autorisés.

Questions de cours

Question 1

Traduisez les nombres entiers décimaux A=105 B=43, C=-B en binaire sur 8 bits. Posez la multiplication A*B=D (en binaire sur 16 bits). Posez l'addition A+C=E (en binaire). Transformez D en hexadécimal. Vous n'oublierez pas de noter toutes les retenues, dans vos calculs.

Question 2

En C, une fonction ayant pour entête « void nomdelafonction(void) » est souvent appelée « sous-programme » ou « procédure ». Pourquoi ?

Problème (ligne d'emballage)

Question 3

La marqueuse à jet d'encre Markem est reliée par liaison RS232. Est-ce une liaison parallèle ou série ? Quels sont les paramètres importants d'une telle liaison ?

Question 4

La marqueuse sait imprimer des caractères en ASCII 7 bits. Supposons que le port série du PC de supervision soit à l'adresse 0x3F8, que tous les paramètres de la liaison ont déjà été fixés. Ecrivez une fonction en C qui reçoive en argument un entier, puis s'il tient sur 7 bits l'envoie tel quel sur le port série sans rien dire, mais s'il en utilise plus, prévient (sur l'écran) qu'il y a un dépassement de capacité, mais envoie néanmoins les 7 derniers bits sur le port.

Question 5

Quels sont les caractères que nous ne pourrons pas marquer, d'après les informations données jusqu'ici ? Que verra-t-on réellement si l'on demande de marquer le mot « râpés » en minuscules (vous pouvez supposer ce que vous voulez sur le système d'exploitation du PC, à condition de préciser toute supposition).

Question 6

La marqueuse peut également imprimer des caractères semi-graphiques. Ce sont des petits dessins de la taille d'un caractère (on peut en imprimer plusieurs l'un à côté de l'autre pour obtenir un dessin plus grand). On peut par exemple s'en servir pour marquer le logo de l'entreprise ou le sigle ovale du service vétérinaire. Chaque caractère semi-graphique est en ensemble de 16 lignes dont chacune contient 16 bits représentant 16 points allumés ou non : 0 (blanc) ou 1 (noir). Un caractère semi-graphique sera représenté par un tableau de 16 entiers (un par ligne). Donnez la déclaration en C d'un tel tableau. Puis écrivez le code en C qui, en supposant que le tableau contient déjà 16 valeurs, le transforme ansi :

a) il le met en « inverse vidéo » (tout ce qui était noir devient blanc et inversement)

b) le retourne verticalement (la première ligne est échangée avec la dernière, la seconde avec l'avant-dernière, etc...). Vous pouvez utiliser des sous-programmes, mais ce n'est pas obligatoire.


pour retourner au sommaire des sujets d'examen, cliquez ici.


retour sommaire des sujets Patrick TRAU, ULP - IPST mars 04