www.facultedegenie.net
SITE INDEPENDANT (non-officiel)
Koliet al-Handassah
FACULTE DE GENIE (LIBAN)
Faculty of Engineering (Lebanon)

SPECIAL... Cliquer ici... Click here...
(Ad/info)

Zone PROF - Zone INGENIEUR - Zone ETUDIANT - Zone VISITEUR

Next Page N.112

* Guest-Book *
* News-Group *
Suggest update

f
a
c
u
l
t
e
d
e
g
e
n
i
e
.
n
e
t

=

w
w
w
.
f
a
c
u
l
t
e
d
e
g
e
n
i
e
.
n
e
t

Dr.M.Z.

Informatique : Pascal (Chap.II) et Tous les Langages !

ERREURS OU LIMITES DES CALCULS
NUMERIQUES ET INFORMATIQUES
(c) Dr Mustapha ZIADE'

Dr.M.Z.

This text copyright = www.ziade.net
Ce texte vient de ©
www.ziade.net

II.1) Un calcul numérique ou informatique n'est pas un calcul mathématique

Considérons une calculette (ou un ordinateur), affichons le nombre 2, effectuons N fois la racine carrée (de l'affichage), effectuons ensuite N fois le carré (de l'affichage), nous obtenons alors un nombre différent de 2 !!!
Par exemple (avec une calculette) pour N=10, j'obtiens finalement 1.9996324 au lieu de 2.

Considérons les maths, prenons le nombre a=2, effectuons N fois la racine carrée, effectuons ensuite N fois le carré, nous obtenons alors évidemment le même nombre a=2 qu'au départ.

- Conclusion:
ne pas confondre calcul numérique (ou informatique) et calcul mathématique.

© Dr Mustapha Ziade'

Dr.M.Z.

II.2) La précision dépend du nombre de chiffres significatifs

Considérons une calculette (ou un ordinateur), affichons le nombre 103 (=1000 ou 10^3 ou 1E3), ajoutons lui le nombre 10-3 (=0.001 ou 10^-3 ou 1E-3), le résultat de l'addition est égal à 1000.001 (=1000+0.001).

Considérons la même calculette (ou ordinateur), affichons le nombre 1070 (=10^70 ou 1E70), ajoutons lui le nombre 1, le résultat numérique de l'addition est égal à 1070, c.-à-d. 1070+1=1070 !!!

Donc la précision ne dépend pas directement du plus petit nombre positif affichable. Si ce nombre est par exemple 10-99 alors ceci ne signifie pas que la précision est 10-99.

Considérons les maths, prenons le nombre a=1070, ajoutons lui le nombre b=1, nous obtenons c=a+b avec évidemment c>a. Donc mathématiquement: 1070+1>1070.

- Conclusion: la précision dépend directement du nombre de chiffres significatifs
(le nombre de chiffres significatifs correspond au nombre de chiffres affichables).

Seule la précision relative a vraiment une signification pratique (comme en physique).

© Dr Mustapha Ziade'

Dr.M.Z.

II.3) Erreur UNDERFLOW

Considérons une calculette (ou un ordinateur), affichons le nombre 10-99 (=10^-99 ou 1E-99), divisons le par 10, le résultat obtenu est égal à 0 (au lieu de 10-100). Cette erreur s'appelle erreur d'underflow, elle est rarement (presque jamais!) signalée par la machine.
(Rappel: la précision n'est pas 10
-99, elle dépend du calcul.)

- Conclusion:
(seule) l'erreur "underflow" dépend du plus petit nombre calculable (positif affichable).

© Dr Mustapha Ziade'

Dr.M.Z.

II.4) Erreur OVERFLOW

Considérons une calculette (ou un ordinateur), affichons le nombre 1099 (=10^99 ou 1E99), multiplions le par 10, nous obtenons une erreur (au lieu de 10100). Cette erreur s'appelle erreur d'overflow (ou erreur de "dépassement de capacité"), elle est toujours signalée par la machine.

