Listas e Recursão na Computação

Este plano de aula introduz conceitos de programação como listas e recursão para identificar padrões em sequências numéricas e construir algoritmos.

BNCC: [EF08MA10]

Plano de Aula: Introdução à Computação com Listas e Recursão

Objetivo: Identificar a regularidade de uma sequência numérica ou figural não recursiva e construir um algoritmo por meio de um fluxograma que permita indicar os números ou as figuras seguintes, utilizando listas e recursão em uma linguagem de programação.

Duração: 50 minutos

Metodologia: Metodologia Ativa (Aprendizagem Baseada em Problemas)

Recursos:

  • Computadores com acesso a uma linguagem de programação (Python, Scratch, etc.)
  • Projetor para demonstrações
  • Lousa ou quadro branco
  • Materiais para fluxogramas (papel, canetas, etc.)

Estrutura da Aula:

  1. Introdução (5 minutos)

    • Comece a aula relembrando o conceito de sequências numéricas e padrões. Pergunte aos alunos se eles se lembram de exemplos de sequências que viram em aulas anteriores.
    • Apresente o conceito de algoritmo como uma sequência de passos lógicos para resolver um problema.
    • Motive os alunos mostrando como a computação pode automatizar a identificação de padrões e a geração de sequências.
  2. Explicação Teórica (15 minutos)

    • Listas:

      • Explique o que são listas em programação, como estruturas de dados que armazenam coleções de itens.

      • Demonstre como criar e manipular listas em Python (ou na linguagem escolhida). Por exemplo:

        lista = [1, 2, 3, 4, 5]
        print(lista[0]) # Imprime o primeiro elemento (1)
        
      • Mostre como adicionar, remover e acessar elementos de uma lista.

    • Recursão:

      • Introduza o conceito de recursão como uma técnica de programação onde uma função chama a si mesma para resolver um problema menor.

      • Explique que a recursão envolve um caso base (condição de parada) e um caso recursivo (chamada da função a si mesma).

      • Use um exemplo simples, como o cálculo do fatorial de um número, para ilustrar a recursão:

        def fatorial(n):
            if n == 0:
                return 1 # Caso base
            else:
                return n * fatorial(n-1) # Caso recursivo
        
        print(fatorial(5)) # Imprime 120
        
    • Image

  3. Atividade Prática (25 minutos)

    • Problema: Apresente o seguinte problema: "Crie um programa que gere os primeiros nn termos da sequência de Fibonacci usando listas e recursão."

    • Fluxograma: Peça aos alunos para, em grupos, criarem um fluxograma que represente o algoritmo para resolver o problema. O fluxograma deve incluir os passos para:

      • Inicializar a lista com os dois primeiros termos da sequência (0 e 1).
      • Calcular os termos seguintes somando os dois últimos termos da lista.
      • Adicionar o novo termo à lista.
      • Repetir o processo até atingir o número de termos desejado (nn).
      • Image
    • Implementação: Após a criação do fluxograma, os alunos devem implementar o algoritmo em Python (ou na linguagem escolhida). Ajude-os com a sintaxe e a lógica, se necessário. Uma possível solução seria:

      def fibonacci_recursivo(n):
          if n <= 1:
              return n
          else:
              return fibonacci_recursivo(n-1) + fibonacci_recursivo(n-2)
      
      def fibonacci_lista(n):
          lista_fib = []
          for i in range(n):
              lista_fib.append(fibonacci_recursivo(i))
          return lista_fib
      
      n = 10 # Número de termos desejados
      fib_lista = fibonacci_lista(n)
      print(fib_lista) # Imprime a lista com os primeiros 10 termos
      
    • Incentive os alunos a testarem o programa com diferentes valores de nn e a observarem a sequência gerada.

  4. Discussão e Conclusão (5 minutos)

    • Promova uma discussão sobre as vantagens e desvantagens de usar listas e recursão para resolver o problema.
    • Pergunte aos alunos como eles poderiam modificar o programa para gerar outras sequências numéricas.
    • Conclua reforçando a importância da computação para a resolução de problemas matemáticos e a identificação de padrões.

Avaliação:

  • Avalie a participação dos alunos na discussão e na criação do fluxograma.
  • Verifique se os alunos conseguiram implementar o algoritmo corretamente e gerar a sequência de Fibonacci.
  • Proponha exercícios adicionais para consolidar o aprendizado, como gerar outras sequências ou resolver problemas similares usando listas e recursão.

Observações:

  • Adapte a complexidade do problema e da implementação à experiência dos alunos com programação.
  • Incentive a colaboração e a troca de ideias entre os alunos.
  • Utilize recursos visuais, como diagramas e animações, para facilitar a compreensão dos conceitos.

Esta aula busca integrar a habilidade da BNCC [EF08MA10] ao contexto da programação, permitindo aos alunos aplicar conceitos matemáticos na criação de soluções computacionais. Ao utilizar listas e recursão, eles desenvolvem o pensamento algorítmico e a capacidade de identificar padrões, habilidades essenciais para a resolução de problemas complexos.


Iara Tip

Precisa de mais materiais para ensinar esse assunto?

Eu consigo gerar slides, atividades, resumos e 60+ tipos de materiais. Isso mesmo, nada de noites mal dormidas por aqui :)

Quem viu esse plano de aula também gostou de...

Image
Imagem do conteúdo
Plano de aula
Geometria Espacial: Sólidos e Suas Características
Roberta Mulinario Ribeiro
Roberta Mulinario Ribeiro
-
Image
Imagem do conteúdo
Plano de aula
Sequências Numéricas e Múltiplos
selu
selu
-
Image
Imagem do conteúdo
Plano de aula
Conjuntos Numéricos
Milene Kelly
Milene Kelly
-
Image
Imagem do conteúdo
Plano de aula
Plano de Aula Anual de Matemática para Ensino Médio Técnico em Agropecuária
AO
Adriele Oliveira Costa
-
Community img

Faça parte de uma comunidade de professores direto no seu WhatsApp

Conecte-se com outros professores, receba e compartilhe materiais, dicas, treinamentos, e muito mais!