0% ont trouvé ce document utile (0 vote)
11 vues17 pages

TP Programmation C - École Ritchie

Transféré par

ichouaitichou2003
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)
11 vues17 pages

TP Programmation C - École Ritchie

Transféré par

ichouaitichou2003
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

Département génie électrique

Intitulé du module : Informatique

Intitulé du l’élément du module : Programmation C

Filière : GECSI

COMPTE RENDU DU TP

TRAVAUX PRATIQUES DE PROGRAMMATION C


réalise par : Encadré par :
- AAFFAN ABDELAZIZ - Pr. EL-MYASSE ILYASS
- EL-HASSAN LBSSIR

Année universitaire: 2023/2024


Table des matières

1 La structure conditionnelle if . . . else 3


1.1 la valeur absolue d’un réel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 maximum et minimum de deux réels . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Caractère . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Équation de deuxième ordre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 La structure switch . . .case 6


2.1 algorithme des jours de semaines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Programme de menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 La structure répétitive for 8


3.1 la somme et la moyenne des n premiers entiers . . . . . . . . . . . . . . . . . . . . . 8
3.2 le factoriel (n !) d’un entier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4 La structure répétitive while 10


4.1 le factoriel N ! d’un entier naturel N . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 la somme du 10 entiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5 La structure répétitive do . . . while 12


5.1 le plus grand élément et la somme d’une liste d’entiers . . . . . . . . . . . . . . . . . 12
5.2 Entiers entre 0 et 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.3 Signe d’un entier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

6 Programme pour calculer le prix 14

1
Introduction

La programmation en langage C est un élément fondamental de l’informatique et de la science


informatique. Développé au début des années 1970 par Dennis Ritchie à Bell Labs, le langage
C est largement utilisé dans le développement logiciel, du système d’exploitation au développement
d’applications

Sur ce TP, nous allons résoudre des problèmes et écrire des programmes en utilisant le langage
C. Cela nous permettra de développer nos connaissances dans ce langage et de les appliquer dans
des situations futures pour résoudre des problèmes techniques ou pour programmer des composants
électriques.

En résumé, la programmation en langage C offre aux développeurs un contrôle étroit sur les
ressources système, une efficacité élevée et une portabilité, ce qui en fait un langage de choix pour
un large éventail d’applications informatiques.

2
Chapitre 1

La structure conditionnelle if . . .
else

1.1 la valeur absolue d’un réel


Ce programme est afficher la valeur absolue d’un nombre < 0.

la valeur absolue d’un réel

1 # include < stdio .h >


2
3 int main () {
4 float nombre , valeurAbsolue ;
5
6 printf ( " Entrez un nombre reel : " ) ;
7 scanf ( " % f " , & nombre ) ;
8
9 if ( nombre < 0) {
10 valeurAbsolue = - nombre ;
11 } else {
12 valeurAbsolue = nombre ;
13 }
14
15 printf ( " La valeur absolue est : %.2 f \ n " , valeurAbsolue ) ;
16
17 return 0;
18 }
19

1.2 maximum et minimum de deux réels


Ce programme est afficher le maximum et le minimum de deux réels.

maximum et minimum de deux réels

1 # include < stdio .h >


2
3 int main () {
4 float a , b , max , min ;
5
6 printf ( " Entrez le premier nombre reel : " ) ;
7 scanf ( " % f " , & a ) ;
8

3
TP python GECSI

la suite de programme de maximum et minimum de deux réels

1 printf ( " Entrez le deuxieme nombre reel : " ) ;


2 scanf ( " % f " , & b ) ;
3 if ( a > b ) {
4 max = a ;
5 min = b ;
6 } else {
7 max = b ;
8 min = a ;
9 }
10
11 printf ( " Le maximum est : %.2 f \ n " , max ) ;
12 printf ( " Le minimum est : %.2 f \ n " , min ) ;
13
14 return 0;
15 }
16

1.3 Caractère
Dans ce programme, l’utilisateur est invité à entrer un caractère. Le programme utilise ensuite
une structure conditionnelle if...else pour vérifier si le caractère est une lettre majuscule en compa-
rant son code ASCII. Si c’est le cas, le programme convertit la lettre en minuscule en ajoutant 32
à son code ASCII. Sinon, il affiche un message d’erreur. Enfin, le résultat est affiché à l’utilisateur.

Caractère

1 # include < stdio .h >


