Imprimir o IQR
Nesta etapa final, focaremos na formatação e apresentação dos resultados do Intervalo Interquartil (IQR) de forma clara e informativa.
Abra o arquivo de origem anterior:
cd ~/project
nano iqr_calculation.c
Atualize o código para aprimorar a saída do IQR e adicionar texto descritivo:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MAX_SIZE 100
// As funções anteriores permanecem as mesmas (compare e calculateQuartile)
int main() {
int numbers[MAX_SIZE];
int n, i;
double q1, q3, iqr;
// Limpar a tela para uma melhor apresentação
printf("\033[2J\033[1;1H");
// Introdução ao IQR
printf("Calculadora de Intervalo Interquartil (IQR)\n");
printf("===========================================\n\n");
// Ler o número de elementos
printf("Digite o número de elementos (máximo %d): ", MAX_SIZE);
scanf("%d", &n);
// Entrada dos elementos do array
printf("Digite %d inteiros:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &numbers[i]);
}
// Ordenar o array
qsort(numbers, n, sizeof(int), compare);
// Calcular as posições Q1 e Q3
double q1_pos = 0.25 * (n + 1);
double q3_pos = 0.75 * (n + 1);
// Calcular Q1 e Q3
q1 = calculateQuartile(numbers, n, q1_pos);
q3 = calculateQuartile(numbers, n, q3_pos);
// Calcular IQR
iqr = q3 - q1;
// Saída detalhada
printf("\nResultados da Análise de Dados\n");
printf("-----------------------------\n");
printf("Conjunto de Dados Original: ");
for (i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
printf("\n\n");
// Saída formatada do IQR
printf("Análise de Quartis:\n");
printf("1º Quartil (Q1): %.2f\n", q1);
printf("3º Quartil (Q3): %.2f\n", q3);
printf("Intervalo Interquartil (IQR): %.2f\n", iqr);
// Interpretação do IQR
printf("\nInterpretação:\n");
printf("O IQR representa a dispersão dos 50%% médios dos dados.\n");
printf("Um IQR menor indica dados mais consistentes,\n");
printf("enquanto um IQR maior sugere mais variabilidade.\n");
return 0;
}
Compile o programa atualizado:
gcc -o iqr_calculation iqr_calculation.c -lm
Execute o programa e forneça um exemplo de entrada:
./iqr_calculation
Exemplo de saída:
Calculadora de Intervalo Interquartil (IQR)
===========================================
Digite o número de elementos (máximo 100): 7
Digite 7 inteiros:
12 15 18 22 25 30 35
Resultados da Análise de Dados
-----------------------------
Conjunto de Dados Original: 12 15 18 22 25 30 35
Análise de Quartis:
1º Quartil (Q1): 15.00
3º Quartil (Q3): 30.00
Intervalo Interquartil (IQR): 15.00
Interpretação:
O IQR representa a dispersão dos 50% médios dos dados.
Um IQR menor indica dados mais consistentes,
enquanto um IQR maior sugere mais variabilidade.
Melhorias-chave:
- Comando para limpar a tela adicionado para melhor apresentação
- Formatação de saída aprimorada
- Incluída uma interpretação do IQR
- Lógica de cálculo anterior mantida