0% ont trouvé ce document utile (0 vote)
130 vues23 pages

Info-Revesion Theorique (Enoncé)

Transféré par

Abdallah Ben Jemaa
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)
130 vues23 pages

Info-Revesion Theorique (Enoncé)

Transféré par

Abdallah Ben Jemaa
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

LYCEE PILOTE BEJA

EPREUVE : INFORMATIQUE
ANNEE SCOLAIRE 2021-2022
Sections : 4 ème Sc exp et Math
Prof : A GUIZANI
Série de révision N°1

Exercice 1 :
On veut déterminer et afficher le nombre de diviseurs d’un entier n strictement positif.
Exemple :
Pour n=6, le nombre de diviseurs de 6 est égal à 4. En effet les diviseurs de 6 sont {1 ; 2 ; 3 ; 6}.
On vous propose les trois séquences d’instructions algorithmiques suivantes :
Séquence 1 Séquence 2 Séquence 3
c0 c1 c2
Pour k de 1 à n faire Pour k de 2 à (n div 2) faire Pour k de 2 à (n-1) faire
Si (n mod k =0) alors Si (n mod k =0) alors Si (n mod k =0) alors
c c+1 c c+1 c c+1
Fin Si Fin Si Fin Si
Fin Pour Fin Pour Fin pour
Ecrire (c) Ecrire (c) Ecrire (c)

1) Compléter le tableau ci-dessous par la valeur de la variable c après exécution de chaque séquence, et ce pour
n=4.

Séquence Valeur de la variable c


1
2
3

2) Donner le numéro de la séquence qui ne permet pas d’afficher le nombre de diviseurs. Justifier votre réponse.

…………………………………………………………………………………………………………………………………………………………………………...

…………………………………………………………………………………………………………………………………………………………………………...

Page 2 sur 52
Exercice 2 :
Un médecin veut chercher la fiche d’un de ses patients en connaissant son nom. Pour cela, il utilise un tableau T
contenant N noms.
1- Compléter la séquence algorithmique présentée ci-dessous afin de vérifier l’existence d’un nom donné NOM
dans un tableau T non vide.
Algorithme recherche
Début
Écrire ("Donner le nom à chercher : ")
Lire ( .….)
Existe  ……..
i  …….
Répéter
Si (T[i] = NOM) alors
Existe  ……
Sinon
i ……..
Finsi
Jusqu’à (…………) ou (…….……..)
Si (………………..) alors
Écrire ("Le nom recherché existe dans ce tableau.")
Sinon
Écrire ("Le nom recherché n’existe pas dans ce tableau.")
Finsi
Fin

T.D.O.
Objet Type/Nature
T Tableau de N chaînes
N, i Entier
NOM Chaîne
Existe Booléen
2- Maintenant, le médecin veut chercher les numéros des fiches de ses patients ayant le même nom. Modifier la
séquence algorithmique présentée ci-dessus afin d’afficher ces numéros.
………………………………………………………………………………………………………...………………………………………………………………………

………………………………………………………………………………………………………...………………………………………………………………………

………………………………………………………………………………………………………...………………………………………………………………………

………………………………………………………………………………………………………...………………………………………………………………………

………………………………………………………………………………………………………...………………………………………………………………………

………………………………………………………………………………………………………...………………………………………………………………………

………………………………………………………………………………………………………...………………………………………………………………………

………………………………………………………………………………………………………...………………………………………………………………………

Page 3 sur 52
Exercice 3 :
La propagation de l’épidémie Covid-19 suit une croissance exponentielle. Pour déterminer et afficher le nombre
total de personnes contaminées pendant un nombre de jours donné (N) et pour x personnes initialement
contaminées on utilise la formule suivante :
𝑁
𝑥
(𝑥)𝑖 𝑥2 𝑥3 (𝑥)𝑁
𝑒 =∑ = 1 + 𝑥 + + + ⋯………..+
𝑖! 2 6 𝑁!
𝑖=0

Donner un algorithme solution à ce problème.

Exercice 4 :
Un débutant en anglais veut élaborer son propre carnet comme étant un dictionnaire FRANÇAIS/ANGLAIS pour
l’utiliser afin de traduire des phrases au cours de sa formation. Pour cela, on admettra qu’un traducteur du français
à l’anglais peut être simplifié par une traduction de mot-à-mot.
Ce carnet FRANÇAIS/ANGLAIS est formé par N mots en français et par N mots en anglais, de sorte que chaque
mot en français lui correspond son équivalent en anglais, avec2 ≤ N ≤ NMAX(NMAX est une constante égale
à100).
Pour chaque mot ajouté en français, dans le carnet, en lui ajoute en même temps son équivalent en anglais. Sachant
que chaque mot en français qu'en anglais est une chaîne non vide de longueur maximale 15 lettres non accentuées.
Après l’élaboration du carnet, on veut traduire une phrase donnée en français (contenant que des lettres et des
espaces) en son équivalent en anglais. Dans le cas où l’un des mots ne figure pas dans le carnet, le mot en français
va figurer dans la phrase en anglais mais entre deux accolades.
La phrase traduite doit être suivie par un message de succès ou un message d’échec indiquant le nombre de mots
non traduits.
NB : On suppose que la phrase ne contient pas un espace au début, un espace à la finet des espaces superflus (un
seul espace sépare deux mots).

