Affichage de l'IQR
Dans cette dernière étape, nous allons nous concentrer sur la mise en forme et la présentation des résultats de l'étendue interquartile (IQR) de manière claire et informative.
Ouvrez le fichier source précédent :
cd ~/project
nano iqr_calculation.c
Mettez à jour le code pour améliorer la sortie IQR et ajouter du texte descriptif :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MAX_SIZE 100
// Les fonctions précédentes restent les mêmes (compare et calculateQuartile)
int main() {
int numbers[MAX_SIZE];
int n, i;
double q1, q3, iqr;
// Effacement de l'écran pour une meilleure présentation
printf("\033[2J\033[1;1H");
// Introduction à l'IQR
printf("Calculateur d'étendue interquartile (IQR)\n");
printf("========================================\n\n");
// Lecture du nombre d'éléments
printf("Entrez le nombre d'éléments (max %d) : ", MAX_SIZE);
scanf("%d", &n);
// Saisie des éléments du tableau
printf("Entrez %d entiers :\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &numbers[i]);
}
// Tri du tableau
qsort(numbers, n, sizeof(int), compare);
// Calcul des positions de Q1 et Q3
double q1_pos = 0.25 * (n + 1);
double q3_pos = 0.75 * (n + 1);
// Calcul de Q1 et Q3
q1 = calculateQuartile(numbers, n, q1_pos);
q3 = calculateQuartile(numbers, n, q3_pos);
// Calcul de l'IQR
iqr = q3 - q1;
// Sortie détaillée
printf("\nRésultats de l'analyse des données\n");
printf("--------------------\n");
printf("Ensemble de données original : ");
for (i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
printf("\n\n");
// Sortie IQR formatée
printf("Analyse des quartiles :\n");
printf("1er quartile (Q1) : %.2f\n", q1);
printf("3e quartile (Q3) : %.2f\n", q3);
printf("Étendue interquartile (IQR) : %.2f\n", iqr);
// Interprétation de l'IQR
printf("\nInterprétation :\n");
printf("L'IQR représente l'étendue des 50 % centrale des données.\n");
printf("Un IQR plus petit indique des données plus cohérentes,\n");
printf("tandis qu'un IQR plus grand suggère plus de variabilité.\n");
return 0;
}
Compilation du programme mis à jour :
gcc -o iqr_calculation iqr_calculation.c -lm
Exécution du programme et fourniture d'une entrée d'exemple :
./iqr_calculation
Sortie d'exemple :
Calculateur d'étendue interquartile (IQR)
========================================
Entrez le nombre d'éléments (max 100) : 7
Entrez 7 entiers :
12 15 18 22 25 30 35
Résultats de l'analyse des données
--------------------
Ensemble de données original : 12 15 18 22 25 30 35
Analyse des quartiles :
1er quartile (Q1) : 15.00
3e quartile (Q3) : 30.00
Étendue interquartile (IQR) : 15.00
Interprétation :
L'IQR représente l'étendue des 50 % centrale des données.
Un IQR plus petit indique des données plus cohérentes,
tandis qu'un IQR plus grand suggère plus de variabilité.
Améliorations clés :
- Ajout d'une commande d'effacement de l'écran pour une meilleure présentation
- Amélioration de la mise en forme de la sortie
- Inclusion d'une interprétation de l'IQR
- Conservation de la logique de calcul précédente