- Conclusion: l'erreur "overflow" dépend du plus grand nombre calculable ou affichable.

© Dr Mustapha Ziade'

Dr.M.Z.

II.5) Erreur de division par zéro

Considérons une calculette ou un ordinateur, affichons le nombre 1, divisons le par 0, nous obtenons une erreur (au lieu de +infini ). Cette erreur s'appelle "division par zéro", elle est toujours signalée par la machine.

© Dr Mustapha Ziade'

Dr.M.Z.

II.6) Erreur d'arrondi

Nous avons déjà vu ce type d'erreur dans les paragraphes 1 et 2 ci-dessus. Cette erreur est due au fait que la calculatrice ou l'ordinateur utilisent un nombre fini de chiffres significatifs. Tandis que mathématiquement un réel peut avoir un nombre infini de chiffres après la virgule (comme c'est le cas pour le nombre transcendant p=pi=3,1415926...etc...).

Considérons une calculette (fictive) ayant 7 chiffres significatifs alors pour cette calculette:
1.234567 = 1.2345673 = 1.2345674 = 1.234567259 = …
et aussi:
12345.67 = 12345.673 = 12345.674 = 12345.67259 = …

© Dr Mustapha Ziade'

Dr.M.Z.

II.7) Erreurs dues à l'ordre de grandeur

Considérons une calculette ou un ordinateur, effectuons le calcul
( 2 + 10
70 - 1070 ), nous obtenons 0 au lieu de 2.
Pour obtenir le bon résultat il suffit de faire ( 2 + (10
70 - 1070) ).
Cet exemple (volontairement simple) permet de comprendre les erreurs possibles.

- Conclusion: il faut essayer de prevoir les ordres de grandeur des variables.

© Dr Mustapha Ziade'

Dr.M.Z.

II.8) Erreurs dues à un pas trop petit

Souvent en informatique, la différentielle dx est remplacée par dx = pas (ou step en anglais). Mathématiquement: plus ce pas est petit, plus la précision est bonne (théoriquement dx=10-70 est meilleur que 10-3). Mais numériquement: ce pas (dx) est limité par le calcul et par le nombre de chiffres significatifs (pratiquement si nous calculons par exemple [x+dx] avec x=2 et dx=10-70, nous obtiendrons 2 au lieu de 2+10-70).

- Attention: le choix du pas dépend à la fois du nombre de chiffres significatifs et du calcul effectué.

Dans les exemples suivants nous supposons que nous avons 7 chiffres significatifs.
-Ex.1: si nous calculons [x³+
dx] avec x=2 alors dx=0.001 est possible (numériquement).
-Ex.2: si nous calculons [x³+
dx] avec x=2000 alors dx=0.001 est impossible (numériquement).
-Ex.3: si nous calculons [x+
dx] avec x=2 alors dx=10-30 est impossible (numériquement).
-Ex.4: si nous calculons [x+
dx] avec x=10-25 alors dx=10-30 est possible (numériquement).

- Conclusion:
il faut adapter le "pas" au calcul effectué et au nombre de chiffres significatifs.

© Dr Mustapha Ziade'

Dr.M.Z.

II.9) Erreurs dues aux "cas particuliers"

Considérons, par exemple, un programme de résolution d'équations du second degré (ax²+bx+c=0) qui utilise directement le discriminant D sans considérer le cas particulier où a=0.
Si ce cas particulier arrive, alors il y aura une erreur pendant l'exécution (
runtime error).

Cet exemple (volontairement simple) ne fait qu'évoquer les erreurs dues aux cas particuliers. Pour cette raison, le programmeur doit toujours prévoir tout les cas possibles.

© Dr Mustapha Ziade'

Dr.M.Z.

II.10) Annexe: Binaire, Hexadécimal, Octet, kilo, Méga, Giga

Nous sommes habitués au système décimal (base 10). Mais, quelle que soit la base, le principe est le même.

