Télécharger la présentation
1
Langage de programmation
Fortran Mr S. BOUHEND
2
Langage de programmation
Un langage de programmation est une notation utilisée pour exprimer des algorithmes et écrire des programmes. Un algorithme est un procédé pour obtenir un résultat par une succession de calculs, décrits sous forme de pictogrammes et de termes simples dans une langue naturelle.
3
Historique Années 50: Création des langages de haut niveau (plus proches de l'homme). Années 60: Foisonnement de langages spécialisés. Forth. Simula I. Lisp, Cobol. Années 70: Duel entre programmation structurée avec Pascal et l'efficacité du langage C (cela dure encore en 2000). Années 80: Expérimentation d'autres voies et notamment des objets. ML. Smalltalk. Sur les microordinateurs, utilise maintenant C, Pascal, Basic compilé.
4
Historique Années 90: Généralisation de la programmation objet grâce aux performances des microordinateurs. Java, Perl, Python s'ajoutent aux langages micros. Années 2000: Programmation Internet (et les innovations à venir, voir en fin de texte). Années 2010: Concurrence et asynchronisme. Les langages JavaScript, Go, Julia entre autre aident à créer des applications en ligne fluides.
5
Quelque langages de programmation
6
Programme informatique?
Un programme informatique est un ensemble d'opérations destinées à être exécutées par un ordinateur. Un programme source est un code écrit par un informaticien dans un langage de programmation. Il peut être compilé vers une forme binaire, ou directement interprété. Un programme binaire décrit les instructions à exécuter par un microprocesseur sous forme numérique. Ces instructions définissent un langage machine.c
7
Programme informatique?
8
Programme informatique?
Le langage machine.
9
Le langage FORTRAN Fortran est un langage de programmation, développé par IBM vers 1955, et destiné a fournir aux scientifiques un moyen simple pour passer de leurs formules mathématiques jusqu'a un programme effectif (son nom est une abréviation de FORmula TRANslator). Il est très efficace dans le domaine du calcul numérique, et ore de nombreuses bibliothèques de programmes d'analyse numérique.
10
Le langage FORTRAN Fortran a fait l'objet de plusieurs normalisations : fortran 77, fortran 90 et 95, et plus recemment fortran Le present document s'interesse aux versions 90/95 (peu dierentes l'une de l'autre).
11
Le langage FORTRAN Fortran a fait l'objet de plusieurs normalisations : fortran 77, fortran 90 et 95, et plus recemment fortran Le present document s'interesse aux versions 90/95 (peu dierentes l'une de l'autre).
12
Le langage FORTRAN Structure de programme
Un programme source Fortran est composé de parties indépendantes appelées unités de programme (scoping unit) : le programme principal les sous-programmes : de type subroutine de type function les modules les block data
13
Le langage FORTRAN Structure de programme
program nom_du_programme « déclaration des variables » « instructions » end program nom_du_programme
14
Le langage FORTRAN Structure de programme
Un programme source Fortran est composé de parties indépendantes appelées unités de programme (scoping unit) : le programme principal les sous-programmes : de type subroutine de type function les modules les block data
15
Le langage FORTRAN Structure de programme
16
Le langage FORTRAN Structure de programme
Deux format d’écriture : Format Fixe (anciennes version) Format Libre (à partir de la version 90)
17
Le langage FORTRAN Structure de programme
Dans le mode < format libre > les lignes peuvent être de longueur quelconque a concurrence de 132 caracteres. Il est également possible de coder plusieurs instructions sur une même ligne en les séparant avec le caractère ; . Le caractère « ! » indique que ce qui suit est un commentaire Exemple : print *, ' Entrez une valeur :’ ; read *,n
18
Le langage FORTRAN Structure de programme
Une instruction peut être codée sur plusieurs lignes : on utilisera alors le caractére < & >. Exemple print *, 'Montant HT :', montant_ht, & ' TVA :', tva , & 'Montant TTC :', montant_ttc
19
Le langage FORTRAN Déclarations & variables
Identificateurs Donne un nom à : une variable une constante une procédure
20
Le langage FORTRAN Déclarations & variables
Identificateurs Règles à suivre : suite de caractères alphanumériques (lettres non accentuées, chiffres, underscore“_“) une lettre en premier caractère longueur limitée à 31 caractères pas de distinction majuscule/minuscule (case insensitive)
21
Le langage FORTRAN Déclarations & variables
Identificateurs Exemples : A test1 AbCdE ze_E
22
Le langage FORTRAN Déclarations & variables
Identificateurs Exemples (incorrects): 1var test 1 AbCdE ze-E program
23
Le langage FORTRAN Déclarations & variables
Types de données Le type d’une variable détermine : le nombre d’octets à réserver en mémoire un mode de représentation interne l’ensemble des valeurs admissibles l’ensemble des opérateurs qui peuvent lui être appliqués
24
Le langage FORTRAN Déclarations & variables
Types de données Le type d’une variable détermine : le nombre d’octets à réserver en mémoire un mode de représentation interne l’ensemble des valeurs admissibles l’ensemble des opérateurs qui peuvent lui être appliqués
25
Le langage FORTRAN Déclarations & variables
Types de données INTEGER entier CHARACTER caractère LOGICAL deux valeurs, .TRUE. ou .FALSE. REAL réel simple précision DOUBLE PRECISION réel double précision COMPLEX complexe simple précision
26
Le langage FORTRAN Déclarations & variables
Exemples de déclaration Les «::» ne sont pas obligatoires INTEGER :: A REAL :: D LOGICAL logi CHARACTER Char !un seul caractère CHARACTER(len=4) chaine !une chaine de 4 caractère COMPLEX z
27
Le langage FORTRAN Déclarations & variables
Initialisation et modification Une initialisation pourra s’effectuer à l’aide du symbole « = » Fortran permet d’initialiser une variable lors de sa déclaration Dans ce cas, les caractères :: sont obligatoires
28
Le langage FORTRAN Déclarations & variables
Initialisation et modification Exemples: INTEGER :: A=5 REAL D LOGICAL :: logi= .TRUE. CHARACTER Char !un seul caractère CHARACTER(len=4) chaine !une chaine de 4 caractère D=4.5 chaine = ‘abcd’
29
Le langage FORTRAN Déclarations & variables
Le type INTEGER (entier): INTEGER :: a,b,c a=-5 c=+10;b=22
30
Le langage FORTRAN Déclarations & variables
Le type REAL (Réel): Les constantes de type réel s’écrivent indifféremment suivant l’une des deux notations: Décimale (doit comporter obligatoirement un .) Exponentielle (utilisation de la lettre e, le . peut être absent) 4.25E e e2 0.54e e-3 48e e e13
31
Le langage FORTRAN Déclarations & variables
Le type REAL (Réel): En double précision, les constantes s’écrivent obligatoirement sous forme exponentielle en utilisant la lettre d à la place de e. 4.25D d d2
32
Le langage FORTRAN Déclarations & variables
Le type COMPLEX (complexe): Pour Fortran, un nombre complexe est un couple de nombres réels. variable = cmplx(variable_r,variable_i) Exemple : complex :: z real :: x,y …… z = cmplx(x,y)
33
Le langage FORTRAN Déclarations & variables
Le type COMPLEX (complexe): Pour Fortran, un nombre complexe est un couple de nombres réels. variable = cmplx(variable_r,variable_i) Exemple : complex :: z real :: x,y …… z = cmplx(x,y)
34
Le langage FORTRAN Déclarations & variables
Le type CHARACTER (chaine de caractère): Pour déclarer une chaîne de caractères on précise sa longueur. Si elle n’est pas indiquée elle est égale à 1. character[(len=<longueur>)] [,<attribut(s)>] [::] <variable> [=<value>] Longueur: Expression entière ou * (déduction par le compilateur de la longueur)
35
Le langage FORTRAN Déclarations & variables
Le type CHARACTER (chaine de caractère): character(len=10) :: nom character :: oui_ou_non character(len=10) :: ville=’sidi bel abbes’ !Tronqué character(len=8) :: payé=’Algérie' !complété à gauche character(len=8) :: capitale='Algérie' character(len=*),parameter :: lang='F90' !auto-détecté
36
Le langage FORTRAN Déclarations & variables
Les expressions constantes permet de définir une « constante symbolique », un symbole auquel on attribue une valeur qui ne pourra être modifiée par le programme. <type>, parameter :: <variable(s)> = <value> Ici les :: sont obligatoires. Exemple : interger, parameter :: n1=50, n2=120 REAL, parameter:: PI=3.14
37
Le langage FORTRAN Déclarations & variables
Les types implicites Fortran 90 ne rend pas obligatoire les déclarations des types des variables. Fortran attribue implicitement un type à une variables non définies Exemple : integer :: nbre = 5, k …… k = nbr + 1
38
Le langage FORTRAN Déclarations & variables
Les types implicites Solution : Supprimer les types implicites On ajoutant l’ instruction IMPLICIT NONE avant la déclaration des variables.
39
ReAl :: x CHARACTER :: name CHARACTER(LEN=10) :: name REAL :: var-1 INTEGER :: 1a BOOLEAN :: loji DOUBLE :: X CHARACTER(LEN=5) :: town = "Glasgow" CHARACTER(LEN=*) :: town = "Glasgow" CHARACTER(LEN=*), PARAMETER :: city = "Glasgow" INTEGER :: pi = +22/7 LOGICAL :: wibble = .TRUE. CHARACTER(LEN=*), PARAMETER :: "Bognor" REAL, PARAMETER :: pye = 22.0/7.0 REAL :: two_pie = pye*2 REAL :: a = 1., b = 2 LOGICAL(LEN=12) :: frisnet CHARACTER(LEN=6) :: you_know = ’y’know" CHARACTER(LEN=6) :: you_know = "y’know" INTEGER :: ia ib ic id DOUBLE PRECISION :: pattie = +1.0D0 DOUBLE PRECISION :: pattie = -1.0E-0 REAL :: poie = 4.*atan(1.)
40
ReAl :: x ok CHARACTER :: name ok CHARACTER(LEN=10) :: name ok REAL :: var-1 on ne peut pas avoir « -1 » dans un identificateur INTEGER :: 1a un iden. ne peut pas commencer par un nombre BOOLEAN :: loji type « boolean » n’existe pas : utiliser « logical » DOUBLE :: X le type correct est « double precision » CHARACTER(LEN=5) :: town = "Glasgow” OK, town=« Glasg » CHARACTER(LEN=*) :: town = "Glasgow” on ne peut pas avoir « len(*) » pour un non-PARAMETER CHARACTER(LEN=*), PARAMETER :: city = "Glasgow” ok INTEGER :: pi = +22/7 OK, la valeur de pi sera 3 car c’est un entier LOGICAL :: wibble = .TRUE. ok CHARACTER(LEN=*), PARAMETER :: "Bognor" Non, pas de nom de variable REAL, PARAMETER :: pye = 22.0/7.0 ok REAL :: two_pie = pye*2 OK si pye est un PARAMETER REAL :: a = 1., b = 2 OK, la valeur de b est 2.0 LOGICAL(LEN=12) :: frisnet Non, pas de LEN dans LOGICAL CHARACTER(LEN=6) :: you_know = ’y’know” problème des délimiteurs CHARACTER(LEN=6) :: you_know = "y’know” ok INTEGER :: ia ib ic id enlever les espaces ou mettre des virgules DOUBLE PRECISION :: pattie = +1.0D0 OK, les « : : » sont obligatoires DOUBLE PRECISION :: pattie = -1.0E-0 ok REAL :: poie = 4.*cos(0.3) utilisation interdite de fonctions (cos)
41
Le langage FORTRAN Les expressions et l’instruction d’affectation
L’instruction d’affectation se présente sous la forme: <variable> = <expression>
42
Le langage FORTRAN Les expressions et l’instruction d’affectation
Expressions arithmétiques: Addition : + Soustraction : - Multiplication : * Division : / (Pas de division par zéro!) Exponentiation :** (ab a**b)
43
Le langage FORTRAN Les expressions et l’instruction d’affectation
Expression peut faire intervenir des opérateurs comme la division entière, l’exponentiation,… plusieurs opérateurs et, donc, des problèmes de priorité des variables de types différents, ce qui engendre des conversions implicites une variable ayant un type différent du résultat fourni par l’expression engendre des conversions forcées
44
Le langage FORTRAN Les expressions et l’instruction d’affectation
Exemples 99/100 ! vaut 0 , INTEGER 99. /100 ! vaut 0.99 , REAL
45
Le langage FORTRAN Les expressions et l’instruction d’affectation
Ordre des opérations Exponentiation Multiplication et division (gauche à droite) Addition et soustraction En cas de doute, utiliser les parenthèses! Exemple: 4+ 8/2 vaut 6 ou 8 ?
46
Le langage FORTRAN Les expressions et l’instruction d’affectation
Expressions logiques : les comparaisons
47
Le langage FORTRAN Les expressions et l’instruction d’affectation
Expressions logiques : opérateurs logiques Le langage FORTRAN Les expressions et l’instruction d’affectation
48
Le langage FORTRAN Les opérations de lecture et d’écriture
Les ordres d’entrée/sortie permettent de transférer des informations entre la mémoire centrale et les unités périphériques (terminal, clavier, disque, imprimante,…)
49
Le langage FORTRAN Les opérations de lecture et d’écriture
print *,a
50
Le langage FORTRAN Les opérations de lecture et d’écriture
Sortie Entrée write(périphérique, format [,options]) liste print format , liste read(périphérique, format [,options]) liste read format , liste
51
Le langage FORTRAN Les opérations de lecture et d’écriture
Sortie : Sortie Standard(Ecran) Le * est associé au format de sortie. Le 1ier * est associé au sortie standard(Ecran). Le 2ier * est associé au format de sortie. print *, ‘Je suis un texte à afficher’ write(*,*) ‘Je suis un texte à afficher’
52
Le langage FORTRAN Les opérations de lecture et d’écriture
Sortie : Sortie Standard(Ecran) Affichage de la valeur dune variable: ou real :: var var = 2.5 write (* ,*) var write (* ,*) 'La variable var vaut : ' , var
53
Le langage FORTRAN Les opérations de lecture et d’écriture
Entrée : Entrée Standard(Clavier) integer age character(len=20) nom character(len=20) prenom read *, nom read *, prenom read *, age read *, nom, prenom, age
54
Le langage FORTRAN Les opérations de lecture et d’écriture
Entrée : Entrée Standard(Clavier) D’une manière interactive integer age character(len=20) nom character(len=20) prenom print * , ’Entrez votre nom : ’; read *, nom print * , ’Entrez votre prenom : ’; read *, prenom print * , ’Entrez votre age : ’; read *, age
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.