Arrondi et truncature

Documents pareils
Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Conversion d un entier. Méthode par soustraction

Chapitre 10 Arithmétique réelle

La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient

Logiciel de Base. I. Représentation des nombres

Glossaire des nombres

Le chiffre est le signe, le nombre est la valeur.

Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007

Représentation d un entier en base b

IFT2880 Organisation des ordinateurs et systèmes

Licence Sciences et Technologies Examen janvier 2010

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Rappels Entrées -Sorties

Le codage informatique

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Algorithme. Table des matières

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Codage d information. Codage d information : -Définition-

Représentation des Nombres

LES TYPES DE DONNÉES DU LANGAGE PASCAL

V- Manipulations de nombres en binaire

a) b)

EVALUATION Nombres CM1

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

Représentation d un nombre en machine, erreurs d arrondis

Chapitre 1 I:\ Soyez courageux!

STAGE IREM 0- Premiers pas en Python

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Informatique Générale

Bases de programmation. Cours 5. Structurer les données

Seconde Généralités sur les fonctions Exercices. Notion de fonction.

TP 1. Prise en main du langage Python

Compléments de documentation Scilab : affichage de texte et formatage de nombres

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Priorités de calcul :

OLYMPIADES ACADEMIQUES DE MATHEMATIQUES. 15 mars 2006 CLASSE DE PREMIERE ES, GMF

Les opérations binaires

TP, première séquence d exercices.

Initiation à la Programmation en Logique avec SISCtus Prolog

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Puissances d un nombre relatif

Système binaire. Algèbre booléenne

Développement décimal d un réel

La mémoire. Un ordinateur. L'octet. Le bit

Initiation à la programmation en Python

Algorithmique et Programmation, IMA

Le langage C. Séance n 4

Architecture de l ordinateur

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Compter à Babylone. L écriture des nombres

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

Fonctions homographiques

I- Définitions des signaux.

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

Cours Informatique 1. Monsieur SADOUNI Salheddine

Technique opératoire de la division (1)

Algorithmique et programmation : les bases (VBA) Corrigé

DOCM Solutions officielles = n 2 10.

Diviser un nombre décimal par 10 ; 100 ; 1 000

ReadCard Guide Utilisateur

Cours 7 : Utilisation de modules sous python

TP 1 : 1 Calculs en binaire, octal et hexadécimal

1 Introduction au codage

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Le multiplexage. Sommaire

Chapitre 6. Fonction réelle d une variable réelle

La Clé informatique. Formation Excel XP Aide-mémoire

EVALUATIONS MI-PARCOURS CM2

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

TP3 : Manipulation et implantation de systèmes de fichiers 1

Par combien de zéros se termine N!?

Chapitre 2. Eléments pour comprendre un énoncé

Cours d algorithmique pour la classe de 2nde

Architecture des ordinateurs Introduction à l informatique

ET LO GICIEL D UN S YS T EME IN FORMATIQUE

ASR1 TD7 : Un microprocesseur RISC 16 bits

Organisation des Ordinateurs

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

B = A = B = A = B = A = B = A = Recopier sur la copie chaque expression numérique et la réponse exacte. Réponse A Réponse B Réponse C Solution

Introduction à l algorithmique et à la programmation (Info 2)

DM 1 : Montre Autoquartz ETA

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 %

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

GPA770 Microélectronique appliquée Exercices série A

LES REGLEMENTS AVEC SOCIEL.NET DERNIERE MISE A JOUR : le 14 juin 2010

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Date : Note /20 : EVALUATION Nom : Prénom : Classe : Traitement sur mots

L exclusion mutuelle distribuée

avec des nombres entiers

Complément d information concernant la fiche de concordance

Transcription:

