Vous êtes sur la page 1sur 4

MINISTERE DE L'ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE

Université Hassiba Benbouali de Chlef


Faculté des Scienc !es Exactes et Informatique
Nom :
1ière année licence SM
Année universitaire : 2021- 2022 Prénom :
Durée : 1h30 Groupe :
Date : 31/05/2022

Solution d’examen Final S2 : Informatique II (langage de programmation)


Exercice 01 : QCM (05 pts)
choisir la bonne réponse ( 0.5 : réponse juste , -0.5 : réponse fausse ) (05 pts)
A. Citer la / les déclarations fausses

 Real = A,B ; x
 Real :: !A,B ; x
 Character :: len(10) L
 Character (*10) :: L
 Character dimension (10) :: L

B. Soit les déclarations des tableaux suivants :


REAL, DIMENSION (1 :7, 2 :9) :: P
REAl DIMENSION (4) :: K
REAL, DIMENSION (3 , 3) :: A

 Quelle est la bonne réponse


 K( : ) = P ( 1:7:2 , 2 ) x
 K( : ) = P( / (I , I=2,8,3 )/)
 K( : ) = (/ 6, 5, 10, 3 /) x
 A( : , : ) = P( : : 3 , : : 3 ) x
 A( : , : ) = P(1:3 , 2:6:1 )

C. Quelle est la valeur de S et la valeur de I , si S=I = 0 et N=10

DO While (I.LE.N) Then


S=S+I
I=I+2
ENDDO
 S= 20 et I= 8
 S= 20 et I = 10
 S=30 et I = 12 x
 S= 30 et I = 10

D. Choisir Oui ou Non


real , dimension ( -3:7 ,2:5) :: X
real , dimension (0:10 , -3:0) :: Y
real , dimension (2 ,2 , 1:11) :: Z
 Les tableaux X et Y sont de rang 3 Oui Non
 Le profil de X et Y est = (/ 10, 3 /) Oui Non
 La taille de z est 24 Oui Non
 X , Y et Z sont conformants Oui Non

1
Exercice 02 : voici un programme Fortran (03 pts)
program multiplication

implicit none
integer :: M
write(*,*) "programme de multiplication : "
M = prod(5,3)
write(*,*) "le résultats est = ", M
stop
contains
function prod(A,B)
implicit none
integer :: prod
integer, intent(in) :: A,B
integer :: i, Mul
Mul = 1
do i = 1, A
Mul = Mul *B
end do
prod = Mul
return
end function prod

end program ppal

1. Qu’affiche ce programme ? (02 pts)


programme de multiplication
le résultats est = 243
2. Donner la valeur de M dans les deux cas suivants : (01 pt)
2.1 A = 3 et B = 5 ……….M= ……125……..
2.2 A = 4 et B = 4 ……… M= ………256………..

Exercice 03 : Ecrire l’algorithme suivant en fortran.(06 pts)

Algorithme produit_matrice
Var A[n ,n ] , B[n,n] , C[ n , n] : entier ;
I,j,k , : entier ;
Begin
write(‘’ ce programme calcule le produit de deux matrice’’) ;
write (‘’ entrer la valeur de n,’’) ;
read (n) ;
write (‘’ remplissage des matrices A puis B ‘’) ;
reallouer A [n];
reallouer B [n];
reallouer C [n];
for (i= 1,n) do
for (j=1,n) do
read (A[i,j]) ;
read (B[i,j]);
End
End
2
For ( i = 1 à n ) do
For ( j = 1 à n )do
C[i,j]= 0 ;
For ( K = 1 à n ) do
C[i,j]= C[i,j]+ A[k,j]*B [k,j]
end
Write ( C[i,j)) ;
end
end
End .

Solution :

Program produit_matrice la structure de programme 01


Implicit none implicit none 0.5
Integer : : i , j , k,n
integer , dimension (: , : ) allocatable : : A,B,C déclaration des variable 0.5
déclaration des tableaux 0.5
l’attribut alloactable 0.5

write(*,*) ‘’ ce programme calcule le produit de deux matrice’’


write(*,*) ‘’ entrer la valeur de n,’’
read (*,*) n la structure de read et write 0.5+0.5
write(*,*) ‘’ remplissage des matrices A puis B ‘’
allocate A(n,n) mot clé alloacate 0.5
allocate B (n,n)
allocate C(n,n)

for (i= 1:n) do structure de boucle 0.5


for (j=1:n) do
read(*,*) A(i,j) ;
read(*,*) B(i,j) ;
End
End

for (i= 1:n) do


for (j=1:n) do
C(i,j) = 0 ;
For ( K = 1 :n ) do
C(i,j) = C(i,j)+ A(i,k)*B(k,j); syntaxe des tableaux 0.5
Fin Pour
Write (* ;*) C(i,j) ; la copie des informations 0.5
End
End
End .

Exercice 04 : (06 pts)


Ecrire un programme Fortran qui calcule la somme des entiers de 5 à 15 , En utilisant une
fonction somme qui calcule la somme des entiers de A à B ,

3
Solution :
Program somme
syntaxe de programme (program ,déclaration ,instruction,end 01pt
implicit none implicit none 0.5
integer :: s déclaration 0.5
write(*,*) "somme des entiers de 5 à 15"
s = somme(5,15) appel de la fonction 0.5
write(*,*) "somme = ", s syntaxe write 0.5
stop
contains contains 0.5
function somme(A,B) syntaxe de la fonction 0.5
implicit none
integer :: somme declaration 0.5
integer, intent(in) :: A,B argument d’entrée 0.5
integer :: i, sm
sm = 0
do i = A: B
sm = sm + i solution de problème 01
end do
somme = sm
return
end function somme

end program ppal

Vous aimerez peut-être aussi