mercredi 15 juillet 2020
Baccalauréat 2020 Sujet 1 SI Corrigé
Baccalauréat Informatique Pratique SI 2020
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION
¯¯¯¯¯
EXAMEN DU BACCALAURÉAT
SESSION 2020
Épreuve pratique d’informatique
Sections :
Sciences de l’informatique
Coefficient de l’épreuve : 0.75
Durée : 1h 30mn
Important :
1) Dans le dossier Bac2020 situé sur la racine du disque C: de votre poste, créez un dossier de travail ayant pour nom votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer au fur et à mesure tous les fichiers solution au problème posé.
2) Vérifiez à la fin de l’épreuve que tous les fichiers que vous avez créés sont dans votre dossier de travail.
3) Une solution modulaire au problème posé est exigée.
Soit "Nombre.txt" un fichier texte contenant des entiers naturels à raison d’un entier par ligne. On se propose de créer deux fichiers textes "Div13.txt" et "Div7.txt" contenant respectivement les valeurs, de "Nombre.txt", qui sont divisibles par 13 et par 7 à raison d’un entier par ligne en se basant sur les deux principes décrits ci après :
A- Divisibilité par 13
L’algorithme du module Divis13 ci-après permet de vérifier si un nombre N est divisible par 13.
0) DEF Fn Divis13 (N : chaine) : booléen
1) S ¬ 0
Sg ¬ -1
Tant que long (N) >= 3 faire
Valeur (Sous_chaine (N , long(N) - 2,3) , v , e)
S ¬ S + v * Sg
Sg ¬ -Sg
Efface (N , long(N) - 2,3)
Fin Tantque
2) Valeur (N , v , e)
S ¬ S + v * Sg
3) Divis13 ¬ abs(S) mod 13 = 0
4) Fin Divis13
Exemple :
Pour vérifier si le nombre 1612311857 est divisible par 13, on applique la règle de divisibilité par 13 décrite par l’algorithme précédent :
- On regroupe les chiffres du nombre par des blocs de trois chiffres en commençant à partir des unités :
1 | 612 | 311 | 857
- On ajoute alternativement des "-" et des "+" entre les blocs en commençant par placer un "-" pour le premier bloc à droite :
1 - 612 + 311 - 857
- On effectue l’opération ainsi obtenue :
1 - 612 + 311 - 857 = -1157
- La valeur absolue du résultat obtenu (1157) est divisible par 13 donc 1612311857 est divisible par 13.
B- Divisibilité par 7
Pour vérifier si un nombre N est divisible par 7 nous proposons la règle de divisibilité suivante :
- Calculer la somme itérée et pondérée des chiffres de N par la série périodique de période 1, 3, 2, -1, -3, -2, c’est à-dire additionner tous les chiffres de N en multipliant chacun par un chiffre de la période en commençant par le chiffre des unités qui sera multiplié par 1, le chiffre des dizaines sera multiplié par 3, ... Si la somme est un nombre formé de plus d’un chiffre, on recommence le processus.
Exemple : Pour N = 45286090 la somme itérée et pondérée est égale à 3. En effet :
0 x 1 + 9 x 3 + 0 x 2 + 6 x (-1) + 8 x (-3) + 2 x (-2) + 5 x 1 + 4 x 3 = 10
Comme 10 est composé de plus d’un chiffre alors on recommence le processus avec 10, d’où : 0 x 1 + 1 x 3 = 3
- Un nombre N est divisible par 7 si la somme itérée et pondérée de ses chiffres par la série périodique de période 1, 3, 2, -1, -3, -2 vaut 0 ou 7.
Exemples :
· 6090 est divisible par 7, en effet : 0 x 1 + 9 x 3 + 0 x 2 + 6 x (-1) = 21. Comme 21 est composé de plus d’un chiffre alors on recommence le processus d’où 1 x 1 + 2 x 3 = 7
· 717255 est divisible par 7, en effet : 5 x 1 + 5 x 3 + 2 x 2 + 7 x (-1) + 1 x (-3) + 7 x (-2) = 0
· 45286090 n’est pas divisible par 7, en effet :
0 x 1 + 9 x 3 + 0 x 2 + 6 x (-1) + 8 x (-3) + 2 x (-2) + 5 x 1 + 4 x 3 = 10
Comme 10 est composé de plus d’un chiffre alors on recommence le processus d’où 0 x 1 + 1 x 3 = 3
Comme 3 est différent de 0 et de 7 donc 45286090 n’est pas divisible par 7
Travail demandé :
Ecrire un programme Pascal qui permet de :
- Saisir Nb entiers naturels (Nb> 5) à enregistrer dans le fichier "Nombre.txt"
- Placer les nombres du fichier "Nombre.txt" qui sont divisibles par 13 dans un fichier nommé "Div13.txt" en utilisant le module Divis13 et les nombres divisibles par 7 dans un fichier nommé "Div7.txt" en appliquant la règle de divisibilité par 7 expliquée ci-dessus.
Grille d’évaluation
Traitement
Nombre de points
• Décomposition en modules
2
• Appel des modules
2
• Si exécution et tests réussis avec respect des contraintes
16
Sinon
- Structures de données adéquates au problème posé
3
- Saisie de Nb avec respect des contraintes et remplissage du fichier "Nombre.txt"
1.75
- Traduction de la fonction Divis13
3
- Vérification de la divisibilité par 7
4
- Création et remplissage des fichiers "Div13.txt" et "Div7.txt"
4.25
Baccalauréat Informatique Pratique SI 2020
Lire la suite...
RÉPUBLIQUE TUNISIENNE |
Épreuve pratique d’informatique |
|
Sections : |
||
Coefficient de l’épreuve : 0.75 |
Durée : 1h 30mn |
Important : 1) Dans le dossier Bac2020 situé sur la racine du disque C: de votre poste, créez un dossier de travail ayant pour nom votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer au fur et à mesure tous les fichiers solution au problème posé. 2) Vérifiez à la fin de l’épreuve que tous les fichiers que vous avez créés sont dans votre dossier de travail. 3) Une solution modulaire au problème posé est exigée. |
Soit "Nombre.txt" un fichier texte contenant des entiers naturels à raison d’un entier par ligne. On se propose de créer deux fichiers textes "Div13.txt" et "Div7.txt" contenant respectivement les valeurs, de "Nombre.txt", qui sont divisibles par 13 et par 7 à raison d’un entier par ligne en se basant sur les deux principes décrits ci après :
A- Divisibilité par 13
L’algorithme du module Divis13 ci-après permet de vérifier si un nombre N est divisible par 13.
0) DEF Fn Divis13 (N : chaine) : booléen
1) S ¬ 0
Sg ¬ -1
Tant que long (N) >= 3 faire
Valeur (Sous_chaine (N , long(N) - 2,3) , v , e)
S ¬ S + v * Sg
Sg ¬ -Sg
Efface (N , long(N) - 2,3)
Fin Tantque
2) Valeur (N , v , e)
S ¬ S + v * Sg
3) Divis13 ¬ abs(S) mod 13 = 0
4) Fin Divis13
Exemple :
Pour vérifier si le nombre 1612311857 est divisible par 13, on applique la règle de divisibilité par 13 décrite par l’algorithme précédent :
- On regroupe les chiffres du nombre par des blocs de trois chiffres en commençant à partir des unités :
1 | 612 | 311 | 857
- On ajoute alternativement des "-" et des "+" entre les blocs en commençant par placer un "-" pour le premier bloc à droite :
1 - 612 + 311 - 857
- On effectue l’opération ainsi obtenue :
1 - 612 + 311 - 857 = -1157
- La valeur absolue du résultat obtenu (1157) est divisible par 13 donc 1612311857 est divisible par 13.
B- Divisibilité par 7
Pour vérifier si un nombre N est divisible par 7 nous proposons la règle de divisibilité suivante :
- Calculer la somme itérée et pondérée des chiffres de N par la série périodique de période 1, 3, 2, -1, -3, -2, c’est à-dire additionner tous les chiffres de N en multipliant chacun par un chiffre de la période en commençant par le chiffre des unités qui sera multiplié par 1, le chiffre des dizaines sera multiplié par 3, ... Si la somme est un nombre formé de plus d’un chiffre, on recommence le processus.
Exemple : Pour N = 45286090 la somme itérée et pondérée est égale à 3. En effet :
0 x 1 + 9 x 3 + 0 x 2 + 6 x (-1) + 8 x (-3) + 2 x (-2) + 5 x 1 + 4 x 3 = 10
Comme 10 est composé de plus d’un chiffre alors on recommence le processus avec 10, d’où : 0 x 1 + 1 x 3 = 3
- Un nombre N est divisible par 7 si la somme itérée et pondérée de ses chiffres par la série périodique de période 1, 3, 2, -1, -3, -2 vaut 0 ou 7.
Exemples :
· 6090 est divisible par 7, en effet : 0 x 1 + 9 x 3 + 0 x 2 + 6 x (-1) = 21. Comme 21 est composé de plus d’un chiffre alors on recommence le processus d’où 1 x 1 + 2 x 3 = 7
· 717255 est divisible par 7, en effet : 5 x 1 + 5 x 3 + 2 x 2 + 7 x (-1) + 1 x (-3) + 7 x (-2) = 0
· 45286090 n’est pas divisible par 7, en effet :
0 x 1 + 9 x 3 + 0 x 2 + 6 x (-1) + 8 x (-3) + 2 x (-2) + 5 x 1 + 4 x 3 = 10
Comme 10 est composé de plus d’un chiffre alors on recommence le processus d’où 0 x 1 + 1 x 3 = 3
Comme 3 est différent de 0 et de 7 donc 45286090 n’est pas divisible par 7
Travail demandé :
Ecrire un programme Pascal qui permet de :
- Saisir Nb entiers naturels (Nb> 5) à enregistrer dans le fichier "Nombre.txt"
- Placer les nombres du fichier "Nombre.txt" qui sont divisibles par 13 dans un fichier nommé "Div13.txt" en utilisant le module Divis13 et les nombres divisibles par 7 dans un fichier nommé "Div7.txt" en appliquant la règle de divisibilité par 7 expliquée ci-dessus.
Grille d’évaluation
Traitement |
Nombre de points |
• Décomposition en modules |
2 |
• Appel des modules |
2 |
• Si exécution et tests réussis avec respect des contraintes |
16 |
Sinon |
|
- Structures de données adéquates au problème posé |
3 |
- Saisie de Nb avec respect des contraintes et remplissage du fichier "Nombre.txt" |
1.75 |
- Traduction de la fonction Divis13 |
3 |
- Vérification de la divisibilité par 7 |
4 |
- Création et remplissage des fichiers "Div13.txt" et "Div7.txt" |
4.25 |