Outils Maths Discrètes

Documents pareils
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

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

Représentation des Nombres

Informatique Générale

Conversion d un entier. Méthode par soustraction

Cours Fonctions de deux variables

Cours Informatique 1. Monsieur SADOUNI Salheddine

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

1 Recherche en table par balayage

Représentation d un entier en base b

Programmation linéaire

Problème : Calcul d'échéanciers de prêt bancaire (15 pt)

Programmation C. Apprendre à développer des programmes simples dans le langage C

Introduction à l Informatique licence 1 ère année Notes de Cours

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

Fonctions de plusieurs variables

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

DUT Techniques de commercialisation Mathématiques et statistiques appliquées


Conventions d écriture et outils de mise au point

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

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

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

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

EXERCICE 4 (7 points ) (Commun à tous les candidats)

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Exercices - Polynômes : corrigé. Opérations sur les polynômes

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

Numérisation du signal

Cryptographie et fonctions à sens unique

Chap17 - CORRECTİON DES EXERCİCES

Logiciel de Base. I. Représentation des nombres

1 Introduction au codage

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

1 Définition et premières propriétés des congruences

Le poids et la taille des fichiers

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Introduction à l étude des Corps Finis

TP Codage numérique des caractères. Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte?

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Le codage informatique

Chapitre 13 Numérisation de l information

Architecture de l ordinateur

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

Développement décimal d un réel

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

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

ÉPREUVE COMMUNE DE TIPE Partie D

Cours 1 : Qu est-ce que la programmation?

nom : Collège Ste Clotilde

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Chapitre 1 I:\ Soyez courageux!

Correction du baccalauréat S Liban juin 2007

Présentation du cours

Introduction à NetCDF

Bases de données documentaires et distribuées Cours NFE04

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Dérivées et différentielles des fonctions de plusieurs variables

TD : Codage des images

Probabilités sur un univers fini

Licence Sciences et Technologies Examen janvier 2010

UE Programmation Impérative Licence 2ème Année

Exo7. Limites de fonctions. 1 Théorie. 2 Calculs

Corrigé des TD 1 à 5

Chapitre 10 Arithmétique réelle

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

L informatique en BCPST

FORMATS DE FICHIERS. Quels sont les différents types d informations numériques dans un document multimédia?

Calculabilité Cours 3 : Problèmes non-calculables.

Définitions. Numéro à préciser. (Durée : )

Une version javascript sera disponible directement dans le cours prochainement.

Plan du cours. Historique du langage Nouveautés de Java 7

Logique. Plan du chapitre

Corrigé du baccalauréat S Asie 21 juin 2010

Cours d Informatique

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

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

Continuité en un point

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Chap III : Les tableaux

Annexe : La Programmation Informatique

Corrigé du baccalauréat S Pondichéry 12 avril 2007

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Probabilités et Statistiques. Feuille 2 : variables aléatoires discrètes

Formats d images. 1 Introduction

DOCM Solutions officielles = n 2 10.

I.1- DÉFINITIONS ET NOTIONS DE BASE

Théorie et codage de l information

Présentation du module Base de données spatio-temporelles

Transcription:

Outils Maths Discrètes CM n o 3 Damien Bouloc Bureau 106 Bâtiment 1R2 05.61.55.82.32 damien.bouloc@math.univ-toulouse.fr 28 septembre 2017

