| 
                 RÉPUBLIQUE TUNISIENNE  | 
            
                 Épreuve pratique d’informatique  | 
        |
| 
                 Durée : 1h  | 
            
                 Coefficient : 0.5  | 
        |
| 
                 Sections : Maths, Sciences  | 
            
                 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 D 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 < a < b < 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 p et k 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 
 
  |