• Aucun résultat trouvé

Méthodes Numériques Algorithmique numérique François Cuvelier

N/A
N/A
Protected

Academic year: 2022

Partager "Méthodes Numériques Algorithmique numérique François Cuvelier"

Copied!
54
0
0

Texte intégral

(1)

Méthodes Numériques

Algorithmique numérique

François Cuvelier

Laboratoire d’Analyse Géométrie et Applications Institut Galilée

Université Paris XIII.

24 mars 2014

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 1 / 40

(2)

Plan

1 Introduction

2 Pseudo-langage algorithmique Les bases

Les instructions structurées

3 Méthodologie de construction d’un algoritme Exercices

4 Pseudo-langage algorithmique (suite) Les fonctions

Exemple : résolution d’une équation du premier degré Exemple : résolution d’une équation du second degré

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 2 / 40

(3)

Définition

Définition (Petit Robert 97)

Algorithmique : Enchaînement d’actions nécessaires à l’accomplissement d’une tâche.

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 3 / 40

(4)

Exemple 1 : permutation

Nous voulons permutter deux voitures sur un parking de trois places numérotées de 1 à 3 et ceci sans géner la circulation.

La première voiture, une Saxo, est sur l’emplacement 2,la seconde, une Clio, est sur l’emplacement 3.

Donner un algorithme permettant de résoudre cette tâche.

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 4 / 40

(5)

Exemple 2 : équation du premier degré

Donner un algorithme permettant de résoudre ax b

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 5 / 40

(6)

Caractéristiques d’un bon algorithme

Il ne souffre d’aucune ambiguitéñtrès clair.

Combinaison d’opérations (actions) élémentaires.

Pour toutes les données d’entrée, l’algorithme doit fournir un résultat en un nombre fini d’opérations.

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 6 / 40

(7)

Première approche méthodologique

Etape 1 : Définir clairement le problème.

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 7 / 40

(8)

Première approche méthodologique

Etape 1 : Définir clairement le problème.

Etape 2 : Rechercher une méthode de résolution (formules, ...)

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 7 / 40

(9)

Première approche méthodologique

Etape 1 : Définir clairement le problème.

Etape 2 : Rechercher une méthode de résolution (formules, ...) Etape 3 : Ecrire l’algorithme (par raffinement successif pour des

algorithmes compliqués).

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 7 / 40

(10)

Plan

1 Introduction

2 Pseudo-langage algorithmique Les bases

Les instructions structurées

3 Méthodologie de construction d’un algoritme Exercices

4 Pseudo-langage algorithmique (suite) Les fonctions

Exemple : résolution d’une équation du premier degré Exemple : résolution d’une équation du second degré

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 8 / 40

(11)

Vocabulaire de base

constantes,variables,

opérateurs (arithmétiques, relationnels, logiques),

expressions,

instructions (simples et composées),

fonctions.

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 9 / 40

(12)

Données et constantes

Donnéeñintroduite par l’utilisateur

Constanteñsymbole, identificateur non modifiable

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 10 / 40

(13)

Variables

Définition

Une variable est un objet dont la valeur est modifiable, qui possède un nom et un type (entier, caractère, réel, complexe, tableau, matrice, vecteur...).

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 11 / 40

(14)

Opérateurs arithmétiques

Nom Symbole Exemple

addition a b

soustraction ab

opposé a

produit ab