Existence et unicité de l écriture en base b (b 2) Rappel du théorème Théorème 1.2.3 Soit a N. Il existe un unique k 0 et une unique suite finie (c 0, c 1,..., c k ) tels que : a = c k.b k + c k 1.b k 1 + + c 1.b 1 + c 0.b 0 et { 0 i k, 0 c i < b, c k 0. (c k c 1 c 0 ) b est l écriture en base b du nombre a c 0, c 1,..., c k sont les chiffres de cette écriture

Existence et unicité de l écriture en base b (b 2) Démonstration de l unicité On raisonne par récurrence forte Principe : Soit P(n) une propriété dépendant d un entier n. Pour montrer que P(n) est vraie pour tout n 1 : Initialisation : on montre que P(n) est vraie lorsque n = 1. Hérédité : on fixe un entier N > 1 quelconque on suppose que P(n) est vraie pour tout entier n tel que 1 n < N on démontre qu alors P(N) est vraie

Existence et unicité de l écriture en base b (b 2) Démonstration de l unicité Ici, on considère la propriété P(a) : «Si a = c k b k + c k 1 b k 1 + + c 1 b 1 + c 0 b 0 avec { 0 i k, 0 c i < b, ( ) c k 0, alors k et (c 0, c 1,..., c k ) sont uniques.»

Existence et unicité de l écriture en base b (b 2) Démonstration de l unicité «Si a = c k b k + c k 1 b k 1 + + c 1 b 1 + c 0 b 0 avec { 0 i k, 0 ci < b, ( ) c k 0, alors k et (c 0, c 1,..., c k ) sont uniques.» Initialisation : Soit a = 1. Supposons que 1 = c k b k + + c 1 b + c 0 avec (c 0,..., c k ) vérifiant ( ). D après le lemme 1.2.1, on a : b k 1 b k+1 1 d où obligatoirement k = 0, et donc 1 = c 0.

Existence et unicité de l écriture en base b (b 2) Démonstration de l unicité Hérédité : Soit A > 1. Supposons que P(a) est vraie pour tout 1 a < A. Montrons que P(A) est vraie : supposons que A = c k b k + + c 1 b + c 0 avec (c 0,..., c k ) vérifiant ( ). Alors on a : A = b (c k b k 1 + + c 1 b }{{} 0 ) + c 0 a Il n y a plus qu à : 1. remarquer que (a, c 0 ) = DivEucl(A, b) 2. appliquer l hypothèse de récurrence à a (s il est non-nul!)

Existence et unicité de l écriture en base b (b 2) L astuce de la division euclidienne L astuce utilisée dans la partie "Hérédité" précédente peut servir en pratique à convertir totalement un nombre en base b Exemple : conversion de a = 31 dans la base b = 3 31 = (1011) 3 31 = 3 10 + 1 10 = 3 3 + 1 3 = 3 1 + 0 1 = 3 0 + 1

Existence et unicité de l écriture en base b (b 2) L astuce de la division euclidienne Autrement dit, pour trouver l écriture (c k... c 1 c 0 ) b d un nombre a en base b : 1. On pose x 0 := a 2. On calcule (q 0, r 0 ) := DivEucl(x 0, b) 3. On sait qu alors c 0 = r 0 4. On pose x 1 := q 0 5. On calcule (q 1, r 1 ) := DivEucl(x 1, b) 6. On sait qu alors c 1 = r 1 7. On pose x 2 := q 1...

Existence et unicité de l écriture en base b (b 2) Démonstration de l existence On écrit formellement l algorithme précédent : x := a i := 0 tant que (x b) faire (q, r) := DivEucl(x, b) c[i] := r x := q i := i + 1 Question fin tant que c[i] := x Que fait l algorithme pour a = 5 et b = 1? k := i 1. il divise par zéro à un moment rendre (k, c) 2. il ne s arrête jamais 3. il renvoie (1, [10]) 4. il renvoie (5, [0,0,0,0,0])

Existence et unicité de l écriture en base b (b 2) Démonstration de l existence Terminaison : Il faut vérifier que x décroit strictement à chaque tour de boucle. Pourquoi est-ce que si (q, r) = DivEucl(x, b), alors q < x? Correction : On pose x 0 := a, et (x i+1, c i ) = DivEucl(x i, b). Montrer que est un invariant de boucle. c 0 b 0 + + c i 1 b i 1 + x i b i

Nombre de chiffres dans l écriture d un nombre en base b

Nombre de chiffres en base b Logarithme en base b Définition Le logarithme en base b est la fonction log b : R + R définie par log b (x) = ln(x) ln(b) Quelques propriétés pratiques : ln(1) = 0 log b (1) = 0 ln(e) = 1 log b (b) = 1 ln(xy) = ln(x) + ln(y) ln(e n ) = n log b (xy) = log b (x) + log b (y) log b (b n ) = n

Nombre de chiffres en base b Logarithme en base b Question Sans calculatrice, que peut-on dire de x = log 10 (321)? 1. 2 < x < 3 2. 3 < x < 4 3. 100 < x < 1000 4. Aucune des réponses ci-dessus

Nombre de chiffres en base b Logarithme en base b La fonction log b est strictement croissante. En particulier, si b k a < b k+1, alors k log b (a) < k + 1 Proposition 1.2.6 Si a = (c k... c 1 c 0 ) b, alors k = log b (a) Autrement dit, le nombre de chiffres dans l écriture de a en base b est égal à log b (a) + 1

Nombre de chiffres en base b Logarithme en base b Définition Soit a N. On appelle taille de a écrit en base b le nombre a b := log b (a) + 1 (c-à-d le nombre de chiffres dans l écriture de a en base b) Attention : quand il n y aura pas d ambiguïté sur la base b utilisée, a b pourra être noté a, à ne pas confondre avec la valeur absolue.

Nombre de chiffres en base b Coup du codage d un nombre entier Quelques approximations : on suppose que l espace mémoire occupé par le nombre n est rien d autre que l espace en mémoire occupé par tous ses chiffres, on suppose que chaque chiffre occupe le même espace en mémoire (disons K bits). Dans ce cas, si le nombre a est codé en base b, alors il occupe en mémoire K a b bits. coût en mémoire proportionnel à a b

Nombre de chiffres en base b Entre base 2 et base 10 Remarque On a Ainsi 2 10 = 1024 10 3 d où 10 ln(2) 3 ln(10) a 2 log 2 (a) = ln(10) ln(2) log 10(a) 10 3 a 10 Par exemple : a = 684654516 s écrit avec 9 chiffres en base 10 10 3 9 = 30 = a s écrit avec environ 30 chiffres en binaire.

Un peu de culture

Un peu de culture Octets et ASCII Octet = paquet de 8 bits Permet donc de stocker un entier entre 0 et 2 8 1 = 255 ASCII = American Standard Code for Information Interchange Fait correspondre un caractère à chaque entier de 0 à 127

Un peu de culture Entiers 32 bits et 64 bits Certains langages de programmation codent les entiers sur un nombre fixe de bits, en général 32 ou 64. Pour coder un entier relatif, on peut «sacrifier» un bit pour préciser le signe, puis utiliser les bits restants pour coder la valeur absolue de cet entier Taille Entier «non-signé» Entier «signé» 32 bits 0 à 2 32 1 4 10 9 ±(2 31 1) 2 10 9 64 bits 0 à 2 64 1 1.8 10 19 ±(2 63 1) 10 18

Un peu de culture Préfixes de taille en informatique Attention : en informatique, 1 kilo-octet = 1024 octets Préfixe Facteur Approx Ordre de grandeur kilo 2 10 10 3 Un petit mail de texte méga 2 20 10 6 Une photo de résolution moyenne giga 2 30 10 9 La mémoire d un smartphone tera 2 40 10 12 Un disque dur récent peta 2 50 10 15 L ensemble des livres de toutes les bibliothèques de France exa 2 60 10 18 La capacité de stockage d information de l ensemble de l humanité au milieu des années 1980

Un peu de culture Adresses mémoire Il est parfois utile de localiser où une variable est stockée dans la mémoire. Dans une mémoire de 4 Go (= 2 32 octets), on peut numéroter chaque octet de 0 à 2 32 1 : ce nombre permet d identifier un octet dans la mémoire, on l appelle adresse mémoire. Dans ce cas, le stockage d une adresse mémoire nécessite 32 bits (c-à-d 8 octets).

Un peu de culture Codage hexadécimal Pour le codage hexadécimal (c-à-d en base 16), les «chiffres» de 10 à 15 sont traditionnellement notés A, B, C,..., F. Par exemple : (A8D) 16 = }{{} 10 16 2 + 8 16 1 + }{{} 13 16 0 "A" "D" Comme 16 = 2 4, chaque chiffre en hexadécimal correspond à un nombre de (au plus) 4 bits

Un peu de culture Codage hexadécimal (0) 16 (0000) 2 (4) 16 (0100) 2 (8) 16 (1000) 2 (C) 16 (1100) 2 (1) 16 (0001) 2 (5) 16 (0101) 2 (9) 16 (1001) 2 (D) 16 (1101) 2 (2) 16 (0010) 2 (6) 16 (0110) 2 (A) 16 (1010) 2 (E) 16 (1110) 2 (3) 16 (0011) 2 (7) 16 (0111) 2 (B) 16 (1011) 2 (F ) 16 (1111) 2

Prochain amphi Jeudi 5 octobre, 7h45 Travaux dirigés Début des TD la semaine prochaine Imprimez et préparez vos TD