• Aucun résultat trouvé

Université Hasiba Ben Bouali Chlef UHBC Faculté de Sciences Exactes et Informatique Département TC-MI-SM

N/A
N/A
Protected

Academic year: 2022

Partager "Université Hasiba Ben Bouali Chlef UHBC Faculté de Sciences Exactes et Informatique Département TC-MI-SM"

Copied!
38
0
0

Texte intégral

(1)

1

Université Hasiba Ben Bouali Chlef UHBC Faculté de Sciences Exactes et

Informatique

Département TC-MI-SM

INFORMATIQUE 2 (Langage de programmation

Cours de Fortran

Initiation et structures conditionnelles

(2)

2

Bibliographie :

Informatique O2 Algorithmique et programmation, support de cours ; par Dr. Nateche tahar , Faculté : Génie Mécanique ,Département : Génie Maritime Année Universitaire 2016-2017,USTO- MB.

Initiation à Fortran ,Mehmet Ersoy1,2 ,1SEATECH–Ecole d’ingénieurs de l’Université de Toulon,2 IMATH–Institut de Mathématiques de Toulon

Institut Du Developpement ´Et Des Ressources En Informatique Scientifique .Cours langage Fortran – 27 janvier 2006,Patrick Corde et Anne Fouilloux.

Initiation au Langage de Programmation Fortran 90 (Première Partie) ;Auteurs : Habib BOUTALEB ; faculté des sciences, Université « Dr. Tahar Moulay » De Saida

Composition d’un ordinateur

* 1 microprocesseur pour calculer et de la mémoire pour ranger des données

* Le microprocesseur ne sait exécuter que des opérations simples sur des nombres codés en binaire (1 et 0) :

additionner – soustraire – multiplier – diviser ,– lire dans la mémoire – écrire dans la mémoire ……..

Le code machine est très éloigné de la logique humaine.

La résolution d’un problème par l’ordinateur

La résolution d’un problème mathématique par l’ordinateur passe par les étapes suivantes :

(3)

Mme BELALIA.A

3

Problème

mathématique Algorithme

Programme écrit en langage de programmation

La compilation

Programme.exe Programme.obj

Langage machine Fournir des résultats

(4)

Mme BELALIA.A 4

Quelques définitions :

Algorithme : est une suite d’instructions bien ordonnées et structurés pour résoudre un problème.

Un programme est ensemble des sous programmes.

Exemples de problème

- Multiplier deux matrices

Le microprocesseur ne sait pas de lui-mème manipuler de tels objets. Il faut une structure capable d’organiser une matrice en mémoire

- Calculer sin(x) pour 100 valeurs de x régulièrement espacées sur

- [0, 2π]. Le microprocesseur n’a pas d’instruction capable de calculer le sinus d’un nombre réel.

Un langage de programmation :

Le lien entre l’homme et la machine c’est le langage de programmation Elle est constitué par :

- un ensemble de mots-clés

- un ensemble d’objets manipulables, éventuellement extensible - des règles de syntaxe

- de structures logiques - Bibliothèque de données

Programmer, c’est écrire un texte respectant les règles du langage, susceptible de

(5)

Généralité sur le langage Fortran (Fortran langage compilé, Fortran = (Mathematical) FORmula TRANslating)

Mme BELALIA.A 5

(6)

Mme BELALIA.A 6

Historique :

1954 : IBM (International Business Machines) avec John Backus publie la description d’un système de FORmula TRANslator (traducteur d'équations).

1956 : Premier manuel de référence qui définit le Fortran I.

1957 : Fortran II avec l’apparition des procédures et la compilation séparée.

1962 : Fortran IV (Fortran III est resté interne à IBM) introduit le type explicite. Il sera rebatisé Fortran 66.

1978 : Fortran 77 (l’ère moderne) propose une avancée significative dans les entrés sorties avec le format libre et l’instruction OPEN.

1991 : Fortran 90 quelques facilités de la programmation objets, le calcul matriciel, le contrôle de la précision numérique, ...

2000 : Fortran 95, introduction de notion de parallélisme de données 200X : Fortran 2000, programmation orienté objets

2004 : fortran 2003 standard adopté,nouveautés : interopérabilité avec C,

arithmétique IEEE, accès au système,allocations dynamiques étendues à d’autres contextes, aspects objet...

Fortran 2003 implémenté sur certains compilateurs (en cours pour gfortran) 2010 : standard fortran 2008 adopté le 20 sept 2010

novembre 2018 : norme Fortran 2018 (ISO et ANSI).

(7)

7

Elaboration d'un programme

Un programme Fortran nécessite trois types de fichiers pour son élaboration :

 Les fichiers source (extension .FOR, .F90 sous MS-D OS ou WINDOWS, .f sous UNIX2) : Le programmeur écrit le fichier source à l'aide d'un éditeur de texte de son choix. Il s'agit d'un texte clair, contenant toutes les instructions du programme. Ce fichier peut être envoyé sur une imprimante ou affiché sur l'écran. C'est ce que fait l'éditeur de texte.

 Les fichiers objet (extension .OBJ sous MS-DOS, .o sous UNIX) :

Le fichier source doit ensuite être compilé, c'est à dire traduit en langage machine.

C'est le rôle du compilateur. Chaque langage possède d'ailleurs un compilateur propre.

Le fichier obtenu après compilation est un fichier objet, pas encore exécutable.

 Le fichier exécutable (extension .EXE sous MS-DOS ou WINDOWS, définie par L’utilisateur sous UNIX).

Avantage de ce langage: Rapidité d’exécution et - Sécurité du code exécutable

(8)

Mme BELALIA.A 8

Installation du compilateur

 Editeur de texte (notepad++ sous windows, gedit sous Linux, Fraise sous mac)

 sous windows (gfortran) via mingw ou cygwin (émulateurs unix)

 sous linux (gfortran) via l’installateur de paquet apt

 sous IOS via l’installateur de paquet fink ou suivre certains tuto sur le net Organisation d’un programme FORTRAN

Succession de « pavés » ´élémentaires qu’on appellera blocs fonctionnels.

Il en existe 3 sortes :

1. Le programme principal inclus entre program (facultatif ) et end 2. Les subroutines inclus entre subroutine et end

3. Les fonctions inclus entre function et end

program nom ...

end

subroutine nom( arguments) ...

end

Type function nom (arguments) ...

end

(9)

Mme BELALIA.A 9

Organisation de programme fortran

Programme principal

Le programme principal est obligatoirement présent. Il n’existe qu’un seul pro- gramme principal. Ce programme principal se découpe en deux parties distinctes

Partie déclaration

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

Partie instructions

L’exécution d’un programme FORTRAN consiste à dérouler dans l’ordre toutes les instructions de la partie exécutable du programme principal.

Certaines instructions déroutent le pointeur de programme vers d’autres blocs fonctionnels (subroutines ou fonctions).

(10)

10

Les données

Les déférents types de données : Type integer

Il contient un entier et il est représenté par son écriture en base 2 signées sur 4 octets, Ses valeurs possibles sont dans l’intervalle [−231 , 231 − 1].

Type real

Il contient un nombre réel et il est codé en virgule flottante (IEEE) sur 4 octets .Chaque nombre est représenté sous la forme x = ±0.m × 2e. Les sont comprises dans l’intervalle [1.401 × 10−45 , 3.403 × 1038]

type double precision

Est un real plus précis, codé en virgule flottante sur 8 octets l’exposant codé sur 11 bits (−1023 < e < 1024).Les valeurs sont comprises entre [4.941×10−324 ,

1.798×10308 ] Type complex

Assemblage de 2 real dans un même objet.

Constantes numériques:

Constantes integer

Une constante de type integer est écrite sans point décimal.

Exemple : 1 , 123, -28 , 0

(11)

11

Constantes numériques:

Constantes real

Une constante de type real doit obligatoirement comporter :

 soit le point décimal, même s’il n’y a pas de chiffres après la virgule ;

 soit le caractère e pour la notation en virgule flottante.

Pour les nombres écrits 0.xxxxx, on peut omettre le 0 avant le point décimal.

Exemple : 0. 1.0 1. 3.1415 31415e-4 1.6e-19 1e12 .001 -36.

Constantes double précision

Il doit obligatoirement être écrite en virgule flottante, le e étant remplacé par un d.

Exemple : 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 réelles entre parenthèses séparées par une virgule. 2.5 + 1 s’écrira (2.5,1.)

Exemple (0.,0.) (1.,-1.) (1.34e-7, 4.89e-8)

(12)

12

Les variables

Une variable est un emplacement en mémoire référencé par un nom, dans lequel on peut lire et écrire des valeurs au cours du programme.

Avant d’utiliser une variable, il faut : – définir son type (integer, real,…….) – lui donner un nom.(identificateur) Une variable est :

 locale si seul le bloc fonctionnel où elle est déclarée peut y accéder.

C’est le défaut ;

 globale si tous les blocs fonctionnels peuvent y accéder.

Identificateurs

Un identificateur permet de donner un nom a` :

☞ Une variable, ☞ Une constante, ☞ Une procédure.

Il est défini par :

☞ Une suite de caractères alphanumériques (lettres non accentuées, chiffres, le caract`ere «_ » (« underscore » <> « moins ») ;),

☞ le premier caractère doit être une lettre, ☞ la longueur est limitée à 31 caractères, ☞ On ne distingue pas les lettres majuscules des minuscules.

(13)

13

Exemples d’identificateurs compteur

Compteur fin_de_fichier

montant_annee_1993

Identificateurs non valides accentué

avec espace

Il_y_a_plus_de_trente_et_un_caracteres _souligne_devant

1 _chiffre_devant

nom#alphanumerique

Types prédéfinis ou de bases

INTEGER : entier

CHARACTER : caractère

LOGICAL : deux valeurs .TRUE. / .FALSE.

REAL : réel simple précision DOUBLE PRECISION : réel double précision

COMPLEX : complexe simple précision

(14)

14

La déclaration Attributs

Chaque type peut être surchargé des attributs suivants : Différents attributs :

parameter constante symbolique dimension taille d’un tableau allocatable objet dynamique

pointer objet défini comme pointeur

target objet accessible par pointeur (cible)

save objet statique

intent vocation d’un argument muet optional argument muet facultatif

public ou private visibilité d’un objet défini dans un module external ou intrinsic nature d’une procédure

Syntaxe

Forme générale d’une déclaration

Type [ , liste attributs :: ] liste identificateurs

(15)

15

La déclaration:

Exemple de programme

PROGRAM declaration

INTEGER, SAVE :: compteur INTEGER :: temperature LOGICAL :: arret_boucle

...

END PROGRAM declaration

PROGRAM declaration

INTEGER :: indice_boucle SAVE :: indice_boucle

...

END PROGRAM declaration

PROGRAM Declaration

REAL, PARAMETER :: PI=3.141

LOGICAL, PARAMETER :: VRAI=.TRUE. , FAUX=.FALSE.

END PROGRAM Declaration

(16)

16

La déclaration:

Cas particulier : le type CHARACTER

Pour déclarer une chaine de caractères on précise de plus sa longueur. Si elle n’est pas indiquée elle est égale à 1 :

CHARACTER *N chaine ou CHARACTER (LEN =N) chaine

Exemple : CHARACTER *15 dep , dep = ‘informatique’

Fonctions sur les chaines

Longueur d’une chaine :

LEN ( chaine) : Renvoie la longueur de la chaine

Ex : LEN (dep) renvoie 15 et non pas 12 .

LEN TRIM : retourne la longueur de la chaine de caractères transmise en argument sans considérer les blancs  de fin.

LEN_TRIM ( ’ FORTRAN  ’ ) → 9 et pas 11 . Recherche dans une chaine:

INDEX(chaine1, chaine2) renvoie la position de la chaine chaine2 dans la chaine chaine1.

Exemple : INDEX (dep,’ tique’) = 8

(17)

17

La déclaration :

Fonctions sur les chaines La sous chaine

A` partir d’une variable chaine de caractères on peut extraire une suite de caractères contigus. Pour cela on spécifie le nom de la variable suivi entre parenthèses d’un

couple d’entiers n:m indiquant les rangs de début et de fin d’extraction.

Exemple :

Concaténation : la concaténation permet de coller deux chaines. En fortran ce note //

Exemples:

Ex1 ‘bon’ // ‘jour’ représente ‘bonjour’

Ex2 Trim(dep) // ‘ est mon départemet’ représente ‘informatique est mon département’.

EX3

Character (len=5) :: ch = ‘bon’

ch = ch // ’JOUR’ ! <--- INVALIDE !!!

ch = TRIM(ch) // ’JOUR’ ! <--- VALIDE CHARACTER *=10 :: ch

ch = "Bonjour"

ch(4:7) = "jour"

(18)

18

La déclaration

Continuation d’une ligne dans une chaine de caractères

Une ligne d’instructions comporte au maximum 132 caractères ,Si plus que 132, la solution : couper la ligne en morceaux. Placer &en fin de première ligne et & au début de la ligne

suivante

Commentaire : On précise le commentaire par le symbole ! avant d’écrire le commentaire ,En format fixe, les lignes qui commencent par C, c, * ou ! en colonne 1 sont des

commentaires.

Exemple :

Program texte

CHARACTER *100 parag

!ce paragraphe pour définir les règles

Parag = ‘ pour écrire un paragraphe, on utilise le symbole & à la fin de ligne qui& &et &au début de la ligne suivante.

Mme

(19)

19

La déclaration

Constantes chaines de caractères

Une constante chaines de caractères est une suite de caractères encadrées par le délimiteur ‘….’ ou bien ‘’…..’’.

Si parmi la suite des caractères figurent le caractère délimiteur, il devra être doublé.

Exemple:

’La somme des n premiers entiers est : ’

’l’’étendue désirée est : ’

"l’’étendue désirée est :’’

(20)

20

La déclaration

Deux modes de déclaration des variables

Par défaut :

Par défaut, les variables dont l’identificateur commence par les caractères ( I a` N ) sont de type INTEGER.

