TS spé Exercices sur les algorithmes liés à la divisibilité et à la

TS spé Exercices sur les algorithmes
liés à la divisibilité et à la division
euclidienne
1 Effectuer avec la calculatrice la division euclidienne de :
220 065 par 324 987 543 210 par 12 456 789 9 999 999 999 999 par 222 222 222 222.
Dans chaque cas, écrire l’égalité de la division euclidienne et une phrase de réponse sur le modèle suivant :
Dans la division euclidienne de … par , le quotient est égal à … et le reste est égal à … .
2 On considère l’algorithme suivant n est un entier naturel.
Entrée :
Saisir n
Initialisation :
u prend la valeur n
Traitement :
Tantque
11
u
Faire
u prend la valeur
11
u
FinTantque
Sortie :
Afficher u
Recopier cet algorithme dans un cadre (sur une même page, on ne doit pas avoir à passer sur une nouvelle
page).
1°) Faire fonctionner cet algorithme « à la main » pour les valeurs de n suivantes saisies en entrée :
35
n
;
50
n
;
55
n
.
Pour chaque valeur de n, on fera un tableau d’évolution de la variable u sur le modèle ci-dessous.
Étape 0 1 2
Condition
11
u
vraie vraie
Valeur de u 35 24 13
Deux remarques importantes :
Il est inutile de programmer l’algorithme sur calculatrice.
Pour chaque valeur de n saisie en entrée, faire une phrase réponse sur le modèle suivant :
« Pour
....
n
saisi en entrée, la valeur de u affichée en sortie est … ».
2°) Pour un entier naturel n quelconque, quel est le nombre entier naturel fourni par cet algorithme en sortie ?
3 Années bissextiles
Une année (qui correspond à la durée de révolution de la Terre autour du Soleil) dure 365,2422 jours. Afin que
notre calendrier coïncide avec cette période, certaines années durent 365 jours et d’autres 366 jours.
La partie décimale de 365,2422 valant presque un quart, on ajoute tous les 4 ans un jour à notre calendrier (le
29 février).
Le critère retenu pour déterminer si une année est bissextile ou non est le suivant :
Règle N°1 : Si l’année est divisible par 4 alors c’est une année bissextile.
On rappelle ci-dessous le critère de divisibilité par 4 :
Un entier naturel est divisible par 4 lorsque les deux chiffres de droite de son écriture en base 10
forment un nombre multiple de 4 : 00, 04, 08, 12, ............ 80, 84, 88, 92, 96.
Exemples : 148 ; 57 376
Par exemple, 2016 est une année bissextile, car 2016 est divisible par 4.
En revanche, 2017 n’est pas une année bissextile.
1°) Déterminer si les années suivantes sont bissextiles : 2014 ; 2015 ; 2020 ; 2026.
2°) L’algorithme ci-dessous détermine selon la règle 1 si une année N saisie en entrée est bissextile.
Entrée :
Saisir N
Traitement et sortie :
Si 4 | N
Alors afficher « Année bissextile »
Sinon afficher « Année non bissextile »
FinSi
Recopier cet algorithme dans un cadre bien centré sur une seule page en respectant la présentation.
Programmer cet algorithme sur la calculatrice.
La règle N°1 n’est pas tout à fait correcte, car elle considère qu’une année dure 365,25 jours en moyenne au
lieu de 365,2422. Un léger décalage s’introduit au cours du temps. Une seconde règle a donc été établie :
Règle N°2 : Parmi les années de début de siècle, seules celles divisibles par 400 sont bissextiles.
N.B. : Les années de début de siècle sont : 100, 200, …, 1200, 1300 etc.
3°) Recopier, en le modifiant, l’algorithme donnée à la question 2°) qui détermine selon les règles N°1 et N°2 si
une année est bissextile.
On gardera la même structure avec une seule instruction conditionnelle mais en écrivant la condition avec les
connecteurs logique « et » et « ou ».
Réaliser le programme correspondant sur calculatrice.
Le calendrier julien est introduit par Jules César en 46 av. J.-C. pour remplacer le calendrier romain. Il est
utilisé dans la Rome antique à partir de 45 av. J.-C.. Il reste employé en Europe jusqu’à son
remplacement par le calendrier grégorien à la fin du XVIe siècle.
Le calendrier grégorien est un calendrier solaire conçu à la fin du XVIe siècle pour corriger la dérive
séculaire du calendrier julien alors en usage. Il porte le nom de son instigateur, le pape Grégoire XIII.
Adopté à partir de 1582 dans les États catholiques, puis dans les pays protestants, son usage s’est
progressivement étendu à l’ensemble du monde au début du XXe siècle. Le calendrier grégorien s’est
imposé dans la majeure partie du monde pour les usages civils ; de nombreux autres calendriers sont
utilisés pour les usages religieux ou traditionnels.
Les années comptent 365 jours dont 28 en février sauf les années bissextiles à 366 jours dont 29 en
février.
Les années bissextiles sont :
- les années dont le millésime est multiple de 4 mais pas de 100
- et les années dont le millésime est multiple de 2 000.
Ces décisions ont été prises peu à peu au cours des siècles pour ajuster notre calendrier à l’année des
saisons (365,2422 jours). Une année de 365 jours, c’est simple mais trop court ! Il faut donc rajouter des
jours. Le calendrier julien, fondé par Jules César comporte un jour doublé tous les quatre ans. Il s’agit du
sixième jour avant les calendes de mars qui devient donc bis-sextus martias d’où le nom d’année
bissextile.
Avec une année de 366 jours tous les quatre ans, la durée moyenne de l’année est de 365,25 jours. Pas
mal par rapport à l’année des saisons, mais trop long...
Au bout de quatre siècles, le décalage est de trois jours. En 1582, il atteint 12 jours ce qui pose des
problèmes aux autorités ecclésiastiques pour fixer certaines fêtes religieuses comme celle de Pâques. Le
pape Ggoire XIII ordonne alors une réforme du calendrier : le calendrier grégorien est né. Tout d’abord,
il faut résorber le décalage constaté : 10 jours sont simplement supprimés en 1582. Ensuite il faut
éliminer les causes du décalage et donc réduire le nombre d’années bissextiles : les années séculaires
deviennent non bissextiles sauf si leur millésime est multiple de 400. L’année grégorienne ne comporte
plus en moyenne que 365,2425 jours. Elle est encore trop longue de …0,0003 jours par rapport à l’année
des saisons. Dans 10 000 ans, notre calendrier aura trois jours de trop !
Pour les exercices 4 et 5 , on rappelle l’algorithme
A
suivant qui, pour un entier naturel
1
n
saisi en
entrée, affiche ses diviseurs positifs en sortie.
4 Pour tout entier naturel
1
n
, on note
d
n
le nombre de ses diviseurs positifs.
1°) Recopier et compléter le tableau de valeurs suivant :
n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
d
n
2°) On admet que l’on ne peut pas donner une expression de
d
n
en fonction de n.
Pour calculer la valeur de
d
n
pour un entier naturel
1
n
fixé, on peut utiliser un programme.
a) Reprendre l’algorithme
A
et le modifier en introduisant une variable supplémentaire d afin que, pour une
valeur de n saisie en entrée, il affiche en sortie la valeur de
d
n
.
b) Réaliser le programme correspondant sur calculatrice.
c) À l’aide du programme déterminer la valeur de
1000
d.
5 Pour tout entier naturel
1
n
, on note
S
n
la somme de ses diviseurs positifs.
On admettra que l’on ne peut pas donner une expression de
S
n
en fonction de n.
Entrée :
Saisir n
Traitement et sorties :
Pour i allant de 1 à n Faire
Si i | n
Alors afficher i
FinSi
FinPour
Reprendre l’algorithme
A
et le modifier en introduisant une variable supplémentaire d afin que, pour une
valeur de n saisie en entrée, il affiche en sortie la valeur de
S
n
.
Réaliser le programme correspondant sur calculatrice.
6 Chiffrement de Hill
Le but de l’exercice est d’étudier une méthode de chiffrement publiée en 1929 par le mathématicien et
cryptologue américain Lester Hill.
On veut coder un mot de deux lettres selon la procédure suivante :
Étape 1 :
Chaque lettre du mot est remplacée par un entier en utilisant le tableau ci-dessous :
A B C D E F G H I J K L M
0 1 2 3 4 5 6 7 8 9 10 11 12
N O P Q R S T U V W X Y Z
13 14 15 16 17 18 19 20 21 22 23 24 25
On obtient un couple d’entiers
1 2
;
x x
1
x
correspond à la première lettre du mot et
2
x
correspond à la
deuxième lettre du mot.
Étape 2 :
1 2
;
x x
est transformé en
1 2
;
y y
tel que
1
y
est le reste de la division euclidienne de
1 2
11 3
x x
par 26 et
2
y
est le reste de la division euclidienne
1 2
7 4
x x
par 26.
Étape 3 :
1 2
;
y y
est transformé en un mot de deux lettres en utilisant le tableau de correspondance donné dans l’étape
1.
Exemple :
TE
étape 1
19; 4
étape 2
13;19
étape 3
NT
mot en clair mot codé
Coder le mot ST en détaillant les étapes.
Autre présentation du procédé de chiffrement de Hill avec des matrices :
On donne la matrice
11 3
A
7 4
 
 
 
