• Aucun résultat trouvé

DS 3

N/A
N/A
Protected

Academic year: 2022

Partager "DS 3"

Copied!
2
0
0

Texte intégral

(1)

DS 3

Option informatique, deuxième année Julien Reichert

Exercice 1 : Avec les types ci-dessous dénissant de trois façons diérentes un graphe, écrire une fonction conver- tissant une représentation de type graphe3 d'un graphe en la représentation de type graphe2 du même graphe (en créant des noms de sommets au choix mais cohérents) et une fonction convertissant une représentation de type graphe2 d'un graphe en la représentation de type graphe1 du même graphe (en utilisant les mêmes noms de sommets).

type graphe1 = { mutable sommets : string list;

mutable arcs : (string * string) list; };;

type graphe2 = (string * (string list)) list;;

type graphe3 = bool array array;;

Exercice 2 : Déterminer le plus court chemin du sommet A au sommet G dans le graphe pondéré (non orienté) dessiné en gure 1. L'algorithme utilisé sera au choix parmi Dijkstra, Floyd-Warshall et Bellman-Ford, et il faudra détailler les étapes de calcul.

Figure 1 Graphe pondéré

Exercice 3 : Donner une condition nécessaire et susante pour qu'un langage rationnel soit reconnu par un automate déterministe qui soit à la fois complet et émondé.

Exercice 4 : Écrire un programme en Caml qui détermine si un nombre entré en tant que chaîne de caractères a ses chires dans l'ordre croissant.

Exercice 5 : Écrire un programme en Caml qui détermine si un nombre entré en tant que chaîne de caractères a plus de zéros que d'autres chires.

Exercice 6 : Dessiner ou donner l'expression formelle d'un automate qui détermine si un mot sur l'alphabet composé des dix chires comporte au moins deux fois le chire 1, une fois le chire 2 et une fois le chire 9.

1

(2)

Exercice 7 : Résoudre le problème de gratte-ciel en gure 3. Un exemple de grille résolue est donné en gure 2. On observe que dans chaque ligne et chaque colonne, les chires de 1 à n gurent, et l'indication fournie détermine le nombre de gratte-ciels (les chires dans la grille, représentant un nombre d'étages) visibles en ligne droite. Il faudra détailler les étapes du raisonnement.

Figure 2 Grille de gratte-ciel résolue

Exemple de la colonne 5 de bas en haut : l'indice 3 indique qu'on voit trois gratte-ciels, en l'occurrence celui de hauteur 2, celui de hauteur 3, pas celui de hauteur 1 qui est masqué par le précédent, et celui de hauteur 5, masquant celui de hauteur 4.

Figure 3 Grille de gratte-ciel de l'exercice

2

Références

Documents relatifs

— On recherche dans cet article, les fonctions booléennes dont le type est caractérisé par le graphe des distances (graphe construit à partir de la fonction booléenne

Vous répondrez à toutes les questions pour l’algorithme 1 puis vous referez les questions avec l’algorithme 2 pour finir avec l’algorithme 3.. D’après le tableau

Étant données deux séquences de change différentes de la monnaie A en la monnaie B, la meilleure des deux est celle qui a le taux le plus élevé?.

1°) Écrire un script qui affiche la liste des diviseurs d’un nombre. 2°) Modifier le script pour qu’il affiche la liste des diviseurs d’un nombre ainsi que le nombre de diviseurs.

Écrire une fonction matrice2dico(sommets, matrice) qui prend un graphe non pondéré représenté par une liste de sommets et une matrice d’adjacence et renvoie le graphe équivalent

On cherche à construire un arbre partiel (plus petit graphe connexe contenant tous les sommets) dont la somme des distances soit minimum parmi tous les arbres partiels du

Afin d’étudier l’évolution des pratiquants de tennis de table, on modélise leur nombre par une suite (Un) de premier terme (année 1990). 2) Quelle semble être la nature

Commençons par importer la bibliothèque numpy afin de définir la fonction