division { a{b

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 12 / 40

(15)

Opérateurs relationnels

Nom Symbole Exemple

identique ab

différent ab

inférieur   a b

supérieur ¡ a¡b

inférieur ou égal   a b supérieur ou égal ¡ a¡b

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 13 / 40

(16)

Opérateurs logiques

Nom Symbole Exemple

négation a

ou | a|b

et & a&b

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 14 / 40

(17)

Opérateur d’affectation

Nom Symbole Exemple

affectation ab

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 15 / 40

(18)

Expressions

Définition

Une expression est un groupe d’opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme algébrique qui représente une valeur (i.e. un élément de donnée simple)

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 16 / 40

(19)

Expressions

Définition

Une expression est un groupe d’opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme algébrique qui représente une valeur (i.e. un élément de donnée simple)

Exemple d’expression numérique

pbb4acq{p2aq

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 16 / 40

(20)

Expressions

Définition

Une expression est un groupe d’opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme algébrique qui représente une valeur (i.e. un élément de donnée simple)

Exemple d’expression numérique

pbb4acq{p2aq Opérandes ñ identifiants a,b,c,

constantes 4 et 2.

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 16 / 40

(21)

Expressions

Définition

Une expression est un groupe d’opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme algébrique qui représente une valeur (i.e. un élément de donnée simple)

Exemple d’expression numérique

pbb4acq{p2aq Opérandes ñ identifiants a,b,c,

constantes 4 et 2.

Opérateurs ñ symboles,et{

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 16 / 40

(22)

Expressions

Définition

Une expression est un groupe d’opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme algébrique qui représente une valeur (i.e. un élément de donnée simple)

Exemple d’expression booléenne

px  3.14q

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 17 / 40

(23)

Expressions

Définition

Une expression est un groupe d’opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme algébrique qui représente une valeur (i.e. un élément de donnée simple)

Exemple d’expression booléenne

px  3.14q

Opérandes ñ identifiants x et contantes 3.14

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 17 / 40

(24)

Expressions

Définition

Une expression est un groupe d’opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme algébrique qui représente une valeur (i.e. un élément de donnée simple)

Exemple d’expression booléenne

px  3.14q

Opérandes ñ identifiants x et contantes 3.14 Opérateurs ñ symboles 

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 17 / 40

(25)

Instructions

Définition

Une instruction est un ordre ou un groupe d’ordres qui déclenche l’exécution de certaines actions par l’ordinateur. Il y a deux types d’instructions : simple et structuré.

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 18 / 40

(26)

Instructions simples

affectation d’une valeur a une variable.

appel d’une fonction (procedure, subroutine, ... suivant les langages).

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 19 / 40

(27)

Instructions structurées

1 les instructions composées, groupe de pulsieurs instructions simples,

2 les instructions répétitives, permettant l’exécution répétée d’instructions simples, (i.e. boucles «pour», «tant que»)

3 les instructions conditionnelles, lesquels ne sont exécutées que si une certaine condition est respectée (i.e. «si»)

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 20 / 40

(28)

Exemple : boucle «pour»

Données : n

1: S 0

2: Pour i 1 à n faire

3: SS cospiˆ2q

4: Fin Pour

Mais que fait-il ?

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 21 / 40

(29)

Exemple : boucle «pour»

Données : n

1: S 0

2: Pour i 1 à n faire

3: SS cospiˆ2q

4: Fin Pour

Mais que fait-il ? Calcul de S

n

¸

i1

cospi2q

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 21 / 40

(30)

Exemple : boucle «tant que»

1: i 0, x 1

2: Tantque i  1000 faire

3: x x ii

4: i i 1

5: Fin Tantque

Mais que fait-il ?

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 22 / 40

(31)

Exemple : boucle «tant que»

1: i 0, x 1

2: Tantque i  1000 faire

3: x x ii

4: i i 1

5: Fin Tantque

Mais que fait-il ? Calcul de x 1

999

¸

i0

iˆ2

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 22 / 40

(32)

Exemple : instructions conditionnelles «si»

Données :

note : un réel.

1: Si note¡12 alors

2: affiche(’gagne’)

3: Sinon Si note¥8 alors

4: affiche(’oral’)

5: Sinon

6: affiche(’perdu’)

7: Fin Si

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 23 / 40

(33)

Plan

1 Introduction

2 Pseudo-langage algorithmique Les bases

Les instructions structurées

3 Méthodologie de construction d’un algoritme Exercices

4 Pseudo-langage algorithmique (suite) Les fonctions

Exemple : résolution d’une équation du premier degré Exemple : résolution d’une équation du second degré

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 24 / 40

(34)

Description du problème

Spécification d’un ensemble de données

Origine : énoncé, hypothèses, sources externes, ...

Spécification d’un ensemble de buts à atteindre Origine : résultats, opérations à effectuer, ...

Spécification des contraintes

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 25 / 40

(35)

Recherche d’une méthode de résolution

Clarifier l’énoncé.

Simplifier le problème.

Ne pas chercher à le traiter directement dans sa globalité.

S’assurer que le problème est soluble (sinon problème d’indécidabilité !)

Recherche d’une stratégie de construction de l’algorithme

Décomposer le problème en sous problèmes partiels plus simples : raffinement.

Effectuer des raffinements successifs.

Le niveau de raffinement le plus élémentaire est celui des instructions.

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 26 / 40

(36)

Réalisation d’un algorithme

Le type des données et des résultats doivent être précisés.

L’algorithme doit fournir au moins un résultat.

L’algorithme doit être exécuté en un nombre fini d’opérations.

L’algorithme doit être spécifié clairement, sans la moindre ambiguïté.

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 27 / 40

(37)

Exercice 1

On cherche les solutions réelles de l’équation

ax2 bx c 0, (1)

en supposant que aPR,bPRet c PRsont donnés.

Ecrire un algorithme permettant de résoudre cette équation.

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 28 / 40

(38)

Exercice 2

Ecrire un algorithme permettant de calculer Spxq

n

¸

k1

k sinp2kxq

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 29 / 40

(39)

Exercice 3

Ecrire un algorithme permettant de calculer Ppzq

k

¹

n1

sinp2kz{nqk

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 30 / 40

(40)

Exercice 4

Soit la série de Fourier xptq 4A

π

"

cosωt1

3cos 3ωt 1

5cos 5ωt1

7cos 7ωt

*

.

1 Ecrire un algorithme permettant de calculer xptqtronquée au trois premiers termes, avecωet A1.

2 Même question avec une troncature au n-ième terme.

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 31 / 40

(41)

Exercice 5

Reprendre les quatre exercices précédants en utilisant les boucles

«tant que».

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 32 / 40

(42)

Plan

1 Introduction

2 Pseudo-langage algorithmique Les bases

Les instructions structurées

3 Méthodologie de construction d’un algoritme Exercices

4 Pseudo-langage algorithmique (suite) Les fonctions

Exemple : résolution d’une équation du premier degré Exemple : résolution d’une équation du second degré

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 33 / 40

(43)

Les fonctions

Les fonctions permettent

d’automatiser certaines tâches répétitives au sein d’un même algorithme,

d’ajouter à la clarté de la l’algorithme,

l’utilisation de portion de code dans un autre algorithme, ...

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 34 / 40

(44)

Les fonctions prédéfinies

les fonctions d’affichage et de lecture : Affiche, Lit

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 35 / 40

(45)

Les fonctions prédéfinies

les fonctions d’affichage et de lecture : Affiche, Lit les fonctions mathématiques :

sin, cos, exp,

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 35 / 40

(46)

Les fonctions prédéfinies

les fonctions d’affichage et de lecture : Affiche, Lit les fonctions mathématiques :

sin, cos, exp,

les fonctions de gestion de fichiers ...

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 35 / 40

(47)

Ecrire ses propres fonctions

1 Que doit-on calculer/réaliser précisement (but) ?

2 Quelles sont les données (avec leurs limitations) ?

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 36 / 40

(48)

Syntaxe

Fonctionrargs1, . . . ,argsns NOMFONCTION( arge1, . . . ,argem) instructions

Fin Fonction

Fonction args NOMFONCTION( arge1, . . . ,argem) instructions

Fin Fonction

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 37 / 40

(49)

équation du premier degré

Ecrire une fonction permettant de résoudre ax b0

But : Données : Résultats :

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 38 / 40

(50)

équation du premier degré

Ecrire une fonction permettant de résoudre ax b0

But :

trouver x PRsolution de ax b0.

Données : Résultats :

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 38 / 40

(51)

équation du premier degré

Ecrire une fonction permettant de résoudre ax b0

But :

trouver x PRsolution de ax b0.

Données : aPRet b PR. Résultats :

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 38 / 40

(52)

équation du premier degré

Ecrire une fonction permettant de résoudre ax b0

But :

trouver x PRsolution de ax b0.

Données : aPRet b PR. Résultats : x PR.

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 38 / 40

(53)

équation du premier degré

Algorithme 1 Exemple de fonction : Résolution de l’équation du pre- mier degré ax b0.

Données : a : nombre réel différent de 0 b : nombre réel.

Résultat : x : un réel.

1: Fonction x REPD( a,b )

2: x b{a

3: Fin Fonction

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 39 / 40

(54)

équation du second degré

On cherche les solutions réelles de l’équation

ax2 bx c 0, (2)

Pour celà, on poseb24ac

si 0 alors les deux solutions sont complexes, si0 alors la solution est x 2ab,

si¡0 alors les deux solutions sont x1 b

?

2a et x2 b

?

2a .

Exercice

1 Ecrire la fonctiondiscriminantpermettant de calculer le discriminant de l’équation (2).

2 Ecrire la fonctionRESDpermettant de résoudre l’équation (2) en utilisant la fonctiondiscriminant.

3 Ecrire un programme permettant de valider ces deux fonctions.

Cuvelier F. (ENER1A & AIR1) Méthodes Numériques 24 mars 2014 40 / 40

Références

Documents relatifs

Ecrire les fonctions Norme et NormeInf permettant de calculer respectivement la norme p et la norme inni d'un vecteur.. Ecrire un programme permettant de valider ces

Une expression est un groupe d’opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme al- gébrique qui représente une valeur (i.e.

Une expression est un groupe d'opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme algébrique qui représente une valeur (i.e.

Ecrire une fonction RSLC HOLESKY permettant de résoudre un système linéaire en utilisant la factorisation positive de Cholesky. On supposera les fonctions R ES T RI I NF et R ES T RI

Comparer les programmes prog2 et prog3 avec m assez grand ( m 4000 par exemple) en utilisant l'outil Matlab Proler... Ecrire le programme comparaison permettant de comparer

Une expression est un groupe d’opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme algébrique qui représente une valeur (i.e.

Méthodes de Newton-Cotes Méthodes composites Autres méthodes Intégrales multiples. 4 Résolution de systèmes

Une expression est un groupe d'opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme algébrique qui représente une valeur (i.e.