Vous êtes sur la page 1sur 5

Nom : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Université Mohammed Premier


Faculté des sciences Oujda
S1 Master OM Signature : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Examen d’informatique (1h30)


(Janvier 2020)

Partie I : QCM Fortran (réponse correcte +1, réponse fausse -0.5, aucune réponse : 0) : 10 points

1. On appelle une subroutine par : 7. Pour ouvrir un fichier quelle procédure peut-on utiliser:
o son interface, o open(10,test.data)
o son nom, o open(10,'test.data')
o son nom précédé par CALL o open(10, file= test.data )
2. ‘=’ c’est une instruction : o open(10,file='test.data')
o d’affectation, 8. Soit le code suivant :
o comparaison, Function ExF (a,b)
o ne fait rien Integer a,b
3. Pour accéder à la case située à la 2éme ligne et la 3éme ExF = b
colonne de la matrice T, quelle est la bonne syntaxe? a=a**b
o T [2,1] ; return b
o T [2] [1] ; end function
o T (1) (2) ; Que renvoie cette fonction :
o T (2, 1) ; o Le resultat de a**b
4. En Fortran si x=2.0, a=2.0 et b=4.0, quelle est la valeur de o La valeur de a
y=a*x+b**2/x o La valeur de b
o 8 o Rien
o 12 9. Si x est strictement suppérieur à 100.0 ou inférieur ou
o 16 égale à 0.0, imprimer 'out'. Quelle est l'instruction
o 64 correcte:
5. En fortran si x=4.5, y=3.0 et w=1.5, quelle est la valeur de a). IF (x .GT. 100.0) THEN c). IF (x .GT. 100.0) THEN
z=x+w/y+1 IF (x .LE. 0.0) THEN write(*,*) 'out'
o 1.5 write(*,*) 'out' ELSE IF (x .LE. 0.0) THEN
o 3.0 ENDIF write(*,*) 'out'
o 4.5 ENDIF ENDIF
o 6.0
6. Soit le code suivant b). IF (x .LE. 0.0) THEN d) Aucune des trois
Do i=1,10 IF (x .GT. 100.0) THEN propositions.
If( mod(i,3) .eq. 0 ) write(*,*) ‘oui write(*,*) 'out'
enddo’ ENDIF
ENDIF
Combine de fois s’affiche ‘oui’ :
o 1
10. Soit le code suivant
o 2
IF (x .LE. 200) THEN
o 3
IF (x .LT. 100) THEN
o Aucune fois
IF (x .LE. 0) THEN
Write (*,*) 'A'
ELSE
Write (*,*)'B'
ENDIF
ELSE
Write (*,*)'C'
ENDIF
ELSE
Write (*,*)'D'
ENDIF
Ce code correspond à quel cas :
a). 0 < x < 100
b). x <= 0
c). 100 <= x <= 200
d). x > 200
Partie II : QCM C (réponse correcte +1, réponse fausse -0.5, aucune réponse : 0) : 10 points
1- Qu’affiche l’instruction suivante :
7- Si le nombre d’itérations est connu, il est conseillé d’utiliser :
printf("j’aime le C %d fois", 30/20) ;
1) while …
1) j’aime le C 0 fois 3) for …
3) j’aime le C 1.5 fois 2) do … while
2) j’aime le C 1 fois
4) je n’aime pas le C
8- L’instruction « switch » sert à éviter des instructions :
2- Qu’affichent les instructions suivantes : 1) while … imbriquées
int x=9 ; 3) if … else … imbriquées
int y=x+10 ; 2) do … while imbriquées
printf("%d :%d :%d",x,y,y) ; 4) for … imbriquées

1) 9:19:
9- Soit un tableau int T[10] ; pour accéder à la troisième case
3) 9 :19 :%d
du tableau T, on utilise :
2) 9 :19 :19
1) T[3]
4) %d :%d :%d
3) T{2}
2) T[2]
3- Qu’affichent les instructions suivantes :
4) T(3)
char a ;
a=65 ;
printf("%d %c",a,a) ;
10- On considère l’entête (ou prototype) de fonction suivante :
1) AA
3) A 65
void fiche(float *x, float *y, int i, char z, char c)
2) 65 A
On considère les déclarations suivantes :
4) 65 65

4- Quelle est la valeur de S après exécution des instructions float a, c ;


suivantes : int j ;
char b, h ;
int i ;
int S=0 ; ; i<6 ;i=i+2)
for (i=1 Quels sont les appels de fonction corrects ?
1) fiche (a, c ; j ; b, h) ;
1) 6
2) fiche (a, b, c, j, h) ;
3) 8
3) fiche (a, c, 3, ‘b’, b) ;
2) 7
4) fiche (a ; j ; b ; h) ;
4) 9

5-Lesquelles de ces déclarations de fonctions sont correctes si


elles sont sensées calculer « x »
élevé à la puissance « n » entière ?
1) float puissance (float x, int n) ;
3) void puissance (float x, int n) ;
2) puissance (float x, int n) ;
4) puissance() ;

6- Dans une structure if …


1)Les parenthèses encadrant la condition logique sont
obligatoires
2)Le mot clé « else » est obligatoire
3)La condition, énoncée juste après if, est suivie d’un point
virgule.
Partie III (Ecriture d’un code Fortran) : 10 Pts

Ecrire un programme fortran (complet et optimiser) qui permet de lire la valeur de N, calculer et afficher
(sur la console) la valeur de A et B avec :

NB : (chaque erreur de code compte -1 pt)

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

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


Soit un fichier texte (file.txt) contient les valeurs suivantes :
File.txt 15
30
20
Ecrire un programme qui :
lira les trois valeurs,
effectue la production (prod = v1 × v2 × v3) la sommation (prod = v1 + v2 + v3),
et affiche les résultats sur l’écran.

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………………………………………………..

Vous aimerez peut-être aussi