0% ont trouvé ce document utile (0 vote)
104 vues9 pages

TP Programmation

Ce document contient 4 exercices de programmation en C avec leur solution. L'exercice 1 calcule la distance entre deux points, l'exercice 2 résout une équation du second degré, l'exercice 3 échange deux entiers et l'exercice 4 affiche les codes ASCII des lettres et chiffres.

Transféré par

nevilleilunga5
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
104 vues9 pages

TP Programmation

Ce document contient 4 exercices de programmation en C avec leur solution. L'exercice 1 calcule la distance entre deux points, l'exercice 2 résout une équation du second degré, l'exercice 3 échange deux entiers et l'exercice 4 affiche les codes ASCII des lettres et chiffres.

Transféré par

nevilleilunga5
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Exercice 1

Écrire un programme 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 .
Solution :
#include <stdio.h>
#include <math.h>
Main()
{
Int XA, YA, XB, YB;
Double DIST;
Printf(“Entrez les coordonnées du point A : XA,YA “);
Scanf(“%d,%d”, &XA, &YA);
Printf(“Entrez les coordonnées du point B : XB,YB “);
Scanf(“%d,%d”, &XB, &YB);
DIST=sqrt(pow(XA-XB,2)+pow(YA-YB,2));
Printf(“La distance entre A(%d,% d) et B(%d, %d) est
%.2f\n”,XA, YA, XB, YB, DIST);
Return 0;
}

Exercice 2
Ecrivez un programme qui calcule les solutions réelles
d’une équation du second degré ax2+bx+c = 0 en
discutant la formule.

Utilisez une variable d’aide D pour la valeur du


discriminant b2-4ac et décidez à l’aide de D, si
l’équation a une, deux ou aucune solution réelle.
Utilisez des variables du type int pour A, B et C.

Considérez aussi les cas où l’utilisateur entre des


valeurs nulles pour A; pour A et B; pour A, B et

C. Affichez les résultats et les messages nécessaires sur


l’écran.
Modifier le programme afin de considérer le cas des
solutions complexes.
Solution :
#include <stdio.h>
#include<math.h>
Int main()
{
Int A, B, C;
Double D; /* Discriminant */
Printf(“Calcul des solutions réelles et complexes d’une
équation du second degre \n”);
Printf(“degré de la forme ax^2 + bx + c = 0 \n\n”);
Printf(“Introduisez les valeurs pour a, b, et c : “);
Scanf(“%i %i %i”, &A, &B, &C);
/* Calcul du discriminant b^2-4ac */
D = pow(B,2) – 4.00*A*C;

/* Distinction des différents cas */


If (A==0 && B==0 && C==0) /* 0x = 0 */
Printf(“Tout réel est une solution de cette
équation.\n”);
Else if (A==0 && B==0) /* Contradiction: c # 0 et c = 0
*/
Printf(“Cette équation ne possède pas de
solutions.\n”);
Else if (A==0) /* bx + c = 0 */
{
Printf(“La solution de cette équation du premier
degré est :\n”);
Printf(“ x = %.4f\n”, (double)C/B);
}
Else if (D<0) /* b^2-4ac < 0 */
{
Printf(“Les solutions complexes de cette équation sont
les suivantes :\n”);
Printf(“x1 = %.4f + i%.4f\n”, (double)(-
B),(double)(sqrt(-D)/(2*A))) ;
Printf(“x2 = %.4f + i%.4f\n”, (double)(-B),(double)(-
sqrt(-D)/(2*A))) ;
}
Else if (D==0) /* b^2-4ac = 0 */
{
Printf(“Cette équation a une seule solution réelle
:\n”);
Printf(“ x = %.4f\n”, (double)-B/(2*A));
}
Else /* b^2-4ac > 0 */
{
Printf(“Les solutions réelles de cette équation sont
:\n”);
Printf(“ x1 = %.4f\n”, (double)(-B+sqrt(D))/(2*A));
Printf(“ x2 = %.4f\n”, (double)(-B-sqrt(D))/(2*A));
}
Return 0;
}
Exercice 3

Écrire un programme qui échange deux entier saisis.


Afficher les entiers avant après l’échange.
Solution :
#include <stdio.h>
#include <stdlib.h>
Int main()
{
Int entier1,entier2;
Int echange;

Printf(“valeur du premier entier :”);


Scanf(“%d”, &entier1);

Printf(“valeur du deuxième entier :”);


Scanf(“%d”, &entier2);
Echange=entier1;
Entier1=entier2;
Entier2=echange;

Printf(“Apres l’echange,le 1er entier == %d ,et le 2ème


== %d “, entier1,entier2);
Return 0;
}

Exercice 4
Ecrire un programme qui affiche le code ASCII des
lettres et des chiffres sous la forme suivante:

Caractère = A code=65 code hexa =41

Caractère = B code=66 code hexa =42


Caractère = 1 code=49 code hexa =31

Caractère = 9 code=57 code hexa =39

Solution :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
Int main()
{
Char cCompteur;
//Boucle sur tous les caractères de l’alphabet
For(cCompteur=’A’;cCompteur<=’Z’;cCompteur++)
//Affichage du code ASCII et du code hexadécimal du
caractère
Printf(“caractere=%c code=%d code hexa =%x
\n”,cCompteur,cCompteur,cCompteur);

//Boucle sur tous les caractères numérique de 1 à 9


For(cCompteur=’1’;cCompteur<=’9’;cCompteur++)
//Affichage du code ASCII et du code hexadécimal du
caractère
Printf(“caractere=%c code=%d code hexa =%x
\n”,cCompteur,cCompteur,cCompteur);
Return 0;
}

Vous aimerez peut-être aussi