0% ont trouvé ce document utile (0 vote)
107 vues13 pages

Algorithmes de mathématiques et C

Le document présente une série d'exercices d'algorithmique et de programmation en C, abordant des sujets tels que la résolution d'équations, le calcul de ventes, la différence ensembliste, la comparaison de dates et le calcul de l'aire d'un champ. Chaque exercice est accompagné d'un algorithme en pseudo-code suivi de sa traduction en langage C. Les exercices visent à développer des compétences en mathématiques appliquées et en programmation.

Transféré par

gorbadonatiengd
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)
107 vues13 pages

Algorithmes de mathématiques et C

Le document présente une série d'exercices d'algorithmique et de programmation en C, abordant des sujets tels que la résolution d'équations, le calcul de ventes, la différence ensembliste, la comparaison de dates et le calcul de l'aire d'un champ. Chaque exercice est accompagné d'un algorithme en pseudo-code suivi de sa traduction en langage C. Les exercices visent à développer des compétences en mathématiques appliquées et en programmation.

Transféré par

gorbadonatiengd
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

République du Cameroun Republic of Cameroon

Paix – Travail – Patrie Peace – Work – Fatherland


----------- -----------
Ministère de l’Enseignement Supérieur Ministry of Higher Education
----------- -----------
Université de Maroua The University of Maroua
----------- -----------
Faculté des sciences Faculty of sciences
------------ -----------
Département des mathématiques et Department of mathematics
Informatique And computer science
------------ -----------
CODE: INF/IGE 111

TPE : ALGORITHME
GROUPE 17 : Sujet 2

Rédiger par:

N0 NOMS ET PRENOMS
01 KELOMDAR ISAC
02 KOUNDAMA HAKDA
03 GORBA DJONWE DONATIEN
04 GNOWA KIDANDI
05 GUEDEL BABA

Nom de l’enseignant :
Dr DJAM-DOUDOU MOUNIRAH

Année académique : 2024/2025


Exercice 1
a) Écrivons un algorithme pour lire deux nombres réels A et B (A différent de zéro) puis qui
calcule la solution de l'équation Ax + B = 0. On précise également que l'On utilise la
méthode de résolution des équations du premier degré pur qui se présente de la
manière suivante : la solution de l'équation Ax + B = 0, A ≠ 0, est x = -B/A.

Algorithme Equation_premier_degré
Var A, B, x : réel ;
Début
Écrire ("Entrez la valeur de A : ") ;
Lire (A) ;
Écrire ("Entrez la valeur de B : ") ;
Lire(B) ;
Si (A≠0) Alors
x <--- - B / A ;
Écrire ("La solution de l'équation Ax + B = 0 est : ", x) ;
sinon
Écrire (" Erreur : la valeur de A est incorrecte”) ;
FinSi
Fin
Traduction en langage C
#include <stdio.h>
int main () {
float A, B, x;
printf ("Entrer la valeur de A :") ;
scanf ("%f", &A) ;
printf ("Donner la valeur de B :") ;
scanf ("%f", &B) ;
if (A≠0) {
x = - B/A
printf ("La solution de l’équation Ax + B = 0 est :%.2f", x) ;
}
else
printf ("Erreur: la valeur de A est incorrect") ;
}
b) Ecrivons un algorithme qui lit six nombres réels A, B, C, D, E et F et calcule la solution du
système d’équation Ax + By = C
Dx + Ey = F