Exemple : Pour N=5, le carnet sera présenté comme suit :


FR école je libre Suis Un
0 1 2 3 4

ENG School i free Am A


0 1 2 3 4

FR contient les mots en français et ENG contient les mots en anglais.


 Pour la phrase "école libre"
Le résultat affiché sera : "school free : Traduction totale"
 Pour la phrase "je suis un etre libre"
Le résultat affiché sera : "i am a {etre} free : Traduction partielle, 1 mot(s) non traduit(s)"
On vous demande d’élaborer:
1) un algorithme du programme principal, solution à ce problème, en le décomposant en modules,
2) l'algorithme de chaque module.

Page 4 sur 52
LYCEE PILOTE BEJA
EPREUVE : INFORMATIQUE
ANNEE SCOLAIRE 2021-2022
Sections : 4 ème Sc exp et Math
Série de révision N°2 Prof : A GUIZANI

Exercice 1 :
Dans un contexte algorithmique et pour chacune des propositions ci-dessous, cochez, en mettant une crois (X) dans
la case qui correspond à l’unique bonne réponse.
1) Quelle est la valeur de Z après l'instruction suivante :
Z10 / 5 + 10 div 5 + 10mod 5 ;

Z=4
Z=2
Z=3

2) Quelle est l'instruction erronée parmi les suivantes ?


X X + 2
X X
2X
3) quelle est la valeur finale de A et B après exécution de la séquence suivante :
A←50
B←30
A←B
B←A
A=30 et B=30
A=30 et B=40
A=40 et B=30

4) A quelle condition la boucle suivante s'arrête-t-elle ?


Répéter
..
Jusqu’à (x=b) Ou Non(x=0)
x différent de b ou égale à zéro
x égale à b ou différent de zéro
x égale à b et différent de zéro

5) Laquelle des instructions suivantes est fausse ?


Lire (5)
Ecrire(5)
Ecrire ("5")

Page 9 sur 52
Exercice 2 :
Un nombre heureux est un nombre entier qui, lorsqu’on ajoute les carrés de chacun de ses chiffres, puis les carrés
des chiffres de ce résultat et ainsi de suite jusqu'à l’obtention d’un nombre à un seul chiffre égal à 1 (un).
Exemple :
N=7 est heureux, puisque :
 72=49
 42+92=97
 92+72=130
 12+32+02=10
 12+02=1
On est arrivé à un nombre d’un seul chiffre qui est égal à 1, donc N=7 est heureux
Entrez un nombre : 8
 82=64
 62+42=52
 52+22=29
 22+92=85
 82+52=89
 82+92= 145
 12+42+52=42
 42+22=20
 22+02=4
On est arrivé à un nombre d’un seul chiffre (4) (<10 et ≠ 1), donc N=8 n’est pas heureux.
(Idem pour tous les nombres non heureux)
Ecrire un algorithme d’une fonction qui prend en paramètres un entier n et retourne si n est un nombre heureux ou
non.
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
Exercice 3 :
Le code ci-dessous est censé effectuer un tri par ordre alphabétique décroissant d’un tableau L de 5 éléments mais
le résultat n’est pas celui attendu.
Initialement L contient dans l’ordre les chaînes suivantes : "un", "deux", "trois", "quatre", "cinq"
Pour i de 0 à 4 faire
mi i
Pour j de i à 4 faire
Si L[mi] < L [j] alors mi j
Fin SI
e L [i]
L [mi]  L [i]
L[i]  e
Fin Pour
Fin Pour

Page 10 sur 52
1- Donner le contenu du tableau L après exécution du code ci-dessus.
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
2- Corriger le code précédent de sorte que dans le tableau T on aura le contenu suivant :
"un", "trois", "quatre", "deux", "cinq"
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
Exercice 4 :
A l’occasion de son vingtième anniversaire et pour encourager ses clients, une société de télécommunication, dont
les indicatifs sont 65 et 66, accorde un bonus de recharge pour les clients gagnants. Un client est dit gagnant si le
montant de ses communications est supérieur ou égal à la consommation moyenne de N clients de la société.
Pour automatiser cette tâche, on se propose d’écrire un programme qui permet de :

