Contextualização
Funções, em qualquer linguagem de programação, são uma das ferramentas mais poderosas para o desenvolvimento de softwares, desde os mais simples até os mais complexos sistemas. No Python, isso não é diferente!
Python é uma linguagem de programação de alto nível que é amplamente utilizada em uma variedade de aplicações, desde a análise de dados até a construção de sites ou jogos. Python é conhecido por sua simplicidade em sintaxe e facilidade de leitura, o que o torna um excelente ponto de partida para quem está apenas começando a explorar a programação.
A sementinha que irá germinar em grandes projetos começa com o entendimento básico do que são funções, passando por como definir, chamar, usar parâmetros e argumentos, até funções recursivas, a compreensão do escopo de variáveis e o uso das funções como objetos. Tudo isso resultará na construção de códigos limpos, eficientes e bastante úteis.
Por que Funções são Importantes?
Ao trabalhar em software ou programação, não é incomum ter que escrever o mesmo bloco de código múltiplas vezes para realizar a mesma tarefa novamente e novamente. Digamos, por exemplo, você está escrevendo um programa para calcular a média de várias marcas. Uma maneira de fazer isso seria escrever o mesmo código várias vezes - insira as marcas, some-as, divida pelo número de marcas. No entanto, isso seria tedioso e torna o programa difícil de ler e gerenciar. Além disso, se algo precisar ser alterado na maneira como a média é calculada, você terá que passar por todo o programa e fazer alterações em vários locais.
É aí que entram as funções. Você pode escrever uma função para calcular a média uma única vez e então chamar essa função sempre que precisar calcular uma média. Isso não apenas economiza tempo e esforço, mas também torna seu programa mais limpo e mais fácil de gerenciar. Além disso, se algo precisa ser mudado sobre como a média é calculada, você só precisa fazer essa mudança uma vez na função.
Agora que temos uma compreensão básica do que são funções e por que são importantes, vamos colocar a mão na massa.
Aqui estão alguns recursos adicionais para aumentar sua compreensão sobre funções em Python:
- [Python Functions - W3Schools]
- [Python Functions - TutorialsPoint]
- [Livro: Python Crash Course, Eric Matthes]
- [Python Functions: Real Python]
Atividade Prática
Construindo um Gerador de Haikus Python
Objetivo do Projeto
O objetivo deste projeto é aplicar os conceitos de funções em Python, criando um programa lúdico que irá gerar Haikus. Um Haiku é uma forma de poesia japonesa que possui apenas três linhas, sem rimas. As linhas são compostas por 5, 7, 5 sílabas respectivamente.
Durante o desenvolvimento desse projeto, os alunos devem dividir as tarefas como maioria dos problemas reais, através de métodos como divisão de módulos ou pareamento (pair programming).
Os alunos terão uma semana para a entrega do trabalho completo com o código e o relatório.
Materiais Necessários
- Computador com Python instalado.
- Acesso à internet para consulta e pesquisa.
- Lista de palavras e seus respectivos números de sílabas, que será fornecida pelo professor.
Descrição detalhada do projeto
Programa:
O Programa consiste em um gerador de Haikus em Python dividido em três partes principais:
- Primeiro, uma função para escolher palavras aleatórias da lista, adequada para o número de sílabas da linha do Haiku.
- Segundo, uma função para montar as linhas do Haiku com as palavras selecionadas.
- Terceiro, uma função principal que coordena as funções de selecionar palavras e montar linhas para gerar um Haiku completo.
Esses componentes do programa serão desenvolvidos por grupos de três a cinco alunos, e acredita-se que demorará de duas a quatro horas por aluno para ser executado.
Relatório:
Depois que o programa estiver concluído, o grupo escreve um relatório documentando o projeto. O relatório deve ser estruturado da seguinte maneira:
-
Introdução: Contextualize o projeto, explicando por que as funções são importantes na programação Python, e o objetivo do gerador de Haiku.
-
Desenvolvimento: Detalhe a teoria sobre funções em Python e descreva como o código foi construído. Explique as atividades detalhadamente e identifique a metodologia usada. Apresente e discuta os resultados obtidos.
-
Conclusão: Conclua o relatório destacando os pontos mais importantes do projeto, explicitando os aprendizados e as conclusões sobre o trabalho realizado.
-
Bibliografia: Liste as fontes que foram usadas para consultar e pesquisar, incluindo livros, sites, vídeos, etc.
Passo a passo detalhado para a realização da atividade
-
Passo Um: Divida o grupo em pequenas tarefas afim de distribuir responsabilidades. Cada membro será responsável por uma função do programa.
-
Passo Dois: Desenvolver a primeira função. Esta função será responsável por selecionar palavras aleatórias da lista de palavras, adequadas ao número de sílabas necessário para a linha do Haiku (5, 7 ou 5).
-
Passo Três: Desenvolver a segunda função. Esta função construirá a linha do Haiku com as palavras que foram selecionadas pela primeira função.
-
Passo Quatro: Escrever a terceira e principal função. Esta função irá chamar as duas funções anteriores, organizará as linhas do Haiku e imprimirá o Haiku finalizado.
-
Passo Cinco: Teste o programa repetidamente com diferentes conjuntos de dados para garantir que ele funciona conforme o esperado.
-
Passo Seis: Corrigir qualquer erro encontrado durante os testes.
-
Passo Sete: Com o programa finalizado e documentado, iniciar a escrita do relatório. O relatório deve seguir a estrutura de Introdução, Desenvolvimento, Conclusão e Bibliografia.
Entregas do Projeto
Ao final do projeto, os grupos deverão entregar:
-
Código Fonte: O programa Python completo com todas as funções escritas.
-
Relatório do Projeto: O relatório detalhado sobre o projeto. Ele deve cobrir vários aspectos do projeto - a introdução e contextualização, a explicação detalhada da atividade prática, o resumo dos resultados e o detalhamento das conclusões finais.
A ideia é que o relatório proporcione uma visão geral completa do projeto, desde a compreensão inicial dos conceitos de funções, até a conclusão final do trabalho em equipe para entregar um produto funcional que engloba todos esses conceitos, o gerador de Haikus Python. Deve-se notar que o relatório é tão importante quanto o programa em si - é a documentação do programa que permite a outras pessoas entendê-lo e aprender com os esforços do projeto.
O relatório será útil não apenas como uma maneira de comprovar o entendimento dos conceitos, mas também para ajudar a desenvolver habilidades de escrita técnica - uma habilidade muito importante para todos os programadores.
Os trabalhos finais serão avaliados levando em consideração tanto o código quanto o relatório, com foco na aplicação correta dos conceitos, criatividade, colaboração em equipe e clareza de comunicação.
Completando este projeto, os alunos terão aprendido a importância das funções em Python e como implementá-las efetivamente para resolver problemas de computação. Adicionalmente, eles irão melhorar habilidades socioemocionais, tais como comunicação, colaboração, gerenciamento de tempo e resolução de problemas.