Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

vendredi 24 avril 2020

Baccalauréat 2016 Sujet 7

RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION
 
°³°³
EXAMEN DU BACCALAURÉAT
 
SESSION 2016

Épreuve pratique d’informatique

Durée : 1h

Coefficient : 0.5

Sections Maths, Sciences
expérimentales et S.Techniques

Date 19 mai 2016

Important :

 

1) Une solution modulaire au problème est exigée.

2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2016 situé à la racine C: en lui donnant comme nom votre numéro d’inscription (6 chiffres).

 

Un entier N est dit unitairement parfait s’il est égal à la somme de ses diviseurs unitaires sauf lui-même. On appelle diviseur unitaire d’un entier N, tout entier qui vérifie les conditions suivantes :

- D est un diviseur de N.

- D et (N Div D) sont premiers entre eux. NB : Deux nombres sont dits premiers entre eux si leur plus grand commun diviseur (PGCD) est égal à 1.

Exemple 1 : Pour N = 36,

N n’est pas un entier unitairement parfait car il n’est pas égal à la somme de ses diviseurs unitaires :

Les diviseurs de 36

1

2

3

4

6

9

12

18

36 DJV diviseur

36

18

12

9

6

4

3

2

Test de primalité entre eux

oui

non

non

oui

non

oui

non

non

Les diviseurs unitaires de 36

1

 

 

4

 

9

 

 

La somme des diviseurs unitaires de 36

14 (≠36)

Exemple 2 : Pour N = 60 

N est un entier unitairement parfait car il est égal à la somme de ses diviseurs unitaires :

Les diviseurs de 60

1

2

3

4

5

6

10

12

15

20

30

60 DJV diviseur

60

30

20

15

12

10

6

5

4

3

2

Test de primalité entre eux

oui

non

oui

oui

oui

non

non

oui

oui

oui

non

Les diviseurs unitaires de 60

1

 

3

4

5

 

 

12

15

20

 

La somme des diviseurs unitaires de 60

60

 

 

 

 

On se propose d’écrire un programme Pascal permettant de déterminer et d’afficher tous les nombres unitairement parfaits de l’intervalle [a,b] (avec 2 < < < 100). Pour cela, on donne l’algorithme du programme principal suivant :

0) Début UnitParf

1) Répéter

Ecrire ("a = "), Lire (a)

Ecrire ("b- "), Lire (b)

    Jusqu’à (2 < a) et (a < b) et (b <100)

2) Proc Afficher (a, b)

3) Fin UnitParf

Travail demandé : 

a. Traduire l’algorithme UnitParf en un programme Pascal et ajouter les déclarations nécessaires. 

b. Transformer la séquence n°l en un module et apporter les modifications nécessaires dans le programme principal.

c. Développer le module Afficher qui permet d’afficher tous les nombres unitairement parfaits de l’intervalle [a,b].

N.B : On pourra utiliser la fonction Test_Primalité ci-desssous, qui vérifie si deux entiers et sont premiers entre eux :

Function Test_Primalite (p, k : Byte) : Boolean;

Begin

While (po k) Do

If p > k Then

p := p-k 

Else 

k := k-p;

Test_Primalite := (p=l);
End;

 

Grille d’évaluation :

Questions

Nombre de points

a. Traduction de l’algorithme UnitParf en Pascal + Ajout des déclarations nécessaires. 

b. Transformation de la séquence n°l en un module + Modifications nécessaires dans le programme principal. 

c. Développement du module Afficher.

4,5 + 1


 4 + 1


 9,5

 

 

 
Back to top