CHAPITRE 6 : LES ALGORITHMES ARITHMETIQUES

Documents pareils
Représentation d un entier en base b

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

Licence Sciences et Technologies Examen janvier 2010

Conversion d un entier. Méthode par soustraction

Corrigé des TD 1 à 5


INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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)

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

Cours d algorithmique pour la classe de 2nde

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

V- Manipulations de nombres en binaire

Algorithmes récursifs

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

Cours Informatique 1. Monsieur SADOUNI Salheddine

avec des nombres entiers

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

Examen Médian - 1 heure 30

Cours Informatique Master STEP

STAGE IREM 0- Premiers pas en Python

Représentation des Nombres

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

ALGORITHMIQUE ET PROGRAMMATION En C

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

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

L ALGORITHMIQUE. Algorithme

I- Définitions des signaux.

Initiation à l algorithmique

Fonctions homographiques

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

Les opérations binaires

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Correction TD algorithmique

Logiciel de Base. I. Représentation des nombres

Algorithmique et programmation : les bases (VBA) Corrigé

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

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

Informatique Générale

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

CORRECTION EXERCICES ALGORITHME 1

Les suites numériques

Introduction à MATLAB R

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

Rappels sur les suites - Algorithme

Recherche dans un tableau

1. Structure d'un programme FORTRAN 95

Par combien de zéros se termine N!?

Programmation C++ (débutant)/instructions for, while et do...while

Cours 7 : Utilisation de modules sous python

Initiation à la programmation en Python

Maple: premiers calculs et premières applications

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

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

INF 321 : mémento de la syntaxe de Java

Polynômes à plusieurs variables. Résultant

Solutions du chapitre 4

Chapitre 1 I:\ Soyez courageux!

Algorithme. Table des matières

Les structures. Chapitre 3

Claude Delannoy. 3 e édition C++

Cours 1 : Qu est-ce que la programmation?

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Découverte du tableur CellSheet

Algorithmique et Programmation, IMA

Compilation (INF 564)

Nathalie Barbary SANSTABOO. Excel expert. Fonctions, simulations, Groupe Eyrolles, 2011, ISBN :

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Arbres binaires de recherche

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

Fonction inverse Fonctions homographiques

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

1 Recherche en table par balayage

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Cours d arithmétique Première partie

Rappels d architecture

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

Résolution de systèmes linéaires par des méthodes directes

Algorithmique & programmation

Quelques tests de primalité

Organigramme / Algorigramme Dossier élève 1 SI

a) b)

Cours d Informatique

chapitre 4 Nombres de Catalan

Programmation avec Xcas ou Python

TRIGONOMETRIE Algorithme : mesure principale

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Enseignement secondaire technique

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

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Cours 1 : La compilation

TP 1. Prise en main du langage Python

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

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

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

Coefficients binomiaux

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

Raisonnement par récurrence Suites numériques

4. Les structures de données statiques

Transcription:

CHAPITRE 6 : LES ALGORITHMES ARITHMETIQUES L élève sera capable de manipuler des algorithmes permettant de résoudre des traitements de calcul : A. Le calcul du PGCD B. Le calcul du PPCM C. Les nombres premiers A. CALCUL DU PGCD : D. Les nombres parfaits, nombres amis E. La décomposition en facteurs premiers F. Le factoriel d'un entier Le PGCD (Plus Grand Commun Diviseur) de deux entiers est le plus grand entier permettant de diviser ces deux entiers. Activité : Ecrire un programme qui permet de saisir deux entiers A et B strictement positifs, puis calculer et afficher leur PGCD. b) Exemple : Pour A = 27 et B = 18, on procède comme suit pour calculer le PGCD : Si A = B alors le PGCD est A ou B Si non si A > B alors A A B Si non B B A Etape1: (A>B) A 27 18 = 9 (A B) Etape2: (A<B) B 18 9 = 9 c) Algorithmes du problème : Algorithme du programme principal : (A = B) Arrêt Algorithme de la fonction PGCD1 : Algorithme de la fonction PGCD2 0). 1)......... 2). 3). 0). 1)... 2). 3). Prof : MAALOUL Nefaa 1

B. CALCUL DU PPCM : Le PPCM (Plus Petit Commun Multiple) de deux entiers est le plus petit entier multiple à la fois de ces deux entiers Activité : Ecrire un programme qui permet de saisir deux entiers A et B strictement positifs, puis calculer et afficher leur PPCM. b) Méthode 1 Pour A = 64 et B = 3, on procède comme suit pour calculer le PPCM : On cherche tout d abord le minimum (Min) et le maximum (Max) entre A et B, puis on calcule le reste de la division de Max par Min, s il est égale à zéro alors Max est le PPCM, sinon on cherche le multiple successive de Max et Min qui est égale à Max + A + B Min est ainsi de suite jusqu'à ce qu on trouve comme reste de division de Max par Min égale à zéro. Etape1: (A > B) Max = A et Min = B Etape2: Max MOD Min = 64 MOD 3 = 1 0 Alors Max = 64 + 64 + 3 3 = 128 Etape3: Max MOD Min = 128 MOD 3 = 2 0 Alors Max = 128 + 64 + 3 3 = 192 Etape4: Max MOD Min = 192 MOD 3 = 0 Alors Arrêt avec PPCM = Max = 192 c) Algorithme de la fonction PPCM : d) Méthode 2 : À l'aide du PGCD Dans le cas où aucun des deux entiers et n'est nul, le plus petit commun multiple peut être calculé en utilisant le plus grand commun diviseur (ou PGCD) de a et b : Rq : il y a une autre méthode pour le PPCM, par addition. Voila le code en PASCAL : Prof : MAALOUL Nefaa 2

