République Tunisienne Ministère de l’éducation Commissariat Régional de l’Éduca
République Tunisienne Ministère de l’éducation Commissariat Régional de l’Éducation de Tunis1 Section : Sciences de l’informatique Matière : Algorithmique et programmation Niveau : 4ème Année Date : Jeudi 10 Mai 2018 Durée : 3 Heures Devoir de Synthèse N° 2 Nom & Prénom : ………………………………….…………………………..… Classe : ………… Note : ………… /20 NB : Le sujet comporte 4 pages, la page n°1 est à remettre à la fin de l’épreuve Exercice 1 (2 + 1,5 = 3,5 points) Soit l’algorithme de la fonction Mystere suivant : 0) DEF FN Mystere (n : entier) : entier 1) d 2, x 0 Répéter Si (n Mod d = 0) Alors x x + d n n Div d Sinon d d + 1 FinSi Jusqu’à (n = 1) 2) Mystere x 3) Fin Mystere Travail demandé : a) Pour chacune des propositions suivantes et en se référant à l’algorithme de la fonction Mystere, mettre dans chacune des cases la lettre V si la proposition est correcte ou la lettre F, dans le cas contraire. i. Le traitement utilisé dans la fonction Mystere est : Itératif Récursif ii. Pour la valeur de n = 24, le résultat retourné par la fonction Mystere est : 8 9 10 iii. La fonction Mystere a pour rôle de : Décomposer l’entier n en facteurs premiers. Calculer la somme des diviseurs de n. Calculer la somme des diviseurs premiers de n. Page 1 sur 4 b) Un nombre N est dit K-pp, s’il s’écrit sous la forme d’un produit de K nombres premiers pas nécessairement distincts. Exemples : Avec k = 4, 24 est k-pp car il s’écrit sous la forme d’un produit de 4 nombres premiers (2x2x2x3) 30 n’est pas k-pp car il ne peut pas s’écrire sous la forme d’un produit de 4 nombres premiers. Apporter les modifications nécessaires dans l’algorithme de la fonction Mystere, pour qu’elle permette de vérifier si l’entier N est K-pp ou non avec K un entier positif passé en paramètre. Exercice 2 (3 points) On se propose de déterminer le kième chiffre à partir de la droite d'un nombre entier N strictement supérieur à 0. Exemples : Le 3ème chiffre à partir de la droite du nombre 8724 est 7 Le 5ème chiffre à partir de la droite du nombre 21327 est 2 Travail demandé : Écrire un algorithme d’une fonction récursive qui permet de retourner le kième chiffre à partir de la droite d’un nombre entier N strictement supérieur à 0. NB : k et N sont donnés en paramètres. Exercice 3 (3 + 1 = 4 points) Soit x un réel donné strictement positif. On se propose de calculer la somme S définie par la formule suivante : S(x) = 1−x 2 3! + x 4 5! −x 6 7! + x 8 9! …………. 1. Ecrire un algorithme d’un module intitulé CalSom permettant de calculer une valeur approchée de S à 10 - 4 près. 2. Déduire un algorithme d’un module intitulé CalSin permettant de calculer une valeur approchée de Sin(x) sachant que : S(x) = sin(x) x Page 2 sur 4 Problème (9,5 points) Une société a développé une tondeuse à gazon automatique destinée aux surfaces rectangulaires. La tondeuse peut être programmée pour parcourir l'intégralité de la surface d’une pelouse, représentée sous forme d’une matrice carrée M d’ordre T (avec 5 ≤ T ≤ 100). La position de la tondeuse est représentée par les coordonnées dans la pelouse (Num_Ligne et Num_Colonne) et une lettre indiquant l'orientation selon la notation cardinale anglaise (N, E, W, S) comme le montre la figure ci-contre. Par exemple, la position de la tondeuse peut être (1, 1, N), qui signifie qu'elle se situe dans le coin supérieur gauche de la pelouse, et orientée vers le Nord. La tondeuse est commandée par des instructions, chacune est formée par une suite de lettres juxtaposées. Le tableau ci-dessous présente les différentes lettres utilisées et leurs significations respectives : Lettre Signification D Faire pivoter la tondeuse de 90° à droite, sans la déplacer. G Faire pivoter la tondeuse de 90° à gauche, sans la déplacer. A Faire avancer la tondeuse d'une case dans la direction à laquelle elle fait face, et sans modifier son orientation. Si la position après mouvement est en dehors de la pelouse, la tondeuse ne bougera pas ; elle conservera son orientation et traitera la commande suivante. Pour programmer la tondeuse, un fichier texte intitulé "instructions.txt" sera fourni, dont la première ligne contient la position initiale de la tondeuse ainsi que son orientation, sous la forme de deux nombres et une lettre, séparés par des espaces. Les lignes suivantes contiennent chacune une série d'instructions ordonnant à la tondeuse de se déplacer dans la pelouse. A partir du fichier "instructions.txt" déjà rempli, on vous demande d’écrire un programme modulaire qui permet de : Saisir la taille T de la pelouse. Remplir un fichier texte intitulé "deplacements.txt" contenant, dans chaque ligne, les différentes positions par lesquelles la tondeuse a passé le long de l’exécution des instructions d’une ligne du fichier "instructions.txt". Les différentes positions sont séparées par le caractère "*", en utilisant le principe expliqué ci-dessus. Exemple : Pour une pelouse de taille T = 5 et un fichier "instructions.txt" de 3 lignes ayant le contenu suivant : 5 2 N GADAGAA DAGAADADAGA Le fichier "deplacements.txt" obtenu aura le contenu suivant : 5 2 N 5 2 W * 5 1 W * 5 1 N * 4 1 N * 4 1 W * 4 1 W * 4 1 W 4 1 N * 3 1 N * 3 1 W * 3 1 W * 3 1 W * 3 1 N * 2 1 N * 2 1 E * 2 2 E * 2 2 N * 1 2 N * 1 2 E Page 3 sur 4 En effet, étant donnée la position de départ (5, 2, N), le début de l’exécution de la commande GADAGAA est expliquée comme suit : Lettre de commande Explication Nouvelle position G La tondeuse tourne de 90° à gauche sans avancer 5 2 W A La tondeuse avance d’un pas sans changer d’orientation. Elle passe à la colonne précédente sans changer de ligne. 5 1 W … Travail demandé : 1) Analyser le problème en le décomposant en modules. 2) Ecrire l’algorithme de chacun des modules envisagés tout en dressant les tableaux de déclarations. Page 4 sur 4 uploads/Industriel/ bb-algo-2018.pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/u8RMHuKxo7CZiVFS3fL4D3IX2RsFOsQZ6dnlOa2y86Z6mZJbV5Dv9y894FtSLFegrYEWbcvTPYdlAKniwYaDgmDJ.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/I4RuEtBkT2V6jNw8TnBwF37GJryqPvBYT31ltwIUU0Qhw3wKbl2DVbMIIZRfVfj19CkYZdnZyfZtejPaI0XTrNMS.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/jYv3b0AUPI7i0D33B3fiSpGKnEjrLHKsXfemCdxV4eHNVjwGj8QVuKWMkFPlxASW6TScZbts3QCe5IvhnvEcYQ6N.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/XcA9fJXZga9mky56aBFUMnCCzQ6Wc4XV5HcR1Bzxx7I5SVyQ7CZXcTxC8slFxpCT3UzCKiYVc1DoCglerEIFHSvB.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/9Zejax5Disei7qQcgBYKubC7zfrAMi4RAAgohS5X2s1E6821rqQ4zqVhYW5qwv0JqK0QMALESBorSY0a9phpsEPM.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/TGUMmuRHQcASidjERsoGMuBnm52VAG8sCOAWkXYm2wNRTICqw9ju5vGqHFUq9fzAV0Gc71Gebtdsg9PDg0f2ecdv.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ZkvPt9iAAx7TDuSzihgRqvsb6Htpf7KicRDP2SIvQGSnajGvn0tg4j4XHKSAOSxVFrd83sqGSbjuS5yvmXwUm2AW.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ximOfk44afjXZ53akMnLSqgfzDvdKpFBssWJRx4DAHyCQfvmDcndmVW5BqkGPg7Felq5sIu8HBbOBkxUXRwpp1kk.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/7m0y8L9IwEf6GbkO63gInP7uQ6kVOpXTJSI2ev8bg6uNOiLDxEgMf7pcKCj8HBNRDlI9jmhELaxFK1nGJ8v54QB3.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/Q6r7QLRJjz4LbLX2wzENhBXSuaJ4wF6811kvDOJfeOFBJ8Rimr6GNBYTEkBSF7Bq2sPAjd1GXEh7JBw1n61VNvcV.png)
-
21
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 16, 2022
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.1912MB