1) remplir 2 tableaux T et C respectivement, par les numéros et les consommations téléphoniques des N clients,
avec 10≤N≤100, sachant que :
a. chaque numéro est unique et est formé de huit chiffres commençant obligatoirement par 65 ou 66,
b. pour chaque numéro de téléphone T[i], on fait correspondre un montant de consommation C[i] exprimé en
dinars tunisiens,
2) afficher les numéros de téléphone gagnants et les bonus de recharge, obtenus en multipliant par 20, la
somme des six derniers chiffres de chaque numéro gagnant.
Exemple :
Pour N=7 et les tableaux T et C suivants

T 66456789 66127721 65980765 66123321 66285585 66285582 65347743

C 200 20 300 250 45 99 180

Le programme affiche :
Le montant moyen des consommations est : 156.285
Le numéro 66456789 a gagné 780 DT
Le numéro 65980765 a gagné 700 DT
Le numéro 66123321 a gagné 240 DT
Le numéro 65347743 a gagné 560 DT
Travail demandé :
- Ecrire, en décomposant en modules, l’algorithme du programme principal.
- Ecrire l’algorithme de chaque module.

Page 11 sur 52
Exercice 5 :
Le responsable du service informatique dans une entreprise veut sécuriser l’accès aux données confidentielles mises en
réseau. Pour cela, il veut affecter un nom d’utilisateur « LOGIN » et un mot de passe « PASSWORD » à un nombre
d’utilisateurs du réseau.

Le LOGIN et le PASSWORD d’un utilisateur sont générés à partir du numéro de sa carte d’identité nationale NCIN selon les
étapes suivantes :

 Etape1 : Le LOGIN sera composé du mot "CIN" suivi par les 8 chiffres représentant le numéro carte d’identité
nationale de l’utilisateur. Les LOGIN doivent être distincts d’un utilisateur à un autre.
Exemple :

Si NCIN="01987312" alors le LOGIN correspondant sera "CIN01987312"

 Etape2 : Le PASSWORD sera obtenu en remplaçant chaque chiffre de NCIN par la lettre alphabétique majuscule qui lui
correspond selon le principe suivant :
Chiffre 0 1 2 3 4 5 6 7 8 9

Lettre
"A" "B" "C" "D" "E" "F" "G" "H" "I" "J"
correspondante

Exemple : Si NCIN="01987312" alors PASSWORD="ABJIHDBC"

Pour aider le responsable, on vous demande de réaliser un programme qui permet de :

- Remplir un tableau TL par les LOGIN de N utilisateurs selon le principe ci-dessus (avec 4<=N<=50).
- Remplir un tableau TP par les N PASSWORD correspondants aux LOGIN du 1 er tableau.
- Chercher et afficher le LOGIN et le PASSWORD d’un utilisateur à partir d’un NCIN donné.

Exemple :
Pour N= 4 et le TL suivant :
TL
CIN43679536 CIN05278439 CIN00438432 CIN54932678

Le contenu de tableau TP sera :


EDGHJFDG AFCHIEDJ AAEDIEDC FEJDCGHI

Et pour le NCIN donné = 00438432 , le programme affichera :

Login : CIN00438432
Mot de passe : AAEDIEDC
Travail demandé :
- Ecrire, en décomposant en modules, l’algorithme du programme principal.
- Ecrire l’algorithme de chaque module.

Page 12 sur 52
LYCEE PILOTE BEJA
EPREUVE : INFORMATIQUE
ANNEE SCOLAIRE 2021-2022
Sections :4 èmeScexp et Math
Prof : A GUIZANI
Série de révision N°3

Exercice 1 :

Une chaine ch est distincte si la chaine est composée par des caractères distincts (différents).
Exemple :
- Ch="BacSvt" est dite distincte, car elle est formée par des caractères différents.
- Ch="BacMath" est dite non distincte, car elle est formée par des caractères qui ne sont pas distincts (lettre "a").
On vous propose les trois séquences d’instructions algorithmiques suivantes :

Séquence1 Séquence2 Séquence3


Lire (ch) Lire (ch) Lire (ch)
Pour i de 0 à long(ch)-1 faire Répéter i0
Si pos(ch[i],ch)=i alors auxch[0] Répéter
okVrai cheffacer (ch,0,1) ok pos (ch[i], ch)=i
Sinon okPos(aux, ch)=-1 ii + 1
okFaux jusqu’à (ok=faux) ou (long(ch)=1) jusqu’à (ok=faux) ou (i=long (ch))
FinSi
FinPour

1) Compléter le tableau ci-dessous par la valeur de la variable ok après exécution de chaque séquence, et
ce pour ch="Sweet".

Séquence Valeur de la variable ok


1
2
3