(matrice carrée d’ordre 2).
Le mot à coder est remplacé par la matrice colonne
1
2
X
x
x
 
 
 
,
1
x
est l’entier représentant la première lettre
du mot et
2
x
l’entier représentant la deuxième, selon le tableau de correspondance qui a été donné auparavant.
• La matrice X est transformée en la matrice colonne
1
2
Z
z
z
 
 
 
telle que
Y AX
.
• La matrice Z est transformée en la matrice
1
2
Y
y
y
 
 
 
,
1
y
est le reste de la division euclidienne de
1
z
par 26
et
2
y
le reste de la division euclidienne de
2
z
par 26.
• Les entiers
1
y
et
2
y
donnent les lettres du mot codé, selon le tableau de correspondance qui a été donné.
7 Déterminer le nombre de chiffres de l’écriture en base 10 de 2016 ! (factorielle de 2016).
Corrigé
1 Division euclidienne de « grands » nombres à l’aide de la calculatrice
On rappelle que la division euclidienne d’un entier relatif a par un entier naturel non nul b s’écrit
a bq r
 
q et r sont des entiers relatifs tels que 0
r b
.
On a : E
a
q
b
 
 
 
.
Pour chaque question, on peut poser
......................
a
et
......................
b
.
Cela évite d’avoir à écrire des très grands nombres !
Dans chaque cas, on peut :
- soit utiliser le rappel ci-dessus ;
- soit utiliser directement le programme de division euclidienne sur calculatrice.
Division euclidienne de 220 065 par 324
On a : 220 065
679,2129...
324 (petits points extrêmement importants : le nombre
220 065
324
n’est pas décimal et
les petits points signifient que l’on a écrit que des décimales exactes) d’où 220 065
E 679
324
 
