1 |
+ |
|
2 |
+ |
|
3 |
+ |
|
4 |
+ |
|
5 |
+ |
|
6 |
+ |
|
7 |
+ |
\begin{encadre}{Objectif de l'introduction} |
8 |
+ |
L'ensemble des solutions du cours est résolu avec un ordinateur. L'objectif de ce chapitre est de comprendre la manière dont un ordinateur effectue les calculs de base : addition, soustraction, multiplication |
9 |
+ |
\end{encadre} |
10 |
+ |
\\[1cm] |
11 |
+ |
\begin{encadre}{Connaissances antérieures nécessaires} |
12 |
+ |
\begin{itemize} |
13 |
+ |
\item les mathématiques : représentation de nombre dans différentes bases, Calcul différentiel. |
14 |
+ |
\item programmation de base en Basic ou C : les types, les opérations élémentaires et la structuration de programme en mode console |
15 |
+ |
\end{itemize} |
16 |
+ |
|
17 |
+ |
\end{encadre} |
18 |
+ |
|
19 |
+ |
|
20 |
|
\section{Mathématiques versus méthodes numériques} |
21 |
|
Les mathématiques sont des méthodes génériques et exactes. En réalité, ces méthodes sont rarement applicables sur des problèmes d'ingénierie. |
22 |
|
\\ |
133 |
|
Pour représenter un nombre entier signé, on utilise la représentation des entiers positifs et on ajoute une représentation |
134 |
|
\begin{itemize} |
135 |
|
\item par complément à 2 |
136 |
< |
\item par excés |
136 |
> |
\item par excès |
137 |
|
\end{itemize} |
138 |
|
\subsubsection{Représentation par complément à 2} |
139 |
|
\begin{eqnarray*} |
147 |
|
(1101)_2&=&-1*2^3+1*2^2+0*2^1+1*2^0=-8+4+1=(-3)_{10}\\ |
148 |
|
(-6)_{10}&=&-2^{n-1}+2=-2^3+2^1=(1010)_2 |
149 |
|
\end{eqnarray*} |
150 |
< |
\subsubsection{Représentation par excés} |
150 |
> |
\subsubsection{Représentation par excès} |
151 |
|
Sur n bits on peut représenter $2^n$ entiers. On ajoute au nombre une valeur $d$. $-d$ représente le plus petit nombre entier représentable. |
152 |
|
En général $d=2^n$ ou $d=2^{n-1}$ .\\ |
153 |
|
Exemple avec 4 bits et $d=2^3=8$ |
202 |
|
\item troncature : on limite le nombre de bits et on supprime le reste : $m=d_1*b^{-1}+d_2*b^{-2}+d_3*b^{-3}+...+d_n*b^{-n}$ |
203 |
|
\item arrondi : on ajoute $\frac{b}{2}$ au $(n+1)^{eme}$ bit et on fait une troncature à $n$ bits. |
204 |
|
\end{itemize} |
205 |
< |
A l'aide de cette notation il y a une infinité de solution pour représenter un nombre réel. Une norme a été établie pour les ordinateurs : la norme IEEE-754. Pour les ordinateurs à 32 bits où 64 bits, il existe deux types de nombres reéls : |
205 |
> |
A l'aide de cette notation il y a une infinité de solution pour représenter un nombre réel. Une norme a été établie pour les ordinateurs : la norme IEEE-754. Pour les ordinateurs à 32 bits où 64 bits, il existe deux types de nombres réels : |
206 |
|
\begin{itemize} |
207 |
|
\item les simples précisions (single ou float selon les langages) codés sur 32 bits. |
208 |
|
\item les doubles précisions (double dans les langages) codés sur 64 bits. |
295 |
|
\begin{eqnarray*} |
296 |
|
(1)_{10}=(00111111100000000000000000000000)_2 |
297 |
|
\end{eqnarray*} |
298 |
< |
alors qu'en entier non signé il s'ecrit : |
298 |
> |
alors qu'en entier non signé il s?écrit : |
299 |
|
\begin{eqnarray*} |
300 |
|
(1)_{10}=(00000000000000000000000000000001)_2 |
301 |
|
\end{eqnarray*} |
313 |
|
$\epsilon '=\epsilon$\\ |
314 |
|
$\epsilon=\frac{\epsilon}{2}$\\ |
315 |
|
} |
316 |
< |
precision$=\epsilon '$\\ |
316 |
> |
précision$=\epsilon '$\\ |
317 |
|
\caption{Calcul de la précision d'un flottant} |
318 |
|
\end{algorithm} |
319 |
|
\hspace{3cm}\\ |
320 |
|
\\ |
321 |
< |
Les langages généralement utilisés pour mettre en oeuvre des méthodes numériques sont le C ou le fortran. Dans ce cours les langages utilisés sont le C ou le visual basic et les travaux sont réalisés selon le principe suivant : |
321 |
> |
Les langages généralement utilisés pour mettre en ?uvre des méthodes numériques sont le C ou le Fortran. Dans ce cours les langages utilisés sont le C ou le visual basic et les travaux sont réalisés selon le principe suivant : |
322 |
|
\begin{itemize} |
323 |
|
\item les datas sont enregistrées dans un fichier texte |
324 |
|
\item un programme console (sans interface graphique) qui permet de résoudre le problème. |
326 |
|
\end{itemize} |
327 |
|
\hspace{1cm}\\ |
328 |
|
Un exemple de programme est disponible dans le portail de cours : premierexemple.zip Il illustre le principe de programme console en effectuant simplement une table de multiplication. |
329 |
+ |
\\[2cm] |
330 |
+ |
\begin{encadre}{À retenir} |
331 |
+ |
Les calculs effectués avec un ordinateur sont entachés d'erreur numérique. Cette numérique doit être prise en compte dans les futurs calculs ou analyses. La programmation d'une solution doit être rigoureuse pour minimiser cette erreur numérique. |
332 |
+ |
\end{encadre} |