Aula 5: Perguntas & Respostas (I)

Objetivos

  • Aprender a fazer decisões no código
  • Aprender a quebrar o código em funções.
  • Introdução de estruturas de controle if e else

Preparação

  • No Computador:

Atividades

Revisão (20 min)

Comece a aula fazendo uma revisão da última aula, com algumas perguntas chave:

  • Quais outros símbolos eles tiveram idéia?
  • Qual a importância de comentários no código?
  • Qual o papel das funções para organizar o trabalho?

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

  1. Abra o Editor de Texto do IDLE e revise como é declarar uma função.

Exemplo:




(aula8_ex1)

Execute o código e proponha as seguintes perguntas:

  • Qual a saída deste trecho de código? [Resp.: 3 linhas com os respectivos conteúdos do print]
  • O que é necessário para vermos a execução do print? [Resp.: Invocar a função]

É 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

  1. Fazer uma função que imprima o nome do autor do programa mais dois amigos.
  1. Fazer uma função que retorne a soma das idades de cada uma das pessoas citadas acima (lembre-se do conceito de converter para inteiro usando a função int() a saída do input(), é um erro que os alunos comentem com frequência)

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

  • Construir um programa que funciona como calculadora das quatro operações básicas da matemática.

Construa junto com a sala uma lista de items que precisamos ter para utilizar

  1. Funções para cada operação aritmética.
  2. Entrada do usuário.
  3. Escolha da operação.

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)

Reflexão

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.

  • O que fizemos e que funcionou?
  • O que fizemos e que não funcionou?
  • Quais as dúvidas mais comuns que apareceram durante a aula?
  • Qual as maiores dificuldades na execução das atividades?