2) Donner le numéro de la ou (les) séquence(s) qui ne permet pas de vérifier si la chaine est distincte.
Justifier votre réponse.

.........................................................................................................................................................................................
.........................................................................................................................................................................................
.........................................................................................................................................................................................

Page 19 sur 52
Exercice2 :
Soit l’algorithme inconnu suivant :
Algorithme inconnu
Début
Lire (n)
ch""
Pour i de0àn-1 faire
Répéter
T[i]Aléa(1000, 9999)
Ch1convch (T[i])
Jusqu'à (Pos (ch1, ch)=-1)
chch +ch1 +"#"
Finpour
Fin
Travail demandé :
Soit le tableau T suivant :
3245 1111 8764 1111 6511 2344 9376 5678 2344
1) Peut-on admettre le tableau T comme résultat possible de l’algorithme inconnu ? Justifier votre réponse.

…………………………………………………………………………………………………………………
………………………………………………………………………………………………………………....
2) Déduire le rôle de l’algorithme inconnu.

…………………………………………………………………………………………………………………
……………………………………………………………………………………………………………….…
3) Compléter les tableaux des déclarations des objets et des nouveaux types de l’algorithme ci-dessus :
T contient 30 éléments au maximum.

TDNT

Type
Tab =

TDO
T/N
Objet
T Tab

4) Ecrire l’algorithme d’un module qui permet d’afficher les éléments automorphes du tableau T. Un entier N
est dit automorphe si son carré N2 se termine par N.

Exemples : 25, 376, 9376 sont des nombres automorphes car leurs carrés sont respectivement 625, 141376 et
87909376. Mais 36 ne l’est pas car 362= 1296 ne se termine pas par 36.
Page 20 sur 52
Exercice 3 :
Dans le cadre de la compagne de vaccination contre le COVID-19, toute personne inscrit à cette compagne, a la
possibilité de consulter l’état de sa vaccination en composant*2021*code d’inscription# sur son téléphone
portable.
Un code d’inscription est valide s’il est composé de 9 chiffres et ne commence pas par 0.
Exemple : *2021*156390321#
Le code d’inscription C = 156390321 est valide.
Une fois le code C est valide, on passe à la vérification de son existence dans le tableau CODES puis la
consultation de son état dans le tableau VACCINATION sachant que :
- CODES est un tableau contenant n codes d’inscription (avec 1 ≤ n ≤ 1000).
- VACCINATION est un tableau d’entiers de même taille que le tableau CODES. Chacune des cases contient
l’état de vaccination de la personne dont le code d’inscription correspond à la case du même indice du tableau
CODES :
 0 : la personne est inscrit mais n’est pas encore vacciné.
 1 : la personne a reçu la première dose de vaccin.
 2 : la personne a reçu les deux doses de vaccin.
On se propose d’écrire un programme permettant de :
- Remplir le tableau CODES par n codes d’inscription (chaines de caractères) valides et distincts.
- Remplir le tableau VACCINATION par n états (0, 1, 2).
- Saisir un essai de consultation sous la forme *2021*code d’inscription#.
- Afficher l’un des messages suivants :
 "Erreur code" : Si le code d’inscription n’est pas valide.
 "Vérifiez votre code d’inscription ou bien il se peut que vous n’êtes pas encore inscrit" : Si le code
est valide mais n’existe pas dans le tableau CODES.
 "Vous n’êtes pas encore vacciné" : Si le code existe et l’état de la vaccination est 0.
 "Vous avez reçu la première dose de vaccin" : Si le code existe et l’état de la vaccination est 1.
 "Vous avez reçu les deux doses de vaccin" : Si le code existe et l’état de la vaccination est 2.
Exemple :
CODES 138656701 215566827 877001006 231564796 556008991

VACCINATION 2 1 0 1 0

Essai de consultation :*2021*231564796#


Le programme affiche : ‘’Vous avez reçu la première dose de vaccin’’
Travail demandé :
- Ecrire, en décomposant en modules, l’algorithme du programme principal.
- Ecrire l’algorithme de chaque module.

Page 21 sur 52
LYCEE PILOTE BEJA
EPREUVE : INFORMATIQUE
ANNEE SCOLAIRE 2021-2022
Sections :4 èmeScexp et Math
Prof : A GUIZANI
Série de révision N°4

Exercice 1 :
Mettre une croix  dans les propositions correctes.
a- Soit l’instruction C  SOUS-CHAINE ("informatique", 0, 4).

Elle permet d’affecter à C la valeur "infor"


La variable C doit être de type caractère
La variable C doit être de type chaine de caractère

b- X  Arrondi(2.51) - 1 * 65 mod 2*3

X=10
X=0
X=6
X=-2

c- Soit l’instruction A Alea (0, 10) – 5 permet d’affecter à la variable A une valeur aléatoire de l’intervalle :

