Trilha 4: Funções (Modularização)

Objetivos de Aprendizagem


Resumo Rápido

Uma função é um bloco de código que realiza uma tarefa específica e pode ser "chamado" várias vezes.

Conceito Explicação
Tipo de Retorno O que a função devolve? (ex: int, float). Se não devolve nada, usamos void.
Parâmetros Dados que a função precisa receber para trabalhar (as variáveis dentro dos parênteses).
Return Comando que encerra a função e envia o resultado de volta para quem chamou.
Analogia: Uma função é como um liquidificador.
Entrada (Parâmetros): Frutas e Leite.
Processamento: Bater tudo.
Saída (Retorno): A vitamina pronta.

Exemplo Comentado

Vamos criar uma função que soma dois números e devolve o resultado para a main.


#include <stdio.h>

// --- 1. Declaração da Função ---
// Ela recebe dois inteiros (a e b) e promete devolver um inteiro (int)
int somar(int a, int b) {
    int resultado;
    resultado = a + b;
    return resultado; // Devolve o valor para quem chamou
}

// Função VOID: Apenas executa uma ação, não devolve número
void saudacao() {
    printf("--- Bem-vindo ao Sistema de Soma ---\n");
}

// --- 2. Função Principal ---
int main() {
    int n1, n2, total;

    saudacao(); // Chamando a função void

    printf("Digite o primeiro número: ");
    scanf("%d", &n1);
    printf("Digite o segundo número: ");
    scanf("%d", &n2);

    // Chamando a função 'somar' e guardando o retorno na variável 'total'
    total = somar(n1, n2);

    printf("A soma é: %d", total);

    return 0;
}
            

Lista de Exercícios

Pratique a criação de módulos.

1. O Dobro

Crie uma função chamada calcularDobro que receba um número inteiro e retorne o dobro dele.

Ver Código Resposta

#include <stdio.h>

int calcularDobro(int num) {
    return num * 2;
}

int main() {
    int x;
    printf("Digite um número: ");
    scanf("%d", &x);
    
    printf("O dobro é: %d", calcularDobro(x));
    return 0;
}

2. Maior de Dois

Faça uma função que receba dois números float e retorne o maior deles.

Ver Código Resposta

#include <stdio.h>

float maior(float n1, float n2) {
    if (n1 > n2) {
        return n1;
    } else {
        return n2;
    }
}

int main() {
    float a = 5.5, b = 8.2;
    printf("O maior é: %.1f", maior(a, b));
    return 0;
}

3. Par ou Ímpar (Modularizado)

Crie uma função que receba um número. Se for par, a função imprime "PAR". Se for ímpar, imprime "ÍMPAR". (Dica: Use void pois ela já imprime).

Ver Gabarito

#include <stdio.h>

void verificarParImpar(int n) {
    if (n % 2 == 0) {
        printf("O número %d é PAR.\n", n);
    } else {
        printf("O número %d é ÍMPAR.\n", n);
    }
}

int main() {
    verificarParImpar(10);
    verificarParImpar(7);
    return 0;
}