0% ont trouvé ce document utile (0 vote)
21 vues5 pages

680cc7f3b072e - 4SI Algo DS3

Le document présente un devoir de synthèse en algorithmique et programmation pour des étudiants en Bac Sciences de l'informatique. Il contient quatre exercices, incluant des algorithmes pour calculer des surfaces, vérifier la primalité d'un nombre, décomposer un entier en somme de factorielles, et générer un code Morse à partir d'un fichier. Chaque exercice demande la rédaction d'algorithmes spécifiques et présente des exemples pour illustrer les concepts abordés.

Transféré par

medbchr76
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
21 vues5 pages

680cc7f3b072e - 4SI Algo DS3

Le document présente un devoir de synthèse en algorithmique et programmation pour des étudiants en Bac Sciences de l'informatique. Il contient quatre exercices, incluant des algorithmes pour calculer des surfaces, vérifier la primalité d'un nombre, décomposer un entier en somme de factorielles, et générer un code Morse à partir d'un fichier. Chaque exercice demande la rédaction d'algorithmes spécifiques et présente des exemples pour illustrer les concepts abordés.

Transféré par

medbchr76
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Algo & Prog

Classe : Bac Sciences de l’informatique

Examen : Devoir de Synthèse N°3 (2h)


Algo & Prog
Français
Exercice 1 10 min 3 pts

Soit les fonctions f et g définis dans l’inter-


valle [-1,1] par f(x)=x3 et g(x)=x et dont la
représentation graphique est illustrée g(x)
dans la figure ci-contre. f(x)

Travail demandé :
Ecrire l’algorithme d’un module nommé
surface(n) permettant de calculer la sur-
face de la partie indiquée en couleur verte
en utilisant la méthode des trapèzes.

Exercice 2 25min 4 pts

Un entier P (strictement supérieur à 1) est dit « primaire » s'il existe un en-


tier naturel premier X tel que P = X n avec n un entier strictement positif.

𝒏
La racine nième de P (X= √𝑷) peut être calculée approximativement à 10-5
près avec la suite x définie par

n=0

n>0

On se propose par la suite de vérifier si un entier P est primaire ou non.


Exemples :
- 10 n’est pas un nombre primaire, en effet

n Valeur approchée de Racine n-ième Constatation


2
2 √10 ≈ 3.16227 3.16227 3
3
3 √10 ≈ 2.15443 2.15443 2
4
4 √10 ≈ 1.77827 1.77827 < 2
*égalité approximative à 10-5 près

1
Algo & Prog
Français
- 16807 est un nombre primaire. En effet :

n Valeur approchée de Racine n-ième Constatation


2
2 √16807 ≈ 129.64181 129.64181 129
3
3 √16807 ≈ 25.61513 25.61513 25
4
4 √16807 ≈ 11.38603 11.38603 11
5
5 √16807 ≈ 7.00000….18 7.00000..18 ≈ 7 (premier)
*égalité approximative à 10-5 près

𝟐
- 144 n’est pas un nombre primaire, en effet √𝟏𝟒𝟒 = 12 qui n’est pas
premier.

Travail demandé :
1. Ecrire l’algorithme d’une fonction nommée racine_nieme(n,P) permet-
tant de retourner à 10-5 près la racine nième du nombre P.
2. Ecrire l’algorithme d’une fonction nommée primaire(P) permettant de vé-
rifier si l’entier P est primaire.

N.B. : Le candidat n’est pas appelé à développer les fonctions suivantes


- puissance(a,b) permettant de calculer ab
-
premier(n) permettant de tester la primalité d’un entier donné.

Exercice 3 20 min 5 pts

Tout entier naturel positif N peut s'écrire sous la forme de la somme pondé-
rée de factoriers :

N = a1 * 1! +a2 *2! + a3 * 3! +⋯+ an * n!


Où (a1,a2,a3,…,an) sont des entiers positifs tels que 0≤ai≤i.
Exemples :