.
De plus,
220 065 679 324 69
 
.
Donc on a :
220065 679 324 69
 
.
Dans la division euclidienne de 220 065 par 324, le quotient est égal à 679 et le reste est égal à 69.
Division euclidienne de 987 543 210 par 12 456 789
On a : 987 543 210
79,27750...
12 456 789 d’où 987 543 210
E 79
12 456 789
 
 
.
De plus,
987 543 210 12 456 789 79 3 456 879
 
Donc on a :
987 543 210 12 456 789 79 3 456 879
 
.
Dans la division euclidienne de 987 543 210 par 12 456 789, le quotient est égal à 79 et le reste est égal à
3 456 879.
Division euclidienne de 9 999 999 999 999 par 222 222 222 222
On a : 9 999 999 999 999
45,000...
222 222 222 222
d’où 9 999 999 999 999
E 45
222 222 222 222
 
 
.
De plus,
9 999 999 999 999 222 222 222 222 45 9
 
.
Donc on a :
9 999 999 999 999 222 222 222 222 45 9
 
.
Dans la division euclidienne de 9 999 999 999 999 par 222 222 222 222, le quotient est égal à 45 et le reste est
égal à 9.
Version mal présentée et mal rédigée (Tristan Colin, élève de TS1, le 4 mercredi 4 octobre 2016) :
Division euclidienne de 220 065 par 324
679
q
et
69
r
Division euclidienne de 987 543 210 par 12 456 789
79
q
et
3456879
r
Division euclidienne de 9 999 999 999 999 par 222 222 222 222
45
q
et
9
r
Il avait utili des lettres majuscules pour q et r (ce qui donnait
679
Q
69
R
pour la première division
euclidienne).
Version sans parler de la partie entière (prise sur la copie de Timothée Savouré élève de TS1 durant
l’année scolaire 2015-2016) :
Il s’agit d’une version non rédigée (q désigne le quotient et r le reste).
Division euclidienne de 220 065 par 324
220 065
679,2129...
324
679 324 219 996
 