[0..5]
[5..10]
[-5..5]
[-5..10]

d- Soit la séquence d’instructions ci-dessous. Combien de fois s’exécute le bloc d’instructions


Traitement sachant qu’il ne modifie pas le contenu de la variable a ?

a 1, b  0
Répéter
Traitement
b a+4
Jusqu’à a = 10

1 fois
3 fois
5 fois
A l’infini

Page 25 sur 52
e- Soit le bloc d’instructions suivant :

Pour K de 0 à 4 Faire
Instruction_Cle
Fin Pour
Déterminer à chaque fois le rôle de ce bloc d’instructions lorsqu’on remplace "Instruction_Cle" par une
instruction donnée. (T est un tableau de 5 entiers positifs)

- Instruction_Cle = T[K]  T[k]*2


Diviser par deux les éléments de T.
Calculer le produit des éléments de T.
Multiplier par deux les éléments de T.
Calculer la somme des éléments de T.

- Instruction_Cle = Si ((K MOD 2) = 0) Alors T[k]  T[k] DIV 2 Fin Si

Multiplier par deux les éléments d’indice pair de T.


Diviser par deux les éléments d’indice impair de T.
Multiplier par deux les éléments d’indice impair de T.
Diviser par deux les éléments d’indice pair de T.

- Instruction_Cle = Si ((K MOD 2) = 0) Alors T[k]  T[k] + 2 Fin Si

Ajouter deux aux éléments d’indice pair de T.


Ajouter deux aux éléments impairs de T.
Ajouter deux aux éléments d’indice impair de T.
Ne changer pas les éléments impairs du T.

Exercice 2 :
Soit le bloc algorithmique suivant :

Pour i de 0 à N-1 faire


ch  T[i]
Répéter
Si Majus(ch[0]) dans ["A".."Z"] alors
Effacer(ch,0,1)
Fin si
Jusqu’à (Non (Majus(ch[0] dans ["A".."Z"])) ou (ch="")
Si ch="" Alors
Ecrire ("OUI")
Sinon
Ecrire ("NON")
Fin Si
Fin pour

Page 26 sur 52
Questions :
1) a- Compléter les tableaux de déclaration des nouveaux types et des objets. T est un tableau qui contient au
maximum 30 éléments.

TDNT
Type
TAB =

TDO
Objets Type / Nature
T TAB

b- Compléter le tableau suivant, soit par les résultats générés par le bloc algorithmique relatif aux éléments de
tableau T, soit par des éléments de T permettant d’aboutir aux résultats mentionnés dans le tableau.

Tableau T "Baccalauréat" "Examen" …………. "Informatique" "Bac2021" …………..

Résultats ………………. ………… NON …………… ………….. OUI

c- Déduire le rôle de ce bloc algorithmique.


…………………………………………………………………………………………………………………
…………………………………………………………………………………
2- On désire modifier l’affichage dans le bloc algorithmique ci-dessus de telle sorte que si la condition est vérifiée,
on affiche l’élément de tableau T, sinon on élimine tous les caractères non alphabétiques de cet élément puis on
l’affiche.

Ancien affichage Nouvel affichage

Si ch="" Alors
Ecrire ("OUI")
Sinon
Ecrire ("NON")
Fin Si

Page 27 sur 52
Exercice 4 :
L’examen d’un patient par son médecin commence par la collecte des symptômes à travers un ensemble de
questions posées. Chaque symptôme sert à l’identification des maladies possibles et aide le médecin à prendre sa
décision.
Pour l’aider à déterminer et à afficher les maladies correspondant à un symptôme donné, on se propose d’écrire un
programme qui permet de :

- remplir un tableau M, par les noms de N maladies (2<N≤100) où le nom d’une maladie est une
chaîne formée par des caractères alphabétiques majuscules et peut contenir des espaces.
- remplir un tableau S par N chaînes, représentant chacune, les principaux symptômes de la maladie M[i] séparés
par des "#". Le dernier symptôme ne sera pas suivi du caractère "#". Un symptôme est une chaîne formée par
des caractères alphabétiques majuscules et peut contenir des espaces.
- afficher les maladies probables, pour un symptôme donné.
Exemple :
Pour n =5 et les deux tableaux M et S suivants :

M INSUFFISANCE SPONDYLITE TUBERCULOSE ANEMIE RENALE


NEVRALGIE

FATIGUE#PERTE DOULEUR SUEUR#TOUX# PERTE APPETIT# PARALYSIE#


S APPETIT#MAUX VERTEBRALE# DOULEUR POITRINE FATIGUE#MAUX DOULEUR
DE TETE# DOULEUR #DOULEUR DE TETE
PARALYSIE# THORACIQUE# VERTEBRALE
DOULEUR PERTE APPETIT# #PERTE
INFLAMMATION APPETIT
OCCULAIRE

