• Aucun résultat trouvé

Algorithmes et Structures de Données Mardi 29 Novembre 2011

N/A
N/A
Protected

Academic year: 2022

Partager "Algorithmes et Structures de Données Mardi 29 Novembre 2011"

Copied!
1
0
0

Texte intégral

(1)

GM3 Nathalie Chaignaud

Algorithmes et Structures de Données Mardi 29 Novembre 2011

Durée 2H – Cours et TD NON autorisés 1. Pile (3 pts)

Soient les fonctions définies comme suit pour x entier :

A(x) = 1 si x = 0 ou x = 1 B( x + 2) si x > 1

⎧ ⎨

⎩

B( x) = A(x − 3) + 4

1.1. Ecrire les fonctions A et B en pseudo langage.

1.2. Simuler la pile sur l’appel écrire(A(6)){@0} dans le programme principal.

2. Fractale (5 pts)

On souhaite dessiner un arbre de la forme suivante (ici de niveau n=4).

Pour cela, nous montrons les différentes étapes (pour n=1, n=2 et n=3, h est divisée par 2 à chaque étape) :

Comme outil de dessin, nous avons une procédure trace-T(E t,x,y,dir:entier) qui trace un « T » de taille t (en pixels) dont la verticale est égale à l’horizontale, à partir du point de coordonnées (x,y) et dans la direction dir (= 1 si l’arbre est dirigé vers le haut et = -1 si vers le bas). On considère que l’origine des coordonnées est en haut à gauche de l’écran.

Ecrire en pseudo-langage la procédure récursive dessine-arbre(E h,n,x,y,d:entier) qui permet de dessiner un arbre de hauteur h et de niveau n à partir du point de coordonnées (x,y) et dans la direction d.

Dans notre exemple, l’appel se fera avec dessine-arbre(40,4,500,500,1).

3. Fusion de 2 tableaux triés (5 pts)

Soient deux tableaux d’entiers triés. On souhaite fusionner ces deux tableaux en un seul trié.

3.1. Expliquer en français le principe de cette fusion. Si les deux tableaux ont des valeurs communes, ces valeurs sont répétées dans le nouveau tableau. Donner un exemple approprié.

3.2. Ecrire en pseudo-langage la fonction qui réalise cette fusion.

4. Fichier texte (7 pts)

Soit un fichier texte intitulé NOMBRES.TXT qui contient une liste de nombres entiers (chaque nombre est suivi par un retour à la ligne).

4.1. Ecrire une procédure en pseudo-langage qui affiche les nombres du fichier, leur somme et leur moyenne.

4.2. On veut écrire une procédure qui affiche la médiane des nombres du fichier (qu’on définit comme la plus petite valeur m du fichier telle que le nombre de valeurs du fichier supérieures ou égales à m est égal au nombre de valeurs inférieures ou égales à m). Expliquer en français le principe de cette procédure, puis écrire cette procédure en pseudo- langage. Ecrire tous les modules nécessaires (même ceux vus en cours ou en TD).

Références

Documents relatifs

si (c[i] est une prarenthèse ouvrante) p.empiler(c[i]) sinon si (c[i] est une paranthèse fermante) { si (p.estVide() ) stop “erreur: il manque une parenthèse ouvrante”..

Ecrire en pseudo-langage une procédure qui, étant données n chaînes de longueur lg et le recouvrement k, donne l’ordre dans lequel il faut placer les n sous-chaînes pour

Ecrire la procédure Carré(E xa,ya,d,f : entier) où xa et ya sont les coordonnées du sommet en bas à gauche du grand carré, d est la longueur de son côté et f la longueur

Expliquer en français la méthode (vous appellerez la fonction javanais-inverse pour faire la traduction en français d’une chaîne écrite en javanais). Écrire en

En utilisant un tableau de notes pour faire les calculs, écrivez un programme qui calcule ces valeurs (vous pouvez écrire plusieurs fonctions ou procédures comme bon vous

Nous souhaitons calculer la fréquence de chacune des notes (entières sur vingt) contenues dans un fichier texte (ce fichier contient une note par ligne). Expliquer

Expliquer en français comment effectuer la traduction d’un message (message et message codé sont enregistrés dans 2 fichiers texte) de façon optimale. La clé et la table sont

Drame, thriller française, réalisé par Lucas Belvaux avec Yvan Attal, Anne Consigny, André Marcon Jeudi 14 Janvier 20H *.. Samedi 16 Janvier 21H Dimanche 17