Exercice langage C corrigé les chaines de caractères, tutoriel & guide de travaux pratiques en pdf.
Ecrire un programme qui lit deux chaînes de caractères, et qui indique leur précédence lexicographique dans le code de caractères de la machine (ici: code ASCII). Testez votre programme à l’aide des exemples du chapitre 8.5.
Ecrire un programme qui lit une chaîne de caractères CH et qui convertit toutes les majuscules dans des minuscules et vice-versa.
Le résultat sera mémorisé dans la même variable CH et affiché après la conversion.
Ecrire une procédure qui lit une chaîne de caractères et l’interprète comme un entier positif dans la base décimale. Pour la conversion, utiliser les fonctions de <ctype> et la précédence alphabétique des caractères de ‘0’ à ‘9’. Mémoriser le résultat dans une variable du type long. La conversion s’arrête à la rencontre du premier caractère qui ne représente pas de chiffre décimal. Utiliser un indicateur logique OK qui précise si la chaîne représente correctement une valeur entière et positive.
Ecrire une procédure qui lit une chaîne de caractères et l’interprète comme un entier positif dans la base hexadécimale. Pour la conversion, utiliser les fonctions de <ctype> et la précédence alphabétique des caractères. La conversion ignore les caractères qui ne représentent pas de chiffre hexadécimal et s’arrête à la fin de la chaîne de caractères. Le résultat sera mémorisé dans une variable du type long et affiché dans les bases hexadécimale et décimale.
En se basant sur l’exercice 8.17, écrire un programme qui lit une chaîne de caractères et l’interprète comme un nombre rationnel positif ou négatif introduit en notation décimale. Mémoriser le résultat dans une variable du type double. Si le nombre a été introduit correctement, la valeur du résultat sera affichée, sinon le programme affichera un message d’erreur.
Méthode:
Utiliser une variable SIG pour mémoriser le signe de la valeur. Convertir tous les caractères numériques (avant et derrière le point décimal) en une valeur entière N. Compter les décimales (c.-à-d.: les positions derrière le point décimal) à l’aide d’une variable DEC et calculer la valeur rationnelle comme suit:
N = N * SIG / pow(10, DEC)
Exemples: | -1234.234 | -1234.23400 |
-123 45 | Erreur! | |
123.23. | Erreur! | |
+00123.0123 | 123.012300 |
En se basant sur l’exercice 8.19, écrire un programme qui lit une chaîne de caractères et l’interprète comme un nombre rationnel positif ou négatif introduit en notation exponentielle. Mémoriser le résultat dans une variable du type double. Si le nombre a été introduit correctement, la valeur du résultat sera affichée, sinon le programme affichera un message d’erreur.
Méthode:
Utiliser une variable SIGE pour mémoriser le signe de l’exposant. Utiliser une variable EXP pour la valeur de l’exposant. Calculer la valeur de l’exposant à l’aide de SIGE, DEC et EXP. Calculer ensuite la valeur exacte de N à l’aide d’une formule analogue à celle de l’exercice ci-dessus.
Exemples: | -1234.234 | -1234.234000 |
-1234. 234 | Erreur! | |
123E+02 | 123400.000000 | |
123E-02 | 1.230000 | |
123.4e | 123.400000 | |
-12.1234e02 | -1212.340000 | |
123.4e3.4 | Erreur! | |
12.12E1 | 121.200000 | |
12.12 E1 | Erreur! |
Ecrire un programme qui supprime la première occurrence d’une chaîne de caractères OBJ dans une chaîne de caractères SUJ.
Exemples: | PHON | ALPHONSE | ALSE | |
EI | PIERRE | PIERRE | ||
T | TOTALEMENT | OTALEMENT | ||
HELLO | HELLO |
Ecrire un programme qui remplace la première occurrence d’une chaîne de caractères CH1 par la chaîne CH2 dans une chaîne de caractères SUJ. Utiliser une chaîne de sauvegarde FIN pendant le remplacement.
Exemples: | PHON | OY | ALPHONSE | ALOYSE | |
IE | EI | PIERRE | PEIRRE | ||
IE | ARTE | PIERRE | PARTERRE | ||
EI | IE | PIERRE | PIERRE | ||
TOT | FIN | TOTALEMENT | FINALEMENT | ||
TTT | HELLO | HELLO |
Ecrire un programme qui remplace toutes les occurrences d’une chaîne de caractères CH1 par la chaîne CH2 dans une chaîne de caractères SUJ. Utiliser une chaîne de sauvegarde FIN pendant le remplacement.
Exemples: | PHON | OY | ALPHONSE | ALOYSE | |
AN | ONT | BANANE | BONTONTE | ||
T | Y | TOTALEMENT | YOYALEMENY | ||
TTT | HELLO | HELLO | |||
L | HELLO | HEO |
La correction exercice langage C (voir page 2 en bas)