Vous êtes sur la page 1sur 3

1

UNIVERSITE DE LOME ANNEE UNIVERSITAIRE


FACULTE DES SCIENCES 2020-2021
INF203: Algorithmes et Programmation FORTRAN
Applications directes du cours
Série N°3 Tableaux, fichiers, format

Exercice 1

Quelles valeurs seront imprimées à la suite de la séquence suivante ?


write ( ∗ , 3 0 0 0 ) A, B, C, D
write ( ∗ , 4 0 0 0 ) I , J
write ( ∗ , 5 0 0 0 ) X, Y, Z , W, V
3000 Format ( 3 f 1 0 . 4 , f 1 2 . 6 )
4000 Format ( 2 i 4 )
5000 Format ( 3 e13 . 5 )
Si on a les initialisations suivantes:

A = 4342, 3 B = 52 C = 0, 432 D = −3, 3 10−3


I = 83 J = −542
X = 542 10−7 Y = 32, 5 102 Z = −0, 5 W = 12 V = 10−3
Exercice 2

Quel est le résultat du programme suivant ?


Program T
I = 2
J = 3
K = 4
write ( ∗ , 1 0 0 0 ) I , J , K
1000 Format ( 5X, ’ I= ’ , i 1 0 , 10X, ’ J= ’ , i 1 0 , 20X, ’K= ’ , i 1 0 )
write ( ∗ , 1 0 0 0 ) I , J
End T
Exercice 3

Dire comment se présenteront les résultats dans le cas suivant:


read ( ∗ , ∗ ) A, B, I , C, D
write ( ∗ , 1 0 0 0 ) A, B, I , C, D
1000 Format ( 2 e10 . 3 , i 1 0 , 2 f 5 . 0 )
Données: 1.E -3; 5.E -4; 12; -4.25; 2538

Exercice 4

On désire faire des calculs avec les données suivantes:


 = 8, 854 ∗ 1010 C 2 J −1 m−1 ; e− = −1, 6 10−19 C; F = 96484.56C.mole−1 .
2

Quels seront les nombres imprimés à la suite de la séquence suivante ?


read ( ∗ , ∗ )FARAD, EPSIL , CHARGE
write ( ∗ , 2 0 0 0 ) FARAD, EPSIL , CHARGE
2000 Format( 3 E9 . 5 )
Avec les données suivantes: 9.648456 E4; 8.854 E-12; -1.6 E-19
Corriger au besoin les erreurs.

Exercice 5

Étant données les déclarations suivantes :


real, dimension(5,6) :: A, B
real, dimension(5) :: C
indiquer les instructions qui sont correctes parmi les suivantes :
A = B ; C = A(:,2) + B(5, 1:5)
A = C + 1.0 ; C = A(2,:) + B(:, 5)
A(:,3) = C ; B(2:6,3) = C + B(1:5, 3)
Exercice 6

Quels sont le rang, le profil et la taille des tableaux déclarés ainsi :


integer, dimension (2:10, 3:5) :: te
integer, dimension (4, 1:2, -3:10) :: tr
Exercice 7

Quelle critique pouvez-vous apporter à ce programme :


integer, parameter :: n1 = 10, n2 = 20
real, dimension (n1, n2) :: A
real, dimension(n1, 2*n1) :: B
real, dimension (10, 20) :: C

.....

C = A + B

Exercice 8

Avec ces déclarations :


integer, parameter :: ne1 = 10
real, dimension(ne1) :: A
real, dimension (0 ; ne1-1) :: B
real, dimension (1 ; ne1-1) :: C1, C2
3

Parmi ces instructions, quelles sont celles qui sont incorrectes :


A = B ! I
A = B + C1 ! II
A = 2*B + 5 ! III
A(2:ne1) = C1 ! IV
A(1:ne1-1) = C1 ! V
B(::2) = C1(::2) ! VI
Exercice 09

Ecrire les instructions permettant d’afficher les valeurs de deux matrices A de dimen-
sion 5 × 3 et B de dimension 5 × 2 sous la forme suivante :
A B
ligne 1 A(1, 1) A(1, 2) A(1, 3) B(1, 1) B(1, 2)
ligne 2 A(2, 1) A(2, 2) A(2, 3) B(2, 1) B(2, 2)
ligne 3 A(3, 1) A(3, 2) A(3, 3) B(3, 1) B(3, 2)
ligne 4 A(4, 1) A(4, 2) A(4, 3) B(4, 1) B(4, 2)
ligne 5 A(5, 1) A(5, 2) A(5, 3) B(5, 1) B(5, 2)
Exercice 10

Quels résultats fournira ce programme :


program es2
implicit none
integer :: n =123, p = 4567
real :: x = 12.365, y = 3.256e5

write(*, "(1X, i4, i5)") n, p


write(*, "(1X, i3, i4)") n, p
write(*, "(1X, i3, 2X, i2)") n, p
write(*, "(1X, 2f10.3)") x,y
write(*, "(1X, i2, f6.2, 2X, i4, f7.0)") n, x, p, y
write(*, "(1X,’valeur de n :’/3X, i4 //1X, ’valeur de p :’/ 3X, i4)") n, p
write(*,"(t8, i3, t2,i4,t6, ’:’)") n, p
write(*,"(1X, ’n =’,f8.3, t7, i3)") x, n
end program es2

Vous aimerez peut-être aussi