Toutes les autres sont de type REAL.

On déclare tous : Instruction IMPLICIT NONE

L’instruction IMPLICIT NONE change cette règle car elle impose à l’utilisateur la déclaration de chaque variable.

☞ Elle permet la détection d’un certain nombre d’erreurs à la compilation. Cette instruction est vivement recommandée ! ! !

☞ IMPLICIT NONE se place avant les déclarations des variables,

☞ L’instruction ne s’applique qu’à l’unité de programme qui la contient.

l’instruction STOP interrompt le programme.

(21)

21

La déclaration Initialisation

L’instruction DATA

DATA liste1/init1/[, ..., listei/initi/, ...]

☞ listei fait référence à une liste de variables à initialiser,

☞ initi indique les valeurs d’initialisation,

☞ le type des valeurs d’initialisation doit respecter les règles suivantes :

➳ pour un objet de type caractère ou logique, la constante d’initialisation doit être de même type,

➳ pour un objet de type entier, réel ou complexe, la constante d’initialisation peut être de type entier, réel ou complexe.

Exemple:

REAL A, B, C INTEGER N, M LOGICAL arret

DATA A, B, N/1.0, 2.0, 17/

DATA C/2.6/, M/3/

DATA arret/.FALSE./

(22)

22

La déclaration Le symbole ”=”