2
3 int main () {
4 char caractere ;
5
6 printf ( " Entrez un caractere : " ) ;
7 scanf ( " % c " , & caractere ) ;
8
9 if ( caractere >= ’A ’ && caractere <= ’Z ’) {
10 caractere = caractere + 32;
11 printf ( " En minuscule : % c \ n " , caractere ) ;
12 } else {
13 printf ( " Erreur : Ce n ’ est pas une lettre majuscule .\ n " ) ;
14 }
15
16 return 0;
17 }

1.4 Équation de deuxième ordre


Ce programme C demande à l’utilisateur d’entrer les coefficients a, bet c, puis utilise la structure
conditionnelle if...else pour évaluer les différents cas en fonction du discriminant. Il calcule ensuite
et affiche les racines de l’équation quadratique.

ENSET Mohammedia 4 2023/2024


TP python GECSI

Caractère

1 # include < stdio .h >


2 # include < math .h >
3
4 int main () {
5
6 float a , b , c , delta , racine1 , racine2 ;
7
8 printf ( " Entrez le coefficient a : " ) ;
9 scanf ( " % f " , & a ) ;
10 printf ( " Entrez le coefficient b : " ) ;
11 scanf ( " % f " , & b ) ;
12 printf ( " Entrez le coefficient c : " ) ;
13 scanf ( " % f " , & c ) ;
14
15 delta = b * b - 4 * a * c ;
16
17 if ( delta > 0) {
18 racine1 = ( - b + sqrt ( delta ) ) / (2 * a ) ;
19 racine2 = ( - b - sqrt ( delta ) ) / (2 * a ) ;
20 printf ( " Deux racines reelles distinctes : %.2 f et %.2 f \ n " , racine1 ,
racine2 ) ;
21 } else if ( delta == 0) {
22 racine1 = -b / (2 * a ) ;
23 printf ( " Une racine reelle : %.2 f \ n " , racine1 ) ;
24 } else {
25 printf ( " Pas de racines reelles ( racines imaginaires ) .\ n " ) ;
26 }
27
28 return 0;
29 }
30

ENSET Mohammedia 5 2023/2024


Chapitre 2

La structure switch . . .case

2.1 algorithme des jours de semaines


Ce algorithme est représenté l’algorithme des jours de semaines.

Caractère

1 Algorithme A f f i c h e r J o u r S e m a i n e
2 Variables
3 jour : entier
4
5 Debut
6
7 Ecrire ( " Entrez un chiffre de 1 a 7 : " )
8 Lire ( jour )
9
10 Selon jour
11 Cas 1: Ecrire ( " Lundi " )
12 Cas 2: Ecrire ( " Mardi " )
13 Cas 3: Ecrire ( " Mercredi " )
14 Cas 4: Ecrire ( " Jeudi " )
15 Cas 5: Ecrire ( " Vendredi " )
16 Cas 6: Ecrire ( " Samedi " )
17 Cas 7: Ecrire ( " Dimanche " )
18 Sinon : Afficher " Chiffre invalide . Entrez un chiffre de 1 a 7. "
19 Fin Selon
20
21 Fin
22

2.2 Programme de menu


Ce programme Cest afficher le menu suivante :

Menu

1 # include < stdio .h >


