0% ont trouvé ce document utile (0 vote)
113 vues4 pages

Devoir Math Bac Informatique 2022

Le document est un sujet d'examen pour l'épreuve d'Algorithmique et Programmation, comprenant plusieurs exercices sur des concepts informatiques tels que les types de données, l'algorithme d'exponentiation rapide, les matrices stochastiques et la conversion de nombres dans différentes bases. Chaque exercice demande au candidat d'écrire des algorithmes ou des fonctions pour résoudre des problèmes spécifiques. Le sujet est destiné aux étudiants en Sciences de l'informatique et est structuré en plusieurs parties avec des instructions précises.

Transféré par

ghazi.drira
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)
113 vues4 pages

Devoir Math Bac Informatique 2022

Le document est un sujet d'examen pour l'épreuve d'Algorithmique et Programmation, comprenant plusieurs exercices sur des concepts informatiques tels que les types de données, l'algorithme d'exponentiation rapide, les matrices stochastiques et la conversion de nombres dans différentes bases. Chaque exercice demande au candidat d'écrire des algorithmes ou des fonctions pour résoudre des problèmes spécifiques. Le sujet est destiné aux étudiants en Sciences de l'informatique et est structuré en plusieurs parties avec des instructions précises.

Transféré par

ghazi.drira
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

Section : N° d'inscription : S érie : Signature des

surveillants
Nom et prénom :

Date et lieu de naissance :

Épreuve Algorithmique et Programmation - Section : Sciences de l ’informatique - Session de contrôle 2022

Le sujet comporte 4 pages numérot ées de 1/4 à 4/4 .


La page 1/4 est à remplir par le candidat et à rendre avec sa copie

Exercice 1 (3,5 points)


Soient le tableau de déclaration des nouveaux types ( TDNT) et le tableau de d éclaration des objets (TDO )
suivants :

TDNT TDO
Types Objet Type/Nature
Renseignements = Enregistrement F Texte
Nom : Chaî ne E Renseignements
Num : Octet P Bool éen
Etat Civil : Caractère B Octet
Fin Renseignements M Réel
Elève = Fichier de Renseignements Felv Eleve
Fent = Fichier d ’entiers
Fe Fent
Tsec = Tableau de 50 Renseignements
T Tsec

Ullli
Dans le tableau ci -dessous, valider chacune des instructions en mettant dans la case correspondante de la 2
colonne la lettre V si l’ instruction est valide ou la lettre F dans le cas contraire. Justifier la réponse si
l’ instruction est invalide.
Instruction Valide/Invalide Justification

B Fin Fichier(F)

Ecrire (F, [Link] Civil )


P < [Link] > 10

Ecrire (Felv, [Link])

Ecrire (Fe, M)

T[2] <- [Link]

Page 1 sur 4
EXAMEN DE BACCALAUR ÉAT - SESSION 2022
R ÉPUBLIQUE TUNISIENNE
Session de contrô le NOUVEAU R ÉGIME
É preuve : Section :
MINISTÈ RE DE L’É DUCATION
Algorithmique et Programmation Sciences de l'informatique
Durée : 3h Coefficient de l’épreuve : 2

~
N° d'inscription [

^ Exercice 2 (5,5 points)


Pour évaluer a “ an = a * a * a ... * a ), avec a et n deux entiers naturels, on a besoin de n-1 multiplications.
(
En informatique, l’algorithme d ’exponentiation rapide est un algorithme utilisé pour calculer rapidement des
grandes puissances entières. Le principe de cet algorithme est basé sur le fait qu’on a :
an = an/,z * an /,z lorsque n est pair et an = a * a ”-1 2 * a n-1 2 lorsque n est impair.
^ ^ ^ ^
D’où :
1 si n = 0
a" =J a "72 « a"72 si n est pair
a * a ( n-l )/2 a n-l )/2
(
1
si n est impair

Travail demand é :
1 ) Ecrire une fonction récursive Exporapide (a ,n ) qui permet de calculer a ” en utilisant le principe décrit
précédemment.
_
2) En faisant appel à la fonction Expo rapide de la question 1, écrire une fonction Exponentielle(x) qui
permet de calculer une valeur approch ée de ex ( l ’exponentielle d’ un entier naturel x) à epsilon prés
x2
... + — avecn! représente la factorielle
3
( epsilon - 10 5), sachant que
'
ex = =1+x+—
2!
+ *—
3!
de n .
N .B. : La factorielle d’ un entier naturel n not é n ! est définie par la formule n ! = n * ( n - l )* (n -2)* . . . * l
avec 0! = 1 et 1! = 1
3) Soit la fonction / définie par :
1
/ 00 = Xn * ex
Afin de vérifier que lim f [ x ) = 0 , utiliser les modules définies précédemment pour écrire un
algorithme d ’une procédure Verif ( FLim , n ) qui permet de stocker dans un fichier texte FLim , les
valeurs de / (*) en commen çant par x = 1 et en faisant varier x d ’ un pas égal à 1. L’écriture dans le
5
fichier FLim s’arrête lorsque f ( x ) devient inférieure ou égale à 10 .
'

N .B. :
• Chaque valeur /(x) sera stockée dans une ligne du fichier FLim.
• Le candidat n’est pas appelé à saisir l’entier naturel n .
Exercice 3 (4 ,5 points)
En math ématique, une matrice carrée M de dimension n x n est dite stochastique (ou encore matrice de
Markov ) lorsque chaque é l ément de la matrice est un réel de l’intervalle |0, 1] et la somme des é l éments de
chaque ligne est égale à 1.

