N°1
                                                                                         SUJET N 1
                                                                                               Mars 2010



Important :

1) Une solution au problème est exigée.
2) Dans le dossier Bac2010, enregistrer au fur et à mesure tous les fichiers demandés dans ce dossier.



                                        Détrier un tableau
On désire réaliser un programme qui permettra de remplir un tableau T par N
éléments tel que N soit pair et 4≤N≤100. Le tableau devra être saisi directement dans
l’ordre croissant.

Le but est de mélanger le tableau à l’aide du principe suivant :

- On sépare le tableau T en deux moitiés M-inf et M-sup,
- On remplit un tableau TM tel que le premier élément de TM soit le premier
   élément de de la moitié M_sup, le deuxième élément de TM soit le premier élément
   de M-inf, le troisième élément de TM soit le deuxième élément de M_sup … et
   ainsi de suite.
- Enfin, le programme affiche le tableau TM.

   Exemple :

   TABLEAU T
        2             5             8            10            25            36           39             51
         1            2             3             4             5            6             7             8




        25            2            36             5            39            8            51             10
         1            2             3             4             5            6             7             8
 TABLEAU TM

NB : au cours du remplissage du tableau T, on ne fera pas le tri, mais on contrôle au fur et à mesure.
N°2
                                                                                      SUJET N 2
                                                                                            Mars 2010




Important :

1) Une solution au problème est exigée.
2) Dans le dossier Bac2010, enregistrer au fur et à mesure tous les fichiers demandés dans ce dossier.



                                              Calendrier

On se propose d’afficher le calendrier d’un mois donné, pour cela :

- L’utilisateur saisit un entier qui représente le jour de la semaine où débute le mois

   (1 pour lundi, 2 pour mardi, …..., 7 pour dimanche) et un autre entier qui

   représente le nombre de jours dans le mois (entre 28 et 31).

- Le calendrier sera stocké dans un fichier texte appelé cal.txt



   Exemple :

   Jour= 2

   Nombre de jour= 30

              Lun          Mar          Mer           Jeu          Ven          Sam          Dim

                             1            2            3            4             5            6

               7             8            9           10            11           12           13

               14           15           16           17            18           19           20

               21           22           23           24            25           26           27

               28           29           30
N°3
                                                                                      SUJET N 3
                                                                                            Mars 2010




Important :

1) Une solution au problème est exigée.
2) Dans le dossier Bac2010, enregistrer au fur et à mesure tous les fichiers demandés dans ce dossier.



Pour vérifier si un entier N est divisible par 9 ou non, on peut appliquer la méthode
suivante :
    1. On fait la somme du 1er et du 2ème chiffre de N.
    2. Si la somme obtenue est supérieure ou égale à 9, on lui soustrait 9.
    3. On ajoute ensuite à cette somme le 3ème chiffre et on lui applique la règle 2 (on lui
        retranche 9 si elle est supérieure à 9) et ainsi de suite jusqu’au dernier chiffre de N.
    4. Si le résultat final est nul, le nombre N est alors divisible par 9.

    Exemple :
    Pour N = 65493
           6 + 5 = 11 (11 est supérieur ou égal à 9, on lui soustrait 9, on obtient 2)
    2 + 4 = 6 (6 est strictement inférieur à 9)
    6 + 9 = 15 (15 est supérieur ou égal à 9, on lui soustrait 9, on obtient 6)
    6 + 3 = 9 (9 est supérieur ou égal à 9, on lui soustrait 9, on obtient 0)
    Le résultat est nul et tous les chiffres de N ont été traités, donc le nombre 65493 est
    divisible par 9. En effet, 65493 = 9 x 7277

 Ecrire un programme Div_9.pas qui permet de :
  • Remplir un fichier texte intitulé nombres.txt par des entiers supérieurs à 9. la fin de
     la saisie est possible si nous répondons N (Non) à la question « Continuer (O/N) ? ».
  • Afficher, à partir du fichier, les entiers divisibles par 9.

 NB : pour vérifier si un entier est divisible par 9 ou non vous devez utiliser la méthode ci-dessus.