2
3 int main () {
4 char choix ;
5
6 printf ( " %%%%%%%%%% MENU %%%%%%%%%%\ n " ) ;
7 printf ( " i ) Ajouter ---- taper ---- > a \ n " ) ;
8 printf ( " ii ) Modifier ---- taper ---- > m \ n " ) ;
9

6
TP python GECSI

Suite d programme

1 printf ( " iii ) Supprimer ---- taper ---- > s \ n " ) ;


2 printf ( " iv ) Quitter ---- taper ---- > q \ n " ) ;
3 printf ( " Entrez votre choix : " ) ;
4 scanf ( " % c " , & choix ) ;
5
6 switch ( choix ) {
7 case ’a ’:
8 printf ( " Vous avez choisi d ’ ajouter .\ n " ) ;
9 break ;
10 case ’m ’:
11 printf ( " Vous avez choisi de modifier .\ n " ) ;
12 break ;
13 case ’s ’:
14 printf ( " Vous avez choisi de supprimer .\ n " ) ;
15 break ;
16 case ’q ’:
17 printf ( " Vous avez choisi de quitter .\ n " ) ;
18 break ;
19 default :
20 printf ( " Choix invalide . Veuillez choisir parmi les options fournies .\ n
");
21 }
22
23 return 0;
24 }
25

ENSET Mohammedia 7 2023/2024


Chapitre 3

La structure répétitive for

3.1 la somme et la moyenne des n premiers entiers


Ce programme C est afficher la somme et la moyenne des n premiers entiers

la somme et la moyenne des n premiers entiers

1 # include < stdio .h >


2 int main () {
3 int n , somme = 0;
4 float moyenne ;
5 printf ( " Entrez la valeur de n : " ) ;
6 scanf ( " % d " , & n ) ;
7 for ( int i = 1; i <= n ; ++ i )
8 {
9 somme += i ;
10 }
11 moyenne = ( float ) somme / n ;
12 printf ( " La somme des % d premiers entiers est : % d \ n " , n , somme ) ;
13 printf ( " La moyenne des % d premiers entiers est : % f \ n " , n , moyenne ) ;
14 }
15

3.2 le factoriel (n !) d’un entier


Le programme C suivante afficher le factoriel (n !) d’un entier.

la somme et la moyenne des n premiers entiers

1 # include < stdio .h >


2 int main ()
3 {
4 int n , factoriel =1;
5
6 printf ( " Entrez un entier positif : " ) ;
7 scanf ( " % d " , & n ) ;
8 if ( n < 0)
9 {
10 printf ( " Veuillez saisir un entier positif .\ n " ) ;
11 }
12

8
TP python GECSI

la suite de programme

1 for ( int i = 1; i <= n ; ++ i )


2 {
3 factoriel *= i ;
4 }
5 printf ( " Le factoriel de % d est : % d \ n " , n , factoriel ) ;
6
7 return 0;
8 }
9
10

ENSET Mohammedia 9 2023/2024


Chapitre 4

La structure répétitive while

4.1 le factoriel N ! d’un entier naturel N


Le programme C suivante afficher le factoriel N ! d’un entier naturel N avec la boucle while.

le factoriel N ! d’un entier naturel N

1 # include < stdio .h >


2 int main ()
3 {
4 int N , i = 1;
5 unsigned long long factoriel = 1;
6 printf ( " Entrez un entier naturel : " ) ;
7 scanf ( " % d " , & N ) ;
8 if ( N < 0)
9 {
10 printf ( " Veuillez saisir un entier naturel .\ n " ) ;
11 return 1;
12 }
13 while ( i <= N )
14 {
15 factoriel *= i ;
16 i ++;
17 }
18 printf ( " Le factoriel de % d est : % llu \ n " , N , factoriel ) ;
19 }
20

4.2 la somme du 10 entiers


Ce programme C est calculer la somme du 10 entiers saiser par l’utilisateur.

le factoriel N ! d’un entier naturel N

1 # include < stdio .h >


2 int main () {
3 int nombre , somme = 0;
4 int i = 1;
5 printf ( " Entrez 10 entiers :\ n " ) ;
6 while ( i <= 10)
7 {
8 printf ( " Entrez le nombre % d : " , i ) ;
9 scanf ( " % d " , & nombre ) ;
10

10
TP python GECSI

la suite de programme

1 somme += nombre ;
2 i ++;
3 }
4 printf ( " La somme des 10 entiers est : % d \ n " , somme ) ;
5 }
6

ENSET Mohammedia 11 2023/2024


Chapitre 5

La structure répétitive do . . . while

5.1 le plus grand élément et la somme d’une liste d’entiers


A partir d’une suite d’entiers lus au clavier se terminant par 0,ce programme C est calculez le
plus grand élément et la somme des éléments lus.

le plus grand élément et la somme d’une liste d’entiers

1 # include < stdio .h >


2 int main ()
3 {
4 int nbr , s = 0 , max = 0;
5 printf ( " Entrez un entier (0 pour terminer ) : " ) ;
6 scanf ( " % d " , & nbr ) ;
7 do {
8 s += nbr ;
9 if ( nbr > max )
10 {
11 max = nbr ;
12 }
13 printf ( " Entrez un entier (0 pour terminer ) : " ) ;
14 scanf ( " % d " , & nbr ) ;
15 } while ( nbr != 0) ;
16 printf ( " La somme des entiers est : % d \ n " , s ) ;
17 printf ( " Le plus grand element est : % d \ n " , max ) ;
18 }
19

5.2 Entiers entre 0 et 10


Ce programme C est demande a utilisateur Saisi au clavier des entiers entre 0 et 10

Entiers entre 0 et 10

1 # include < stdio .h >


2 int main () {
3 int nombre ;
4 printf ( " Saisissez des entiers entre 0 et 10 ( entrez un nombre en
dehors de cette plage pour terminer ) :\ n " ) ;
5
6 do {
7 printf ( " Entrez un entier : " ) ;
8 scanf ( " % d " , & nombre ) ;
9

12
TP python GECSI

la suite de programme

1 if ( nombre >= 0 && nombre <= 10)


2 {
3 printf ( " Vous avez saisi : % d \ n " , nombre ) ;
4 }
5 else
6 {
7 printf ( " Fin de la saisie .\ n " ) ;
8 break ;
9 }
10 } while (1) ;
11 return 0;
12 }
13

5.3 Signe d’un entier


Ce programme permettant de saisir et de valider si un entier lu est positif ou non.

Signe d’un entier

1 # include < stdio .h >


2
3 int main () {
4 int entier , copie , chiffre ;
5 do {
6 printf ( " Entrez un entier positif : " ) ;
7 scanf ( " % d " , & entier ) ;
8 if ( entier <= 0)
9 {
10 printf ( " Veuillez entrer un entier positif .\ n " ) ;
11 }
12 } while ( entier <= 0) ;
13 printf ( " Vous avez saisi : % d \ n " , entier ) ;
14 printf ( " L ’ entier a l ’ envers est : " ) ;
15 copie = entier ;
16 do {
17 chiffre = copie % 10;
18 printf ( " % d " , chiffre ) ;
19 copie /= 10;
20 } while ( copie != 0) ;
21 printf ( " \ n " ) ;
22 }
23
24

ENSET Mohammedia 13 2023/2024


Chapitre 6

Programme pour calculer le prix

Ce programme C est calcule le prix à payer pour le transport d’une colis.

Programme C pour calculer le prix

1 # include < stdio .h >


2 int main ()
3 {
4 double poids , largeur , longueur , hauteur , distance , prixBase ,
surtaxePoids , surtaxeDimensions , surtaxeDistance , total ;
5 printf ( " Entrez le poids du colis ( en kg ) : " ) ;
6 scanf ( " % lf " , & poids ) ;
7
8 printf ( " Entrez la largeur du colis ( en m ) : " ) ;
9 scanf ( " % lf " , & largeur ) ;
10
11 printf ( " Entrez la longueur du colis ( en m ) : " ) ;
12 scanf ( " % lf " , & longueur ) ;
13
14 printf ( " Entrez la hauteur du colis ( en m ) : " ) ;
15 scanf ( " % lf " , & hauteur ) ;
16
17 printf ( " Entrez la distance a parcourir ( en km ) : " ) ;
18 scanf ( " % lf " , & distance ) ;
19
20 prixBase = 50.0;
21
22 if ( poids > 60.0)
23 {
24 surtaxePoids = 10.0 * ( poids - 60.0) ;
25 }
26 else
27 {
28 surtaxePoids = 0.0;
29 }
30 if ( largeur > 1.0 || longueur > 1.0 || hauteur > 1.0)
31 {
32 s u r t a x e D i m e n s i o n s = 20.0;
33 }
34 else
35 {
36 s u r t a x e D i m e n s i o n s = 0.0;
37 }
38 if ( distance > 100.0)
39 {
40

14
TP python GECSI

la suite de programme

1 s ur ta xe D is ta nc e = 0.1 * ( prixBase + surtaxePoids + s u r t a x e D i m e n s i o n s ) ;


2 }
3 else
4 {
5 s ur ta xe D is ta nc e = 0.0;
6 }
7 total = prixBase + surtaxePoids + s u r t a x e D i m e n s i o n s + s ur ta xe D is ta n ce ;
8
9 printf ( " Le prix a payer pour le transport du colis est : %.2 lf Dh \ n " ,
total ) ;
10 }
11
12

ENSET Mohammedia 15 2023/2024


Conclusion

En résumé, ce projet a mis en lumière la richesse et la diversité des possibilités de programmation


en langage C. En résolvant différents algorithmes, nous avons exploré des méthodes simples, mettant
en avant l’importance d’une pensée logique et d’une compréhension approfondie des concepts.

La diversité des problèmes abordés témoigne de la flexibilité du langage C et de sa capacité


à s’adapter à une multitude de situations. Les détails fournis tout au long du projet ont illustré
comment des approches directes peuvent souvent être suffisantes, soulignant ainsi l’importance de
la clarté et de la simplicité dans la programmation en C.

16

Vous aimerez peut-être aussi