Arrondi et truncature Fabrice Dessaint Inra, UMR1347 Agroécologie, Dijon Décembre 2015 Cette note présente quelques unes des fonctions de R permettant d arrondir ou de tronquer un nombre décimal. Les nombres On appelle nombre, une séquence ordonnée d un ou de plusieurs symboles servant à exprimer les différentes valeurs possibles d une quantité ou d une grandeur physique. Selon le système de numération, le nombre de symboles utilisés pour écrire un nombre va varier. Dans le système de numération décimal (ou système en base 10), les symboles utilisés, sont les chiffres de 1 à 9 et le chiffre 0. Dans le système héxadécimal (ou système en base 16), on ajoute aux chiffres précédents, les symboles A, B, C, D, E et F alors que dans le système binaire (ou système en base 2), on n utilisera que les chiffres 0 et 1. Plus généralement, pour un système en base b, on utilisera donc les chiffres et les lettres de 0 jusqu à la base b du système de numération, celle-ci étant exclue. La valeur représentée par un nombre est la somme du produit des différents symboles qui le compose par la valeur de leur position dans le nombre. En effet, chaque position dans le nombre a une valeur, tout comme chaque symbole. Ainsi, le nombre 103 écrit en base 4, représente en base 10, la valeur 19 : Dans le nombre 103, le chiffre 3 occupe la première position qui, quelle que soit la base b, a pour valeur b 0 = 1. Le chiffre 0 qui est en deuxième place, a pour valeur b 1 et le chiffre 1 qui occupe la troisième position, a pour valeur b 2. strtoi("103", 4L) [1] 19 1*4^2 + 0*4^1 + 3*4^0 [1] 19 Ce même nombre, écrit en base 8, correspond (en base 10) à 67 strtoi("103", 8L) [1] 67 1*8^2 + 0*8^1 + 3*8^0 [1] 67 alors que écrit en base 16, il correspond à 259

arrondi et truncature 2 strtoi("103", 16L) [1] 259 1*16^2 + 0*16^1 + 3*16^0 [1] 259 Dans le reste du document, on est en base 10 et on travaille avec des nombres décimaux. Les chiffres significatifs On appelle chiffres significatifs, le nombre minimum de chiffres nécessaires à l écriture d un nombre sans perte d information. Pour définir ce nombre, il existe quelques règles. tous les chiffres non nuls (1, 2, 3, 4, 5, 6, 7, 8 et 9) sont toujours significatifs tous les 0 (zéro) positionnés entre deux chiffres différents de zéro sont toujours significatifs tous les zéros positionnés à droite du symbole décimale et en fin de nombre sont significatifs 12 345 est un nombre composé de 5 chiffres significatifs ainsi que 1,2345 10 005 est un nombre avec 5 chiffres significatifs 1,0200 est un nombre avec 5 chiffres significatifs, de même que 1,0200 tous les autres zéros sont des chiffres non significatifs : 1 000 000 est un nombre qui n a qu un chiffre significatif (les zéros ne sont là que pour indiquer la position dans le nombre du chiffre 1 : ici il est en 7 e position). Le nombre 1 000 000,00 a lui 3 chiffres significatifs : le 1 et les 2 zéros, après le symbole décimal ; 0,0200 est aussi un nombre avec 3 chiffres significatifs : le 2 et les 2 zéros à la fin du nombre. Sous R, c est la fonction signif() qui permet de faire cette opération. Cette fonction possède 2 arguments : signif(x, digits = 6) Le premier, x=, est obligatoire et indique la valeur que l on souhaite arrondir. Le second, digits=, est facultatif. Il indique le nombre de chiffres significatifs à conserver. On peut aussi fournir un vecteur ou un tableau numérique Par défaut, digits=6 nombre <- c(12345, 1.2345, 10005, 1.0200, 1000.00, 0.0010332) signif(x=nombre, digits=4) [1] 1.234e+04 1.234e+00 1.000e+04 1.020e+00 1.000e+03 1.033e-03 Selon la façon dont le nombre est écrit, le nombre de chiffres significatifs affichés peut varier. Il est alors préférable d écrire en notation scientifique ou en notation ingénieur, car avec ces notations, par convention, tous les chiffres de la mantisse sont significatifs.

