Pages professionnelle – Thomas Robert

Maître de Conférence

Diviser pour régner

Ce Tp a pour but de vous faire réaliser le motif de conception diviser pour régner.

Télécharger l’archive du tp search qui contient :

makefile : pour préparer les donner / automatiser la recherche de nombres absents de vos données.

dpr : la solution au format binaire (une solution en fait)

search : le binaire à utiliser

seracchdata.c et searchdata : ce qui permet de générer les données. (~ 100 Mo de données).

I prise en main de search

Vous pouvez lancer search avec 2 ou 3 paramètre :

  • cas 1 : ./search 12342 data1
    recherche 12342 dans data1 et réalise des affichages sur le terminal en fonction du résultat.
  • cas 2 : ./search 12342 data -q
    recherche 12342 dans data1 et sans les affichages mais main retourne 0 si le nombre est trouvé ou -1 sinon (vous pouvez le vérifier en exécutant echo $? après l’exécution de cette ligne de commande.

Rem : la commande grep équivalente serait grep -L « ^12342$ » data1

Vérifier votre compréhension de l’usage du binaire en l’utilisant sur des données que vous aurez généré via make preparedata

II Exercice

Implémenter le motif diviser pour régner qui utilisera search en mode silencieux pour rechercher un nombre dans une liste de fichiers préparés par make preparedata

(vous avez 7 fichiers normalement et une règle dans make pour automatiser la recherche via grep …)