Unit 4:   A Receita de Projeto

imageUnit 4A Receita de Projeto
Unit Overview

Alunos continuam a praticar a Design Recipe aplicando-a em problemas simples.

Product Outcomes:
  • Estudantes usarão a Receita de Projeto para definir uma função, que será usada para fazer o foguete voar.

  • Os alunos escreverão funções para resolver problemas simples usando a Receita de Projeto

Standards and Evidence Statements:

Standards with prefix BS are specific to Bootstrap; others are from the Common Core. Mouse over each standard to see its corresponding evidence statements. Our Standards Document shows which units cover each standard.

  • 8.F.1-3: The student defines, evaluates, and compares functions

    • comparison of properties of two functions each represented in a different way (algebraically, graphically, numerically in tables, or by verbal descriptions)

  • A-SSE.1-2: O aluno interpreta a estrutura de expressões para resolver problemas no contexto

    • interpretation of expressions that represent a quantity in context

    • interpretation of terms, factors, and coefficients of an expression

  • F-BF.3-4: The student builds new functions from existing functions.

    • inversion of a function

  • F-IF.1-3: The student uses function notation to describe, evaluate, and interpret functions in terms of domain and range

    • description of a function using terms domain and range

    • explanation that if f is a function and x is an element of its domain, then f(x) denotes the output of f corresponding to the input x

    • evaluation of functions using function notation for inputs in their domains

    • interpretation of statements that use function notation in terms of a context

  • F-IF.4-6: The student interprets the behavior of functions that arise in applications in terms of the context

    • interpretation of a relationship between two quantities in a table or graph in terms of key features

    • relation of the domain of a function to its graph and, where applicable, to the quantitative relationship it describes

  • BS-DR.1: The student is able to translate a word problem into a Contract and Purpose Statement

    • given a word problem, identify the domain and range of a function

    • given a word problem, write a Purpose Statement (i.e. - rewrite the problem in their own words)

  • BS-DR.2: The student can derive test cases for a given contract and purpose statement

    • given a Contract and a Purpose Statement, write multiple examples or test cases

    • given multiple examples, identify patterns in order to label and name the variables

  • BS-DR.3: Given mutiple test cases, the student can define a function

    • given examples and labeled variable(s), define the function

Length: 110 minutes
Glossary:
  • assinatura: uma declaração com o nome, domínio, e imagem de uma função

  • declaração de propósito: uma breve descrição do que a função faz

  • declarações de propósito

  • domínio: o tipo de dado que a função espera receber

  • exemplo: mostra o uso de uma função com entradas específicas e o que a função deve calcular com essas entradas

  • imagem: o tipo de dado que a função produz

  • nome: como nós nos referimos a uma função ou valor definido na linguagem (exemplos: +, *, star, circle)

  • receita de projeto: uma sequência de passos que ajudam pessoas a documentar, testar, e escrever funções

  • tipo: refere-se a um tipo geral de dado, como Número, String, Figura ou Booleano

  • variáveis

Materials:
  • Caneta/lápis para os alunos, giz fresquinho para professores

  • ***Class poster (List of rules, language table, course calendar)

  • ***Language Table (see below)

  • Apostila com nome na capa, e algo para escrever

  • Pens/pencils for the students, fresh whiteboard markers for teachers

  • Class poster (List of rules, language table, course calendar)

  • Language Table

  • Student workbook folders with names on covers, and something to write with

Preparation:
  • Escreva o plano da aula no quadro

  • Mostre Cartazes da Classe, Language Table, Receita de Projeto

  • "Rocket" [Rocket.rkt from source-files.zip | WeScheme] précarregado na máquina dos alunos

  • Arranjos de assento: idealmente formando grupos

  • OPCIONAL: Entregue atividade de Aquecimento.

  • Write agenda on board

  • Display Class posters, Language Table, Design Recipe

  • Seating arrangements: ideally clusters of desks/tables

Types

Functions

Número

+ - * / sq sqrt expt

String

string-append string-length

Figura

rectangle circle triangle ellipse star text scale rotate put-image


A Receita de Projeto

Overview

Os alunos são formalmente apresentados aos passos da Design Recipe.