Fortran permet d’initialiser une variable lors de sa déclaration a` l’aide du symbole ”=”.

Dans ce contexte, les caractères :: sont obligatoires.

TYPE [, attributs] :: v1 =c1[, ..., vi =ci, ...]

ou` vi est le nom de la variable a` initialiser et ci sa valeur Exemple

PROGRAM initialisation

INTEGER :: debut = 100 REAL :: valeur = 76.3

LOGICAL :: drapeau = .TRUE.

...

END PROGRAM initialisation

(23)

23

Les entrées/sorties Syntaxe générale

- Lecture

Read (périphérique, format [, options]) liste Read format, liste

- Ecriture

Write (périphérique, format [, options]) liste Print format, liste

Entrées-sorties standards : Ecriture en format libre print *, ‘Energie totale = ‘, Etot, ‘ eV’

write(*,*) ‘Energie totale = ‘, Etot, ‘ eV’

Le * associé au format indique à l’instruction d’écriture de formater

automatiquement les données. (Ex: données numériques écrites avec toutes leurs décimales représentées en machine)

Le * associé au périphérique (write) correspond à la sortie standard.

Exemple:

Write (*,*) a, b, c, d

Écrit les valeurs a, b, c, d sur une ligne, séparées par des blancs.

Write (*,*) ‘ La valeur de A est ‘, A

Ecrit la chaine « La valeur de A est », suive de la valeur A.

(24)

24

Les entrés /sorties

Entrées-sorties standards : Lecture en format libre read *, title, nb, x

read(*,*) title, nb, x

Le * signifie que la conversion des données vers leur représentation machine doit se faire automatiquement.

Les données d’entrée doivent être séparées - par des espaces

- ou des virgules

- ou des fins de ligne (à éviter)

Les chaînes de caractères se notent entre apostrophes (') ou entre guillemets (") Exercice 1:

Ecrire un programme fortran qui demande à l’utilisateur de saisir son nom et son prénom puis afficher bonjour suivi de nom et de prénom de l’utilisateur.

(25)

25

Les entrées /sorties

Algorithme bonjour

Caractère nom, prénom Début

Ecrire " donner votre nom : "

Lire (nom)

Ecrire " donner votre prénom : "

Lire (prénom)

Ecrire " bonjour", nom, prénom

Fin

Program bonjourr

CHARACTER * 50 nom, prenom Write(*,*)’donner votre nom’

Write (*,*) ‘donner votre prenom’

Read * , nom,prenom

Write (*,*)’mon nom est ‘,nom , ‘et mon prenom est ‘, prenom

end

(26)

26

Les opération arithmétique:

Les opérateurs mathématiques Opérateurs relationnels

Ces opérateurs admettent des opérandes de type INTEGER, REAL ou CHARACTER. Seuls les opérateurs ==, /= peuvent s’appliquer a` des expressions de type COMPLEX.

