Académique Documents
Professionnel Documents
Culture Documents
EC
TC
P116
–
Algorithmique
et
structures
de
données
1
Examen
semestriel
du
23
janvier
2013
Enseignant
:
R.
Houé
–
Durée
:
2h00
1. Que
produit
l’algorithme
suivant
?
(1,5pt)
si
on
justifie
la
réponse
Variables A, B Caractères ;
Variables C Entier ;
Début
A ← "Petit Pays";
B ← "Mathematic";
C ← A + B;
Fin
L’algorithme
produira
une
erreur
d’exécution
pour
au
moins
une
des
raisons
suivantes
:
-‐
A
et
B
étant
des
Caractères,
l’opérateur
+
qui
est
numérique
n’est
pas
adapté
-‐
dans
la
dernière
instruction,
même
si
on
utilisait
un
opérateur
alphanumérique,
le
membre
de
gauche
(entier)
ne
serait
néanmoins
pas
du
même
type
que
le
membre
de
droite
2. Corriger
l’algorithme
suivant
pour
qu’il
affiche
«
Petit
Pays
».
(1,5pt)
Variables A, B, C Caractères ; // il fallait déclarer C
Début
A ← "Petit ";
B ← "Pays";
C ← A & B; // & est l’opérateur de concaténation de 2 chaînes de caractères
Ecrire C ;
Fin
3. Soit
l’algorithme
suivant
:
Tableau Nb(5) Entier ; Tableau Nb(5) Entier ;
Variable i Entier ; Variable i Entier ;
Début Début
Pour i ← 0 à 5 Faire Pour i ← 0 à 5 Faire
Nb(i) ← i * i ; Nb(i) ← i * i ;
FinPour Ecrire Nb(i) ;
Pour i ← 0 à 5 Faire FinPour
Ecrire Nb(i) ; Fin
FinPour
Fin
a. Quelle
est
la
valeur
de
:
(1,5pt)
0,5pt
par
réponse
juste
i. Nb(1)
=
1
ii. Nb(4)
=
16
iii. Nb(5)
=
25
b. Proposer
une
version
simplifiée
de
cet
algorithme.
(2pts)
Il
fallait
regrouper
l’instruction
d’écriture
dans
la
même
boucle
que
l’instruction
d’affectation
(voir
encadré
ci-‐dessus)
Examen
semestriel
–
EC
TC
P116
-‐
Algorithmique
et
structures
de
données
1
1 / 5
4. Soit
l’algorithme
suivant
:
Tableau T(10) Entier ;
Variable N Entier ;
Début
Ecrire ”Entrez la valeur recherchée : ” ;
Lire N;
Pour i ← 0 à 9 Faire
Si N = T(i) Alors
Ecrire ”N fait partie du tableau” ;
Sinon
Ecrire ”N ne fait pas partie du tableau” ;
FinSi
FinPour
Fin
a. Donner
la
trace
d’exécution
de
cet
algorithme
en
prenant
:
i. N=3
et
T={1,2,3,4,5,6,7,8,9,10}
(1,5pt)
ii. N=10
et
T={0,1,2,3,4,5,6,7,8,9}
(1,5pt)
Pour
i=0
:
Pour
i=0
:
N=3
et
T(0)=1
N=10
et
T(0)=1
N
ne
fait
pas
partie
du
tableau
N
ne
fait
pas
partie
du
tableau
Pour
i=1
:
Pour
i=1
:
N=3
et
T(1)=2
N=10
et
T(1)=2
N
ne
fait
pas
partie
du
tableau
N
ne
fait
pas
partie
du
tableau
Pour
i=2
:
Pour
i=2
:
N=3
et
T(1)=3
N=10
et
T(1)=3
N
fait
partie
du
tableau
N
ne
fait
pas
partie
du
tableau
Pour
i=3
:
Pour
i=3
:
N=3
et
T(1)=4
N=10
et
T(1)=4
N
ne
fait
pas
partie
du
tableau
N
ne
fait
pas
partie
du
tableau
Pour
i=4
:
Pour
i=4
:
N=3
et
T(1)=5
N=10
et
T(1)=5
N
ne
fait
pas
partie
du
tableau
N
ne
fait
pas
partie
du
tableau
Pour
i=5
:
Pour
i=5
:
N=3
et
T(1)=6
N=10
et
T(1)=6
N
ne
fait
pas
partie
du
tableau
N
ne
fait
pas
partie
du
tableau
Pour
i=6
:
Pour
i=6
:
N=3
et
T(1)=7
N=10
et
T(1)=7
N
ne
fait
pas
partie
du
tableau
N
ne
fait
pas
partie
du
tableau
Pour
i=7
:
Pour
i=7
:
N=3
et
T(1)=8
N=10
et
T(1)=8
N
ne
fait
pas
partie
du
tableau
N
ne
fait
pas
partie
du
tableau
Pour
i=8
:
Pour
i=8
:
N=3
et
T(1)=9
N=10
et
T(1)=9
N
ne
fait
pas
partie
du
tableau
N
ne
fait
pas
partie
du
tableau
Pour
i=9
:
(dernière
itération,
soit
résultat
Pour
i=9
:
(dernière
itération,
soit
résultat
de
de
l’algorithme)
l’algorithme)
N=3
et
T(1)=10
N=10
et
T(1)=10
N
ne
fait
pas
partie
du
tableau
N
fait
partie
du
tableau
b. Qu’en
concluez-‐vous
?
(on
ne
demande
pas
une
autre
version
de
l’algorithme,
il
s’agit
simplement
de
dire
s’il
est
juste
ou
pas).
(1,5pt)
L’algorithme
est
faux
(on
sait
que
dans
le
premier
cas,
3
fait
partie
du
tableau
or
le
résultat
final
nous
indique
le
contraire),
même
si
le
résultat
est
juste
pour
le
deuxième
cas.
Examen
semestriel
–
EC
TC
P116
-‐
Algorithmique
et
structures
de
données
1
2 / 5
5. Ecrire
un
algorithme
(en
pseudo-‐langage)
qui
demande
à
l’utilisateur
de
saisir
ses
trois
chansons
préférées,
ensuite
l’informe
s’il
est
ou
non
un
fan
de
Charlotte
Dipanda.
(5pts)
On
précise
que
:
i)
est
fan
d’un
artiste,
un
mélomane
dont
les
trois
chansons
préférées
sont
toutes
de
cet
artiste
;
ii)
la
liste
de
toutes
les
chansons
de
Charlotte
Dipanda
est
:
«
coucou
»,
«
toma
me
»,
«
we
nde
nja
»,
«
kumba’elolo
»,
«
maria
»,
«
mboa
»,
«
sona
ndolo
».
PREMIERE
VARIANTE
D’ALGO
Tableau D(7) Caractères ; // les chansons de Charlotte Dipanda
Variable chanson1, chanson2, chanson3 Caractères; // on pouvait aussi utiliser un tableau
Variable Trouve Booléen ;
Variable i Entier ;
Début
Examen
semestriel
–
EC
TC
P116
-‐
Algorithmique
et
structures
de
données
1
3 / 5
Une autre variante de l’algorithme est envisageable, en utilisant un tableau pour gérer
les trois chansons préférées de l’utilisateur ; cela nécessiterait la manipulation de
deux boucles, l’une sur les chansons préférées et l’autre sur les chansons de Charlotte
Dipanda.
DEUXIEME
VARIANTE
D’ALGO
Tableau D(7), C(3) Caractères ;
Variable Trouve Booléen ;
Variable i, k Entier ;
Début
// on suppose qu’on n’a pas encore trouvé une chanson préférée de l’utilisateur
// dans le répertoire de Charlotte Dipanda
// cela nous autorise à faire la recherche
Trouve ← Faux ;
Fin
Examen
semestriel
–
EC
TC
P116
-‐
Algorithmique
et
structures
de
données
1
4 / 5
6. Votre
prof.
d’algorithmique
souhaite
vous
inscrire
à
un
colloque
international
sur
le
développement
durable
qui
aura
lieu
à
Toulouse.
La
principale
condition
est
que
vous
partagiez
les
mêmes
goûts
musicaux
que
lui.
Pour
cela,
il
a
écrit
un
algorithme
qui
vous
demande
de
citer
vos
deux
chanteurs
préférés
:
si
aucune
de
vos
réponses
ne
convient,
vous
êtes
éliminé
;
attention,
vous
ne
disposez
que
de
deux
essais.
En
revanche,
si
l’une
de
vos
deux
réponses
correspond
à
un
de
ses
chanteurs
préférés,
alors
vous
devez
citer
vos
trois
chansons
préférées
:
si
deux
de
vos
réponses
figurent
dans
la
liste
des
chansons
préférées
de
votre
prof.,
alors
vous
êtes
inscrit
et
pouvez
préparer
votre
valise
;
sinon
vous
êtes
éliminé.
On
notera
ChanteursProf
les
chanteurs
préférés
de
votre
prof.
et
ChansonsProf
ses
chansons
préférées.
a. Quel
type
a
utilisé
votre
prof.
pour
ces
deux
variables
dans
son
algorithme
?
(1pt)
b. Ecrire
cet
algorithme
qui
est
censé
vous
demander
i)
vos
deux
chanteurs
préférés,
puis,
selon
votre
réponse,
ii)
vos
trois
chansons
préférées,
et
enfin
iii)
vous
informe
si
vous
êtes
éliminé
ou
inscrit
au
colloque.
(2pts)
c. Améliorer
l’algorithme
ci-‐dessus
en
ajoutant
les
instructions
qui
permettront
au
prof.
de
paramétrer
le
programme
en
saisissant
d’abord
ses
chanteurs
préférés
et
ses
chansons
préférées.
(2pts)
d. Donner
la
version,
en
langage
C,
de
l’algorithme
écrit
à
la
question
précédente.
Examen semestriel – EC TC P116 -‐ Algorithmique et structures de données 1 5 / 5