Académique Documents
Professionnel Documents
Culture Documents
1 Exercice
Écrire un algorithme qui permet de calculer et d’afficher la première valeur de k produisant
une somme S strictement superieur á 2 et en déduire sa position dans les termes de S.
1 1 1 1
S= + + + ··· +
3 8 13 k
1
§ Solution :
2 Exercice
Sans recopier le programme ci-dessous sur la feuille d’examen, donner uniquement le résultat
de son éxecution.
Donner le résulat du programme ci-dessous :
2
#include <stdio.h>
main()
{
float A1[4] = {2, 4, 6}, A2[4] = {1, 3};
float B1[4], B2[4], B3[4];
int i;
1 Informatique-1 © Compil’Court
B1[i] = ++A2[i];
B2[i] = A2[i]/2;
B3[i] += B2[i] * 2;
}
printf("%f\t%f\t%f\n", B1[i], B2[i], B3[i]);
}
}
§ Solution :
Expliquant d’abord les étapes.
A1 = {3, 4, 6, 0}
A2 = {2, 3, 0, 0}
B1 = {2, 0, 0, 0}
B2 = {0, 0, 0, 0}
B3 = {0, 0, 0, 0}
B2[i] = A2[i]/2;
A1 = {3, 4, 6, 0}
A2 = {2, 3, 0, 0}
B1 = {2, 0, 0, 0}
B2 = {1, 0, 0, 0}
B3 = {0, 0, 0, 0}
B3[i] += B2[i] * 2;
A1 = {3, 4, 6, 0}
A2 = {2, 3, 0, 0}
B1 = {2, 0, 0, 0}
B2 = {1, 0, 0, 0}
B3 = {2, 0, 0, 0}
© Compil’Court Informatique-1 2
2.000000 1.000000 2.00000
— Pour i = 1 :
On a : i % 2 == 1.
Donc on aura les changements suivants selon chaque instruction.
B1[i] = A1[i]++;
A1 = {3, 5, 6, 0}
A2 = {2, 3, 0, 0}
B1 = {2, 4, 0, 0}
B2 = {1, 0, 0, 0}
B3 = {2, 0, 0, 0}
B2[i] = A1[i]/2;
A1 = {3, 5, 6, 0}
A2 = {2, 3, 0, 0}
B1 = {2, 4, 0, 0}
B2 = {1, 2.5, 0, 0}
B3 = {2, 0, 0, 0}
B3[i] += B2[i] / 2;
A1 = {3, 5, 6, 0}
A2 = {2, 3, 0, 0}
B1 = {2, 4, 0, 0}
B2 = {1, 2.5, 0, 0}
B3 = {2, 1.25, 0, 0}
L’instruction suivante pour afficher :
printf("%f\t%f\t%f\n", B1[i], B2[i], B3[i]);
— Pour i = 2 :
On a : i % 2 ! = 1.
Donc on aura les changements suivants selon chaque instruction.
B1[i] = ++A2[i];
A1 = {3, 5, 6, 0}
A2 = {2, 3, 1, 0}
B1 = {2, 4, 1, 0}
B2 = {1, 2.5, 0, 0}
B3 = {2, 1.25, 0, 0}
3 Informatique-1 © Compil’Court
B2[i] = A2[i]/2;
A1 = {3, 5, 6, 0}
A2 = {2, 3, 1, 0}
B1 = {2, 4, 1, 0}
B2 = {1, 2.5, 0.5, 0}
B3 = {2, 1.25, 0, 0}
B3[i] += B2[i] * 2;
A1 = {3, 5, 6, 0}
A2 = {2, 3, 1, 0}
B1 = {2, 4, 1, 0}
B2 = {1, 2.5, 0.5, 0}
B3 = {2, 1.25, 1, 0}
— Pour i = 3 :
On a : i % 2 == 1.
Donc on aura les changements suivants selon chaque instruction.
B1[i] = A1[i]++;
A1 = {3, 5, 6, 1}
A2 = {2, 3, 1, 0}
B1 = {2, 4, 1, 0}
B2 = {1, 2.5, 0.5, 0}
B3 = {2, 1.25, 1, 0}
B2[i] = A1[i]/2;
A1 = {3, 5, 6, 1}
A2 = {2, 3, 1, 0}
B1 = {2, 4, 1, 0}
B2 = {1, 2.5, 0.5, 0.5}
B3 = {2, 1.25, 1, 0}
B3[i] += B2[i] / 2;
© Compil’Court Informatique-1 4
A1 = {3, 5, 6, 1}
A2 = {2, 3, 1, 0}
B1 = {2, 4, 1, 0}
B2 = {1, 2.5, 0.5, 0.5}
B3 = {2, 1.25, 1, 0.25}
3 Exercice
Une association humanitaire d’une application informatique pour faire le suivi des victimes
suite à l’agression contre Gaza.
Pour cela on doit un programme C qui permet de géer des informations sur les victimes
telles que nom, prénom, ville, catégorie (homme ou femme), date d’agression sur la victime
(jours/mois/année).
Le programme permet de :
— Saisir à partir du clavier les informations de 50 victimes.
— Afficher le nombre de victimes femmes nbvf et celui des hommes nbvh .
— Afficher les noms et les prénomes des victimes de la ville de Jabaliya.
— Afficher le nombre de victimes nbv du mois de décembre 2023.
3
§ Solution :
#include <stdio.h>
#include <string.h>
struct Victime {
char nom[50];
char prenom[50];
char ville[50];
char categorie; // ’h’ pour homme, ’f’ pour femme
int jour;
int mois;
int annee;
};
int main() {
struct Victime victimes[50];
int nbv_f = 0, nbv_h = 0, nbv_decembre = 0, i;
5 Informatique-1 © Compil’Court
printf("Date d’agression (jour mois annee): \n");
scanf("%d %d %d", &victimes[i].jour, &victimes[i].mois, &victimes[i].annee);
if (victimes[i].categorie == ’f’) {
nbv_f++;
} else if (victimes[i].categorie == ’h’) {
nbv_h++;
}
return 0;
}
© Compil’Court Informatique-1 6