Université Louis Pasteur

MAGISTERE DE CHIMIE-BIOLOGIE

Deuxième année

Examen d’informatique 27 mai 1992

Durée deux heures

1. (a) Que fait le programme MYSTERE?

(b) Que contient D2? Pourquoi ne pas l’appeler D?

(c) Pourquoi utilise-t-on une boucle do while (.true.)?

(d) A quoi sert chacune des variables i, j, k, n et nf?

(e) Remplacer l’instruction stop du if par l’impression d’un message significatif suivi de stop.

2. On dispose d’un programme traitefichier qui fait les choses suivantes: il lit dans un fichier (unité logique 1) un nombre n puis lit n lignes contenant chacune une note et un nom d’étudiant. Il calcule la moyenne générale mais exécute aussi d’autres instructions dont nous ne tiendrons pas compte ici (ligne notées “!”). On voudrait faire tourner ce programme sur les données d’un fichier nomprenote.dat dont chaque ligne contient nom, prénom, note (le nom et le prénom étant codés sur 20 caractères, la note en format f5.2).

(a) Ecrire un programme convertion.for qui crée un fichier notenom.dat à partir du fichier nomprenote.dat. Attention dans nomprenote.dat ne figure pas le nombre d’étudiants …

(b) Si le programme traitefichier est lancé par la commande

                $RUN [ripp.prog]TRAITEFICHIERPRINC.EXE

écrire la suite des commandes nécessaires pour la création de l’exécutable convertion.exe et le lancement des programmes (édition du programme, compilation, …, lancement des programmes, effacement des fichiers qui ne servent plus, etc.)

(c) On dispose du fichier [ripp.prog]traitefichier.obj. Ecrire un programme montraitefichierprinc.for faisant appel au sous-programme traitefichier qui évite ainsi le lancement des 2 programmes (convertion.exe

et traitefichierprinc.exe).

3. (a) Que signifient les termes bit, octet, byte?

(b) A quoi sert la mémoire centrale d’un ordinateur? Où trouve-t-on des fichiers?

(c) Que fait un serveur de terminaux (suau par exemple)?

(d) Décrivez plus ou moins précisement, en fonction de vos connaissances, ce qui se passe lorsqu’on tape la commande dir ci-dessous. Par quels cicuits passent les informations.

suau> connect muscat

USERNAME: dupont

PASSWORD: essapedtom

MUSCAT $ set host MITVAX

USERNAME: smitt

PASSWORD: drowssap

MITVAX $ set def [smitt.prog]

MITVAX $ dir

(e) Combien faut-il connecter de disquettes “Mac” pour stocker la banque de données de séquences de protéines (≈ 30 000 séquences), combien de disques durs? Donner un ordre de grandeur du temps nécessaire à la recherche d’un bout de séquence dans cette banque de données (1 milliseconde, …, 1 année). Expliquer pourquoi.

program MYSTERE
implicit none
character*70 nf
real tx(10000),ty(10000),tz(10000)
integer i,j,k,n
real D2
D2=1.3**2
write(6,*)'nom du fichier'
read (5,'(a)')nf
open(1,name=nf,type='old',readonly)
k=0
do while (.true.)
k=k+1
read (1,*,end=9) tx(k),ty(k),tz(k)
end do
9 continue
n=k-1
do i=1,n
do j=i+1,n
if (  (tx(i)-tx(j))**2
1 +(ty(i)-ty(j))**2
1 +(tz(i)-tz(j))**2 .gt. D2 ) stop
end do

end do
write(6,*)'ok ok ok'
stop
end

subroutine traitefichier ! les lignes not\'ees "!"
!  symbolisent le reste du programme
implicit none
integer n
character*20 nom
real note,s,m

read (1,*)n
!
!
do i=1,n
!
!
read (1,'(f10.5,x,a20)') note,nom
s=s+note
!
!
end do
m=s/n
write(6,*)'moyenne g\'en\'erale: ',m
!
!

6

return end