N°4
                                                                                      SUJET N 4
                                                                                            Mars 2010




Important :

1) Une solution au problème est exigée.
2) Dans le dossier Bac2010, enregistrer au fur et à mesure tous les fichiers demandés dans ce dossier.




                                     De vilains nombres

 Un nombre vilain est un nombre qui a au moins deux paires de facteurs telles que la
 somme des facteurs d'une paire équivaut à la différence des facteurs de l'autre.

 Ainsi, par exemple, le nombre 6 est un nombre vilain puisque 6 * 1 = 6, 2 * 3 = 6, et
 6-1=2 + 3; aussi, 24 est un autre nombre vilain puisque 12 - 2 = 6 + 4.

     Ecrire un programme qui, lit saisit une liste d'entiers positifs dans un fichier texte
 F1.txt, crée un second fichier F2.txt en inscrivant devant chaque entier s’il est vilain ou
 pas.
- L’arrêt de saisie de la liste dans F1 est validé en répondant par O (oui) à la question
     « voulez vous continuer ? »

 Exemple du fichier F1.txt
 4
 6
 24
 30420
 10078
 Exemple du fichier F2.txt

 4 est vilain
 24 est vilain
 30420 est vilain
 10078 n'est pas vilain
N°5
                                                                                      SUJET N 5
                                                                                            Mars 2010




Important :

1) Une solution au problème est exigée.
2) Dans le dossier Bac2010, enregistrer au fur et à mesure tous les fichiers demandés dans ce dossier.




 Un entier de n chiffres distincts (1<n<9) est dit bien ordonné si ses chiffres forment, de
 gauche à droite, une suite strictement croissante.



 Exemple : L’entier de trois chiffres, 147 est bien ordonné car 1<4<7.



 L'entier de 4 chiffres, 1265 n'est pas bien ordonné car 6>5.



 Écrire un programme pascal qui permet de saisir m entiers de n chiffres (1<n<9) avec m
 entre 2 et 20 dans un fichier des entiers. Stocke dans un second fichier texte tous les
 entiers bien ordonnés.
N°6
                                                                                      SUJET N 6
                                                                                            Mars 2010




Important :

1) Une solution au problème est exigée.
2) Dans le dossier Bac2010, enregistrer au fur et à mesure tous les fichiers demandés dans ce dossier.




                                       Nombre heureux


 Un nombre heureux est un entier naturel dont on fait la somme des carrés de ses
 chiffres et la même opération se répète sur chaque résultat successif jusqu'à ce qu’on
 aboutisse à 1.




 Exemple

 70 est un nombre heureux, car 72 + 02 = 49, 42 + 92 = 97, 92 + 72 = 130, 12 + 32 + 02 =10 et
 12 + 02 = 1.



 Écrire un programme pascal qui remplit un fichier texte par les entiers heureux compris
 entre 40000 et 99999
N°7
                                                                                      SUJET N 7
                                                                                            Mars 2010




Important :

1) Une solution au problème est exigée.
2) Dans le dossier Bac2010, enregistrer au fur et à mesure tous les fichiers demandés dans ce dossier.




                                           Inversement


 Ecrire un programme Pascal qui permet de :

        Remplir un fichier texte « a.txt » par des N entiers aléatoires comprises entre
        -50 et 50 (2≤N≤10).
        Enregistrer les mêmes lignes de « a.txt » dans un second fichier « b.txt » mais en
        inversant l’ordre des lignes (comme indiqué ci-dessous).




               -30                                                           -3
               11                                                            4
               49                                                            13
               13                                                            49
               4                                                             11
               -3                                                            -30
                    a.txt                                                          b.txt
N°8
                                                                                      SUJET N 8
                                                                                            Mars 2010




Important :

