Académique Documents
Professionnel Documents
Culture Documents
Exercice 1 :
Ecrire un algorithme qui lit deux nombres complexes C1 et C2 et qui affiche ensuite leur somme.
Sachant que un nombre complexe se caractérise par sa partie réel re et sa partie imaginaire im.
Exercice 2 :
Ecrire un algorithme qui lit deux points a et b. sachant que un point se caractérise par ces deux cordonnées x
et y.
Exercice 3 :
Ecrire un algorithme permettant d'introduire une suite de produits (50 produit). Sachant que chaque produit se
caractérise par : son numéro , son nom (libellé) et son prix .
ensuite on augmente le prix de tous les produit ayants un numéro inferieur à 30 par 5.
Exercice 4 :
Exercice 5:
- Saisir les notes de ses étudiants (30 étudiants). Sachant que chaque étudiant est caractériser par son numéro
(séquentiel), son nom, son prénom ainsi que sa note. .
1
Solution série 05
Solution Exo 01 :
En algorithmique En C
Algo Exo1S5 #include <stdio.h>
Type Complexe = Enregistrement main ()
re : réel {
im: réel struct Complexe {
FinEnregistrement float re ;
Var c1,c2,c3 : Complexe float im ;
moyenne : réel };
Début Complexe c1, c2, c3 ;
Ecrire ('entrer la partie réel du premier nombre ') float dist;
Lire (c1.re) printf ("entrer la partie réel du c1 ");
Ecrire ('entrer la partie imaginaire du premier nombre ') scanf ("%f",&c1.re);
Lire (c1.im) printf ("entrer la partie imaginaire du c1 ");
Ecrire ('entrer la partie réel du deuxième nombre ') scanf ("%f",&c1.im);
Lire (c2.re) printf ("entrer la partie réel du c2 ");
Ecrire ('entrer la partie imaginaire du deuxième nombre ') scanf ("%f",&c2.re);
Lire (c2.im) printf ("entrer la partie imaginaire du c2 ");
c3.re ← c1.re + c2.re scanf ("%f",&c2.im);
c3.im ← c1.im + c2.im c3.re = c1.re + c2.re ;
Ecrire (' la somme des deux nombres est ', c3.re , '+i' , c3.im = c1.im + c2.im ;
c3.im)
Fin printf ("la somme de c1 et c2est %f + i %f ",c3.re , c3.im);
}
Solution Exo 02 :
En algorithmique En C
Algo Exo2S5 #include <stdio.h>
Type Point = Enregistrement #include <math.h>
x : réel main ()
y: réel {
FinEnregistrement
struct Point {
float x ;
Var a,b : Point
float y ;
dist : réel
Début };
Ecrire ('entrer x du point a ') Point a,b ;
Lire (a.x) float dist;
Ecrire ('entrer y du point a ') printf ("entrer le x de du a ");
Lire (a.y) scanf ("%f",&a.x);
Ecrire ('entrer x du point b ') printf ("entrer le y de du a ");
Lire (b.x) scanf ("%f",&a.y);
Ecrire ('entrer y du point b ') printf ("entrer le x de du b ");
Lire (b.y) scanf ("%f",&b.x);
dist←sqrt ((a.x- b.x)* (a.x- b.x) + (a.x- b.x)* (a.x- b.x))
printf ("entrer le y de du b ");
Ecrire ('la distance entre a et b = ', dist)
scanf ("%f",&b.y);
Fin
dist = sqrt((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y) ) ;
printf ("la distance entre a et b est %f",dist);
}
2
Solution Exo 3 :
En algorithmique En C
Algo Exo3S5 struct Produit {
Type Produit= Enregistrement int num ;
num : entier char nom [30] ;
nom: chaine float prix;
prix : réel };
FinEnregistrement
Produit T [50];
int i ;
Var T : Tableau [0..49] de Produit
for (i= 0 ; i<3; i++)
i : entier
Début {
Pour (i de 0 à 49) faire printf ("entrer le numero du produit ");
Ecrire ('entrer le numéro du produit ') scanf ("%d",&T[i].num);
Lire (T[i].num) printf ("entrer le nom du produit ");
Ecrire ('entrer le nom du produit ') scanf ("%s",&T[i].nom);
Lire (T[i].nom) printf ("entrer le prix du produit ");
Ecrire ('entrer le prix du produit ') scanf ("%f",&T[i].prix);
Lire (T[i].prix) }
FinPour for (i= 0 ; i<50; i++)
Pour (i de 0 à 49) faire {
Si (T[i].num <= 30)
if (T[i].num <= 30)
T[i].prix ← T[i].prix + 5
T[i].prix += 5 ;
FinSI
}
FinPour
}
Fin
Solution Exo 04 :
En algorithmique En C
Algo Exo4S5 #include <stdio.h>
Type Saison = (AUTOME, HIVER, PRINTEMPS, ETE) main ()
Var s: entier {
Début Enum Saison { AUTOME, HIVER, PRINTEMPS,
Ecrire ('SVP entrer votre Saison préférée 1 : Automne 2: ETE };
Hiver, 3 : Printemps, 4 Eté ) Saison s ;
printf ("entrer votre saison preferee
Lire (s ) 1: Autome, 2: Hiver, 3: Printemps, 4 : Eté");
scanf("%d",&s);
switch (s)
Selon s faire
{
1 : Ecrire (votre saison préférée est l autome ') case AUTOME : printf ("votre saison preferee est l
autome");
2 : Ecrire (votre saison préférée est l Hiver ')
break;
3 : Ecrire (votre saison préférée est le Printemps ') case HIVER : printf ("votre saison preferee est l Hiver");
4 : Ecrire (votre saison préférée est l Eté ') break;
case PRINTEMPS : printf ("votre saison preferee est le
Printemps");
FinSelon break;
case ETE : printf ("votre saison preferee est l Eté");
Fin
}
}
3
Solution Exo5 :
En Algorithmique En C
Algo Exo5S5 #include <stdio.h>
Type Etudiant= Enregistrement
num : entier
main ()
nom : chaine
prenom: chaine
{
note: réel struct Etudiant {
FinEnregistrement int num ;
char nom [30] ;
Var T : Tableau [0..29] de Etudiant char prenom [30] ;
i : entier
float note;
Début
Pour (i de 0 à 29) faire
T[i].num ← i + 1 };
Ecrire ('entrer le nom de l étudiant ') Etudiant T [30];
Lire (T[i].nom) int i ;
Ecrire ('entrer le prénom de l étudiant ')
Lire (T[i].prenom) for (i= 0 ; i<3; i++)
Ecrire ('entrer la note de l étudiant ')
{
Lire (T[i].note )
FinPour T[i].num = i+1 ;
Ecrire ('Les Etudiant ayants la moyenne sont :') printf ("entrer le nom ");
Pour (i de 0 à 49) faire scanf ("%s",&T[i].nom);
Si (T[i].note >= 10) printf ("entrer le prénom ");
Ecrire (T[i].nom ,' ', T[i].prenom, ' : ', T[i].note, '\n') scanf ("%s",&T[i].prenom);
FinSI
printf ("entrer la note ");
FinPour
scanf ("%f",&T[i].note);
Fin }