Comentários

0%

FOCO NO MERCADO DE TRABALHO

Escopo e passagem de parâmetros

Vanessa Cadan Scheffer

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:

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:

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:

Código 3.17 | Cálculos da média e da mediana
#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);
} 
Fonte: elaborado pela autora.

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.

Código 3.18 | Programa para calcular juros simples
#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;
}
Fonte: elaborado pela autora.

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

Bons estudos!

AVALIE ESTE MATERIAL

OBRIGADO PELO SEU FEEDBACK!