• Aucun résultat trouvé

Principes de Programmation Sixième Phase du Projet de Programmation

N/A
N/A
Protected

Academic year: 2022

Partager "Principes de Programmation Sixième Phase du Projet de Programmation"

Copied!
2
0
0

Texte intégral

(1)

Principes de Programmation

Sixième Phase du Projet de Programmation

27 mai 2019

Dans cette phase, il s’agit d’utiliser le module d’automate récupéré pour effectuer les taches suivantes :

1. Écrivez un programme

estSousChaine :: [String] -> String -> Bool

tel que estSousChaine l w rende vrais si une des strings del est une sous-chaine dew. Attention,west supposée très longue, et il faut donc la parcourir une seule fois.

2. Écrivez un programme annonymisation :: String->String qui reco- pie un texte en transformant toutes les occurrences d’un de vos prénoms en "John" et d’un de vos noms en "Does". Ceux-ci seront toujours pré- cédés d’un espace et on utilisera uniquement les caractères alphanumé- riques, les espaces et les points. Veuillez, pour ça, utiliser un transducteur (voir canevas).

Exemple :1

annonymisation ``M.Breuvart est un super prof’’

---> ``M.Does est un super prof’’

3. Écrivez un programme qui repère si une phrase est un palindrome au sens (un peu inhabituel) suivant :

— on ne considère que les caractères de a à z, mais on ignore la casse,

— tous les caractères de ponctuation (espace, point, etc...) sont ignorés,

— le milieu de palindrome est indiqué par le caractère *

— n’importe quel nombre (exemple : 42) est considéré comme un seul caractère, on peut donc utiliser deux nombres différents des deux côtés du palindrome,

— tout autre caractère utf8 est considéré comme un unique caractère

“inconnue”, sauf le\0.

Par exemple, “éh ? Engage le jeu, q53*0, que je le gagne Hâ“ est un palindrome.

Veuillez, pour ça, utiliser un automate à pile (voir canevas).

1. Vous pouvez automatiquement remplacer super par un adjectif plus approprié... mais sachez que je lirais le code ;)

1

(2)

Remarque : Ces exemples ne montrent pas forcément la force de notre bi- bliothèque d’automate au sense où il serait plus rapide de l’écrire à la main directement. En fait, on aura du mal à trouver des exemples convaincants. Celà est due au fait que le projet est ou bien trop avancé ou bien pas assez : on peut s’arrêter à la phase 4 avec des jolies automates UTF8 et implémenter un Grep UTF8 avec, ou bien on peut aller au delà et avoir des notions restreintes de déterminisation ou des enrichissement de la notion de monade utiisés (bonus de la phase 5 et au delà).

2

Références

Documents relatifs

Vous devez impérativement sauver cette feuille dans le répertoire de votre projet en cours après lui avoir donné le nom souhaité pour ce projet sinon, TOUTE MODIFICATION sur

SILENCE ET PERFORMANCE, SANS AUCUN COMPROMIS » Le Dark Rock TF 2 offre des performances de refroidissement extrêmes pour le processeur et les composants environnants, ainsi

´ Sa construction permet d'allouer, à chaque tâche représentée dans l’organigramme, les ressources à mobiliser, ainsi que les durées de réalisation de chacune des tâches. ´

Mon paraplu… sera très utile avec ce temps humide.. La breb… est un

Etant donné deux points A et B et une droite (Δ) qui coupe la droite AB en un point C, discuter, selon la position de C sur la droite AB, l'existence et le nombre de cercles passant

Un cercle tangent ` a la droite ∆ (du moins sa partie r´ eelle) est enti` erement situ´ e dans l’un des demi-plans cr´ e´ es

I une recherche de la clef k dans le dictionnaire où l’on vient de retirer l’association à k’ avec k6 =k’ renvoie la même valeur que la recherche avant la suppression..

À titre d’exemple, les firmes ont reçu a minima près de 10 milliards de dollars pour développer les candidats vaccins contre la Covid-19 : Sanofi/GlaxoSmithKline et John- son