tp programmation en c

34
TP PROGRAMMATION EN C

Upload: ramosthe05

Post on 27-Dec-2015

130 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Tp Programmation en c

TP PROGRAMMATION

EN C

Page 2: Tp Programmation en c

Les structures alternatives et

répétitives en langage C

Page 3: Tp Programmation en c

Exercice 1 Ecrire un programme en langage C qui permute et affiche les valeurs de trois variables A, B, C de type entier qui sont entrées au clavier

Page 4: Tp Programmation en c

Exercice 2Ecrire un programme qui affiche le quotient et le reste de la division entière de deux nombres entiers entrés au clavier ainsi que le quotient rationnel de ces nombres.

Page 5: Tp Programmation en c

Exercice 3Ecrire un programme en langage C qui calcule et affiche la distance DIST (type double) entre deux points A et B du plan dont les coordonnées (XA, YA) et (XB, YB) sont entrées au clavier comme entiers.

Page 6: Tp Programmation en c

Exercice 4Ecrire un programme en langage C qui lit un caractère au clavier et affiche le caractère ainsi que son code numérique.

Page 7: Tp Programmation en c

Exercice 5Écrivez un programme en langage C qui lit trois valeurs entières (A, B et C) au clavier. Triez les valeurs A, B et C par échanges successifs de manière à obtenir :val(A) val(B) val(C)Affichez les trois valeurs.

Page 8: Tp Programmation en c

Exercice 6Ecrivez un programme en langage C qui calcule les solutions réelles d'une équation du second degré ax2+bx+c = 0.

Page 9: Tp Programmation en c

Exercice 7Calculez la somme des N premiers termes de la série harmonique :1 + 1/2 + 1/3 + ... + 1/N

Page 10: Tp Programmation en c

Exercice 8Calculez la somme, le produit et la moyenne d'une suite de chiffres non nuls entrés au clavier, sachant que la suite est terminée par zéro. Retenez seulement les chiffres (0, 1 ... 9) lors de l'entrée des données et effectuez un signal sonore si les données sortent de ce domaine.

Page 11: Tp Programmation en c

Les tableaux en langage C

Page 12: Tp Programmation en c

Exercice 1:Ecrire un programme en langage C qui lit la dimension N d'un tableau T du type int (dimension maximale: 50 composantes), remplit le tableau par des valeurs entrées au clavier et affiche le tableau.Calculer et afficher ensuite la somme des éléments du tableau.

Page 13: Tp Programmation en c

Exercice 2:Ecrire un programme en langage C qui lit la dimension N d'un tableau T du type int (dimension maximale: 50 composantes), remplit le tableau par des valeurs entrées au clavier et affiche le tableau.Effacer ensuite toutes les occurrences de la valeur 0 dans le tableau T et tasser les éléments restants. Afficher le tableau résultant.

Page 14: Tp Programmation en c

Exercice 3:Ecrire un programme en langage C qui lit la dimension N d'un tableau T du type int (dimension maximale: 50 composantes), remplit le tableau par des valeurs entrées au clavier et affiche le tableau.Copiez ensuite toutes les composantes strictement positives dans un deuxième tableau TPOS et toutes les valeurs strictement négatives dans un troisième tableau TNEG. Afficher les tableaux TPOS et TNEG.

Page 15: Tp Programmation en c

Exercice 4:Ecrire un programme en langage C 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 b c d|                                               | e f g h |  ==>   | a b c d e f g h i j k l |   | i j k l |                                        

Page 16: Tp Programmation en c

Exercice 5 :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;Quelles valeurs ou adresses fournissent ces expressions:                    a)                 *P+2                             b)                 *(P+2)                                   d)                 &A[4]-3                         e)                 A+3                                g)                 P+(*P-10)                       

Page 17: Tp Programmation en c

Exercice 6 :

Ecrire un programme en langage C 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.

Page 18: Tp Programmation en c

Exercice 7 :

Ecrire un programme en langage C qui lit deux tableaux d'entiers A et B et leurs dimensions N et M au clavier et qui ajoute les éléments de B à la fin de A. Utiliser deux pointeurs PA et PB pour le transfert et afficher le tableau résultant A

Page 19: Tp Programmation en c

LES CHAINES DE CARACTÈRES

Page 20: Tp Programmation en c

Exercice 1Ecrire 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, après avoir inversé l'ordre des caractères dans TXT:            voici une petite phrase !            ! esarhp etitep enu iciov

Page 21: Tp Programmation en c

Exercice 2

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 charactè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 .

Page 22: Tp Programmation en c