Exemples

N .GE. 0 X .LT. Y Z /= 3.7 (B**2 - 4*A*C) .GT. 0.

(27)

Mme BELALIA.A 27

Les opérateurs:

Les opérateurs logiques:

(28)

28

les structures de contrôle

Ce sont des instructions qui permettent de faire des itérations ou des tests sur des variables.

I. Structures de contrôle conditionnel :

Ces structures sont utilisées pour décider de l'exécution d'un bloc d'instruction : est-ce-que ce bloc est exécuté ou non. Ou bien pour choisir entre l'exécution de deux blocs différents.

I.1 Expression logique

Un prédicat est un énoncée ou proposition qui peut être vraie ou fausse.

En mathématiques, c’est une expression contenant une ou plusieurs variables et qui est susceptible de devenir une proposition vraie ou fausse selon les valeurs attribuées à ces variables.

Exemple :

(10 < 15) prédicat, après l’évaluation qui est vrai, devient une proposition vraie.

(10 < 3) une proposition fausse.

(29)

Mme BELALIA.A 29

I. Structures de contrôle conditionnel : I.2 Evaluation d'une expression logique

Une condition est une expression de type logique. Ils lui correspondent deux valeurs possibles VRAI et FAUX qu'on note par V ou F.

Considérons deux variables logiques A et B. Voyons quels sont les opérateurs logiques et leurs ordres de priorités.

