• Aucun résultat trouvé

Algorithmes et Structures de Données Mardi 4 Novembre 2014

N/A
N/A
Protected

Academic year: 2022

Partager "Algorithmes et Structures de Données Mardi 4 Novembre 2014"

Copied!
1
0
0

Texte intégral

(1)

GM3     Nathalie  Chaignaud  

Algorithmes et Structures de Données Mardi 4 Novembre 2014

Durée  2H  –  Cours  et  TD  NON  autorisés                                                                        

Exercice 1 : Pile (5 pts)

Fonction d(p, q : entier) : entier Var res : entier

Début Si p = 0

Alors res1 Sinon Si q = 0

Alors res0 Sinon Si q > p

alors res ←  {@2}d(p,p) sinon res ←  {@3}d(p-q,q)+{@4}d(p,q-1)

FinSi FinSi

FinSi

retourner(res) Fin

Simuler la pile pour l’appel {@1}écrire(d(3,2)) dans le programme principal.

Exercice 2 : Récursivité (3 pts)

Ecrire les fonctions récursives croisées est-pair et est-impair qui renvoient vrai si un entier positif ou nul est pair (resp. impair) et faux sinon.

Fonction est-pair (n : entier) : booléen Fonction est-impair (n : entier) : booléen

Exercice 3 : Tableau (5 pts)

3.1. Ecrire une fonction itérative qui compte le nombre d’occurrences d’un élément dans un tableau.

3.2. En déduire une fonction récursive qui teste si deux tableaux d’entiers de même taille contiennent les mêmes éléments, sans tenir compte de l’ordre dans lequel ils sont rangés. Cette fonction n’est pas forcément optimale (efficace).

Exercice 4 : Javanais inverse (7 pts)

Les deux parties de l’exercice peuvent être traitées de façon indépendante.

4.1. On veut écrire une fonction qui permet de traduire en français une phrase (chaine de caractères) écrite en javanais. (4 pts)

Exemple : « jave travavavaillave » → « je travaille » 4.1.a. Expliquer en français la méthode.

4.1.b. Écrire en pseudo-langage la fonction javanais-inverse qui implémente cette méthode.

Fonction javanais-inverse (java : chaine) : chaine

4.2. On considère maintenant que le texte est sauvegardé dans un fichier texte. A partir d’un fichier contenant du texte en javanais, on souhaite créer un nouveau fichier contenant sa traduction en français. (3 pts)

4.2.a. 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).

4.2.b. Écrire en pseudo-langage la procédure traduire-fichier qui traduit en français le fichier écrit en javanais dont le nom est donné par nom-fich-java.

Références

Documents relatifs

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

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

numl pointe sur la ligne non vide suivante suivl (les lignes sont classées selon les numéros de lignes croissants) et sur son premier élément non nul suivc ; les éléments

Nous disposons d’un fichier texte contenant des notes (séparées par des espaces) : les notes sont disposées en colonne par matière et en ligne par élève.. Nous souhaitons

On veut écrire une fonction qui transforme ce tableau en une liste chainée l triée dans l’ordre croissant dont les valeurs sont uniques (on ne garde qu’une seule occurrence

On dispose de la procédure dessiner-carré(x,y,c : entier) qui dessine le carré de centre x,y et de demi- côté