Initiation au Fortran compilation et correction des erreurs

Géneralités sur le langage Fortran

Les contenu des lignes en Fortran doit respecter les quelques regles suivantes :
{ Une ligne de commentaire doit commencer par un c ou une * en premiere colonne.
{ Tout ce qui suit un ! dans une ligne est aussi consider comme un commen-taire.
{ Les instructions :
{ doivent commencer a partir de la colonne 7 (ou plus) ;
{ se placent automagiquement avec[X]Emacs en appuyant sur la touche TAB ; { ne doivent pas depasser la colonne 72.
{ Les Labels (ou etiquettes) sont entre les colonnes 2 et 5 et geres automagi-quement avec [X]Emacs.
{ Pour couper une instruction sur plusieurs lignes, on met un caractere quel-conque en colonne 6 des lignes de suite.
La gure 2.1 illustre ces regles.

Organisation d’un programme FORTRAN

Succession de < paves > elementaires qu’on appellera blocs fonctionnels. Il en existe 3 sortes :
1. Le programme principal inclus entre program (facultatif) et end
program nom
. . .
end
2. Les subroutines inclus entre subroutine et end
subroutine nom (arguments)
. . .
end
3. Les fonctions inclus entre function et end
type function nom (arguments)
. . .
end

Programme principal

Le programme principal est obligatoirement present. Il n’existe qu’un seul pro-gramme principal. Ce programme principal se decoupe en deux parties distinctes successives detaillees ci-dessous.

Partie declaration

C’est dans cette partie qu’on de nit les objets (type + nom) qui seront manipuler par le programme.

Partie instructions

L’execution d’un programme FORTRAN consiste a derouler dans l’ordre toutes les instructions de la partie executable du programme principal.
Certaines instructions deroutent le pointeur de programme vers d’autres blocs fonctionnels (subroutines ou fonctions)
Les donnees

Les di erents types de donnees

Le tableau 3.1 resume l’ensemble des types de donnees manipulables en Fortran. De plus, il est possible d’assembler plusieurs grandeurs dans des tableaux. Ce qui permet de creer des vecteurs, des matrices…
Nous allons maintenant detaill ces types.

Type integer

Un integer contient un entier et est represent par son ecriture en base 2 signee sur 4 octets (31 bits pour la valeur plus un bit pour le signe). Ses valeurs possibles sont dans l’intervalle [ 231; 231 1].

Type real

un real contient un nombre reel et est code en virgule ottante (IEEE) sur 4 octets 1.
Chaque nombre est represent sous la forme x = 0:m 2e ou m est la mantisse codee sur 23 bits et e est l’exposant, code sur 8 bits ( 127 < e < 128).
Les valeurs (en valeur absolue) sont comprises dans l’intervalle [1:401 10 45;
3:403 1038] et il stocke environ 7 chi res signi catifs.

Type double precision

Le double precision est un real plus precis, code en virgule ottante sur 8 octets dont une mantisse codee sur 52 bits et un exposant code sur 11 bits ( 1023 < e < 1024).
Les valeurs (en valeur absolue) sont comprises entre [4:941 10 324; 1:798 10308] avec 15 chi res signi catifs.

Type complex

Assemblage de 2 real dans un m^eme objet.

Constantes numeriques

Question : je veux utiliser dans un programme les nombres 1, 3:14, 2 + 3i. Comment les ecrire ?

Constantes integer

Une constante de type integer est ecrite sans point decimal.
Exemples :
1
123
-28
0

Constantes real

Une constante de type real doit obligatoirement comporter :
{ soit le point decimal, m^eme s’il n’y a pas de chi res apres la virgule ; { soit le caractere e pour la notation en virgule ottante.
Pour les nombres ecrits 0.xxxxx, on peut omettre le 0 avant le point decimal.
Exemples :
Initiation au langage FORTRAN
0.
1.0
1.
3.1415
31415e-4
1.6e-19
1e12
.001
-36.

Constantes double precision

Une constante double precision doit obligatoirement ^etre ecrite en virgule ottante, le e etant remplac par un d.
Exemples :
0d0
0.d0
1.d0
1d0
3.1415d0
31415d-4
1.6d-19
1d12
-36.d0

Constantes complex

Une constante de type complex est obtenue en combinant deux constantes reelles entre parentheses separees par une virgule. 2:5 + i s’ecrira (2.5,1.)
Exemples :
(0.,0.)
(1.,-1.)
(1.34e-7, 4.89e-8)

De nition de constantes symboliques

Elle permettent de referencer une constante a l’aide d’un symbole.
Elles ne peuvent ^etre modi ees au milieu du programme et sont a ectees une fois pour toutes avec le mot-cle parameter dans la section declarations.

Syntaxe

parameter (const1=valeur1,const2=valeur2, …)
Le type de chaque constante doit ^etre declar explicitement ou en suivant les m^emes regles de typage automatique que les variables (cf 4.3). Une constante est toujours locale a un bloc fonctionnel.
Exemple
double precision q
parameter(max=1000, q=1.6d-19)

1 Introduction 
1.1 Composition d’un ordinateur
1.2 Exemples de probleme
1.3 Un langage
1.4 Compilation et debugger
2 Generalites sur le langage Fortran 
2.1 Organisation d’un programme FORTRAN
2.2 Programme principal
2.2.1 Partie declaration
2.2.2 Partie instructions
3 Les donnees 
3.1 Les dierents types de donnees
3.2 Constantes numeriques
3.3 Denition de constantes symboliques
3.3.1 Syntaxe
3.3.2 Exemple
4 Les variables 
4.1 Declaration de variables
4.2 Noms des variables
4.3 Regles de typage implicite
4.3.1 Directive implicit
4.3.2 Exemples
4.4 Aectation d’une variable
5 Operateurs et fonctions mathematiques 
5.1 Operateurs arithmetiques
5.1.1 Exemples
5.2 Conversion de type dans une operation
5.2.1 Exemples
5.2.2 Pieges classiques
5.3 Conversion de type dans une aectation
5.4 Fonctions mathematiques
5.5 Calcul en virgule  ottante
5.5.1 Exemples
6 Manipulation de textes 
6.1 Constantes cha^nes
6.2 Variables cha^nes
6.3 Fonctions sur les cha^nes
6.3.1 Longueur d’une cha^ne
6.3.2 Recherche dans une cha^ne
6.3.3 Sous-cha^nes
6.3.4 Concatenation
7 Entrees / Sorties 
7.1 Ecriture formatee
7.2 Formats d’ecriture
7.3 Lecture formatee
8 Contr^ole de l’execution 
8.1 Instructions conditionnelles
8.2 Expressions logiques
8.2.1 Exemples
8.3 Variables logical
8.4 Boucles
8.5 Boucles do… enddo
8.6 Boucles do… while
8.7 Instructions goto et continue
9 Les tableaux
9.1 Declaration
9.2 Utilisation des tableaux
9.2.1 Exemples
9.3 Instructions read et write avec boucles implicites
9.3.1 Syntaxe
9.3.2 Exemples
9.4 Utilisation optimale des tableaux
10 Fonctions et subroutines
10.1 Premier objectif
10.2 Second objectif
10.3 Les subroutines
10.4 Les fonctions
10.5 Mecanisme de passage des arguments a une subroutine ou une fonction
10.6 L’instruction common
10.7 Parametres formels de type tableau
10.8 Declaration external
11 Les chiers 
11.1 Les chiers formates
11.2 Les chiers binaires
11.3 Ouverture d’un chier
11.4 Fermeture d’un chier
11.5 Lecture / Ecriture sur un chier
11.5.1 Syntaxe
11.6 Exemples d’utilisation de chiers
11.7 Exercice
12 Compilation et correction des erreurs
12.1 Le compilateur FORTRAN SUN
12.2 Utilisation de librairies
12.3 Quelques erreurs de compilation
12.4 Quelques erreurs d’execution

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *