Bonjour, je suis débutant en Fortran, et en lisant un poly de Fortran (cours de l'IDRIS) j'ai déjà qq questions.

question 1 :
comment mettre plusieurs lignes consecutives en commentaire ?

question 2 :
Supposons que l'on ait
integer, dimension(10) :: ints, ints2

quelle est la difference entre
data (ints(i), i=1,4)/4*6.0/ et
ints2(1:4)=6
je trouve que la version avec ints2 est plus lisible que celle avec ints.

question 3 :
quelle est la difference entre l'operateur = et l'utilisation du mot-cle DATA ?

question 4 :
Dans mon cours, a propos du mot-cle DATA il est marque :
"on peut utiliser l'instruction DATA pour initialiser les tableaux lors de leur declaration. Elle permet d'initialiser tout ou partie de tableaux a l'aide d'une liste de constantes encadree par le caractere /

Pourtant si je fais

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
real, dimension(2,3) :: mat
 
data mat/1., 2., 3., 4., 5., 6./ 
print *,"mat = ",mat ! affiche 1. 2. 3. 4. 5. 6.
 
data ((mat(i,j),j=1,3),i=1,2)/7., 8., 9, &
                              10., 11., 12./
print *,"mat = ",mat ! affiche 1. 2. 3. 4. 5. 6.
 
mat(2,3)=7
print *,"mat = ",mat ! affiche 1. 2. 3. 4. 5. 7.

donc si j'ai pu changer le 6 en 7, cela veut dire que les valeurs de mon tableau ne sont pas constantes ?

question 5 :
comment ecrire plus simplement le programme suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
PROGRAM operation_tableau
 
implicit none
 
integer i
integer, dimension(10) :: tab
 
do i=1,10
  tab(i)=i
end do
 
print *,"tab = ",tab
 
END PROGRAM operation_tableau
Dois-je obligatoirement passer par le mot-cle DATA ?

question 6 :
a propos des fonctions, est-ce la meme chose de faire

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
integer function myint(a,b)
implicit none
integer a,b,myint
myint=a+b
end function myint
et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
integer function myint(a,b)
implicit none
integer a,b ! ici je n'ai pas declarer myint comme un integer
myint=a+b
end function myint
Merci beaucoup.