220 065 219 996 69
.
679
q
69
r
Division euclidienne de 987 543 210 par 12 456 789
987 543 210
79,2775096...
12 456 789
12 456 789 79 984 086 331
 
987 543 210 984 086 331 3 456 879
79
q
3456879
r
Division euclidienne de 9 999 999 999 999 par 222 222 222 222
9 999 999 999 999
45,000...
222 222 222 222 (attention à ne pas écrire : 9 999 999 999 999
45
222 222 222 222
, Timothée s’était
trompé ; les petits points sont très importants)
222222222222 45 ....
 
9 999 999 999 999 .... 9
.
45
q
9
r
2 Algorithme avec boucle et test d’arrêt
Entrée :
Saisir n
Initialisation :
u prend la valeur n
Traitement :
Tantque
11
u
Faire
u prend la valeur
11
u
FinTantque
Sortie :
Afficher u
Recopier cet algorithme dans un cadre
Dans l’exercice, il n’est pas nécessaire de faire le programme sur calculatrice.
1°) On fait fonctionner l’algorithme « à la main » pour
35
n
,
50
n
,
55
n
.
On doit suivre l’algorithme pas à pas.
On fait tourner l’algorithme pas à pas.
On adopte la présentation donnée dans l’énoncé grâce à un tableau d’évolution des variables (méthode à retenir
quand on doit faire tourner « à la main » un algorithme avec une boucle « Pour » ou « Tantque »).
On n’oublie pas de faire une phrase réponse à chaque fois pour donner la valeur de la variable u qui s’affiche en
sortie.
Pour
35
n
Étape 0 1 2 3 4
Condition
11
u
vraie vraie vraie fausse
Valeur de u 35 24 13 2
La valeur affice en sortie est donc 2.
Pour
50
n
Étape 0 1 2 3 4 5
Condition
11
u
vraie vraie vraie vraie fausse
Valeur de u 50 39 28 17 6
La valeur affice en sortie est donc 6.
Pour
55
n
Étape 0 1 2 3 4 5 6
Condition
11
u
vraie vraie vraie vraie vraie fausse
Valeur de u 55 44 33 22 11 0
La valeur affice en sortie est donc 0.
Commentaires :
1. La première case est barrée car u n’existe pas quand l’algorithme commence.
La condition
11
u
n’a donc pas lieu d’être.
2. Une fois que la condition est fausse, l’algorithme s’arrête. La variable u n’a plus de valeur.
On n’écrit donc aucune valeur dans la case.
3. Le tableau se lit de bas en haut.
Étape 0 1 2 3 4 5
Condition
11
u
vraie vraie vraie vraie faux
Valeur de u
4. On a décidé de dénommer les étapes « étape 0 », « étape 1 », « étape 2 » ?
Peut-être serait-il préférable d’appeler les rubriques « avant le premier passage dans la boucle », « après le
premier passage dans la boucle » (et donc « avant le deuxième passage dans la boucle »), « après le deuxième
passage dans la boucle », …, « après le dernier passage dans la boucle »…
Version plus courte de rédaction :
• Pour
35
n
, la valeur finale de u affichée en sortie est 2.
• Pour
50
n
, la valeur finale de u affichée en sortie est 6.
• Pour
55
n
, la valeur finale de u affichée en sortie est 0.
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !