Exercice 1: Travaux Dirigés 3 de Programmation Structurée
Exercice 1: Travaux Dirigés 3 de Programmation Structurée
Exercice 1: Travaux Dirigés 3 de Programmation Structurée
Génie Logiciel 1
Exercice 1
Écrire un programme en C permettant à l’utilisateur de saisir un nombre déterminé de valeurs.
Le programme, une fois la saisie terminée, renvoie la plus grande valeur en précisant quelle position
elle occupe dans le tableau. On prendra soin d’effectuer la saisie dans un premier temps, et la
recherche de la plus grande valeur du tableau dans un second temps.
Exercice 2
Ecrire un programme en C de résolution.
On dispose de trois nombres réels saisis au clavier.
Selon un choix effectué à partir d’un menu affiché à l’écran, on désire calculer la somme ou le produit
ou la moyenne ou chercher le minimum ou chercher le maximum de ces trois nombres.
Le menu doit se présenter à l’écran de la manière suivante :
------------------ MENU ------------------
1 -----------Somme ---------------------
2------------Produit ---------------------
3------------Moyenne -------------------
4------------Minimum ------------------
5------------Maximum ------------------
Entrez votre choix
Exercice 3
On désire effectuer des opérations arithmétiques usuelles sur les nombres réels.
Ecrire un programme en C contenant les sous programmes suivants :
- Une procédure saisie d’un nombre réel,
- Une procédure affichage d’un nombre réel,
- Une procédure somme de deux nombres réels,
- Une procédure différence de deux nombre réels,
- Une procédure rapport de deux nombres réels,
- Une fonction racine carrée d’un nombre réel,
- Une fonction carrée d’un nombre réel,
- Une procédure menu de gestion de toutes ces opérations.
Exercice 4
Ecrire un programme en C permettant de fusionner deux tableaux d’entiers supposés triés dans un
troisième tableau
Exercice 5
Écrire un programme qui range les éléments d'un tableau A du type int dans l'ordre inverse. Le
programme utilisera des pointeurs P1 et P2 et une variable numérique AIDE pour la permutation des
éléments.
Exercice 6
Écrire un programme qui lit un entier X et un tableau A du type int au clavier et élimine toutes les
occurrences de X dans A en tassant les éléments restants. Le programme utilisera les pointeurs P1 et
P2 pour parcourir le tableau.
Exercice 7
Soit P un pointeur qui "pointe" sur un tableau A:
int A[ ] = {12, 23, 34, 45, 56, 67, 78, 89, 90};
int *P;
P = A;
*P+2
*(P+2)
&P+1
&A[4]-3
A+3
&A[7]-P
P+(*P-10)
*(P+*(P+8)-A[7])
Exercice 8
Ecrire un programme en langage C qui lit une ligne de texte (ne dépassant pas 200 caractères) la
mémorise dans une variable TXT et affiche ensuite:
a) la longueur L de la chaîne.
b) le nombre de 'e' contenus dans le texte.
c) toute la phrase à rebours, sans changer le contenu de la variable TXT.
d) toute la phrase à rebours, après avoir inversé l'ordre des caractères dans TXT:
voici une petite phrase !
! esarhp etitep enu iciov
Exercice 9
Ecrire un programme en langage C qui lit un texte TXT (de moins de 200 caractères) et qui
enlève toutes les apparitions du caractère 'e' en tassant les éléments restants. Les modifications
se feront dans la même variable TXT.
Exemple:
Cette ligne contient quelques lettres e.
Ctt lign contint qulqus lttrs .
Exercice 10
Ecrire un programme en langage C qui lit un verbe régulier en "er" au clavier et qui en affiche la
conjugaison au présent de l'indicatif de ce verbe. Contrôlez s'il s'agit bien d'un verbe en "er" avant de
conjuguer. Utiliser les fonctions gets, puts, strcat et strlen.
Exercice 11
Ecrivez un programme qui dessine les motifs constitués d'étoiles (caractère "*") avec une seule
boucle:
Un rectangle : le nombre de lignes et le nombre de colonnes sont demandés à l'utilisateur.
*********
*********
*********
Un triangle : le nombre de lignes est demandé à l'utilisateur.
*
**
***
****
Un sapin : le nombre de lignes est demandé à l'utilisateur.
*
***
*****
*******
*********
Exercice 12
Ecrire un algorithme qui transfère un tableau M à deux dimensions L et C (dimensions
maximales: 10 lignes et 10 colonnes) dans un tableau V à une dimension L*C.
Exemple:
|a bcd | / \
| e f g h | ==> |abcdefghijkl |
| i j k l | \ /
Exercice 13