Langage de programmation

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Algorithmique et Programmation
Algorithmes et structures de données Cours 8
Algorithmique Résume.
GEF 243B Programmation informatique appliquée Expressions de type mixte et blocs §
Notions fondamentales (Types, variables, affectations)
C.
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
INTRODUCTION.
Introduction : Compilation et Traduction
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
INTRODUCTION A MATLAB ENVIRONNEMENT MATLAB.
Les bases de l’Algorithmique
Principes de programmation (suite)
Partie 1 Etude de l'existant
Chapitre IV LES STRUCTURES SIMPLES. Plan I- Les entrées II- Laffectation III- Les sorties.
Démarche de résolution de problèmes
Expressions et assignations
Les éléments de base de l’algorithmique
Création d’un programme :
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Outils de Programmation
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Introduction à la programmation (Java)
Introduction au langage PHP Réfs : Chap 3 p 49. Présentation PHP (Hypertext PreProcessor) est un langage de développement Web créé en 1994 par Rasmus.
CHAINE DE CARACTERES : Définition :
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Semaine #1 INF130 par Frédérick Henri.
Principes de programmation
CSI3525: Concepts des Langages de Programmation
Contrôle de types Les types en programmation Expressions de types Un contrôleur de types Equivalence de types Conversions de types Généricité.
Chapitre 3 Syntaxe et sémantique.
CSI3525: Concepts des Langages de Programmation Notes # 6: Langages de Programmation Fonctionelle II: Introduction au ML.
Algorithmique et structure de données
Types de données fondamentaux
Animateur : Med HAIJOUBI
INTRODUCTION.
JavaScript.
Créer des packages.
Un survol du language C.
 Syntaxe du langage PHP
Exemple à faire: N°2 Ecrire l’Algorithme et le Programme PASCAL qui affiche la somme de deux nombres entiers donnés.
Module I3 algorithmique et programmation
Le langage Z minimal Pr ZEGOUR DJAMEL EDDINE
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
Le langage Racket (Lisp)
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
1 Deuxième journée La programmation procédurale. 2 Unité de programmation : la procédure ou fonction Très semblable au math Un programme est un ensemble.
Introduction et Généralités sur l’Algorithmique
B.Shishedjiev - Affectation1 Expressions et affectation Comment produire des nouvelles valeurs.
Les bases de l’algorithmique
Module algorithmique et programmation
1 Algorithmique, cours 3 Septembre Les fonctions 1. Motivation 2. Définitions 3. Utilisation des fonctions 4. Déclaration des fonctions 5. Liens.
Scripts et fonctions Instructions de contrôle
Chapitre 4 La représentation des nombres.
Introduction à l’utilitaire
Chapitre 9 Les caractères.
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Objets et Actions Élémentaires.
Les Structures simples
Introduction au langage C
Algorithmique et programmation
Introduction à l’Informatique Licence SPI Mme Delmotte.
Le codage des nombres en informatique
Langage de programmation Fortran 90 Mr S. BOUHEND Ver. 0.3.
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
Langage de programmation Fortran 90 Mr S. BOUHEND Ver. 0.5.
Langage de programmation Fortran 90 Mr S. BOUHEND Ver. 0.4.
Langage de programmation Fortran 90 Mr S. BOUHEND Ver. 0.6.
Transcription de la présentation:

Langage de programmation Fortran Mr S. BOUHEND

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.

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é.

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.

Quelque langages de programmation

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

Programme informatique?

Programme informatique? Le langage machine.

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.

Le langage FORTRAN Fortran a fait l'objet de plusieurs normalisations : fortran 77, fortran 90 et 95, et plus recemment fortran 2003. Le present document s'interesse aux versions 90/95 (peu dierentes l'une de l'autre).

Le langage FORTRAN Fortran a fait l'objet de plusieurs normalisations : fortran 77, fortran 90 et 95, et plus recemment fortran 2003. Le present document s'interesse aux versions 90/95 (peu dierentes l'une de l'autre).

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

Le langage FORTRAN Structure de programme program nom_du_programme « déclaration des variables » « instructions » end program nom_du_programme

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

Le langage FORTRAN Structure de programme

Le langage FORTRAN Structure de programme Deux format d’écriture : Format Fixe (anciennes version) Format Libre (à partir de la version 90)

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

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

Le langage FORTRAN Déclarations & variables Identificateurs Donne un nom à : une variable une constante une procédure

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)

Le langage FORTRAN Déclarations & variables Identificateurs Exemples : A test1 AbCdE ze_E

Le langage FORTRAN Déclarations & variables Identificateurs Exemples (incorrects): 1var test 1 AbCdE ze-E program

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

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

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

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

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

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’

Le langage FORTRAN Déclarations & variables Le type INTEGER (entier): INTEGER :: a,b,c a=-5 c=+10;b=22

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 .) 12.43 -0.38 .38 4. -.27 Exponentielle (utilisation de la lettre e, le . peut être absent) 4.25E4 4.25e+4 425e2 0.54e-2 5.4e-3 48e13 48.e13 48.0e13

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.25D4 4.25d+4 425d2

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)

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)

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)

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é

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

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

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.

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.)

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)

Le langage FORTRAN Les expressions et l’instruction d’affectation L’instruction d’affectation se présente sous la forme: <variable> = <expression>

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)

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

Le langage FORTRAN Les expressions et l’instruction d’affectation Exemples 99/100 ! vaut 0 , INTEGER 99. /100 ! vaut 0.99 , REAL

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 ?

Le langage FORTRAN Les expressions et l’instruction d’affectation Expressions logiques : les comparaisons

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

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,…)

Le langage FORTRAN Les opérations de lecture et d’écriture print *,a

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

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’

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

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

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