Revisão (20 min)
Comece a aula fazendo uma revisão da última aula, com algumas perguntas chave:
Nesta parte da revisão introduza um conceito muito importante: a importância da elegância do código.
Oriente-os sempre a ter um olhar de deixar o código legível, de fácil leitura (tanto por eles mesmo quanto por outros). Diga que você irá orientá-los sempre a ter uma postura de artista e que não só o resultado, mas todo o processo importa, incluindo a qualidade do texto (código).
Artistas
Muitas pessoas consideram os programadores artistas da tecnologia, são pessoas capazes de pegar uma série de códidos aparentemente indecifrável e transformar em algo funcional.
Conceitos computacionais necessários
Recomende os exercícios de funções do Codecademy.
Reuso
É importante trabalhar com os alunos a importância das funções com uma ferramenta para re-aproveitamento do código.
Na sala de aula
Exemplo:
(aula8_ex1)
Execute o código e proponha as seguintes perguntas:
É importante sempre relembrá-los de que precisamos sempre respeitar a indentação e que a escolha do nome de um função segue as mesmas regras das variáveis. Peça para algum aluno apresentar, com suas palavras, como uma função é definida e invocada no Python.
Exercícios
Trace um comparativo das funções que aprendemos a definir na última aula e outras funções que já utilizamos desde o começo: print(), ord(), input(), etc.
Faça-os refletir quais propriedades são comuns a todas esta funções: todas recebem parâmetros. A função print recebe um argumento entre parênteses que é o conteúdo a ser exibido, a função input pode receber um parâmtro que é apresentado quando a função pára o programa até o usuário entrar com um valor e pressionar a tecla Enter.
Mostre que podemos criar nossas próprias funções que recebem parâmetros, vamos começar com um exemplo bem simples: criar uma função de dobra o valor passado como parâmetro e outra função para fazer a soma de dois números, também passado como parâmetros.
(aula8_ex2)
Note também uma outra característica: as funções podem retornar valores, para isso utilizamos a palavra-reservada return. Na aula anterior nós trabalhamos o modelo mais simples de função, apens declaramos e invocamos, sem passar parâmetros e definir retorno. O modelo mais completo de função é aquele que recebe parâmetros e devolve um valor com o return.
(aula8_ex3)
Prosposta da Aula
Construa junto com a sala uma lista de items que precisamos ter para utilizar
Comece definindo a operação soma, não se esqueça de orientá-los a inserir um comentário no código descrevendo o que esta função faz.
# Efetua a operação de adição com dois números
def soma(x,y):
return x + y
Peça para esques completarem as outras funções. Se houve dificuldade para entender a linha do return utilize uma variável temporária para armazenar o resultado da conta para depois retorná-la.
O próximo passo será construir as condições para escolher qual operação vamos executar, para isso iremos aprender um conceito novo da linguagem Python, três novas palavras-reservadas: if, elif e else.
Mostre para os alunos que até o momento nós trabalhamos apenas com sequências de instruções, códigos que são executados linha após linhas, mas no nosso caso querendo impor uma condição, queremos escolher qual parte do nosso programa será executada dependendo da entrada do usuário. Mostre para os alunos como os blocos de condicional funcionam através de um exemplo prático: um programa que verifica a idade do usuário, se o valor digitado por maior ou igual a 15 ele pode ver a mensagem de boas vindas, senão ele obtém a mensagem de acesso negado.
(cond)
Nesta aula é importante que todos tenham compreendido a estrutura básica de funções e sua necessidade. A partir de agora o uso de funções será utilizado amplamente e é preciso que os alunos explorem bastante seu uso.