Pular para o conteúdo principal

Aula 05: Modularização com Funções

Objetivos de Aprendizagem

Ao final desta aula, você deve ser capaz de:

  1. Definir e chamar funções com def.
  2. Usar parâmetros e argumentos para tornar funções reutilizáveis.
  3. Diferenciar função que imprime de função que retorna valor.
  4. Aplicar noções básicas de escopo local.
  5. Organizar código em funções curtas e com nomes descritivos.

Conteúdo

1) O que é uma função

Uma função é um bloco de código reutilizável que executa uma tarefa específica.

def saudacao():
print("Olá, turma!")

saudacao()

2) Parâmetros e argumentos

Parâmetros são variáveis declaradas na função. Argumentos são os valores passados na chamada.

def saudacao_nome(nome):
print(f"Olá, {nome}!")

saudacao_nome("Ana")
saudacao_nome("Carlos")

3) Funções com retorno (return)

Use return quando a função precisa entregar um valor para ser usado depois.

def soma(a, b):
return a + b

resultado = soma(10, 7)
print(f"Resultado: {resultado}")

Diferença entre print e return

def mostra_soma(a, b):
print(a + b)

def retorna_soma(a, b):
return a + b

x = mostra_soma(2, 3) # imprime 5, mas x recebe None
y = retorna_soma(2, 3) # y recebe 5

print(x)
print(y)

4) Escopo local (introdução)

Variáveis criadas dentro da função são locais da função.

def exemplo_escopo():
mensagem = "Estou dentro da função"
print(mensagem)

exemplo_escopo()
# print(mensagem) # geraria erro: NameError

5) Boas práticas de modularização

  • Dê nomes claros para funções (calcular_media, validar_idade).
  • Prefira funções curtas com uma responsabilidade.
  • Evite duplicar código: extraia lógica repetida para função.
  • Use parâmetros em vez de valores fixos quando possível.

6) Exemplos contextualizados

Exemplo A: cálculo de média com função

def calcular_media(n1, n2, n3):
return (n1 + n2 + n3) / 3

media = calcular_media(8.0, 7.5, 9.0)
print(f"Média: {media:.2f}")

Saída esperada: Média: 8.17

Exemplo B: mensagem de aprovação

def aprovado(media):
return media >= 6

resultado = aprovado(5.9)
print(f"Aprovado? {resultado}")

Saída esperada: Aprovado? False

Exercícios (checkpoints)

  1. Crie uma função dobro(numero) que retorna o dobro do valor recebido.
    • Critério de verificação: para dobro(7), o resultado deve ser 14.
  2. Escreva uma função saudar(nome) que imprime uma saudação personalizada.
    • Critério de verificação: para saudar("Lia"), a saída deve conter Lia.
  3. Crie uma função media(n1, n2) com return.
    • Critério de verificação: para media(8, 6), o resultado deve ser 7.0.
  4. Reescreva um trecho repetido do seu código anterior usando função.
    • Critério de verificação: o comportamento final deve permanecer igual.
  5. Faça uma função pode_votar(idade) que retorna True se idade >= 16.
    • Critério de verificação: para 15, deve retornar False.
  6. Crie uma função que receba preço e desconto percentual e retorne o preço final.
    • Critério de verificação: para 100 e 10, o resultado deve ser 90.

Referências

Principais

Aprofundamento