L'examen concerne l'extraction de racine carree d'un nombre. Il s'agira de mettre au point le programme racine.c, puis d'etudier son temps de calcul. *** Vous repondrez aux questions posees en inserant vos reponses directement dans ce fichier. *** Prenez soins de sauvegarder regulierement votre travail. ------------------------------------------------------------------ commandes unix : ------------------------------------------------------------------ Dans les questions qui suivent, preciser la commande unix utilisee, et le resultat de cette commande. (a) Combien de lignes compose le fichier racine.c ? [inserer la commande et son resultat ] (b) Quelles lignes du fichier racine.c contiennent le mot : nombre [inserer la commande et son resultat ] (c) Combien de lignes contiennent ce mot ? [inserer la commande et son resultat ] ------------------------------------------------------------------ Makefile : ------------------------------------------------------------------ Ecrire le fichier makefile pour compiler la source racine.c en un fichier executable racine.exe. [ Inserer le contenu du fichier makefile ] ------------------------------------------------------------------ Options : ------------------------------------------------------------------ Le programme prevoit des options. (a) Combien d'option ? (b) Preciser le role de ces options. ------------------------------------------------------------------ Avertissement ------------------------------------------------------------------ (a) La compilation du programme signale un probleme. Lequel ? (b) Il faut ajouter une ligne au programme pour fixer cette erreur. Laquelle ? ------------------------------------------------------------------ Somme ------------------------------------------------------------------ Completer le code de la fonction somme. [ inserer le code de cette fonction ] ------------------------------------------------------------------ Test ------------------------------------------------------------------ A ce stade, le programme peut calculer la racine d'un nombre test. ( a ) Executer ./racine -t 4 [inserer le resultat] ( b ) Executer ./racine -t 10 [inserer le resultat] ( c ) Preciser la taille et valeur du nombre calculer par la fonction test lors de l'execution de ./racine -t X : taille = valeur = ------------------------------------------------------------------ Algorithmie ------------------------------------------------------------------ ( a ) Que fait la fonction succes ? ( b ) Quel est le principe algorithmique utilise par ce programme ? ( c ) Preciser la formule donnant le nombre d'iterations de la boucle de la fonction racine, en fonction de la valeur de z ( d ) Preciser en fonction de X le temps de calcul du bloc d'instructions marque dans la fonction racine. ( e ) Estimer le temps de calcul de racine : ------------------------------------------------------------------ Temps de calcul ------------------------------------------------------------------ Il s'agit d'observer le temps de calcul TC(x) de l'execution de la commande : ./racine -t X, en faisant varier X. (a) Faire des mesures de temps de calcul pertinentes, pour une dizaine instances pertinentes de X. [ inserer vos mesures ] (b) Estimer le temps de calcul TC( X ) en fonction de X. [ detailler votre reponse ] ------------------------------------------------------------------ gnuplot ------------------------------------------------------------------ ( a ) Utiliser la commande gnuplot pour representer les temps de calcul obtenus precedemment [ detailler votre session gnuplot ] ( b ) Utiliser gnuplot pour determiner une expression de TC( X ) ------------------------------------------------------------------ strton ------------------------------------------------------------------ ( a ) Completer le code de la fonction strton. [ inserer le code ] ( b ) Utiliser le programme pour calculer la racine de 1234567890. [ inserer la ligne de commande adequate ] [ inserer le resultat ] ( c ) Utiliser la commande bc pour verifier la justesse du resultat. [ detailler votre session bc ]