• Aucun résultat trouvé

Prog UNIX : Outils du programmeur TP n

N/A
N/A
Protected

Academic year: 2022

Partager "Prog UNIX : Outils du programmeur TP n"

Copied!
2
0
0

Texte intégral

(1)

IUT

Université de Marne la Vallée

DUT 1reAnnée Année 2012-2013

Prog UNIX : Outils du programmeur TP n

4

L’objectif de ce TP est d’identifier la meilleure méthode pour calculer les nombres bino- miaux. Il s’agit donc d’un problème d’algorithmique et de complexité. Pour vous faciliter la tâche, un projet non terminé et donc résolvant partiellement le problème est disponible à l’adresse suivante :

http://www-igm.univ-mlv.fr/˜borie/cours/prog_sys/projet_binomial.tar.gz On rappelle que le nombre binomial denetp, noté np

est défini par : n

p

!

= n!

p!(n−p)!

Pour toutn>1 etp>1, on a aussi la relation : n

p

!

= n−1 p

!

+ n−1 p−1

!

Les conditions aux bords du triangle de Pascal sont :

∀n∈N, n n

!

= 0 n

!

=1

Pour ce TP, il vous sera demandé de rendre un compte rendu de TP décrivant la manière dont vous avez résolu chaque exercice. Ce compte rendu devra être un fichier texte nommé TP4_NOM_PRENOM.txtoùNOMest votre nom de famille etPRENOMvotre prénom.

Exercice 1 Makefile pour ce projet

Une fois le code téléchargé, survoler les sources afin d’écrire unMakefilepour compiler ce projet. Faire en sorte que l’exécutable final porte le nombinomial. Ajouter votreMakefile dans votre fichier de commandes.

Exercice 2 Erreur de Segmentation

Maintenant que le projet compile, exécuter le programmebinomialavec les arguments 12 et 6. Que se passe-t-il ? Utiliser le débogueurgdbpour localiser la ligne de code générant l’erreur et corriger cette ligne. Expliquer la correction effectuée dans votre fichier de commande.

Exercice 3 Gestion de la mémoire

Utiliser l’utilitairevalgrindpour faire un diagnostic mémoire du programme. Repérer la fuite de mémoire le cas échéant et corriger le code pour obtenir le message no leaks are possible. Expliquer la correction à faire dans votre fichier de commandes.

Exercice 4 Profilage des trois méthodes de calcul

Utiliser l’utilitairegprofpour profiler le projet. Regarder le nombre d’appels pour chacune des trois méthodes de calculs avec les données de type 2n,noùnest entier. Il s’agit donc de calculer et profiler les calculs de 42, 63, 84, . . ..

(2)

Quel est selon vous la meilleure méthode et pourquoi ? Quels sont les avantages et les inconvénients de chaque méthode ? Soyez précis et exhaustifs !

Exercice 5 (*) Calcul de complexité

Il s’agit maintenant de tenter de montrer de manière un peu plus mathématique les impres- sions données par les résultats du profilage.

Quel est la complexité algorithmique d’une multiplication par rapport à une addition ? Quel est, finalement, la méthode la moins coûteuse pour calculer 2nn

pour des grosses valeurs de n?

Il n’est pas attendu ici une véritable démonstration mathématique mais un maximum d’indices et d’arguments donnés par les outils de programmation. Une méthode propre consiste à utiliser les fonctionnalités detime.havec la commandeclock. (le manuelmanet internet peuvent vous aider).

Exercice 7 (***) Graphe de complexité

En utilisant l’utilitaire gnuplot (aider vous d’internet), tenter de générer un graphe pro- posant trois courbes. En abscisse placer un entiernet chaque courbe donne pour l’ordonnée le temps de calcul en seconde de 2nn

. Exercice 8 Finalisation du rendu

Voici le cahier des charges pour ce quatrième TP :

• votre travail devra être rendu en pièce attachée d’un mail envoyé à une adresse com- muniquée par votre chargé de TP,

• vous ne devrez envoyer qu’une seule pièce jointe non compressée dont le nom devra être : TP4_NOM_PRENOM.txtoùNOMest votre nom de famille etPRENOMvotre prénom,

• le sujet de votre mail devra être : [DUT1 info][TP4 prog_sys] NOM PRENOM où NOM devra être remplacé par votre nom de famille etPRENOMpar votre prénom,

• la qualité du fichier rendu sera fortement prise en compte par le correcteur.

Références

Documents relatifs

c/- Si deux récepteurs sont dans la même branche, ils sont montés en……….et s’ils sont dans deux branches différentes, ils sont montés en ………..  Mots à utiliser :

Ce chasse- neige est constitué d’une roue S 1 (de centre C, de rayon R, de masse m répartie uniformément sur la circonférence par rapport à son axe) et d’une partie S 2 (en forme

Les centres des deux masses sont reliés par une corde inextensible et sans masse, passant (sans glisser) par une poulie cylindrique (de masse m et de rayon r) lié au sol par

Question 5 : Roue en rotation uniforme (3 points) Une roue de vélo est maintenue avec un axe sans masse incliné d'un angle θ par rapport à la verticale.. La vitesse angulaire

Le système est constitué de quatre corps : une bascule ayant la forme d’un demi- disque (de rayon R, de masse M) est posée sur une planche (de longueur L, de masse m, d’épaisseur

La roue arrière a une masse M’, un rayon R’, et son centre de gravité est en D sur l'axe de rotation de la roue arrière par rapport au cadre; idem pour la roue avant (M’,

Elle s’appuie sur un disque circulaire de masse M, de rayon R et de centre C de manière telle qu’il y a roulement sans glissement entre les deux solides, alors que le disque peut

Question 3 : Système de deux barres (4 points) La tige OA, de longueur L, de masse m, peut osciller dans le plan vertical Oxy autour du point fixe O.. Un couple de force