Outils pour utilisateurs

Outils du site


pg108:tp7

Interaction avec l'utilisateur

Discriminant

Écrivez le programme permettant de calculer les racines d'un polynôme de second degré en utilisant la méthode du discriminant ( Δ=b²-4ac pour p(x)=ax²+bx+c ). Nous ne nous intéressons qu'aux racines réelles. Le programme doit donc demander a, b et c, puis afficher les racines s'il y en a. Dans le cas où il y a une seule racine, le programme ne doit afficher qu'une seule valeur.

Pour ce programme, vous aurez besoin des fonction sqrt (racine carrée) et/ou pow (puissance). Ces fonctions sont disponibles dans la bibliothèque <math.h> qui est accessible quand vous compilez avec l'option supplémentaire '-lm'


Calcul de valeurs de polynômes

Écrivez un programme qui récupère les coefficients d'un polynôme de degré n en ligne de commande. Ce programme demandera ensuite des valeurs numériques en boucle. Si l'utilisateur fourni une valeur (x), le programme affiche la valeur de P(x). Si l'utilisateur appuie sur Entrée sans fournir de valeur, la boucle se termine (et donc le programme aussi).

La puissance d'UNIX

Si vous créez un fichier texte contenant une valeur de x pour chaque ligne, vous pouvez alors utiliser une redirection pour alimenter les valeurs x de votre programme (caractère '<'). La syntaxe pour le polynôme x²-1 est la suivante :

./programme 1 0 -1 < fichier_de_valeurs_x

Toujours en utilisant les redirection, vous pouvez stocker les résultats dans un fichier au lieu de les afficher (caractère '>'). La syntaxe est alors :

./programme 1 0 -1 > fichier_de_resultats < fichier_de_valeurs_x

Jeu du + ou -

Écrivez un programme qui demande à l'utilisateur de deviner un nombre pris au hasard, par propositions successives.

Au tout début, choisi un nombre au hasard à l'aide de la fonction rand() (cette fonction est présente dans stdlib.h, lisez le manuel pour plus de détails). Ensuite, il demande une proposition à l'utilisateur et indique si la proposition était supérieure ou inférieure au nombre à deviner. Le programme continue à demander une valeur jusqu'à ce que la proposition de l'utilisateur soit correcte. Il affiche alors le nombre de tentatives.

A propos des valeurs aléatoires

Sur tout système numérique (et donc déterministe), il n'est pas possible de générer des valeurs réellement aléatoires, on utilise plutôt des générateurs pseudo-aléatoires. Souvent, on utilise l'heure et la date pour initialiser le générateur, sinon, la séquence pseudo-aléatoire sera toujours identique. Cette initialisation est effectuée par la fonction srand(). La syntaxe est alors la suivante :

#include <time.h>
...

...
srand(time(NULL));

Cette technique ne doit être utilisée que lorsque le programme a été debuggé, il est en effet beaucoup plus difficile de debugger un programme lorsqu'on veut que ce dernier aie un comportement aléatoire

pg108/tp7.txt · Dernière modification: 2020/11/30 17:23 par bornat