Nesta atividade, estou aprendendo o conceito de recursão, que ocorre quando uma função chama a si mesma para resolver um problema.
O conceito central é:
Problema grande
↓
Quebrar em problemas menores
↓
Resolver cada parte
↓
Chegar à resposta final
Toda função recursiva precisa ter uma condição de parada, caso contrário ela entrará em um ciclo infinito.
Solução da atividade da Alura
def soma_recursiva(n):
if n == 1:
return 1
return n + soma_recursiva(n - 1)
numero = int(input("Digite um número: "))
print(f"A soma de 1 a {numero} é: {soma_recursiva(numero)}")
Exemplo:
Entrada:
5
Execução:
5 + soma_recursiva(4)
4 + soma_recursiva(3)
3 + soma_recursiva(2)
2 + soma_recursiva(1)
1
Resultado:
5 + 4 + 3 + 2 + 1 = 15
Saída:
A soma de 1 a 5 é: 15
O que realmente está sendo ensinado?
Mais do que somar números, estamos aprendendo a resolver problemas que podem ser divididos em etapas menores.
A lógica é:
Valor atual
+
Resultado da etapa anterior
Aplicação na Plataforma AFA
A recursão pode ser utilizada quando precisamos acumular informações ao longo do tempo.
Por exemplo, imagine um estudante que recebe registros AFA durante todo o trimestre.
Semana 1 → +0,3
Semana 2 → +0,5
Semana 3 → -0,2
Semana 4 → +0,3
Semana 5 → +1,0
Poderíamos somar essas pontuações recursivamente.
def soma_registros(registros):
if len(registros) == 1:
return registros[0]
return registros[0] + soma_registros(registros[1:])
Exemplo:
registros = [0.3, 0.5, -0.2, 0.3, 1.0]
print(soma_registros(registros))
Resultado:
1.9
Aplicação real na Nota AFA
Lembrando a regra institucional:
Todo estudante inicia o trimestre com nota 8,0.
Podemos utilizar a soma recursiva para calcular o saldo dos registros.
def soma_registros(registros):
if len(registros) == 1:
return registros[0]
return registros[0] + soma_registros(registros[1:])
Depois:
nota_inicial = 8.0
saldo = soma_registros(
[0.3, 0.5, -0.2, 0.3, 1.0]
)
nota_afa = min(nota_inicial + saldo, 10.0)
print(nota_afa)
Resultado:
9.9
Aplicação para uma Rede Educacional
Imagine agora que estamos implementando o AFA em uma rede com milhares de estudantes.
Cada aluno possui dezenas de registros.
A lógica conceitual seria:
Registro atual
+
Todos os registros anteriores
A recursão ajuda a compreender como os sistemas consolidam informações acumuladas ao longo do tempo.
Aplicação em Relatórios Pedagógicos
Outra possibilidade é consolidar ocorrências.
Exemplo:
ocorrencias = [
"Participação",
"Criatividade",
"Curiosidade",
"Proatividade"
]
A lógica recursiva poderia percorrer cada evidência até construir um relatório completo.
Ocorrência atual
+
Demais ocorrências
↓
Relatório final
O que realmente aprendi?
Na atividade da Alura:
5
↓
4
↓
3
↓
2
↓
1
↓
Soma final
Na Plataforma AFA:
Registro atual
↓
Registro anterior
↓
Registro anterior
↓
Registro anterior
↓
Saldo formativo
↓
Nota AFA
Percebi que o principal aprendizado desta atividade foi compreender que alguns problemas podem ser resolvidos dividindo-os em partes menores e repetindo a mesma lógica até chegar a uma condição de parada. No contexto da Plataforma AFA, a recursão ajuda a entender como registros individuais podem ser acumulados progressivamente para gerar indicadores, notas e relatórios pedagógicos consolidados.