Algorithme Système
Var A, B, C, D, E, F, x, y, detx, dety, det : réel ;
début
écrire ("Quelle est la valeur de A ?") ;
Lire(A) :
Écrire (''Quelle est la valeur de B ?") ;
Lire(B) ;
Écrire (''Quelle est la valeur de C ?'') ;
Lire(C) ;
Écrire (''Quelle est la valeur de D ?") ;
Lire(D) ;
Écrire (''Quelle est la valeur de E ?") ;
Lire(E) ;
Écrire (''Quelle est la valeur de F ?") ;
Lire(F) ;
det <--- AE-DB ;
detx <--- (CE-BF);
dety <--- (AF-DC);
x <--- detx/det;
y <--- dety/det;
Écrire (''x='', x) ;
Écrire (''y=", y) ;
Fin
Traduction en langage C
#include <stdio.h>
int main () {
float A, B, C, D, E, F, x, y, detx, dety, det ;
printf ("Donner la valeur de A :") ;
scanf ("%f", &A) ;
printf ("Donner la valeur de B :") ;
scanf ("%f", &B) ;
printf ("Donner la valeur de C :") ;
scanf ("%f", &C) ;
printf ("Donner la valeur de D :") ;
scanf ("%f", &D) ;
printf ("Donner la valeur de E :") ;
scanf ("%f", &E) ;
printf ("Donner la valeur de F :") ;
scanf ("%f", &F) ;
det = AE-DB ;
detx = CE-BF ;
dety = AF-DC ;
x = detx/det;
y = dety/det;
printf("x=", x) ;
printf("y=", y) ;
printf ("Division 4", p4, "%") ;

}
Exercice 2
Ecrivons un algorithme qui lit le montant des ventes généré par les quatre divisions et
imprime le montant totale des ventes ainsi que le pourcentage des ventes de chacune des
divisions
Algorithme gestion
Var Ventes1, Ventes2, Ventes3, Ventes4, : réel ;
p1, p2, p3, p4, total : réel ;
Début
Écrire (''Quel est le montant des ventes de la division 1 ? '') ;
Lire(Ventes1) ;
Écrire ("Quel est le montant des ventes de la division 2 ? '') ;
Lire(Ventes2'') ;
Écrire (''Quel est le montant des ventes de la division 3 ? '') ;
Lire(Ventes3) ;
Écrire (''Quel est le montant des ventes de la division 4 ? '') ;
Lire(Ventes4) ;
Total <----- Ventes1+ Ventes2+ Ventes3+ Ventes4 ;
p1 <----- 100 * (Ventes1/Total) ;
p2 <---- 100 * (Ventes2/Total) ;
p3 <----- 100 * (Ventes3/Total) ;
p4 <---- 100 * (Ventes4/Total) ;
Ecrire (''Ventes totales : '', Total) ;
Ecrire (''Division 1 : '', p1, "%'') ;
Ecrire ('Division 2 :'', p2, "%'') ;
Ecrire (''Division 3 : '', p3, "%'') ;
Ecrire (''Division 4 : '', p4, "%'') ;
Fin
Traduction en langage C

#include <stdio.h>
int main () {
float ventes1, ventes2, ventes3, ventes4, p1, p2, p3, p4, total ;
printf ("Quel est le montant des ventes de la division 1 ?") ;
scanf ("%f", &ventes1) ;
printf ("Quel est le montant des ventes de la division 2 ?") ;
scanf ("%f", &ventes2) ;
printf ("Quel est le montant des ventes de la division 3 ?") ;
scanf ("%f", &ventes3) ;
printf ("Quel est le montant des ventes de la division 4 ?") ;
scanf ("%f", &ventes4) ;
total = ventes1 + ventes2 + ventes3 + ventes4 ;
p1 = 100 * (ventes1/total) ;
p2 = 100 * (ventes2/total) ;
p3 = 100 * (ventes3/total) ;
p4= 100 * (ventes4/total) ;
printf ("Division 1", p1, "%") ;
printf ("Division 2", p2, "%") ;
printf ("Division 3", p3, "%") ;
printf ("Division 4", p4, "%") ;

}
Exercice 3 :
Ecrivons un algorithme pour calculer la difference ensembliste de deux
ensembles représentés par des tableaux. L’algorithme consiste à recopier dans
liste3 les elements de liste1 qui ne sont pas dans liste2

Algorithme ensembliste

Var liste1=Tab[liste1] d'entier ;

Liste2=Tab[liste2] d'entier ;

Liste3=Tab[liste3] d'entier ;

liste3 =tab[ ] d'entier ;

Pour i de 0 à liste1 faire

estPresent = False ;

Pour j de 0 à liste2 faire

Si liste1[i] = liste2[j] alors

estPresent = True;

break ;

FinSi

FinPour

Si estPresent = False alors

liste3 <----- (liste1[i]) ;

FinSi

FinPour

Pour i de 0 à liste3 faire

écrire ("Element dans la différence :", liste3[i]) ;

FinPour

Fin
Traduction en langage c
#include <studio.h>

int main() {

int liste1=Tab[liste1] , liste2= Tab[liste2], liste3= Tab[], i ;

For( i=0, i<=liste1, i++) {

estpresent=false ;

For(j=0, j<=liste2, j++) {

estpresent= true;

Break;

Si estpresent= false {

liste3=liste1 ;

For(i=0, i<=liste3, i++) {

Printf ("Element dans la différence :", liste3[i]) ;

}
Exercice 4 :
Soit le type enregistrement date, formé de trois nombres entiers qui indiquent
respectivement le jour, le mois et l'année.
type tdate = enregistrement
Jour, mois, année : entier ;
fin enreg;
Écrivons une fonction booléenne qui prend entrée deux dates datel et date2 et détermine si
la date datel vient avant la date date2.

Fonction EstDateAnterieure (date1 : tdate, date2 : tdate) : booléen


Si date1.année < date2.année Alors
Retourner Vrai ;
Sinon Si date1.année > date2.année Alors
Retourner Faux ;
Si date1.mois < date2.mois Alors
Retourner Vrai ;
Sinon Si date1.mois > date2.mois Alors
Retourner Faux ;
FinSi
Si date1.Jour < date2.Jour Alors
Retourner Vrai ;
Sinon Si date1.Jour >= date2.Jour Alors
Retourner Faux ;
FinSi
Fin Fonction
Traduction en langage C

#include <stdbool.h>

typedef struct {

int annee;

int mois;
int jour;

} tdate;

bool EstDateAnterieure(tdate date1, tdate date2) {

if (date1.annee < date2.annee) {

return true;

} else if (date1.annee > date2.annee) {

return false;

} else {

if (date1.mois < date2.mois) {

return true;

} else if (date1.mois > date2.mois) {

return false;

} else {

if (date1.jour < date2.jour) {

return true;

} else {

return false;

}
EXERCICE 5
Ecrivons l’algorithme qui qui demande à l’utilisateur de saisir les éléments nécessaires au
calcul de l’air de champ affichant ensuite la valeur de la surface en m2 (mètre carré)

Algorithme calcul_air_champ

Var petite_base, grande_base, hauteur, Aire : réel ;

Début

Ecrire ("Donner la longueur de la petite base en mètre :") ;

Lire(petite_base) ;

Ecrire ("Donner la longueur de la grande base en mètre :") ;

Lire(grande_base) ;

Ecrire ("Donner la hauteur du champ :") ;

Lire("hauteur") ;

Aire <----- ((petite_base + grande_base) * hauteur) /2 ;

Ecrire ("La surface du trapèze est" : Air,"m²") ;

Fin
Traduction en langage C

#include <stdio.h>

int main () {

float petite_base, grande_base, hauteur, aire ;

printf ("Donner la longueur de la petite base en mètre : ") ;

scanf ("%f", &petite_base) ;

printf ("Donner la longueur de la grande base en mètre :") ;

scanf ("%f", &grande_base) ;

printf ("Donner la hauteur du champ :") ;

scanf ("%f", &hauteur) ;

aire = ((petite_base + grande_base) * hauteur) /2 ;

printf ("La surface du champ est : %.2f", aire, "m²”) ;

Vous aimerez peut-être aussi