Vous êtes sur la page 1sur 2

Université Mohammed Premier Nom : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Faculté des sciences Oujda


S1 Master OM Signature : . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
Examen d’informatique (1h30) (Mars 2023)

Partie I : 10 points

1. Pour affecter la valeur 0.8 à une variable X de type double 6. Peut-on changer la taille d'un tableau en cours d'exécution
precision, quelle est l’instruction à utilisée: du programme ?
o X=0.80 o Oui, en affectant une nouvelle valeur à la variable
o X= .8d0 définissant la taille du tableau.
o X=0.8.d0; o Non, c'est impossible.
o Toutes les propositions sont correctes o Oui, en redéfinissant la valeur de la constante indiquant
la taille du tableau.
2. Le code suivant affiche :
integer x,c,z 7. Quelle est la bonne appelation de la soubroutine
double precision y subroutine calcul(a,b,c)
x = 10 real a,b,c
y = 5.5d0 ….
z=x+y End subroutine
write(*,*) z o Call calcul(2,3,5)
o 15 o Call calcul(x,y,z)
o 15.5 o Calcul (a,b,c)
o 15.500000
8. Soit la soubroutine suivante :
3. Quelle est la valeur affichée subroutine (a,b,c)
integer x Real a,b,c
double precision y Common /data/ a,b,c
logical z A=b
x = 10; C=A*B
y = 10.d0; End
z = (x.EQ.y) Les variables de la soubroutine sont
if(z)then o Global
write(*,*) ‘Oui’ o Local
else o Aucun des deux cas
write(*,*) ‘Non’
endif 9. Soit le code suivant :
o Oui Function ExF (a,b) Program Test
o Non Integer a,b
o Aucune des deux ExF = b Write(*,*) EXF (2,3)
ème
a=a**b
4. Pour accéder à la 3 case d’un tableau CARTE en Fortran, return a End
on utilise : end function
o Carte [3] ;
Quel serait l’affichage sur l’écran :
o Carte {2} ;
o La valeur de 2
o Carte (3) ;
o La valeur de 3
o Carte (2) ;
o La valeur 6
o Rien
5. L’instruction : Double precision VAR(2,2)
o Déclare un réel de type double precision en lui
10. Une fonction renvoie :
affectant la valeur 2,2
o une valaur,
o Déclare un tableau en lui affectant les valeurs 2,2
o deux valeurs,
o Déclare un tableau vide de dimension 2×2
o Une infinité de valeurs
o Aucun des fonctionalités précédentes.
Partie II (Lecture d’un code fortran) : 5 Pts
Soit le code suivant :

1- Expliquez brièvement le fonctionnement du code ci-dessus, en décrivant séparément les parties 1 et 2.


2- Lors de l’execusion, l’erreur suivant s’affiche, quelles sont les causes possibles de cette erreur.
NB : Généralement, il existe trois causes, citer au moins deux.
List in : end of file
Apparent state : unit 1 named data.txt
Last format: list io
Lately reading direct formatted external IO

Partie III (Ecriture d’un code Fortran) : 5 Pts


L’objectif de ce travail et d’écrire un programme composé d’une partie principale et une soubroutine. Dans une premier temps
écrire la soubrtouine ensuite le programme principe comme indiqué ci-dessous
1- Ecrire une soubroutine « Fact » qui prend en argument un entier N, calcul N ! (le factortiel de N) et renvoi le résultat.
2- Ecrire un programme Principal qui demande à l’utilisateur un entier et qui calul son factoriel. Utiliser pour le calcul la
soubroutine « Fact »

Vous aimerez peut-être aussi