(a) Base décimale ou base 10 :
le nombre 1997 signifie 7 + 9*10 + 9*10² + 1*10³ ,
alors 10 s'écrit 10.

(b) Base binaire ou base 2 :
le nombre 1011 signifie 1 + 1*2 + 0*2² + 1*2³ ,
alors 2 en décimal s'écrit 10 en binaire.

(c) Base octale ou base 8 :
le nombre 7052 signifie 2 + 5*8 + 0*8² + 7*8³ ,
alors 8 en décimal s'écrit 10 en octal.

(d) Base hexadécimale ou base 16 :
le chiffre A signifie 10, le B signifie 11, …, le F signifie 15,
alors le nombre CB52 signifie 2 + 5*16 + 11*16² + 12*16³ ,
et 16 en décimal s'écrit 10 en hexadécimal.

(e) Un bit :
Le mot "bit" est l'abréviation de "binary digit" c'est-à-dire chiffre binaire (0 ou 1).

(f) Un octet ou byte :
Un octet ou byte est une suite de 8 bits, ce qui permet de compter de 0 à 255 (cf. binaire).

(g) Un kilo-octet ou kilo :
D'habitude 1 kilo = 1000 (1k=10³, exemple: 1km=1000m),
mais souvent en informatique on dit que: 1
kilo = 210 = 1024 » 1000.

(h) Un méga-octet ou Méga :
D'habitude 1 Méga = 1 million (1M=106, exemple: 1MHz = 1'000'000 Hz),
mais souvent en informatique: 1
Méga = 1024² = 1'048'576 » 1'000'000.

(i) Un giga-octet ou Giga :
De même 1 Giga = 1 milliard = mille millions (1G=109, exemple: 1GHz = 1'000'000'000 Hz),
mais souvent en informatique: 1
Giga = 1024³ = 1 073 741 824 » 1'000'000'000.

© Dr Mustapha Ziade'

Dr.M.Z.

(I) Introduction Générale

(II) Erreurs ou Limites des Calculs Numériques et informatiques *****

(III) Types, Opérateurs, Fonctions et Procédures prédéfinis

(IV) Partie Déclarative d'un programme

(V) Structure d'un programme

(VI) Affectations, Tests, Boucles

(VII) Fonctions, Procédures, Récursivité

(VIII) Fichiers Textes, Fichiers Binaires

(IX) Pointeurs

© Dr Mustapha Ziade'

Dr.M.Z.

(i) FACULTE DE GENIE, Liban. Faculty of Engineering, Lebanon. Faculté de Génie, Université (i) Faculté de Génie, Liban

Zone VISITEUR -
Zone ETUDIANT -

- Zone INGENIEUR
-
Zone PROF...

News, FACULTE DE GENIE, Liban. Faculty of Engineering, Lebanon. Faculté de Génie, Université
Faculté de Génie NEWS


ßáíÉ ÇáåäÏÓÉ - áÈäÇä


Faculty of Engineering
Leban
on

FACULTE DE GENIE
(Génie) LIBAN

Arabic...

1995-2010 (c) Dr M. ZIADE'

SITE INDEPENDANT (non-officiel)
www.facultedegenie.net

E-mail:_webmaster©facultedegenie.net

liste index (liste)
Home (p.1)
Admissions
Examen d'entrée

Départements
Tronc Commun
Génie Civil
Génie Electricité &...
Génie Mécanique

Equipements
Laboratoires
Bibliothèques
Centres informatiques
Photos

Divers
Autres Liens/Links
Histoire des Sciences
Liban / Lebanon
fumer=non, smoke=no

Contacts
Les C.V.
Branche 1
Branche 2 , Branche 3
Organigrammes

Arabic Ar.
English
Francais

Débouchés
Masters (DEA)
News-Group

PC-GENIE
Langage Pascal
Design ZIADEM

Logos+Sites Etudiants
Blog ...
Guest-Book

Suggest update (10a)

>> Next Page N.112 >>

Dr.M.Z.

SPECIAL... Cliquer ici... Click here... (net sponsor)