Vous êtes sur la page 1sur 8

École Centrale de Nantes EI1 – 2013 / 2014

Algorithmique et Programmation

Devoir Surveillé, Algorithmique

30 septembre 2013, de 8h30 à 9h30


Aucun Document Autorisé

Nom : Prénom : Groupe : Note :

1. Répondez sur l’énoncé : les réponses fournies hors de la zone réservée


pourront être ignorées par le correcteur ;
2. Sauf mention explicite du contraire, on suppose que la numérotation des
indices des tableaux commence à 0 ;
3. Les algorithmes sont à rédiger en français ou en anglais, et non pas en
langage de programmation.

1/8
École Centrale de Nantes EI1 – 2013 / 2014

1 Analyse d’algorithmes (5 points)


Question 1 : Que fait cet algorithme, ainsi que la fonction qu’il utilise ? :

monAlgoPrincipal

variables
entiers : a
tableau d’entier : tab

début
a ← lire()
tab ← lire("input data.txt")
// input data.txt contient une
// liste croissante d’entiers
// positifs terminée par 0
tant que (a > 0) faire
tab ← funct(tab, a)
a ← lire()
fintantque
écrire("data output.txt", tab)
fin

fonction funct : r ← funct(t, m)


entrées
Tableau d’entiers : t
entiers : m
sorties
Tableau d’entiers : r

variables
entiers : n, c, d
début
n ← 0
tant que (m > t[n] ET t[n] > 0) faire
n ← n+1
fintantque
c ← t[n]
t[n] ← m
tant que ( c > 0 ) faire
d ← t[n+1]
t[n+1] ← c
c ← d
n ← n+1
fintantque
t[n+1] ← c
retourner t
fin

2/8
École Centrale de Nantes EI1 – 2013 / 2014

2 Écriture d’algorithmes (10 points)


Question 2 : Écrivez un algorithme qui permette de lire dans un fichier (notes.txt) les notes d’une classe pour plusieurs
matières, qui calcule la moyenne et la valeur médiane de chaque matière, puis qui écrit les résultats dans un fichier
(resultat.txt). Le calcul de la moyenne et de la médiane se font avec des fonctions que vous devrez écrire (spécification
+ algorithme).
exemple du fichier notes.txt :
360 // nombre élèves
4 // nombre matières
12.5 13 7.5 15
14 18.5 12 8
...
...
11 12.5 10 15

3/8
École Centrale de Nantes EI1 – 2013 / 2014

4/8
École Centrale de Nantes EI1 – 2013 / 2014

Question 3 : Arbres binaires


– Donnez le résultat de l’affichage postfixe de l’arbre ci-dessous.
– Donnez la ou les structures de données permettant de représenter un arbre binaire.
– Écrivez l’algorithme d’une fonction qui permette de calculer le nombre de feuilles dans un arbre binaire.
– Écrivez l’algorithme principal qui créé l’arbre ci-dessous et qui affiche son nombre de feuilles.

5 8

3 6 7 9

1 4

5/8
École Centrale de Nantes EI1 – 2013 / 2014

Question 4 : Arbres n-aires


– Donnez la ou les structures de données permettant de représenter un arbre n-aire (les noeuds ont au maximum n
fils).

6/8
École Centrale de Nantes EI1 – 2013 / 2014

3 Analyse descendante (5 points)

Proposez une interface pour jouer aux échecs. Pour rappel, ce jeu se joue
sur un échiquier (8 cases x 8 cases), et chaque joueur dispose de 16 pièces :
8 pions, 2 tours, 2 fous, 2 cavaliers, 1 reine et 1 roi. Le but est de mettre le
roi en échec. L’interface permettra de sauvegarder une partie en cours et
de la reprendre plus tard, et détectera la mise en échec.
Question 5 : Faire l’analyse descendante de ce problème : les struc-
tures de données, l’algorithme principal (forme libre autorisée), les
spécifications des fonctions secondaires pertinentes.

7/8
École Centrale de Nantes EI1 – 2013 / 2014

8/8

Vous aimerez peut-être aussi