Function PPCM(A,B:integer):integer; var a1,b1:integer; Begin a1:=a; b1:=b; WHILE (a1<>b1) do Begin if (a1<b1) then a1:=a1+a else b1:=b1+b; end; PPCM:=a1; End; C. LES NOMBRES PREMIERS: Un nombre est dit premier s il ne se divise que par 1 eu lui-même, exemple 7. Activité : Ecrire un programme qui permet de saisir un entier A strictement positif, puis vérifier s il est premier ou non et afficher le résultat. b) Exemple Vérifier 17 : Etape 1 : on a (17 Mod 2 0) Etape 2 : on a (17 Mod 3 0) Etape 3 : on a (17 Mod 4 0) Etape 4 : on a (17 Mod 5 0) Etape 5 : on a (17 Mod 6 0) Vérifier 15 : Etape 1 : on a (15 Mod 2 0) Etape 6 : on a (17 Mod 7 0) Etape 7 : on a (17 Mod 8 0) Etape 8 : on a (9>17 Div 2) Alors arrêt du traitement et 17 est un nombre Premier Etape 2 : on a (15 Mod 3 = 0) Alors arrêt du traitement et 15 n est pas un nombre Premier c) Algorithme de la fonction Premier : Prof : MAALOUL Nefaa 3

D.LA DECOMPOSITION EN FACTEURS PREMIERS : La décomposition d un entier en produits facteurs premiers consiste à écrire cet entier sous la forme de produits de ces diviseurs. b) Exemple La méthode de décomposition en facteurs premiers est évidente dans les exemples suivants : 4220 2 364 2 2110 2 128 2 1055 5 91 7 211 211 13 13 1 1 4220 = 2 x 2 x 5 x 211 364 = 2 x 2 x 7 x 13 Activité : Ecrire un programme qui permet de saisir un entier A>1, puis chercher et afficher la décomposition en produits de facteurs premiers de cet entier. c) Algorithmes du problème : 1. Algorithme du programme principal : 2. Algorithme de la procédure Remplir_FP : 3. Algorithme de la procédure Affiche : Prof : MAALOUL Nefaa 4

E. LE CALCUL DU FACTORIEL : La factorielle d un entier n donné est le produit de tous les entiers de l intervalle [1,n]. Le factoriel de n est noté n!. n! = n x (n-1) x (n-2) x x 3 x 2 x1 b) Exemple Le factoriel de 7 est égal à 7! = 7x6x5x4x3x2x1 = 5040 : c) Exercice : Un arrangement de p objets parmi n objets différents est un sous-ensemble ordonné de p objets choisis parmi les n objets. Pour dénombrer le nombre d'arrangements, on a la formule Ecrire un programme qui permet de : Saisir deux entiers strictement positifs n et p tel que n>p Calculer et afficher Prof : MAALOUL Nefaa 5

F. LA CONVERSION ENTRE BASES DE NUMERATION : a) Définition Convertir un entier positif n dans une base b (b>=2) consiste à chercher la représentation de n dans la base b. Cette représentation s écrit sous la forme : b) Décimal vers Binaire Analyser puis déduire l algorithme qui permet de convertir un nombre en base 10 en binaire. Principe Pour convertir un nombre en base 10 vers la base 2 consiste à faire des divisions successives par 2 en remplaçant à chaque fois le dividende par le quotient prendre les restes en ordre inverse. Exemple Convertir 13 en base 10 en binaire Prof : MAALOUL Nefaa 6

c) Décimal vers Hexadécimal Analyser puis déduire l algorithme qui permet de convertir un nombre en base 10 en hexadécimal. Principe Pour convertir un nombre en base 10 vers la base 16 consiste à faire des divisions successives par 16 en remplaçant à chaque fois le dividende par le quotient, prendre les restes en ordre inverse tout en codant les restes compris entre 10 et 15 selon la manière suivante : Exemple Reste 10 11 12 13 14 15 Code en base 16 Convertir 152 en (base 10) vers l hexadécimal (base 16) Application Nous proposons de convertir un nombre binaire en octal (base 8) en suivant la méthode suivante : - Extraire une partie de 3 bits. - Convertir cette partie en octal en utilisant les puissances de 2. Répéter ces deux opérations pour toutes les parties du nombre binaire. La concaténation des différents résultats donne le résultat en octal. On ajoute si nécessaire des «0» à gauche du nombre binaire de facon à obtenir une longueur multiple de 3. Prof : MAALOUL Nefaa 7

Exemples : Soit à convertir le nombre 1101 On suit la méthode suivante : La longueur du nombre n est pas multiple de 3 : Ajouter des 0 à gauche de ce nombre de façon à obtenir une longueur multiple de 3 : Le nombre devient 001101 Prof : MAALOUL Nefaa 8