Funções para automatizar o cálculo da média e da mediana
Criação de duas funções para calcular a média aritmética e a mediana do conjunto de números passado como parâmetro de um vetor de números reais.

Fonte: Shutterstock.
Deseja ouvir este material?
Áudio disponível no material digital.
sem medo de errar
Você foi contratado por um laboratório de pesquisa que presta serviço para diversas empresas, e agora precisa fazer um programa para a equipe de estatísticos. Foi solicitado a você automatizar o cálculo da média e da mediana e de um conjunto de números reais. Seu programa, além de calcular os resultados, deverá imprimi-los na tela.
Para implementar essa solução você pode criar duas funções que recebem como parâmetro um vetor de números reais, juntamente com seu tamanho (quantidade de elementos).
O primeiro passo é criar as funções que farão os cálculos da média e da mediana. Você pode criá-las da seguinte forma:
- float calcularMedia(float conjunto[], int tam)
- float calcularMediana(float conjunto[], int tam)
Nessas funções, a média aritmética e a mediana do conjunto de números passado como parâmetro deverão ser calculadas e retornadas como resultado.
Em seguida, é preciso criar a função principal, na qual será declarado e populado o conjunto de dados. Em posse dos valores, as funções calcularMedia() e calcularMediana() deverão ser invocadas, e os valores, passados. Os resultados dessas funções devem ser guardados dentro de variáveis, da seguinte forma:
- media = calcularMedia(vet, tam)
- mediana = calcularMedia(vet, tam)
Como último passo, deverão ser impressos os resultados. Para conferir uma opção de implementação do problema, veja o código a seguir:
#include<stdio.h>
#define VET_TAM 6
float calcularMedia(float conjunto[], int tam) {
float soma = 0.0, resultado = 0.0;
for(int i = 0; i < tam; i++) {
soma += conjunto[i];
}
resultado = soma / (float) tam;
return resultado;
}
float calcularMediana(float conjunto[], int tam) {
float resultado = 0.0;
if (tam % 2 != 0) { // tam é impar
resultado = conjunto[tam / 2];
} else { // tam é par
resultado = (conjunto[tam / 2] + conjunto[(tam / 2) - 1]) / 2;
}
return resultado;
}
int main(void){
float vet[VET_TAM] = {1, 2, 3, 4, 5, 6};
float media = calcularMedia(vet, VET_TAM);
float mediana = calcularMediana(vet, VET_TAM);
printf("\nMédia = %.2f", media);
printf("\nMediana = %.2f", mediana);
}

Agora, você pode testar o código utilizando a ferramenta Paiza.io.
Avançando na prática
Rendimento de investimentos
Você foi contratado por uma agência de créditos pessoais para implementar um programa que calcula o total de rendimentos (usando juros simples) que um cliente terá em determinado investimento. O cliente informará o valor que pretende investir, qual o plano e quanto tempo pretende deixar o dinheiro investido. No “plano A”, o rendimento é de 2%, porém, o cliente não pode solicitar o resgate antes de 24 meses. Já no “plano B” o rendimento é de 0,8% e o tempo mínimo para resgate é de 12 meses. Faça um programa que peça as informações para o usuário e, a partir de uma função, calcule o rendimento que o cliente terá.
Para implementar a solução, primeiro você deve saber a fórmula de juros simples j=C.i.t, na qual j é o juro, C é o capital inicial, i é a taxa e t é o tempo. Veja no Código 3.18 uma possível implementação para o problema.
#include<stdio.h>
float calcularInvestimento(float valor, char plano, int meses) {
if ((plano =='A' || plano =='a') && meses >= 24){
return valor * 0.02 * meses;
} else {
printf("\nDados inválidos!");
return 0;
}
if ((plano =='B' || plano =='b') && meses >= 12){
return valor * 0.008 * meses;
} else {
printf("\nDados inválidos!");
return 0;
}
}
int main(){
float valorInv = 0;
float rendimento = 0;
char plano;
int tempo = 0;
printf("\nDigite o plano: ");
scanf("%c", &plano);
printf("\nDigite o valor a ser investido: ");
scanf("%f", &valorInv);
printf("\nDigite o tempo para resgate: ");
scanf("%d", &tempo);
rendimento = calcularInvestimento(valorInv, plano, tempo);
printf("\nSeu rendimento será de %.2f", rendimento);
return 0;
}

Agora, você pode testar o código utilizando a ferramenta Paiza.io.