100% ont trouvé ce document utile (2 votes)
2K vues3 pages

Les Algorithmes Arithmétiques

Transféré par

Larbi Lafhaj
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (2 votes)
2K vues3 pages

Les Algorithmes Arithmétiques

Transféré par

Larbi Lafhaj
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Les algorithmes arithmétiques

1) Calcul du PGCD :
Activité1 :
Pour calculer le PGCD de deux entiers positifs a et b on utilise la méthode de la division
euclidienne exprimée comme suivant :
a si b=0
PGCD(a,b) =
PGCD(b,a mod b) sinon

a) Calculer manuellement le PGCD(15,27) en utilisant la méthode donnée ci-dessus :


b) Ecrire de deux façons l’algorithme d’un module intitulé Pgcd_Euc qui permet de
calculer le PGCD de deux entiers positifs a et b en utilisant la méthode de la division
euclidienne

Activité2 :
Pour calculer le PGCD de deux entiers positifs a et b on utilise la méthode de la différence
exprimée comme suivant :

a ( ou b) si a=b
PGCD(a,b) = PGCD(a-b,b) si a>b
PGCD(a,b-a) sinon
a) Calculer manuellement le PGCD(130,40) en utilisant la méthode donnée ci-dessus
b) Ecrire de deux façons l’algorithme d’un module intitulé Pgcd_Dif qui permet de
calculer le PGCD de deux entiers positifs a et b en utilisant la méthode de la différence
Application :
a) Ecrire l’algorithme d’un module intitulé Pgcd_3 qui permet de calculer le PGCD de
trois entiers positifs a, b et c.
b) Ecrire l’algorithme d’un module intitulé PPCM qui permet de calculer le
PPCM de deux entiers positifs a et b

2) Calcul de Anp :
Activité1 :
Ecrire dans chaque cas ci-dessous l’algorithme d’un module qui calcule le Anp de deux
entiers n et p ( 1≤p≤n)

a. Anp = n(n-1)(n-2)….........*(n-p+1)
b. Anp = n !/ (n-p) !
3) Calcul de Cnp :
Activité1 :
Ecrire dans chaque cas ci-dessous l’algorithme d’un module qui calcule le Cnp de deux
entiers n et p ( 0≤p≤n)
p
a. Cnp = An / p !
b. Cnp = n !/ (p !(n-p) !)

c.
{ {
p
cn =
1 si ( n= p ) ou ( p=0)
p−1
c n−1 p
+c n−1 sinon }
4) Quelques règles de divisibilité :
4-1) Définitions :
 Un entier n est divisible par un entier m, si n mod m =0
 Une règle de divisibilité est une suite d’opérations simples qui permet de
reconnaître rapidement si un entier n est divisible par un entier m sans effectuer la
division. Ces règles sont généralement applicables pour les grands nombres

4-2) Divisibilité par 3 :


 Règle de divisibilité : un entier n est divisible par 3, si la somme des chiffres qui
le composent est divisible par 3

Application : écrire l’algorithme du module intitulé Div_3 qui permet de vérifier si un entier
positif n composé au moins de 8 chiffres est divisible par 3
4-3) Divisibilité par 4 :
 Règle de divisibilité : un entier n est divisible par 4, si le nombre composé de deux
derniers chiffres est divisible par 4
 Application : écrire l’algorithme du module intitulé Div_4 qui permet de vérifier si
un entier positif n composé au moins de 8 chiffres est divisible par 4

4-5) Divisibilité par 7 :


 Règle de divisibilité : Un nombre N est divisible par 7 si, en soustrayant et en
additionnant alternativement chaque tranche de trois chiffres en partant de la
droite, le résultat est divisible par 7
Exemples
1) L’entier 65465802 n’est pas divisible par 7 car 802-465+65 = 411 n’est pas divisible par
7
2) L’entier 67456802 est divisible par 7 car 802-456+67=413 est divisible par 7
 Application : écrire l’algorithme du module intitulé Div_7 qui permet de vérifier si
un n composé au moins de 8 chiffres est divisible par 7
2) Conversions entre les bases de numération :
5-1) Définition:
Un système de numération est une méthode de comptage fondée sur une base de
numération qui est un entier supérieur ou égal à 2. Un nombre écrit en une base b est un
nombre formé des chiffres allant de 0 à b-1. (Exemples : un nombre écrit en base 2 est un
nombre formé des chiffres allant de 0 à 1, un nombre écrit en base 8 est un nombre formé
des chiffres allant de 0 à 7, …)
5-2) Conversion d’un nombre décimal en une base b :
Activité1 :
Ecrire de deux façons le module qui permet de convertir un nombre décimal strictement
positif X en binaire
Activité2 :
Ecrire de deux façons le module qui permet de convertir un nombre décimal strictement
positif X en une b donnée (b ≥ 2)
5-3) Conversion d’un nombre d’une base b en base décimale :
Activité1 :
Ecrire de deux façons le module qui permet de convertir un nombre octal X déjà saisie sous la forme
d’une chaîne des caractères en base décimale
Activité2 :
Ecrire l’algorithme modulaire qui permet de saisir un entier X en une base b ( b ≥ 2 et
≠ 10) et de le convertir en base décimale

5-4) Conversion d’un nombre hexadécimal en binaire :


Activité :
Ecrire l’algorithme du module qui permet de convertir un nombre hexadécimal X en
base binaire en respectant la démarche utilisée dans l’exemple ci-dessous :
Exemple :
Prenons X = 29AF, nous allons procéder comme suivant :

2 9 A F

0010 1001 1010 1111

Chaque chiffre de X sera représenté sur 4 bits.


(29AF)16 = (10100110101111)2 le nombre binaire obtenu est le résultat de la concaténation
de 4 nombres binaires ci-dessus ( les zéros à l’extrême gauche sont non significatifs)

5-5) Conversion d’un nombre binaire en octal :


Activité :
Ecrire l’algorithme du module qui permet de convertir un nombre binaire X en base
octale en respectant la démarche utilisée dans l’exemple ci-dessous :
Exemple :
Prenons X = 1110101, nous allons procéder comme suivant :

001 110 101

1 6 5

Ajouter autant des zéros à gauche du nombre initial X pour que sa longueur sera multiple de
3, convertir chaque tranche de 3 bits en son équivalent décimal ( 5= 1*20+0*21+1*22), le
nombre résultat de la concaténation des chiffres décimaux obtenus est le nombre octal à
chercher.
(1110101)2 = (165)8

Vous aimerez peut-être aussi