Vous êtes sur la page 1sur 2

PROGRAMMATION EN C

TP N°5
Exercice 1 : Écrire un programme qui vérifie si un nombre renseigné par l’utilisateur est premier ou non.
Vous devrez faire appel à la fonction int estPremier(int nombre), qui retournera 1 ou 0 selon que le
nombre soit premier ou non.

Exercice 2 : Écrire un programme qui vérifie si un nombre renseigné par l’utilisateur est parfait ou non.
Vous devrez faire appel aux fonctions

- int sommeDiviseur(int nombre) qui retourne la somme des diviseurs de l’entier positif fourni en
paramètre
- int estParfait(int nombre) qui retournera 1 ou 0 selon que le nombre fourni soit parfait ou non.
Elle devra faire appel à la fonction sommeDiviseur.

Pour rappel, un nombre est parfait s’il est égal à la somme de ses diviseurs (excepté le nombre lui-même).
Par exemple, 6 est parfait dans la mesure où 6 = 1 + 2 + 3.

Exercice 3 : Deux nombres M et N sont amis si la somme des diviseurs de M est égale à N et la somme des
diviseurs de N est égale à M. Il vous est demandé d’écrire un programme qui permet de vérifier si deux
nombres renseignés par l’utilisateur sont amis. Un tel programme devra faire appel à la fonction
sommeDiviseur de l’exercice précédent.

Exercice 4 : Ecrire un programme qui affiche tous les nombres amis d’un entier renseigné par l’utilisateur.
Ces nombres devront être inférieurs à un seuil renseigné par l’utilisateur. Pour se faire, votre programme
devra faire appel à la fonction int sontAmis(int nombre1, int nombre2) qui vérifient si ses deux
paramètres sont des nombres amis.

Exercice 5 : Ecrire un programme qui permet de compter le nombre de caractères d’un mot renseigné par
l’utilisateur. Ce mot n’est pas saisi au clavier, mais est directement fourni dans la ligne de commande.
Votre programme devra faire appel à la fonction int longueurMot(char mot[]) qui retourne le nombre de
caractères du mot fourni en paramètre (sans faire recours à la fonction strlen de string.h).

Exercice 6 : Écrire un programme qui permet de calculer le résultat d’un nombre élevé à une puissance
bien déterminée. Le nombre ainsi que l’exposant sont renseignés par l’utilisateur. Votre programme devra
faire appel à la fonction puissance que vous devrez écrire de deux manières :

- Une première version qui retourne le résultat


- Une seconde version qui stocke le résultat directement dans le nombre qui lui est passé en tant
que premier paramètre.

Exercice 7 : Écrire un programme (calcul.c) qui récupère depuis la ligne de commande une opération sur
des entiers et qui affiche le résultat. Par exemple, si on l’appelle ainsi : calcul 12 + 25, elle doit afficher le
résultat suivant : 12 + 25 = 37. Les opérateurs (+, -, x et /) et les opérandes sont séparés par des espaces.
Vous pouvez vous renseigner sur la fonction atoi de la bibliothèque stdlib.h et ainsi l’utiliser pour convertir
les nombres sous formes de chaines en leur version numérique.
Exercice 8 : Ecrire un programme qui effectue la conjugaison de tout verbe régulier du premier groupe
aux temps de l’indicatif que sont le présent, le passé simple, l’imparfait et le futur simple. Un contrôle
devra être effectué pour s’assurer que le verbe donné se termine bien par « ER ». Dans le cas contraire,
un message d’erreur devra être envoyé à l’utilisateur avant qu’il ne lui soit demandé à nouveau de
renseigner le verbe. Votre programme devra faire appel aux fonctions suivantes :

- int estDuPremierGroupe(char verbe []) qui retourne 1 ou 0 suivant que le verbe qui lui est fourni
soit ou non du premier groupe
- void present(char verbe[]) qui affiche la conjugaison du verbe au présent de l’indicatif. Une
fonction du genre devra être créée pour les autres temps que sont le futur, l’imparfait et le passé
simple.

Votre programme devra donner à l’utilisateur plusieurs options d’utilisation et on pourra ainsi l’appeler
de plusieurs manières :

- conjugaison –v verbe : Dans ce cas, le programme donnera en sortie la conjugaison du verbe


spécifié dans tous les temps (passé, futur, etc.)
- conjugaison –v verbe –t temps : Dans ce cas, le programme donnera en sortie la conjugaison
du verbe au temps spécifié. L’option « -t » ne pourra prendre que les valeurs « présent », «
passé », « imparfait » et « futur ».
- conjugaison : Dans ce cas, le programme demande à l’utilisateur le verbe qu’il souhaite
conjuguer puis le temps de conjugaison. La validation de ces informations devra se faire et si
l’utilisateur ne met rien pour le temps, on considère que la conjugaison se fera sur tous les
temps.
- conjugaison –h devra fournir en sortie l’aide du programme qui donne les instructions sur
l’utilisation du programme. Cette aide devrait aussi être affichée à chaque fois que les options
« -v » ou « -t » sont fournies avec une valeur incorrecte. De ce fait, pensez à créer une fonction
dont le seul rôle sera d’afficher les instructions d’utilisation du programme.

Vous aimerez peut-être aussi