Université Louis Pasteur

MAGISTÈRE DE CHIMIE-BIOLOGIE

Deuxième année

Examen d’informatique 21 juin 1993

Durée deux heures

1. Que fait le programme mystere?

• A quoi sert le variables npremiers?

• Que signifie 100 dans la déclaration de lespremiers?

• Que se passe-t-il si le fichier de notes est vide?

• Rajouter les instructions nécessaires pour que le programme ne s’arrête pas en erreur dans ce cas.

• Par quelle instruction appelle-t-on ce sous-programme?

2. Les ordinateurs lirac et gamay sont connectés sur le réseau Osiris sous protocole DECnet. L’utilisateur dupont connecté sur le vax lirac veut copier le fichier synthetase.seq du répertoire [tintin.bio] situé sur le disque gamay$dua0:. Il a accès à la machine gamay par le mot de passe “coucou”.

• Quelle suite de commandes DCL lui permet de copier ce fichier dans le

  répertoire [dupont.mol]?

• Comment peut-il obtenir la liste de tous les fichiers “*.seq” de tintin?

• Comment peut-il transférer ces fichiers de gamay vers lirac sans réseau.

• Combien de temps environ faut-il pour copier la base de données UWGCG (600 000 blocs de 512 octets),

– par réseau ethernet (10 megabits/seconde), – par liaison asynchrone (9600 bauds),

– par une ligne téléphonique?

• C’est Noël, on vous a offert un ordinateur Mac Intosh LC III 25 Mhz 4 megaoctets de mémoire centrale, 80 megaoctets de disque dur. A quoi sert cette mémoire, combien d’instructions par seconde, environ, peut exécuter cette machine. Où se trouvent les programmes que l’on peut exécuter en cliquant avec la souris? Comment se fait-il que le Mac Intosh exécute le bon programme quand on clique une icône?

3. Ecrire le sous-programme lecture atomes(Tnom,Tsym,Tcoo,n) qui doit:

• demander à l’utilisateur quel est le nom du fichier contenant les noms et symboles des atomes ainsi que leurs coordonnées.

• ouvrir ce fichier,

• lire, à raison d’un atome par ligne, les informations suivantes:

– le nom de l’atome (max 20 caractères, par ex. res145 O3’)

– son symbole chimique (2 caractères, par ex; C, Na, Fe, etc.)

– les 3 coordonnées tridimensionnelles (x,y,z)

et les ranger dans des tableaux. On ne connait pas, à priori, le nombre n d’atomes du fichier, on supposera qu’il n’y en a jamais plus de 1000.

• fermer le fichier.

Ecrire précisément toutes les déclarations et instructions.

4. Ecrire un sous-programme qui liste les noms des atomes de carbone situés à moins de 20 Å d’un point de coordonnée (X, Y, Z) donné par l’utilisateur. Le

sous-programme est appelé par call liste proches(Tnom,Tsym,Tcoo,n), les

tableaux étant déjà remplis.

subroutine mystere(fifi,lespremiers,npremiers,moy)
implicit none
character*80   fifi
character*20   lespremiers(100)
real           moy,s,note,notemax
integer        nnotes
open(1,name=fifi,type='old',readonly)
nnotes=0
notemax=-1
do while (.true.)
       read (1,'(a20,f5.2)',end=99999) nom,note
       nnotes=nnotes+1
       s=s+note
       if (note.eq.notemax) then
               npremiers=npremiers+1
               lespremiers(npremiers)=nom
       else if (note.gt.notemax) then
               notemax=note
               npremiers=1
               lespremiers(npremiers)=nom
       end if
end do
99999   continue
moy=s/nnotes
return
end