23= 3 * 3! +2 * 2! + 1*1!
350=2 * 5! + 4 * 4! + 2 * 3! + 2 * 1!

2
Algo & Prog
Français

Travail demandé :
Écrire l'algorithme d'un module nommé decomposer(N) qui retourne une
chaine de caractères représentant la décomposition de l’entier N en
somme pondérée de factoriels.

Exercice 4 60 min 8 pts

Le code Morse international, est un code A ⋅− N −⋅ 0 −−−−


permettant de transmettre un texte à l'aide de
B −⋯ O −−− 1 ⋅−−−−
séries d'impulsions, ces impulsions peuvent
être produites par des signes, une lumière, un C −⋅−⋅ P ⋅−−⋅ 2 ⋅⋅−−−

son. D −⋅⋅ Q −−⋅− 3 ⋅⋅⋅−−

Ce codage de caractères assigne à chaque E ⋅ R ⋅−⋅ 4 ⋅⋅⋅⋅−


lettre et à chaque chiffre une combinaison F ⋅⋅−⋅ S ⋯ 5 ⋅⋅⋅⋅⋅
unique de signaux intermittents.
G −−⋅ T − 6 −⋅⋅⋅⋅
La figure ci-contre représente le codage de
H ⋯⋅ U ⋅⋅− 7 −−⋅⋅⋅
chaque caractère alphabétique (majuscule) et
chaque chiffre par une combinaison unique I ⋅⋅ V ⋯− 8 −−−⋅⋅

de points (⋅) et de tirets (−) et en considérant J ⋅−−− W ⋅−− 9 −−−−−⋅


que
K −⋅− X −⋅⋅−
1- Les codes de deux caractères succes- L ⋅−⋅⋅ Y −⋅−−
sifs sont séparés par trois (3) espaces.
M −− Z −−⋅⋅
2- L'espacement entre deux mots est codé
par sept (7) espaces. fig. Codage des caractères

Exemples :
• Le code de la lettre « A » est « ⋅− »
• Le code des mots « DS3 ALGO » est : -.. ... …--- .- .-.. --. ---

D S 3 A L G O
-.. 3 espaces ... 3 espaces …--- 7 espaces .- 3 espaces .-.. 3 espaces --. 3 espaces ---

3
Algo & Prog
Français

Etant donné un fichier d'enregistrements intitulé « Codes_morse.dat », où


chaque enregistrement est composé de deux champs :
• Caractère : contenant une lettre majuscule ou un chiffre,
• Code : contenant le code Morse équivalent

En utilisant le fichier « Codes_morse.dat », on se propose de générer


l'équivalent morse d'un message à envoyer contenu dans un fichier texte
intitulé « message.txt » et l'enregistrer dans un fichier texte intitulé « Re-
sultat.txt ». Sachant que chaque ligne du fichier « message.txt » est com-
posée par des lettres majuscules, des espaces et/ou des chiffres.

Travail demandé :
Soient F1, F2 et F3 les noms logiques des fichiers « Codes_morse.dat », «
message.txt » et « Resultat.txt ».
1- Donner la déclaration d'un type pour le fichier « Codes_morse.dat » ainsi
que celles des types nécessaires à sa déclaration.
2- Ecrire un algorithme d'un module, nommé Verifier (F1), qui permet de vé-
rifier la validité des codes déjà saisis dans le fichier « Codes_morse.dat »
sachant que
- Tous les caractères alphabétiques doivent être présentés dans
le fichier.
- Chaque code est unique.
N.B. :
- Le candidat n’est pas appelé à remplir le fichier F1.
3- Tout en vérifiant la validité du message à transmettre, écrire l’algorithme
d’un module nommé Remplir(F2) permettant de remplir le fichier « mes-
sage.txt » avec le message clair à chiffrer.

4- Ecrire un algorithme d'un module, nommé GENERER (F1, F2, F3), qui per-
met à partir du texte du fichier « message.txt » de coder et générer le fichier
« Resultat.txt ».

Vous aimerez peut-être aussi