Learning Objectives

  • Os alunos praticam usando Assinaturas para criar exemplos de funções

  • Students learn to abstract over examples to create functions

Evidence Statements

  • Given a definition, students will be able to identify the Name, Type and Value that is defined.

  • Given a contract and purpose statement for a simple, one-variable function, students will be able to write two Examples

  • Given two examples for a simple function, students will be able to identify the variable

  • Given two examples for a simple function, students will be able to write the definition

Product Outcomes

  • Estudantes usarão a Receita de Projeto para definir uma função, que será usada para fazer o foguete voar.

Materials

  • Caneta/lápis para os alunos, giz fresquinho para professores

  • ***Class poster (List of rules, language table, course calendar)

  • ***Language Table (see below)

  • Apostila com nome na capa, e algo para escrever

Preparation

  • Escreva o plano da aula no quadro

  • Mostre Cartazes da Classe, Language Table, Receita de Projeto

  • "Rocket" [Rocket.rkt from source-files.zip | WeScheme] précarregado na máquina dos alunos

  • Arranjos de assento: idealmente formando grupos

  • OPCIONAL: Entregue atividade de Aquecimento.

A Receita de Projeto (Time 25 minutos)

  • Funções são um ponto chave na animação de programas de computador. Uma função que desenha uma figura estática de um gato, por exemplo, pode colocá-lo em diferentes localizações com base na entrada. Quando a entrada muda ligeiramente com base no tempo ou de uma interação do usuário, o gato parecerá se mover. Isto é similar a maneira como animações flip-book funcionam (animações feitas em caderno), onde cada página desenhada é uma figura estática, que mudou um pouquinho da anterior. Quando as páginas são passadas rapidamente, as figuras parecem mudar sem problemas.

  • Colocando essas imagens juntas, temos uma animação de foguete subindo na tela. Vamos ver um exemplo deste tipo de animação, usando uma função para fazer o foguete decolar! Vá para Page 11 em sua Apostila, e leia a "Word Problem" atentamente.
    • O que a fução altura-foguete recebe como entrada? Esssa entrada é de qual tipo de dado?

    • O que a função produz como saída? De que tipo de dado ela é?

    • Quais são as três partes da Assinatura?

    • Qual o Nome da função que você está sendo convidado a definir?

    • Qual o Domínio da função?

    • Qual a Imagem da função?

    Verifique a compreensão do aluno com cuidado, para garantir que os alunos leiam cuidadosamente o problema. Pode ser útil desenhar um diagrama ou tablea para mostrar a mudança de posição do foguete na placa, e que os alunos andem verbalmente através de alguns exemplos.

  • A Assinatura é uma forma de pensar sobre a função de um modo geral, sem ter que se preocupar como exatamente ela vai funcionar ou como ela será usada. Começando com uma simples questão como essa, os próximos passos ficam mais fáceis de se pensar. Contudo, a Assinatura nem sempre tem informção suficiente! O Domínio de star, por exemplo, especifica que a função recebe como entrada um Número e duas Strings, mas não menciona que a primeira String deve ser "solid" ou "outline". Para adicionar essa informação, programadores escrevem Declarações de Propósito, que são frases simples que explicam o que a função faz.

    Abaixo da Assinatura, copie a seguinte Declaração de Propósito para foguete-altura.

     

    Essa é uma oportunidade de falar da importância da escrita, clareza e concisão. Wual informação é essencial para a declaração de propósito? Qual informação não é tão importante? Uma boa declaração de propósito nos diz o que é computado e como a entrada é usada; ela deve ir além da informação dada na assinatura e implícita no nome da função.

  • Em posse da Assinatura e da Declaração de Propósito, torna-se fácil escrever um EXEMPLO. Todo exemplo começa com o nome da função e uma entrada de exemplo, ambos escritos na Assinatura. Neste caso, você sabe que a função é chamada de foguete-altura e ela espera receber apenas um número como entrada. A Declaração de Propósito vai além, dizendo a você que a entrada é multiplicada por 7. Podemos usar isso para escrever exemplos, com diferentes números de segundos como Entrada.   Nota: O exemplo mostrado acima foi quebrado em duas linhas! Como as funções e exemplos ficaram mais complexos, torna-se difícil apertá-los em uma única linha. Em seus cadernos, todo exemplo e definição de agora em diante usará o formato duas linhas.

    Em seu caderno, escreva dois novos exemplos de foguete-altura usando diferentes valores para os números de segundos. Ambos os exemplos terão muito em comum (eles usam foguete-altura como nome da função, multiplicam sua entrada por 7, etc). Assim que terminar de escrevê-las, circule apenas as partes dos exemplos que são *** mutáveis, ou seja, que mudam comparando os dois exemplos.

    A ideia principal para alunos nessa atividade é perceber que Assinaturas e Declarações de Propósito podem ser invocadas para escrever exemplos. Peça aos alunos para justificar cada parte do exemplo, usando apenas a Assinatura e a Declaração de Propósito. Eles muitas vezes tropeçam em mudar de uma-linha para exemplos em duas-linhas. Tenha muito cuidado ao apontar isso para os alunos, e verifique suas apostilas para ver onde estão escrevendo seus exemplos. No fim da atividade, tenha certeza de que eles circularam APENAS o que mudou.

  • Comparando os dois exemplos diferentes, é fácil dizer o que muda. De acordo com a Declaração de Propósitos, é o número de segundos que o foguete esteve voando.

    No seu caderno, ***rotule os item que você circulou como "segundos".

    Converse com os alunos do porque "segundos" é um melhor nome que "tempo". Fale sobre especificidade, relevância e legibilidade de código.

  • Rotulando o que é mutável dá aos programadores um sentido para os nomes das variáveis de uma função. Variáveis são espaços reservados para valores que podem ser diferentes em diferentes momentos. Uma função que calcula o quanto você paga ao mês para mandar mensagens de texto, por exemplo, pode ter uma variável para o número de mensagens que você enviou.(EXEMPLO ULTRAPASSADO? PODERIA SER COM O NUMERO DE MINUTOS FALADOS EM LIGAÇÕES AO MÊS? MAIS ATUAL?). O número de mensagens que você enviou pode variar de um mês para outro, mas o preço por cada mensagem ainda custa 20 centavos.

    Quantas variáveis a função foguete-altura tem? Qual o nome de cada variável? Defina a função, usando todas as informações dos seus Exemplos, Assinaturas e Declaração de Propósitos.

     

    Como nos Exemplos, peça que os alunos justifiquem cada parte da difinição. Neste caso, o nome da função pode ser conseguido na Assinatura, e nome da variável e corpo da função podem vir dos Exemplos.

  • A Receita de Projeto permite que programadores se concentrem em um passo do problema de cada vez, e usar as estapas anteriores para ajudar a completar o próximo passo.
    • O que a Assinatura diz ao programador sobre a função?

    • O que a Declaração de Propósito diz ao programador sobre a função?

    • Como a Assinatura e a Declaração de Propósito ajudam um programador a escrever Exemplos?

    • Por que é útil circular e rotular partes dos Exemplos que mudam?

    • Como fazer todos esses passos ajudam o programador a definir uma função?

  • Você pode ter notado que os Exemplos de foguete-altura escreveu a multiplicação como (* 11 7), ao invés da resposta real (77). Por que se preocupar em mostrar como o cálculo é realizado? Ao fazer isso, Exemplos podem fornecer dicas sobre o processo que está ocorrendo. No código de Foguete fornecida(Rocket.rkt de source-files.zip | ou em arquivo online), você verá porque é tão importante mostrar seu trabalho ao escrever exemplos.

    Clique em "Run", e espere até uma janela com um foguete aparecer na tela e número para "time" e "height" no topo. Esta anumação está definida para atualizar o foguete toda vez que a Barra de Espaço é pressionada, para simular o tempo passando. Aperte a Barra de Espaço algumas vezes, e perceba que o tempo no topo da janela aumenta. O foguete se move? O tempo está passando, mas a altura do nosso foguete não mudou! Feche a janela do foguete, e veja o código.

  • A Assinatura para esta função está correta: o Nome da função, Domínio e Imagem estão todos escritos aqui. Entretanto, o próximo passo definitivamente apresenta alguns problemas:

    1. Há apenas um exemplo. Isso torna dificil perceber o que está mudando na função, o que poderia levar a erros na identificação de variáveis

    2. O exemplo não mostra como a altura é calculada - em vez disso, o programador escreveu apenas o "resultado", ***sem mostrar como calculou a resposta.

  • Ao pular esses passos nos Exemplos, pode ser fácil cometer erros ao definir a função.

    Você pode ver o erro que o programador cometeu?

    Sem ver vários Exemplos, o programador não conseguiu perceber que a altura do foguete tem que ser calculada a cada entrada. Em vez disso, o programa produz o mesmo número(neste caso, zero). Como resultado, o foguete está sempre em zero, não importa quantos segundos se passaram.
    • Conserte o Exemplo do programador para mostrar o cálculo realizado.

    • Escreva um segundo Exemplo, abaixo do primeiro.

    • Corrija a definição da função, de modo que multiplica o número de segundos por 7.

    • Clique em "Run", e use a barra de espaço para fazer o foguete voar!