1) Une solution au problème est exigée.
2) Dans le dossier Bac2010, enregistrer au fur et à mesure tous les fichiers demandés dans ce dossier.



 Pour x donné très proche de zéro on a :




          Ecrire un programme pascal nommé « approx_sinus » permettant de Calculer

 sinus (x) en utilisant la formule ci-dessus. Le calcul s’arrête quand la différence entre

 deux termes consécutifs en valeur absolue devienne inférieure à epsilon, où epsilon

 est un réel positif donné.

 La dernière somme calculée est une valeur approchée de sinus (x).

Sujets de preparation bac tp (sayari)

  • 1.
    N°1 SUJET N 1 Mars 2010 Important : 1) Une solution au problème est exigée. 2) Dans le dossier Bac2010, enregistrer au fur et à mesure tous les fichiers demandés dans ce dossier. Détrier un tableau On désire réaliser un programme qui permettra de remplir un tableau T par N éléments tel que N soit pair et 4≤N≤100. Le tableau devra être saisi directement dans l’ordre croissant. Le but est de mélanger le tableau à l’aide du principe suivant : - On sépare le tableau T en deux moitiés M-inf et M-sup, - On remplit un tableau TM tel que le premier élément de TM soit le premier élément de de la moitié M_sup, le deuxième élément de TM soit le premier élément de M-inf, le troisième élément de TM soit le deuxième élément de M_sup … et ainsi de suite. - Enfin, le programme affiche le tableau TM. Exemple : TABLEAU T 2 5 8 10 25 36 39 51 1 2 3 4 5 6 7 8 25 2 36 5 39 8 51 10 1 2 3 4 5 6 7 8 TABLEAU TM NB : au cours du remplissage du tableau T, on ne fera pas le tri, mais on contrôle au fur et à mesure.
  • 2.
    N°2 SUJET N 2 Mars 2010 Important : 1) Une solution au problème est exigée. 2) Dans le dossier Bac2010, enregistrer au fur et à mesure tous les fichiers demandés dans ce dossier. Calendrier On se propose d’afficher le calendrier d’un mois donné, pour cela : - L’utilisateur saisit un entier qui représente le jour de la semaine où débute le mois (1 pour lundi, 2 pour mardi, …..., 7 pour dimanche) et un autre entier qui représente le nombre de jours dans le mois (entre 28 et 31). - Le calendrier sera stocké dans un fichier texte appelé cal.txt Exemple : Jour= 2 Nombre de jour= 30 Lun Mar Mer Jeu Ven Sam Dim 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
  • 3.
    N°3 SUJET N 3 Mars 2010 Important : 1) Une solution au problème est exigée. 2) Dans le dossier Bac2010, enregistrer au fur et à mesure tous les fichiers demandés dans ce dossier. Pour vérifier si un entier N est divisible par 9 ou non, on peut appliquer la méthode suivante : 1. On fait la somme du 1er et du 2ème chiffre de N. 2. Si la somme obtenue est supérieure ou égale à 9, on lui soustrait 9. 3. On ajoute ensuite à cette somme le 3ème chiffre et on lui applique la règle 2 (on lui retranche 9 si elle est supérieure à 9) et ainsi de suite jusqu’au dernier chiffre de N. 4. Si le résultat final est nul, le nombre N est alors divisible par 9. Exemple : Pour N = 65493 6 + 5 = 11 (11 est supérieur ou égal à 9, on lui soustrait 9, on obtient 2) 2 + 4 = 6 (6 est strictement inférieur à 9) 6 + 9 = 15 (15 est supérieur ou égal à 9, on lui soustrait 9, on obtient 6) 6 + 3 = 9 (9 est supérieur ou égal à 9, on lui soustrait 9, on obtient 0) Le résultat est nul et tous les chiffres de N ont été traités, donc le nombre 65493 est divisible par 9. En effet, 65493 = 9 x 7277 Ecrire un programme Div_9.pas qui permet de : • Remplir un fichier texte intitulé nombres.txt par des entiers supérieurs à 9. la fin de la saisie est possible si nous répondons N (Non) à la question « Continuer (O/N) ? ». • Afficher, à partir du fichier, les entiers divisibles par 9. NB : pour vérifier si un entier est divisible par 9 ou non vous devez utiliser la méthode ci-dessus.
  • 4.
    N°4 SUJET N 4 Mars 2010 Important : 1) Une solution au problème est exigée. 2) Dans le dossier Bac2010, enregistrer au fur et à mesure tous les fichiers demandés dans ce dossier. De vilains nombres Un nombre vilain est un nombre qui a au moins deux paires de facteurs telles que la somme des facteurs d'une paire équivaut à la différence des facteurs de l'autre. Ainsi, par exemple, le nombre 6 est un nombre vilain puisque 6 * 1 = 6, 2 * 3 = 6, et 6-1=2 + 3; aussi, 24 est un autre nombre vilain puisque 12 - 2 = 6 + 4. Ecrire un programme qui, lit saisit une liste d'entiers positifs dans un fichier texte F1.txt, crée un second fichier F2.txt en inscrivant devant chaque entier s’il est vilain ou pas. - L’arrêt de saisie de la liste dans F1 est validé en répondant par O (oui) à la question « voulez vous continuer ? » Exemple du fichier F1.txt 4 6 24 30420 10078 Exemple du fichier F2.txt 4 est vilain 24 est vilain 30420 est vilain 10078 n'est pas vilain
  • 5.
    N°5 SUJET N 5 Mars 2010 Important : 1) Une solution au problème est exigée. 2) Dans le dossier Bac2010, enregistrer au fur et à mesure tous les fichiers demandés dans ce dossier. Un entier de n chiffres distincts (1<n<9) est dit bien ordonné si ses chiffres forment, de gauche à droite, une suite strictement croissante. Exemple : L’entier de trois chiffres, 147 est bien ordonné car 1<4<7. L'entier de 4 chiffres, 1265 n'est pas bien ordonné car 6>5. Écrire un programme pascal qui permet de saisir m entiers de n chiffres (1<n<9) avec m entre 2 et 20 dans un fichier des entiers. Stocke dans un second fichier texte tous les entiers bien ordonnés.
  • 6.
    N°6 SUJET N 6 Mars 2010 Important : 1) Une solution au problème est exigée. 2) Dans le dossier Bac2010, enregistrer au fur et à mesure tous les fichiers demandés dans ce dossier. Nombre heureux Un nombre heureux est un entier naturel dont on fait la somme des carrés de ses chiffres et la même opération se répète sur chaque résultat successif jusqu'à ce qu’on aboutisse à 1. Exemple 70 est un nombre heureux, car 72 + 02 = 49, 42 + 92 = 97, 92 + 72 = 130, 12 + 32 + 02 =10 et 12 + 02 = 1. Écrire un programme pascal qui remplit un fichier texte par les entiers heureux compris entre 40000 et 99999
  • 7.
    N°7 SUJET N 7 Mars 2010 Important : 1) Une solution au problème est exigée. 2) Dans le dossier Bac2010, enregistrer au fur et à mesure tous les fichiers demandés dans ce dossier. Inversement Ecrire un programme Pascal qui permet de : Remplir un fichier texte « a.txt » par des N entiers aléatoires comprises entre -50 et 50 (2≤N≤10). Enregistrer les mêmes lignes de « a.txt » dans un second fichier « b.txt » mais en inversant l’ordre des lignes (comme indiqué ci-dessous). -30 -3 11 4 49 13 13 49 4 11 -3 -30 a.txt b.txt
  • 8.
    N°8 SUJET N 8 Mars 2010 Important : 1) Une solution au problème est exigée. 2) Dans le dossier Bac2010, enregistrer au fur et à mesure tous les fichiers demandés dans ce dossier. Pour x donné très proche de zéro on a : Ecrire un programme pascal nommé « approx_sinus » permettant de Calculer sinus (x) en utilisant la formule ci-dessus. Le calcul s’arrête quand la différence entre deux termes consécutifs en valeur absolue devienne inférieure à epsilon, où epsilon est un réel positif donné. La dernière somme calculée est une valeur approchée de sinus (x).