Notons que :

(A = faux)  non A (A = vrai)  A

Les opérateurs logiques sont : La négation : "non"

L'intersection : "et"

L'union : "ou"

Notation et Ordre de priorité des opérateurs logiques

1. Non : — 2. Et :  3. ou : 

(30)

30

I. Structures de contrôle conditionnel : I.2 Evaluation d'une expression logique

La négation d'une condition (A) soit A un variable logique

Si A = true alors Non A = False et si A= False alors Non A = True L’intersection et l’union de deux variable logique A et B

I.2 Le test If :

Il contient les cas suivants :

Un test simple contient un seul bloc d'instructions.

Cas 1 : IF (expression logique) then Instructions ! Exécuté si la condition est vraie END IF

A B ET OU

False False False False

False True False True

True False False True

True True True True

(31)

31

I. Structures de contrôle conditionnel : I.2 Le Test If

Exemple : Écrire un programme Fortran qui demande un entier (A) à l’utilisateur, teste si ce nombre est positif (A≥ 0) et affiche “positif”.

Programme fortran : program positif

INTEGER A

write(*,*) ’ entrer la valeur de A ’ read(*,*) A

IF (A.GE.0) then

write(*,*) ’ positif ’ END IF

END

(32)

32

I. Structures de contrôle conditionnel : I.2 Le Test If

Cas 2:

IF (expression logique) then Instructions 1

ELSE

Instructions 2 END IF

Exemple : Écrire un algorithme qui demande un entier (A) à l’utilisateur, teste si ce nombre est positif (A ≥ 0) ou non, et affiche “positif” ou “négatif”.

Solution

Programme fortran : program positif

INTEGER A

write(*,*)’ entrer la valeur de A ’ read(*,*) A

IF (A.GE.0) then

write(*,*)’ positif ’ ELSE

write(*,*)’ négatif ’ END IF

(33)

33

I. Structures de contrôle conditionnel : I.2 Le Test If

Cas 03:

IF (expression logique) then Instructions 1

ELSEIF

Instructions 2

….

ELSEIF

Instructions n-1 ELSE

Instructions n END IF

Exemple:Écrire un programme fortran qui demande un entier à l’utilisateur, teste si ce nombre est

strictement positif, nul ou strictement négatif, et affiche ce résultat.

SolProgramme fortran : program positif

INTEGER A

write(*,*)’ entrer la valeur de A ’ read(*,*) A

IF (A.GE.0) then write(*,*)’ positif ’ ELSE

