Vous êtes sur la page 1sur 2

PROGRAMMATION EN C

TP N°4
NB : Dans tous les exercices, on supposera que les chaines de caractères manipulées auront une taille maximale que
vous aurez définie vous-même. De même, je vous recommande vivement de vous documenter sur les fonctions de la
bibliothèques <string.h>

Exercice 1 : Écrire un programme qui demande à l’utilisateur son login et son mot de passe et lui dit si
l’authentification a réussi ou non. On partira du principe que les bons paramètres de connexion sont :
login = administrateur et mot de passe = letspass35.

Exercice 2 : Ecrire un programme qui compare deux chaines de caractères en ignorant les différences
entre majuscules et minuscules (e.g. "bonjour" sera égal à "Bonjour"). On peut , par exemple, transformer
les caractères en majuscules (ou en minuscules) avant la comparaison.

Exercice 3 : Écrire un programme qui lit un mot au clavier et qui indique combien de fois sont présentes
chacune des voyelles a, e, i, o, u ou y, que celles-ci soient écrites en majuscules ou en minuscules, comme
dans cet exemple :
Donnez un mot : Anticonstitutionnellement
Il comporte
1 fois la lettre a
3 fois la lettre e
3 fois la lettre i
2 fois la lettre o
1 fois la lettre u
0 fois la lettre y

Exercice 4 : Ecrire un programme qui détermine le nombre de mots présents dans une phrase fournie par
l’utilisateur.

Exercice 5 : Ecrire un programme qui détermine le niveau de sécurité d’un mot de passe fourni par
l’utilisateur. On partira du principe que le mot de passe a un niveau de sécurité :

- Faible : s’il contient moins de dix caractères


- Moyen : s’il contient au moins dix caractères et est constitué uniquement de caractères en
minuscule (ou uniquement en majuscule ou uniquement de chiffres)
- Fort : s’il contient au minimum dix caractères et dispose au moins d’un caractère majuscule, d’un
caractère minuscule et d’un chiffre

Exercice 6 : Écrire un programme qui lit une chaine représentant une opération sur des entiers et qui
affiche le résultat. Par exemple, si on lui donne la chaine 12+25, elle doit afficher 12 + 25 = 37. Seuls les
opérateurs (+, -, x et /) seront pris en compte. 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
entière.

Exercice 7 : Même exercice que précédemment mais cette fois-ci, le résultat devrait être le même, qu’il y
ait ou non des espaces dans la chaine. Par exemple, 14 / 7 et 14/7 devrait donner le même résultat.
Exercice 8 : Sous Windows (et sous beaucoup d’autres systèmes d’exploitation), certains caractères
spéciaux sont utilisés par le système pour son fonctionnement interne. De ce fait, le nom d’un fichier ne
peut pas par exemple contenir les caractères \ / " * : | ? < >

Ecrire un programme qui demande à l’utilisateur le nom qu’il souhaite donner à son fichier et lui dit s’il
est correct (ne contient pas de caractère non autorisé) ou pas. Dans le cas où le nom renseigné est
incorrect, le programme devra lui proposer un nom adéquat (remplacement des caractères interdits par
le caractère underscore)

Exercice 9 : 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.

Exercice 10 : Même exercice que précédemment mais cette fois-ci, le temps de conjugaison devra être
renseigné en plus du verbe à conjuguer. Une validation devra aussi être effectuée sur le temps qui ne peut
valoir que PRESENT, FUTUR, PASSE ou IMPARFAIT, qu’il soit en majuscule ou en minuscule.

Exercice 11 : En cryptographie, le chiffrement par décalage, aussi connu comme le chiffre de César, est
une méthode de chiffrement très simple utilisée par Jules César dans ses correspondances secrètes (ce
qui explique le nom « chiffre de César »).

Le texte chiffré s'obtient en remplaçant chaque lettre du texte clair original par une lettre à distance fixe,
toujours du même côté, dans l'ordre de l'alphabet. Pour les dernières lettres (dans le cas d'un décalage à
droite), on reprend au début. Par exemple avec un décalage de 3 vers la droite, A est remplacé par D, B
devient E, et ainsi jusqu'à W qui devient Z, puis X devient A etc. Il s'agit d'une permutation circulaire de
l'alphabet. La longueur du décalage, 3 dans l'exemple évoqué, constitue la clé du chiffrement qu'il suffit
de transmettre au destinataire — s'il sait déjà qu'il s'agit d'un chiffrement de César — pour que celui-ci
puisse déchiffrer le message.

L’objectif de cet exercice est d’écrire un programme qui permet de chiffrer ou de déchiffrer un message
suivant le chiffrement de César. Il demandera à l’utilisateur le message, la clé ainsi que le type d’opération
(chiffrement ou déchiffrement) avant de lui afficher le texte chiffré (ou déchiffré).

Vous aimerez peut-être aussi