Page 2 sur 4
Un tableau T de n réels est dit stable pour une matrice stochastique M lorsque le tableau P résultat du produit
de T et M vérifie P = T ( T x M = P = T), sachant que le tableau P est obtenu comme suit :
n- l
p\j ] = YjM [ i t j ] * T [ i ]
i =0
avec 0 < j n- 1

Exemple : Pour la matrice carrée M de dimension 3x3 et le tableau T de 3 é l éments suivants :


o 1 2
o 0.5 0,3 0,2
M I 0 , 2 0,8 0
2 0,3 0,3 0,4

0 1 2
T I 3 M I i I
• M est une matrice stochastique puisque les é l éments de M sont tous des réels de l ’intervalle |0,1] et la
somme des éléments de chaque ligne est égale à 1.
En effet :
La somme des é l éments de la l ère ligne est égale à M[ 0,0] + M[ 0, 1 ] + M [0,2] = 0,5+0,3+0,2 = 1
La somme des é léments de la 2eme ligne est égale à M [ 1 ,0] + M [ 1 , 1 ] + M[ l ,2] = 0,2+0,8+0 = 1
La somme des éléments de la 3cme ligne est égale à M [2,0] + M[ 2, l ] + M[2,2] = 0,3+0,3+0,4 - 1
• P, le tableau résultat du produit M x T est :
0 i 2~
p
!
3 I 6 P 1
En effet :
P[0] = M[ 0,0]*T[0] + M[ 1 ,0]*T[ 1 ] + M[2,0]*T[ 2] = 0,5*3+0,2*6+0,3* 1 = 3 qui est égal à T|0 J
- -
P[ l ] M[0,1]*T[0] + M[1,1 ]*T[ 1] + M[ 2,1 ]*T[2] 0,3*3+0,8*6+0,3* 1 = 6 qui est égal à T[ l ]
P[ 2] = M[0,2]*T[ 0] + M[ 1,2]*T[ 1 ] + M [ 2,2]*T[2] = 0,2*3+0*6+0,4* l = 1 qui est égal à T[2]
• T est dit stable pour M car M est stochastique et le produit P de T et M est égal à T .
Travail demand é :
1 ) Déclarer un type pour chacune des variables M et T.
2) Ecrire un algorithme d’une fonction Stochastique( M ,n ) qui permet de vérifier si la matrice carrée M
de dimension n x n est stochastique .
.
N B. : Le candidat n’est pas appelé à saisir M et n .
3) Ecrire un algorithme d’une fonction M _Stable( M,n ,T) qui permet de v érifier si un tableau T de n
réels est stable pour la matrice carrée M de dimension il x n .
N.B. : Le candidat n ’est pas appelé à saisir M, n et T et on supposera que la matrice M est
stochastique.

^ Exercice 4 (6,5 points)


On se propose de réaliser la conversion d ’ un entier naturel strictement positif N dans une base B donnée
(avec 2 < B < 16).
Pour cela on effectue des divisions euclidiennes par B, les restes successifs seront rangés dans un tableau
Restes à Rmax é l éments (avec Rmax = 15) puis on inverse les é l éments du tableau Restes et on les
concatène tout en convertissant les valeurs supérieures ou égales à 10 (dans le cas où la base B > 10) en leurs
équivalents dans la base B.
Travail demand é :
1) Ecrire un algorithme d’une procédure SAISIE(P, Binf, Bsup) qui permet de saisir un entier naturel P
tel que Binf < P < Bsup (avec Binf et Bsup deux entiers naturels).

Page 3 sur 4
Voir suite au verso <3r
2) Ecrire un algorithme d ’ une procédure RANGER ( N , B, RESTES, NbreR ) qui permet de :
> Ranger dans un tableau RESTES les restes successifs de la suite des divisions euclidiennes
par B jusqu ’à obtenir un quotient égal à 0 (dans la première division euclidienne on divise N
par B, puis on divise le quotient obtenu par B , etc.).
> Calculer le nombre des restes NbreR.
3) Ecrire un algorithme d ’ une procédure RENVERSER ( RESTES, NbreR ) qui renverse les NbreR
éléments rangés dans le tableau RESTES.
-
( Permuter RESTES [0] avec RESTES |NbreR l ] , RESTES [ IJ avec RESTES|NbreR-2 ], etc.)
4) Ecrire un algorithme d’ une fonction CONVERT(C) qui permet de retourner le caractère qui
correspond à l’entier C (avec 0 < C < 15).
Exemples : CONVERT (0) retourne le caract è re "0", CONVERT (9) retourne le caractè re "9",
CONVERT (10) retourne le caractè re " A ", CONVERT (15) retourne le caractè re "F"
5) Ecrire un algorithme d’ une procédure CONCATENATION ( RESTES, NbreR ) qui , en utilisant la
fonction CONVERT et la procédure RENVERSER , affiche l’équivalent du nombre N dans la base
B en concaténant les é l éments du tableau RESTES.
6) En faisant appel uniquement aux modules d éjà définis, écrire un algorithme d’un programme
principal intitulé CONVERSION qui permet de saisir un entier naturel N (avec 100 < N < 20000) et
une base B (avec 2 < B < 16) et d’afficher le résultat de la conversion du nombre d écimal N dans la
base B.
Exemple : Pour N =4008 et B= 16
• On procède à des divisions successives par B.

Après appel de la procédure RANGER, le tableau RESTES sera :


I
8 I
10 15I I
• Après appel de la procédure RENVERSER, le tableau RESTES sera :
F' I ' I
3 0 8 1
• Après appel de la procédure CONCATENATION , le résultat affich é est : "FA8".
En effet :
CONVERT(15) retourne "F” , CONVERT( IO) retourne "A " et CONVERTI) retourne ”8” .

Page 4 sur 4

Vous aimerez peut-être aussi