Pour le symptôme : "DOULEUR VERTEBRALE"


Les maladies probables sont : SPONDYLITE et TUBERCULOSE

Travail demandé :
- Ecrire, en décomposant en modules, l’algorithme du programme principal.
- Ecrire l’algorithme de chaque module.

Page 28 sur 52
LYCEE PILOTE BEJA
EPREUVE : INFORMATIQUE
ANNEE SCOLAIRE 2021-2022
Sections : 4 ème Sc exp et Math
Prof : A GUIZANI
Série de révision N°5

Exercice 1 :

On veut déterminer et afficher le nombre de mots dans une phrase non vide. On suppose que la phrase ne contient
pas un espace au début, un espace à la fin et des espaces superflus (un seul espace sépare deux mots).

Exemple :

Pour ch="Félicitation vous avez gagné", le nombre de mots est 4.

On vous propose les trois séquences d’instructions algorithmiques suivantes :

Séquence 1 Séquence 2 Séquence 3


n1 n0 n1
p pos (" ", ch) p pos (" ", ch) p pos (" ", ch)
Tantque p ≠ -1 faire Tantque p ≠ -1 faire Tantque p ≠ -1 faire
n n+1 n n+1 n n+1
Effacer (ch, 0, p+1) Effacer (ch, p, p+1) Effacer (ch, p, p+1)
p pos(" ", ch) p pos(" ", ch) p pos(" ", ch)
Fin Tantque Fin Tantque Fin Tantque
Ecrire (n) Ecrire (n) Ecrire (n)

3- Compléter le tableau ci-dessous par la valeur de la variable n après exécution de chaque séquence, et ce pour
ch= "Python est un langage de programmation".

Séquence Valeur de la variable n


1
2
3

4- Donner le numéro de la séquence qui ne permet pas d’afficher le nombre de mots. Justifier votre réponse.

…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………

Page 33 sur 52
Exercice 2 :
On veut crypter une chaîne de caractères donnée ch en une chaîne résultat Res de la manière suivante :
Parcourir la chaîne ch de gauche à droite en comptant le nombre d’occurrences successives de chaque caractère de
la chaîne ch, puis de ranger dans la chaîne Res, ce nombre suivi du caractère en question.
Exemple :
Si ch="aaaFyBssssssssssssazz" alors la chaine Res qui sera affichée est "3a1F1y1B12s1a2z"

Le code ci-dessous est censé effectuer ce cryptage mais le résultat n’est pas celui attendu.
Res ""
s0
Pour i de 0 à long(ch)-2 faire
Si ch[i]=ch[i+1] alors
ss+1
Sinon
Res Res + convch(s)+ch[i]
s0
FinSi
FinPour

- Quelle est la valeur de Res pour chacun des cas suivants :


ch= "aaDDDkkkkkgGGw" Res= ………………………………………..
ch="tttTThhhhpxxxxnNjjjjjjj" Res= ………………………………………..
- Corriger le code précédent pour avoir le résultat attendu.

…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………

Page 34 sur 52
Exercice 3 :

La « multiplication Russe » est une méthode particulière permettant la multiplication de deux entiers A et B en
utilisant seulement la multiplication par 2, la division par 2 et l’addition.
Exemple : pour A =17 et B = 19, le produit de A par B se fait comme suit :
A B
17 19
Le premier nombre est divisé par 2 (division entière) et le deuxième est multiplié par 2 : on aura
8 38
Le processus se répète jusqu’à avoir 1 dans la première colonne :

 17 19
8 38
4 76
2 152
 1 304

17*19= 19+304 =323


Le résultat est la somme des nombres de la deuxième colonne qui sont en face des nombres impairs de la première
colonne.

Ecrire un algorithme d’une fonction qui prend comme paramètres deux entiers A et B et retourne leur produit par
la multiplication Russe.

…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………..

Page 35 sur 52
Exercice 4 :

Une station de radio lance chaque début de semaine un concours hebdomadaire intitulé « Hitparade » pour classer
cinq titres de chansons qu'elle propose à ses auditeurs et affiche le résultat du classement le samedi.

Tout au long de la semaine, un responsable de la station reçoit par téléphone les propositions des participants au
concours parmi ses auditeurs qui sont appelés à choisir le titre préféré afin d'ajouter à son score 3 points.
Pour obtenir le classement final des cinq chansons suite à la participation d'un nombre donné des auditeurs de la
station, on se propose d'écrire un programme qui permet de :
- Remplir un tableau Tl par les cinq titres des chansons, sachant qu'un titre est composé uniquement par des
lettres alphabétiques et des espaces.
- Saisir le nombre N de participants avec 5 ≤ N ≤ 100.
- Générer un tableau T2 représentant les scores des cinq chansons en ajoutant 3 points au score de chacune si
le numéro qui lui correspond a été choisi par un participant. Ce numéro est un chiffre allant de 1 à 5,
représentant l'emplacement de la chanson dans le tableau Tl.
- Afficher le classement des chansons, comme indiqué dans l'exemple ci-après, en commençant par le titre de
la chanson ayant le plus grand score. Il est à noter que les chansons ayant un même score
auront un même rang dans le classement.