IF (A.EQ.0) then write(*,*)’ nul ’ ELSE

write(*,*)’ négatif ’ END IF

END END

(34)

34

I. Structures de contrôle conditionnel : I.2 Le Test If

12.3 Tests Imbriques

Plusieurs structures conditionnelles peuvent être imbriquées, si bien que dans une structure peut (peuvent) figurer une ou plusieurs structure(s) conditionnelle(s), et les tests peuvent avoir un degré quelconque d'imbrications.

Exemple :

Ecrire un programme fortran qui demande à l’user la température de l’eau et afficher son état

(solide, liquide, vapeur).

Solution

program températureH2O INTEGER T

write(*,*)’ entrer la valeur de T

read(*,*) T

IF (T.LE.0) then

write(*,*)’ C’’est de la glace ’ ELSE

IF (T.LT.100) then write(*,*)’ C’’est du liquide ’

ELSE

write(*,*)’ C’’est de la vapeur ’

END IF END

(35)

35

I. Structures de contrôle conditionnel : I.3 Instruction SELECT CASE

Une instruction SELECT CASE, souvent appelée instruction CASE, est utilisée pour comparer une

valeur donnée avec des constantes présélectionnées et prendre une action en fonction de la première constante à faire correspondre. Une instruction case peut être pratique pour choisir entre une série de possibilités ou de cas différents.

La variable ou l'expression de requête de sélection doit être de type entier, caractère ou logique. Un type réel n'est pas permis

Le format général de l'instruction SELECT CASE est:

select case (variable) case (selecteur1)

< instruction (s) fortran1 >

case (selecteur2)

< instruction (s) fortran2 >

case (selecteur n)

< instruction (s) fortran n >

case default

< instruction (s) fortran par defaut>

end select

(36)

36

I. Structures de contrôle conditionnel : I.3 Instruction SELECT CASE

où <instruction (s) fortran -1>,…. instruction (s) fortran-n> et <instruction(s) fortran par defaut> sont des séquences d'une ou de plusieurs instructions exécutables. Les sélecteurs-1,... et sélecteur-n sont appelés listes de sélection.

Exemple : le nombre de jours de mois Program mois

integer :: nmois, nbrjours,year

write (*,*)’’entrer le numero de mois et l’’année’’

read(*,*) nmois ,year select case (nmois) case (1,3,5,7,8,10,12) nbrjours = 31

case (2)

if (mod(year,4)==0) then nbrjours = 29

else

nbrjours = 28 end if

case (4,6,9,11) nbrjours = 30 case default

write (*,*) "Error, numéro n’est pas valide."

(37)

37

I. Structures de contrôle conditionnel : I.3 Instruction SELECT CASE

pour un intervalle de valeurs , la syntaxe est comme suite Selecte case (variable de test)

Case(valeur min: valeur max) instructions…..

exemple : selon la note on classe deux grades select case (note)

Case (90:)

write (*,*) "Grade is: A"

case(80:89) ! veut dire que 80<= note >= 89 write (*,*) "Grade is: B«

End select

(38)

Mme BELALIA.A 38

Références

Documents relatifs

La réplication est un processus selon lequel un nouveau brin d’ADN est synthétisé à partird’un brin matrice d’ADN, dont il est complémentaire.Chaque brin de la

1 - Calculez l’intensité du champ diffracté sur l’écran par une fente rectangulaire centrée sur O’ de dimension a (selon l’axe x’) et b (selon l’axe y’).. Que se

2 - Considérons maintenant le cas plus réaliste d’une source étendue, de largeur b dans la direction (Oy), centrée sur l’axe optique.. Écrire le terme d’interférences sous

L’extraction par soxhlet a été faite seulement pour Daphne gnidium dans trois solvants (l’hexane, l’acétate d’éthyle et le méthanol) afin de faire une

- ETAPE 4 : introduction de EDGE aux cellules de réseau GPRS existant : lorsque les ressources data disponible de chaque cellules n’est plus suffisante pour transporter le

1er volet : Suivi du pH et de son effet sur la croissance des bifidobacteries et leur viabilité pendant 21 jours dans un yaourt bifidus préparé à l’usine... --- 2eme volet :

comme les 3-cycles sont tous conjugués eux, alors dès que H en contient un, il contient tout les autres, même remarque pour les élément d’ordre 2.. Comme les 5-Sylow

❖ Apprendre à identifier les messages en entrée et en sortie d’un système et les modéliser... • L'étude préliminaire permet de recueillir des informations initiales sur