Exercices de révision
Exercice 1
Un nombre décimal n est dit brésilien s'il possède, dans une base B (avec 2 ≤ B ≤ n - 2), une
représentation qui s'écrit sous la forme de p chiffres égaux, c'est-à-dire : 𝑛 = (𝑘𝑘𝑘 ⋯ 𝑘𝑘𝑘 )𝐵
Exemples :
- 7 est un nombre brésilien car 7 = (111)2
- 3124 est un nombre brésilien car 3124 = (44444)5
- 1170 est un nombre brésilien car 1170 = (2222)8
- 20 est un nombre brésilien car 20 = (22)9
- 204 est un nombre brésilien car 204 = (CC) 16
- 9 n'est pas un nombre brésilien car 9 = (1001)2 = (100)3 = (21)4 = (14)5 = (13)6 = (12)7, et
aucune de ces écritures n'est brésilienne
On se propose d'écrire un algorithme d'une procédure Gen_Bres qui permet de créer et de
remplir un tableau d'enregistrements TB par les nombres brésiliens contenus dans un tableau
T de nombres décimaux. Chaque enregistrement brésilien de TB comportera les champs
suivants :
- N: Le nombre décimal.
- B : Une base dans laquelle le nombre N s'écrit sous la forme de p chiffres égaux avec 2 ≤ B
≤ 16.
- Rep : La représentation du nombre décimal N dans la base B.
Travail demandé :
1- Donner une déclaration d'un enregistrement Brésilien ainsi que celles des types nécessaires
2- Ecrire un algorithme de la procédure Gen _Bres, sachant que le tableau T est déjà rempli
dans le programme appelant.
Exercice 2
Les points cols d'une matrice M d'entiers sont les éléments qui sont minimum sur leur ligne et
maximum sur leur colonne.
Exemple: Pour la matrice M suivante :
9 5 7 5
4 2 2 3
4 3 3 2
8 5 6 5
7 4 10 4
Les points cols sont : M[0,1], M[0,3], M[3,1] et M[3,3]. En effet,
M[0,1] = 5 est le minimum de la 1ère ligne (d’indice 0) et le maximum de la 2ème colonne (d’indice 1).
M[0,3] = 5 est le minimum de la 1ère ligne et le maximum de la 4ème colonne.
M[3,1] = 5 est le minimum de la 4eme ligne et le maximum de la 2ème colonne.
M[3,3] = 5 est le minimum de la 4ème ligne et le maximum de la 4ème colonne.
Faten BEN ALI
1
On présente ci-après une méthode pour déterminer les points cols d'une matrice M de L x C
entiers :
1. Remplir deux matrices M_min et M_max de mêmes dimensions que M de sorte que :
• M_min contiendra des uns (1) aux positions des minimums des lignes dans M et des
zéros dans le reste des cases.
• M_max contiendra des uns (1) aux positions des maximums des colonnes dans M et des
zéros dans le reste des cases.
2. Remplir un tableau d’enregistrement T_COL par les valeurs de M dont les cases de
mêmes coordonnées, dans les deux matrices M_min et M_max, contiennent à la fois
la valeur 1.
Chaque enregistrement contiendra les champs suivants :
• Val : la valeur du point col
• coord : enregistrement de ses coordonnées dans la matrice Mcontenant les champs
suivants :
- lig : indice de ligne du point col dans M
- col : indice de colonne du point col dans M.
Exemple: Pour la matrice M de l'exemple précédent, les matrices M_min et M_max seront
:
M_min M_max
0 1 0 1 1 1 0 1
0 1 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 1 0 1 0 1 0 1
0 1 0 1 0 0 1 0
Le tableau T_COL sera :
val : 5 val : 5 val : 5 val : 5
coord : lig : 0 coord : lig : 0 coord : lig : 3 coord : lig : 3
col : 1 col : 3 col : 1 col : 3
Travail demandé :
En utilisant le principe décrit précédemment, écrire un algorithme d'une procédure
Points_cols(M, L, C, T_COL) qui permet de remplir un tableau T_COL par le(s) point(s)
col(s) d'une matrice M de L x C entiers s'ils existent, sachant que M, L et C sont déjà saisis
dans le programme appelant et M. est de type Mat.
Faten BEN ALI
2
Exercice 3
Une société se propose de choisir un emballage pour son nouveau produit à partir de deux
boîtes A et B de dimensions différentes illustrées ci-dessous :
Travail demandé :
Sachant que les deux boîtes doivent avoir le même volume, écrire un algorithme d'une
fonction qui reçoit en paramètre epsilon et le pas de variation de x et retourne une valeur
approchée de x pour laquelle les volumes des deux boîtes A et B soient égaux à epsilon prés
(avec pas ≤ epsilon/100).
NB :
- le volume de la boite A est égal à (40-2*x)*x*x
- le volume de la boite B est égal à (2*x+1)*(7+x)*3
- la variation de x commence à partir de 0
Exercice 4
En mathématiques, la constante de Brun (B) des nombres premiers jumeaux est la somme de
la série des inverses des nombres premiers distants de 2.
1 1 1 1 1 1 1 1
𝐵 = ( + )+( + )+( + )+( + )
3 5 5 7 11 13 17 19
. On rappelle qu'un nombre est dit premier s'il est divisible uniquement par 1 et par lui-même.
Par convention l'entier 1 n'est pas premier.
Travail demande :
Ecrire un algorithme d'une fonction Brun (epsilon) permettant de calculer, à epsilon prés, une
valeur approchée de la constante de Brun définie précédemment (avec epsilon un réel passe
Faten BEN ALI
3
Exercice 5
Soit la fonction f(x) = -2 * x* + 2. La figure ci-après représente sa courbe Cf :
La courbe Cf coupe l'axe des abscisses en deux points A et B de coordonnées respectivement
(-1, 0) et (1, 0).
Soient P un point de la courbe Cf situé entre A et B de coordonnées (xp, yp) et M le point de
coordonnées (xp,0). Le triangle AMP est un triangle rectangle en M (triangle grisé dans la
figure).
Travail demandé :
Ecrire un module nommé Aire_triang qui permet de déterminer une valeur approchée de
l'abscisse xp du point P à 10-5 près pour que l'aire du triangle rectangle AMP soit maximale.
N.B. : On rappelle que l'aire du triangle AMP est égale à (xp - *4) * f(xp)/2 = (xp + 1) * f(xp)/2
Avec xp l'abscisse du point P et x xa a l'abscisse du point A.
Faten BEN ALI
4