tp programmation en c

Post on 27-Dec-2015

130 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

TP PROGRAMMATION

EN C

Les structures alternatives et

répétitives en langage 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

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.

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.

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.

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.

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

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

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.

Les tableaux en langage 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.

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.

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.

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 |                                        

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)                       

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.

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

LES CHAINES DE CARACTÈRES

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

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 .

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.

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.

LES FONCTIONS

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.

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.

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.

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.

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.

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

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.

TP révision

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) !)

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

top related