Académique Documents
Professionnel Documents
Culture Documents
Exercice 1: (ordre de priorité des calculs, les fonctions internes, ouverture des fichiers,
les différents types d’objets et les boucles)
2
1 x 1
y e x tg
x2 1 x 1
pour x=0.3835
1- Introduire la valeur de x dans le programme.
2- Lire la valeur de x sur l’écran.
3- Lire la valeur de x à partir d’un fichier et écrire le résultat y dans un autre fichier.
4- Ecrire le résultat obtenu avec 5 chiffres après la virgule
5- Refaire les calculs en double précision.
6- Exécuter le programme pour −6 ≤ 𝑥 ≤ 6 avec ∆𝑥 = 0.1
Calculer σ pour n# 5
Introduisez un test d’arrêt des calculs lorsque 𝜎 ≤ 1.99
UNIVERSITE HASSAN II DE جامعة الحسن الثاني بالدار
CASABLANCA Faculté des البيضاء
Sciences Aïn Chock
كلية العلوم عين الشق
Ecrire un programme qui permet de calculer le produit scalaire et le produit vectoriel des deux
vecteurs suivants :
⃗
⃗ = 2.75𝑖 − 0.125𝑗 + √2𝑘
𝑉
𝑤 ⃗
⃗⃗ = 0.15𝑖 − 1.3𝑗 + ln(3)𝑘
Ecrire un programme qui calcul la somme des deux matrices suivantes, la matrice transposée et la
trace de la matrice somme:
0.75 −2.1 3
𝐴 = 2.3 1.5 5.2
−1 3 0.25
1.15 −1.3 2
𝐵 = 1.25 1.5 0.55
−2.5 2.1 0.75
UNIVERSITE HASSAN II DE جامعة الحسن الثاني بالدار
CASABLANCA Faculté des البيضاء
Sciences Aïn Chock
كلية العلوم عين الشق
Exercice 1 :
Program rappels
! Rappels sur le langage fortran
Implicit none ; double precision x,y,p
Open(1,file=’don.dat’) ; open(2,file=’res.dat’)
Do 10 x=-5,5,0.1
Y=(1.d0/dsqrt(x**2+1.d0))-(dexp(-2.d0*pi/x))+dtan((x-1.d0)/(x-1.d0))
Write(2,150)x,y
10 continue
150 format(2(215.5,2x))
End
Exercice 2 :
Exercice 3:
Exercice 4:
1ére partie:
Program calcul
real v(n),w(3),vectoriel(3),scalaire
open(1,file=’d_vect.dat’); open(2,file=’r_vect.dat’)
Read(1,*)(v(i),i=1,3);read(1,*)(w(i),i=1,3)
! calcul du produit scalaire
UNIVERSITE HASSAN II DE جامعة الحسن الثاني بالدار
CASABLANCA Faculté des البيضاء
Sciences Aïn Chock
كلية العلوم عين الشق
2éme partie:
program calcul
!ce effectue des opérations sur deux matrices:
real A(3,3),B(3,3),C(3,3),d(3,3)
open(1,file='don_matrice.dat'); open(2,file='res_matrice.dat')
!lecture des deux matrices
read(1,*)((a(i,j),j=1,3),i=1,3)
read(1,*)((b(i,j),j=1,3),i=1,3)
!calcul de la somme des deux matrices:
call somme(a,b,3,3,c);write(2,*)'La matrice somme';write(2,400)((c(i,j),j=1,3),i=1,3)
!calcul de la transposée de C:
call transpos(c,3,3,d);write(2,*)'transposée de la matrice C';write(2,400)((d(i,j),j=1,3),i=1,3)
!calcul de la trace de C:
call trace(c,3,tr);write(2,*)'la trace de C est:';write(2,*)'tr=',tr
400 format(3(f10.2,2x))
end
subroutine somme(a,b,m,n,c)
real a(m,n),b(m,n),c(m,n)
do 120 i=1,m
do 120 j=1,n
C(i,j)=a(i,j)+b(i,j)
120 continue
return
end
subroutine transpos(c,m,n,d)
real c(m,n),d(n,m)
do 150 i=1,m
do 150 j=1,n
d(i,j)=c(j,i)
150 continue
Return
end
UNIVERSITE HASSAN II DE جامعة الحسن الثاني بالدار
CASABLANCA Faculté des البيضاء
Sciences Aïn Chock
كلية العلوم عين الشق
subroutine trace(a,n,tr)
real a(n,n),tr
tr=0.
do 180 i=1,n
do 180 j=1,n
if(j==i)then
tr=tr+a(i,j)
end if
180 continue
return
end