EXERCICE 3Ecrire 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.

Page 23: Tp Programmation en c

Exercice 4Ecrire un programme en langage C qui lit deux chaînes de caractères CH1 et CH2 et qui copie la première moitié de CH1 et la première moitié de CH2 dans une troisième chaîne CH3. Afficher le résultat.

Page 24: Tp Programmation en c

LES FONCTIONS

Page 25: Tp Programmation en c

EXERCICE 1

Ecrire un programme se servant d'une fonction MOYENNE du type float pour afficher la moyenne arithmétique de deux nombres réels entrés au clavier.

Page 26: Tp Programmation en c

EXERCICE 2En mathématiques, on définit la fonction factorielle de la manière suivante:0! = 1n! = n*(n-1)*(n-2)* ... * 1 (pour n>0)Ecrire une fonction FACT du type double qui reçoit la valeur N (type int) comme paramètre et qui fournit la factorielle de N comme résultat. Ecrire un petit programme qui teste la fonction FACT.

Page 27: Tp Programmation en c

EXERCICE 3

Ecrire deux fonctions qui calculent la valeur XN pour une valeur réelle X (type double) et une valeur entière positive N (type int) :a) EXP1 retourne la valeur XN comme résultat.b) EXP2 affecte la valeur XN à X.Ecrire un programme qui teste les deux fonctions à l'aide de valeurs lues au clavier.

Page 28: Tp Programmation en c

EXERCICE 4Ecrire une fonction MIN et une fonction MAX qui déterminent le minimum et le maximum de deux nombres réels.Ecrire un programme se servant des fonctions MIN et MAX pour déterminer le minimum et le maximum de quatre nombres réels entrés au clavier.

Page 29: Tp Programmation en c

Exercice 5 :Ecrire la fonction NCHIFFRES du type int qui obtient une valeur entière N (positive ou négative) du type long comme paramètre et qui fournit le nombre de chiffres de N comme résultat.Ecrire un petit programme qui teste la fonction NCHIFFRES:Exemple: Introduire un nombre entier : 6457392         Le nombre 6457392 a 7 chiffres.

Page 30: Tp Programmation en c

Exercice 6 :En utilisant les fonctions écrire un programme permettant de fabriquer et d'afficher les carrés magiques d'ordre impair entre 3 et 15.Exemple : Carré magique d'ordre 3 :8 1 6 3 5 7 4 9 2

Page 31: Tp Programmation en c

Exercice 7 :1) Ecrire, de deux façons différentes, un programme qui lit 10 nombres entiers dans un tableau avant d'en rechercher le plus grand et le plus petit :a) en utilisant uniquement le "formalisme tableau",b) en utilisant le "formalisme pointeur", chaque fois que cela est possible. 2) Ecrire une fonction qui ne renvoie aucune valeur et qui détermine la valeur maximale et la valeur minimale d'un tableau d'entiers (à un indice) de taille quelconque. Il faudra donc prévoir 4 arguments : le tableau, sa dimension, le maximum et le minimum.Ecrire un petit programme d'essai. 3) Ecrire une fonction permettant de trier par ordre croissant les valeurs entières d'un tableau de taille quelconque (transmise en argument). Le tri pourra se faire par réarrangement des valeurs au sein du tableau lui-même. 4) Ecrire une fonction calculant la somme de deux matrices dont les éléments sont de type double. Les adresses des trois matrices et leurs dimensions (communes) seront transmises en argument.

Page 32: Tp Programmation en c

TP révision

Page 33: Tp Programmation en c

Exercice 1Écrire un programme en C qui permet de connaître ses chances de gagner au tiercé, quarté, quinté et autres impôts volontaires.On demande à l’utilisateur le nombre de chevaux partants, et le nombre de chevaux joués. Les deux messages affichés devront être :Dans l’ordre : une chance sur X de gagnerDans le désordre : une chance sur Y de gagnerX et Y nous sont donnés par la formule suivante, (si N est le nombre de chevaux partants et P le nombre de chevaux joués), ci-dessus :• X = N ! / (N - P) !• Y = N ! / (P ! * (N – P) !)

Page 34: Tp Programmation en c

Exercice 2Ecrire de deux façons différentes, un programme en langage C  qui vérifie sans utiliser une fonction de <string>, si une chaîne CH introduite au clavier est un palindrome:a) en utilisant uniquement le formalisme tableaub) en utilisant des pointeurs au lieu des indices numériquesUn palindrome est un mot qui reste le même qu'on le lise de gauche à droite ou de droite à gauche