Exemple :
Pour : T1 Happy Sorry Me Quemo Rosa Hello
Et un nombre de participants N =11 ayant fait les choix suivants :

Choix du participant n°1 : 5 On aura :


Choix du participant n°2 : 4
Choix du participant n°3 : 5 T2 9 6 0 6 12 Le programme affiche :
Choix du participant n°4 : 1 Le classement est :
Choix du participant n°5 : 2 Rang 1 : Hello
Choix du participant n°6 : 5 Rang 2 : Happy
Choix du participant n°7 : 1 Rang 3 :Sorry, Rosa
Choix du participant n°8 : 2 Rang 4 : Me Quemo
Choix du participant n°9 : 4
Choix du participant n°10 : 1
Choix du participant n°11 : 5

Travail demandé :
- Ecrire, en décomposant en modules, l’algorithme du programme principal.
- Ecrire l’algorithme de chaque module.

Page 36 sur 52
Exercice 5 :
On se propose de crypter un message composé par des mots séparés par un seul espace et ne contenant aucun signe de
ponctuation (, ; : ! ?) en utilisant le principe suivant :

1) Placer chaque mot du message initial dans une case d’un tableau T. On suppose que le message est composé
de 20 mots au maximum.
2) Pour chaque élément du tableau T, ajouter autant de fois le caractère "*" pour que sa longueur sera égale a celle
du mot le plus long dans le tableau T.
3) Dans un nouveau tableau T1 de taille N1 (N1 longueur du mot le plus long), repartir les lettres du mot se
trouvant dans la case T[1] de façon a placer la lettre d’indice i du mot dans la case d’indice i du tableau T1.
4) Répartir de la même façon les lettres du mot contenu dans la case T[2] en concaténant a chaque fois la lettre
d’indice i avec le contenu de la case i du tableau T1.
5) Répartir de la même façon le reste des mots de T dans T1.
6) Concaténer les mots obtenus dans T1 en les séparant par un espace pour obtenir le message crypté.

Exemple : Si le message à crypter est : "Bonjour Sami j’ai fini mon travail". Les étapes de cryptage sont :

Etape 1 : Répartir les mots de message dans le tableau T :

T Bonjour Sami J’ai Fini mon travail


Etape 2 : Ajouter le caractère "*" autant de fois pour obtenir des mots dont la longueur de chacun est égale a celle du mot le
plus long.

Etant donné que Bonjour est le mot le plus long du message (7 caractères), on obtient le tableau T suivant.

T Bonjour Sami*** j’ai*** fini*** mon**** travail


Etape 3 : Répartir les lettres de T[1] dans T1.

T1 B O n j o u r
Etape 4 : Répartir les lettres de T[2] dans T1.

T1 BS Oa nm ji o* u* r*
Etapes suivantes : Répartir le reste des mots de T dans T1.

T1 BSjfmt oa’ior nmanna jiii*v o****a u****i r****l


Le message crypté sera alors "BSjfmt oa’ior nmanna jiii*v o****a u****i r****l"

Travail demandé :
- Ecrire, en décomposant en modules, l’algorithme du programme principal.
- Ecrire l’algorithme de chaque module.

Page 37 sur 52
LYCEE PILOTE BEJA
EPREUVE : INFORMATIQUE
ANNEE SCOLAIRE 2021-2022
Sections : 4 ème Sc exp et Math
Prof : A GUIZANI
Série de révision N°6

Exercice 1 :
Dans un contexte algorithmique et pour chacune des propositions ci-dessous, cochez, en mettant une crois (X) dans
la case qui correspond à la bonne réponse.
6) Quelle est la valeur de X après l'instruction suivante : x 71 MOD 12 DIV 2*5+ 18/3*2
13
28
37

7) Quelle est l'instruction erronée parmi les suivantes ?


Lire (n)
Lire ("n")
Lire (n, m)

8) Quelle est la valeur finale de a et b après exécution de la séquence suivante :


a  25478
b0
Pour i de 0 à 3 faire
bb+a MOD 10
aa DIV 10
FinPour

a=25 et b= 24
a=2 et b=24
a=2 et b=25

9) A quelle condition la boucle suivante s’arrête-t-elle ?