arrondi et truncature 3 Les arrondis L arrondi d un nombre décimal est une valeur approchée de ce nombre obtenue en réduisant le nombre de chiffres le représentant. Il existe plusieurs façons d arrondir un nombre. Arrondi au pair le plus proche C est la méthode utilisée par la fonction round() de R. Cette fonction possède 2 arguments : round(x, digits = 0) Le premier, x=, est obligatoire et indique la valeur que l on veut arrondir. Le second, digits=, est facultatif. Il indique la position du chiffre à conserver compté à partir du signe décimal. Une valeur positive indique que la position est située dans la partie décimale (droite) alors qu une valeur négative indique que la position est dans la partie entière (gauche). Pour arrondir, un nombre décimal, on va On peut aussi fournir un vecteur ou un tableau numérique Par défaut, digits=0 et le nombre est arrondi à l entier Localiser le chiffre à conserver. Augmenter ce chiffre d une unité si le chiffre suivant est strictement supérieur à 5 Conserver ce chiffre si le chiffre suivant est strictement inférieur à 5 Par exemple, le nombre 3,043 arrondi à 2 chiffres après la virgule vaut 3,04 (le chiffre suivant le 4 (3) est inférieur à 5 ; on conserve donc le chiffre 4). nombre <- c(3.043, 3.046) round(nombre, digits=2) [1] 3.04 3.05 Pour le nombre 3,046, l arrondi vaut 3,05 (le chiffre suivant le 4 (6), est supérieur à 5 ; on augmente d une unité). Lorsque le chiffre suivant le chiffre à conserver est le chiffre 5, on procède de la façon suivante : on augmente ce chiffre d une unité lorsque le 5 est suivi par des chiffres différents de zéro lorsque le 5 est suivi de 0 alors on augmente ce chiffre d une unité si il est impair et on le laisse inchangé dans l autre cas. Par exemple, 3,0450 arrondi au centièmes vaut 3,04 (le chiffre précédent le 5 est pair) alors que l arrondi de 3,0750 vaut 3,08 (le chiffre précédent le 5 est impair). nombre <- c(3.0151, 3.0450, 3.0750) round(nombre, digits=2) [1] 3.02 3.04 3.08

arrondi et truncature 4 Lorsque l on a un vecteur de nombres, on peut indiquer différents niveaux d arrondi. round(c(1.234567, 2.465303, 4.876453, 6.87654, 10.02342), digits=c(2,3)) [1] 1.230 2.465 4.880 6.877 10.020 On peut aussi arrondir la partie entière. Pour cela, on va fournir une valeur négative à l argument digits=. Par exemple, pour arrondir à la centaine, on utilisera digits=-2. nombre <- c(1234.34, 256.2, 651) round(nombre, digits=-2) [1] 1200 300 700 Arrondi au plus grand entier inférieur C est la fonction ceiling() qui réalise cette opération. Elle fonction possède un seul argument : ceiling(x) La fonction arrondit à l entier immédiatement supérieur au nombre à arrondir. Pour un nombre positif, cela correspond à la partie entière du nombre augmentée d une unité. Si le nombre est négatif, c est la partie entière. Par exemple, l utilisation de cette fonction sur le nombre 12,45 retourne le nombre 13, alors que pour le nombre -12,45, on aura -12. nombre <- c(12.45, -12.45, 23.67, -23.67, 0.999, -0.999) ceiling(nombre) [1] 13-12 24-23 1 0 Arrondi au plus petit entier supérieur Il est obtenu avec la fonction floor(). Cette fonction possède aussi un seul argument : floor(x) Cette fonction ne demande que le nombre à arrondir. L arrondi est fait à l entier immédiatement inférieur au nombre à arrondir. Pour un nombre positif, cela correspond à la partie entière du nombre ; pour un nombre négatif, c est la partie entière augmentée d une unité. Par exemple, l utilisation de cette fonction sur le nombre 12,45 retourne le nombre 12, alors que pour le nombre -12,45, on aura -13. nombre <- c(12.45, -12.45, 23.67, -23.67, 0.999, -0.999) floor(nombre) [1] 12-13 23-24 0-1

arrondi et truncature 5 Troncature C est la fonction trunc(). Comme les 2 précédentes, cette fonction n a qu un seul argument : trunc(x,...) Elle retourne la partie entière d un nombre décimal. trunc(nombre) [1] 12-12 23-23 0 0 Son comportement est celui de la fonction floor() pour les nombres positifs et celui de la fonction ceiling() pour les nombres négatifs. identical(trunc(-12.4), ceiling(-12.4) ) [1] TRUE identical(trunc(12.4), floor(12.4) ) [1] TRUE