Praticando a Receita de Projeto

Overview

Alunos usam a Receita de Projeto para definir simples funções (de uma ou duas variáveis), dando vários problemas para resolver

Learning Objectives

    Evidence Statements

    • Given a contract and purpose statement for a simple function, students will be able to write two Examples.

    • Given two examples for a simple function, students will be able to identify the variable

    • Given two examples for a simple function, students will be able to write the definition

    Product Outcomes

    • Os alunos escreverão funções para resolver problemas simples usando a Receita de Projeto

    Materials

    • Pens/pencils for the students, fresh whiteboard markers for teachers

    • Class poster (List of rules, language table, course calendar)

    • Language Table

    • Student workbook folders with names on covers, and something to write with

    Preparation

    • Write agenda on board

    • Display Class posters, Language Table, Design Recipe

    • Seating arrangements: ideally clusters of desks/tables

    Praticando a Receita de Projeto (Time 40 minutos)

    • A Receita de Projeto é um guia para definir funções, na qual programadores usam para ter certeza que o código que eles escrevem fará aquilo que eles querem. ***Cada passo deve ser o mais simples possível, dessa maneira erros podem ser detectados no inicio da atividade. Esse guia tem uma série de passos:

      • Transformar um problema descrito para uma Assinatura

      • Escrever Exemplos baseados na Assinatura

      • Definir uma função que combine com os exemplos

      Comece praticando cada um desses passos, um de cada vez.

      Para cada um dos seguintes problemas, escreva a Assinatura:

      • Defina a função ’estrela-roxa’, que recebe como entrada o tamanho da estrela, e produza um "contorno" de estrela na cor roxa, com o tamanho recebido.

      • Defina a função ’ponto’, que recebe como entrada uma cor, e produza um círculo sólido(preenchido com a cor recebida) de raio tamanho 50.

      • Para encontrar a média de dois números, eles devem ser somados e depois divididos por dois. Defina a função ’media’, que recebe dois números como entrada e produza a média deles.

      • A ***logo de uma companhia é uma palavra desenhada grande, em letras vermelhas, inclinada em alguns graus. Defina uma função ’logo’, que receba o nome da companhia e a rotação, e produza a logo dessa companhia

      Coloque um bom Nome para cada função, e lembre que o Domínio e Imagem podem apenas incluir tipos como Números, Figuras, Strings, etc.

      Se aparecerem diferentes Domínios e Imagens para suas funções, deixe eles explicarem seu pensamento para cada um. Essas conversas são uma parte importante desta etapa!

    • A Assinatura é a base para uma função, que dá ao programador informação suficiente para usá-las: o nome da função, os tipos de dados que espera receber e o tipo de dado que ela retorna.

      Agora que você completou as Assinaturas de todos os quatro problemas, tente criar dois Exemplos para cada um deles.

      Desafie seus alunos a defender seus Exemplos(Nome da função, número de entradas, seus tipos e o valor de retorno). Esteja certo de que os dois Exemplos tenham diferentes valores de entrada! Para cada uma dessas perguntas, os alunos devem ser capazes de apontar para a parte específica de dua Assinatura como justificativa de seu Exemplo.

    • Uma vez que você tenha dois Exemplos ou mais, deve ser fácil identificar o que muda entre eles. Na verdade, o número de itens que mudam deve ser o número de itens do Domínio: se o Domínio tem um Número e uma String, então esses dois valores deve ser o que muda entre seus Exemplos.

      Identifique o que muda entre seus Exemplos do mesmo desafio, e use essas informações para definir suas quatro funções.

      Esteja certo que os alunos escolheram bons nomes de variáveis para suas definições, e peça para justificarem cada parte do corpo da função. As únicas resposta aceitáveis devem ser "Eu copiei isto porque está presente nos dois Exemplos", ou "Eu usei uma variável porque é o que muda entre Exemplos."

    • Vá para Page 12 em sua apostila, e leia a questão atentamente.

      • Circlule o Nome da função, e sublinhe sua entrada e o que ela produz.

      • Escreva a Assinatura para essa função, usando as partes sublinhadas para ajudar a encontrar o Domínio e Imagem.

      • Abaixo da Assinatura, escreva a Declaração de Propósito resumindo o que a função faz em uma simples frase

      Desafie os alunos a explicar porque esta função não precisa saber a cor do quadrado, ou se é sólido ou não. A ideia principal aqui é que a função já "sabe" essas coisas, então a única coisa que é mutável é o tamanho do quadrado. Perceba que na verdade existem duas soluções fáceis: usando a função square, ou usando rectangle com a mesma variável para largura e altura.

    • Lembre-se de que a Assinatura e a Declaração de Propósito podem ser usados para escrever Exemplos, mesmo que o programador não tenha certeza de como começar.

      Usando apenas a Assinatura e a Declaração de Propósito, veja o que você pode responder das questões a seguir:

      • Todo Exemplo começa com o nome da função. Onde você poderia encontrar o nome da sua função?

      • Todo Exemplo deve incluir alguma entrada de amostra. Onde você poderia encontrar quantas entradas essa função precisa, e de que tipos elas são?

      • Todo Exemplo deve conter uma expressão para o que a função deveria fazer quando recebe uma entrada. Onde você pode olhar para descobrir o que a função faz?

      • Escreva dois Exemplos no papel, e então circule e ***rotule o que muda entre eles.

      Esteja certo de que os alunos percebam que toda resposta pode ser encontrada na Assinatura ou na Declaração de Propósito. Sugestão: escreva estes passos no quadro, e desenhe setas entre eles para destacar o processo. O objetivo aqui é fazer com que os alunos tenham o hábito de fazer-se estas perguntas cada vez que forem escrever Exemplos, em seguida, usar seu próprio esforço do passo anterior para encontrar as respostas. NOTA:alunos podem usar tanto square como rectangle. O último requer usar a mesma variável duas vezes, o que é um ótimo exercício-mental.

    • Uma vez que os dois Exemplos foram escritos e a variável(ou variáveis) foram ***rotuladas, torna-se fácil definir a função.

      Usando a Assinatura, a Declaração de Propósito e os Exemplos, veja o que você pode responder das questões a seguir:

      • Toda definição de função começa com o nome. Onde você já escreveu o nome antes?

      • Toda definição deve conter os nomes das variáveis para as entradas. Onde você já escreveu elas?

      • Toda definição deve funcionar exatamente da mesma maneira como os Exemplos funcionam. Onde é que você olha para descobrir o que a função deve fazer?

      • Escreva a definição da função ’quadrado-vermelho’ no papel.

    • Ao digitar a definição de função, certifique-se de digitar as três partes: A Assinatura e a Declaração de Propósito, os Exemplos e a Definição. Quando "Run" for clicado, o computador irá ler a definição, testar seus Exemplos para ter certeza de que funcionam corretamente, e então irá adicionar a definição da função na linguagem dele. Uma vez adicionado, ***você pode usar essa função como se fosse construída no seu computador.

    • Algumas funções recebem mais de um entrada. A função quadrado-vermelho sempre faz quadrados vermelhos sólidos(preenchidos por dentro), com o tamanho sendo o único elemento que muda. Supondo que, nós queremos uma função que faça quadrados vermelhos que sejam ou sólidos ou ***apenas o contorno de um quadrado? Isto significaria que tamanho e o estilo podem variar, então o usuário poderia digitar (red-square 50 "solid") ou (red-square 50 "outline")
      • Como isso altera o Domínio da função?

      • Onde os Exemplos mudariam?

      • Onde a definição muda?

      Mude o código que você digitou, para permitir que quadrado-vermelho receba com entrada "solid" ou "outline" como segundo argumento.

    • A Receita de Projeto pode ser usada em funções com qualquer número de entradas. Um simples exemplo, pegue o seguinte ***word problem:

      Vá para a Page 13 em sua apostila e leia o problema atentamente.

      • Círcule o Nome da função, e sublinhe a entrada e o que ela produz.

      • Quantos itens a função recebe como entrada? São Números? Strings? Figuras?

      • Escreva a Assinatura para essa função, usando o que você sublinhou para ajudar-te a encontrar o Domínio e Imagem.

      • Abaixo da Assinatura, escreva a Declaração de Propósito resumindo o que a função faz em uma única frase.

      • Escreva dois Exemplos para esta função, então círcule e nomeie o que varia entre.

      • Escreva a Definição para esta função.

      Se o tempo permitir, dê uma olhada nas folhas de Exercício extra da Receita de Projeto [PDF | Ooo], e pratique com os alunos com outras questões. Seja uma variação do quadrado-vermelho, envolvendo duas entradas que variam, enquanto outros parâmetros continuam fixos.

    A Receita de Projeto (Algebra)

    Overview

    Learning Objectives

      Evidence Statements

        Product Outcomes

          Materials

            Preparation

              A Receita de Projeto (Algebra) (Time 40 minutos)

              • O verdadeiro poder da programação não é o quanto você conhece a linguagem. É o quão bem você pode usá-la para resolver seus problemas! Você já aprendeu sobre uma poderosa ferramenta que ajuda-lhe a pôr ***problemas escreito no papel e então transformá-los em funções no computador: a Receita de Projeto! Acontece que a Receita de Projeto também pode ser usada para ajudar a resolver problemas na matemática também!

                Vá para Page 36 em sua Apostila, leia o problema atentamente e escreva a Assinatura para a função: "Um foguete está voando da Terra para Marte a 80 quilômetros por segundo. Escreva uma função que retorne a distância que o foguete viajou, em função do tempo ."

              • A distância que o foguete viaja é medida em número de quilômetros, e o tempo é medido em número de segundos. Isto dá-nos a Assinatura: Assim como antes, a Assinatura nos dá uma forte dica de como escrever Exemplos. Aqui está um Exemplo, escrito em Racket: (EXEMPLE (distancia 5) (* 5 80)) E aqui o mesmo exemplo, escrito em algebra:

                Escreva mais dois Exemplos, usando notação Algébrica.

                Destaque que a Assinatura não mudou em nada entre Racket e Algebra.

              • Assim como antes, as variáveis da função podem ser identificadas escrevendo dois Exemplos, e olhando p que muda entre eles.

                Usando os Exemplos que você escreveu, identifique as variável(eis) da função. Então defina a função usando o estilo Algébrico.

                A Receita de Projeto ajuda na transição de uma descrição escrita de uma função para uma definição formal,

              • Vá para a Page 37 em sua apostila, leia a descrição do problema e escreva a Assinatura para esta função: "Um foguete está viajando da Terra para Marte a 80 quilômetros por segundo. Escreva uma função que retorna o tempo que o foguete esteve viajando, em função da distância."

                Aponte que esta é a mesma relação entre distância e tempo de antes, mas desta vez estamos vendo a relação na direção oposta: o tempo em função da distância(entramos com a distancia e descobriamos o tempo), em vez da distância em termos de tempo.(o contrário)

              • Uma vez que já temos a Assinatura, é fácil escrever Exemplos:

                Use a Assinatura para escrever Exemplos para esta função, e então identifique a variável(eis) da função.

                • Quantas variáveis esta função possui?

                • Nome da(s) variável(eis).

                • Defina esta função, usando a sintaxe Algébrica.

              • Uma vez definida sua função, é fácil inserir valores e receber os resultados de volta. Como na maioria dos problemas, a parte mais difícil é a definição da função. Felizmente, a Receita de Projeto torna essa configuração muito mais fácil! Nós acabamos de usá-la para configurar duas funções diferentes, que podem ser usadas para nos dar respostas em termos de distância e tempo. Definição de funções é como construir ferramentas, que podem ser usadas para resolver problemas simples ou combinadas juntas para resolver os mais complexos.

                Suponha que você queira saber quanto o foguete viajou em 6 segundos: qual das duas funções você usaria? E se você quizer saber quanto tempo demora para o foguete viajar mil quilômetros?

                Peça aos alunos a identificar qual função eles usariam para responder uma variedade de diferentes questões.

              • Vá para Page 38 em sua apostila, e leia a questão atentamente: "Um foguete deixa a Terra, viajando a Marte a 80 auilômetros por segundo. No mesmo momento, um asteróide passa por Marte viajando em direção a Terra, viajando a 70 quilômetros por segundo. Se a distância da Terra a Marte é de 50.000.000 quilômetros, quanto tempo levará para que elem se colidam?"

                • Quais são as informação que o problema lhe disse?

                • O que o problema está pedindo pra você?

                • Use suas respostas para completar a seguinte frase: "Dada a ___________, escreva uma função que produza _________."

                • Caso essa função exista, qual seria um bom nome para ela?

                Na última análise, o problema está pedindo aos alunos uma relação entre distância e tempo-de-colisão.

              • Se tivéssemos uma função que calcula tempo-de-colisao, seria fácil responder essa pergunta apenas conectando a distância entre Terra e Marte. Ao invés de começar a se preocupar com a criação de uma equação, vocẽ pode usar a Receita de Projeto para construir a sua própria função!

                Escreva a assinatura para essa função, e então escreva dois Exemplos usando diferentes distâncias.

              • Até agora, você tem a assinatura para a função e uma boa declaração de propósito:

              • Então agora precisamos descobrir que cálculos vão depois do sinal de igual. Felizmente nós temos uma dica: Nós sabemos que qualquer que seja a entrada, ***it must come out to zero, since we know that they’ve already collided when they are zero miles apart.(eles ja colidiram quando a distância entre eles for zero)

                Se o fuguete está a 80 quilômetros/segundo, e o asteróide a 70 quilômetros/segundo, quanto eles se aproximam a cada segundo?

              • , por isso sabemos que eles estão cada vez mais perto em um ritmo de 150 quilômetros por segundo. Isto não é diferente da nossa função tempo: nós temos uma velocidade, e queremos saber quanto tempo leva para chegar a uma certa distância. Como nó escrevemos para nosso exemplo?

                Escreva dois Exemplos usando diferentes distâncias, então defina uma função que funcione com qualquer distância.

              • Aqui você pode ja pode ter visto o quadro geral: a distância dada neste problema pode ser ligada a função sem ter que definir uma função para ela. Às vezes a Receita de Projeto te dá a resposta mesmo sem ter chegado ao fim! Outras vezes, você pode não ver o quadro geral até que tenha quebrado o problema em partes pequenas, cada uma com sua própria função.

                Abra sua apostila na Page 39, e pratique usando a Receita de Projeto para resolver outros problemas.

                Você pode adicionar quantas páginas quiser em sua apostila, usando qualquer questão de algebra que quiser. Nós recomendamos usar questões de algebra a partir do livro de algebra dos seus alunos, ou questões padronizadas, fique a vontade!

              Encerramento

              Overview

              Learning Objectives

                Product Outcomes

                  Materials

                    Preparation

                      Encerramento (Time 5 minutos)

                      • Nesta unidade, você começou a ver como funções podem ser úteis em construir animações: funções ajudam a produzir informação(como a altura de um foguete) que pode ser usada para criar cenas em um jogo. Com prática extra na escrita de funções e usando a Receita de Projeto, agora você está preparado para começar a escrever funções que irão mover os elemento dentro do seu próprio jogo.