Tantque (N MOD 2 ≠ 0) OU NON (N≤50) Faire
……….
FinTantque

N est un nombre impair strictement supérieur à 50


N est un nombre pair strictement supérieur à 50
N est un nombre pair inferieur ou égal à 50

Page 43 sur 52
Exercice 2 :
Un nombre entier est premier s’il est divisible seulement par un et lui-même.
Ecrire l’algorithme d’une procédure qui prend en paramètre un entier N≥2 et qui affiche la liste des nombres
premiers qui sont inférieurs ou égaux à N.
Exemple : Pour N=10
La procédure affiche la liste suivante : 2, 3, 5, 7
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
……………………………………………………………………
Exercice 3 :

On désire chercher le nombre d’occurrences de minimum dans un tableau T de N entiers. Pour cela, on donne le
tableau de déclaration des objets suivant :

Objet Type/Nature
T Tableau de N entier
N, i, m, occ Entier

- Compléter la séquence algorithmique présentée ci-dessous afin de chercher le nombre d’occurrences de


minimum dans le tableau T
Début
m……
Pour i de …… à …… faire
Si T[i] …… m alors
m…….
FinSi
FinPour
Ecrire ("Le minimum est", m)
occ 0
……………………………………..
……………………………………..
……………………………………..
……………………………………..
……………………………………..
Ecrire ("Le nombre d’occurrences de minimum est", occ)
Fin

Page 44 sur 52
Exercice 4 :

Le jeu de devinette se joue entre l’ordinateur et un joueur. Le principe de jeu est le suivant :
L’ordinateur choisit au hasard N nombres distincts entre 1 et 100. Ensuite, le joueur essaye de les deviner en
proposant une liste de N nombres distincts entre 1 et 100. Pour chaque nombre proposé, le joueur gagne 5 points si
ce nombre existe dans le bon ordre dans la liste à deviner et 2 points s’il existe dans un ordre différent. A la fin de
jeu, l’ordinateur affiche la liste à deviner, la liste proposée et le nombre de points obtenus par le joueur.

Pour numériser ce jeu, on se propose d’écrire un programme permettant de:

- Saisir N (3≤ N ≤10).


- Remplir les tableaux LD et LP contenant respectivement la liste de N nombres à deviner et la liste de N
nombres proposés.
- Afficher la liste à deviner, la liste proposée et le nombre de points obtenus (score) par le joueur

Exemple :
Pour N=5
Liste à deviner (LD) 25 11 84 3 77 9

Liste proposée(LP) 11 45 84 62 9 35

L’ordinateur affiche :
25 11
11 45
84 84
3 62
77 9
9 35
Votre score est : 9 points

Travail demandé :
- Ecrire, en décomposant en modules, l’algorithme du programme principal.
- Ecrire l’algorithme de chaque module.
NB : la solution doit comporter les Tableaux de déclaration des objets et des nouveaux types.

Page 45 sur 52
Exercice 5 :

Le jeu de tir à l’arc consiste à tirer des flèches en utilisant un arc vers un endroit cible.
Un club de tir à l’arc organise une compétition entre ses joueurs. Cette compétition consiste à donner à chaque
joueur trois essais de tir.
A chaque tir, le joueur gagne de 0 à 10 points selon l’endroit touché par la flèche sur une
cible composée de 10 cercles concentriques comme l’illustre la figure ci-contre.
Après le 3 essai, un score est calculé pour chaque joueur représentant la somme des
résultats de ses trois essais, et ce pour classer les joueurs.
On se propose d’écrire un programme permettant :
- de remplir un tableau A par N noms de joueurs participant à cette compétition (avec 2< = N <= 20),
- de calculer le score de chaque joueur sachant que le résultat d’un essai est un entier positif inférieur ou égal à
10.
- d’afficher la liste des joueurs ainsi que les scores correspondants en commençant parle meilleur.
Exemple :
Pour N = 4 et le tableau A suivant :
A "ali amdouni" "sarra trabelsi" "mohamed Sahli" "saber toukabri "

En considérant que les résultats des trois essais ainsi que les scores calculés des quatre joueurs sont les suivants :
Joueur Essai n°1 Essai n°2 Essai n°3 Score
ali amdouni 8 10 9 27
sarra trabelsi 10 7 10 27
mohamed Sahli 7 9 7 23
saber toukabri 9 9 10 28

La liste des joueurs affichée sera la suivante :

saber toukabri 28
ali amdouni 27
sarra trabelsi 27
mohamed Sahli 23

Travail demandé :
- Ecrire, en décomposant en modules, l’algorithme du programme principal.
- Ecrire l’algorithme de chaque module.
NB : la solution doit comporter les Tableaux de déclaration des objets et des nouveaux types.

Page 46 sur 52

Vous aimerez peut-être aussi