Você está na página 1de 25
Alice 3 Workshop Funções Internas & Expressões Aritméticas Copyright 2012 Wanda Dann, Don Slater, Steve

Alice 3 Workshop

Funções Internas & Expressões Aritméticas

Copyright 2012 Wanda Dann, Don Slater, Steve Cooper

Nova Tarefa

Nova Tarefa  Um pinguim está jogando futebol na neve. Ele tem uma bola de futebol
Nova Tarefa  Um pinguim está jogando futebol na neve. Ele tem uma bola de futebol

Um pinguim está jogando futebol na neve. Ele tem

uma bola de futebol e vai empurrar essa bola a um

buraco no gelo. A bola está a 5 metros do buraco. Cada empurrão faz com que a bola se mova uma distância indeterminada para frente. Se o pinguim acertar o buraco no gelo ele dirá:

“Gol”, caso ele erre, dirá: “Droga”.

Solução da Tarefa : Instalação

04. PenguinSoccerSimpleSetup.a3p

da Tarefa : Instalação 04. PenguinSoccerSimpleSetup.a3p Em função das limitações de tempo do workshop, usaremos

Em função das limitações de tempo do

Em função das limitações de tempo do workshop, usaremos um projeto já instalado. 

workshop, usaremos um projeto já instalado.

adultPenguin /e um exemplo da classe

MyPenguin.

Um metódo de procedimento já foi escrito para a bravata do pinguim, caso ele erre o buraco na classe MyPenguin.

Solução da Tarefa : Projetando

Desenvolvendo um Algoritmo:

da Tarefa : Projetando  Desenvolvendo um Algoritmo: Faça em Sequência: * O pinguim vem gingando

Faça em Sequência:

* O pinguim vem gingando Ele empurra a bola a uma distância aleatória Se a bola acertar o buraco, ele dirá “Gol!!!” caso contrário ele dirá “Droga!”

* Reutilização de Código: Uma forma de programação orientada a

objetos é a reutilização de códigos. Nesse algoritmo planejamos reutilizar a ginga do pinguim.

Solução da Tarefa:

Transformando o Algoritmo em Código

Solução da Tarefa: Transformando o Algoritmo em Código  Use as diretrizes do exercício para documentar

Use as diretrizes do exercício para documentar o código.

 Use as diretrizes do exercício para documentar o código. Copyright 2012 Wanda Dann, Don Slater,

Copyright 2012 Wanda Dann, Don Slater, Steve Cooper

Elaboração passo a passo:

Como fazer o pinguim empurrar a bola?

passo a passo:  Como fazer o pinguim empurrar a bola? Faça em seqûencia: O pinguim

Faça em seqûencia:

O pinguim vem gingando O pinguim empurra a bola a uma certa distância

gingando O pinguim empurra a bola a uma certa distância Se a bola acerta o buraco

Se a bola acerta o buraco no gelo, ele diz “Gol!!!” caso contrário

ele diz “Droga!”

ele diz “Gol!!!” caso contrário ele diz “Droga!” Faça em sequência O pinguim se move para

Faça em sequência O pinguim se move para a bola e colide com ela A bola se move para frente a uma determinada distância

Copyright 2012 Wanda Dann, Don Slater, Steve Cooper

Empurrando o objeto:

Empurrando o objeto: Faça em sequência O pinguim se move para frente e colide com a

Faça em sequência O pinguim se move para frente e colide com a bola A bola se move para frente a uma certa distância

Arraste o quadrante “move”.

para frente a uma certa distância Arraste o quadrante “move”. Copyright 2012 Wanda Dann, Don Slater,

Copyright 2012 Wanda Dann, Don Slater, Steve Cooper

Problema

Problema  Sabemos que o buraco está a 5 metros da bola, mas não sabemos a

Sabemos que o buraco está a 5 metros da bola, mas não sabemos a distância do pinguim para a bola.

metros da bola, mas não sabemos a distância do pinguim para a bola. Copyright 2012 Wanda

Copyright 2012 Wanda Dann, Don Slater, Steve Cooper

Funcões

Funcões • Uma função faz uma pergunta (para checar uma condição ou computar um valor). •

Uma função faz uma pergunta (para checar uma condição ou computar um valor).

No Alice, uma função é utilizada para receber a

informação que precisamos sobre:

A largura do objeto

A largura da bola é .25

the relationship of one object to another

Qual a distância entre o pinguim e a bola?

Painéis de Métodos Executa uma ação; Não computa e retorna valores. Computa e retorna valores

Painéis de Métodos

Painéis de Métodos Executa uma ação; Não computa e retorna valores. Computa e retorna valores e

Executa uma ação; Não computa e retorna valores.

Computa e retorna valores e não executa ações.

Define ou obtém um valor que é armazenado por uma variavel própria.

Computa e retorna valores e não executa ações. Define ou obtém um valor que é armazenado
Métodos Funcionais Embutidos  Retornam um valor de um tipo de dado específico. Articulações Duplo

Métodos Funcionais Embutidos

Retornam um valor de um tipo de dado

específico.

Métodos Funcionais Embutidos  Retornam um valor de um tipo de dado específico. Articulações Duplo Boolean
Métodos Funcionais Embutidos  Retornam um valor de um tipo de dado específico. Articulações Duplo Boolean

Articulações

Duplo

Métodos Funcionais Embutidos  Retornam um valor de um tipo de dado específico. Articulações Duplo Boolean

Boolean

Método Funcional getDistanceTo

Podemos utilizar a função getDistanceTo para

 Podemos utilizar a função getDistanceTo para determinar a distância entre o pinguim e a bola.

determinar a distância entre o pinguim e a bola.

 Podemos utilizar a função getDistanceTo para determinar a distância entre o pinguim e a bola.
 Podemos utilizar a função getDistanceTo para determinar a distância entre o pinguim e a bola.

Center to center

Ativando um Método Funcional

Arraste o quadrante de funções até a aba de edição e solte-o sobre o espaço reservado para a distância.

Observe que a ativação de uma função é incorporada à

Observe que a ativação de uma função é incorporada à ordem de execução . Ela não

ordem de execução . Ela não pode ser ativada sozinha. ***

Observe que a ativação de uma função é incorporada à ordem de execução . Ela não

Problema

Problema A bola esta fora do escopo Copyright 2012 Wanda Dann, Don Slater, Steve Cooper
Problema A bola esta fora do escopo Copyright 2012 Wanda Dann, Don Slater, Steve Cooper

A bola esta fora do escopo

Copyright 2012 Wanda Dann, Don Slater, Steve Cooper

Criando Parâmetros

Criando Parâmetros  Uma vez criado, o parâmetro está em escopo no menu de objetos. Copyright

Uma vez criado, o parâmetro está em escopo no menu de objetos.

 Uma vez criado, o parâmetro está em escopo no menu de objetos. Copyright 2012 Wanda

Copyright 2012 Wanda Dann, Don Slater, Steve Cooper

Agora é sua vez :

Agora é sua vez :  Utilize o método pushObject na cena myFirstMethod , usando a

Utilize o método pushObject na cena myFirstMethod , usando a bola como argumento para o parâmetro alvo.

Copyright 2012 Wanda Dann, Don Slater, Steve Cooper

Quando o programa está em execução o pinguim parece se mover através da bola –

Quando o programa está em execução o pinguim parece se mover através da bolacausando uma colisão exagerada.

mover através da bola – causando uma colisão exagerada.  O problema é que a distância
mover através da bola – causando uma colisão exagerada.  O problema é que a distância

O problema é que a distância entre dois objetos é medida de centro a centro.

distância entre dois objetos é medida de centro a centro.  Uma fórmula para solucionar esse

Uma fórmula para solucionar esse problema é diminuir a distância entre os objetos.

Expressões Aritméticas

Matemática e cálculo de formas são

Aritméticas  Matemática e cálculo de formas são implementadas como expressões aritméticas num programa

implementadas como expressões

aritméticas num programa computacional.

Uma expressão aritmética :

É uma combinação de operadores e

operandos

É avaliada como um valor numérico

Operadores Aritméticos são símbolos que definem a operação a ser realizada com um ou mais operandos.

a operação a ser realizada com um ou mais operandos. Adição + Subtração - Multiplicação *
a operação a ser realizada com um ou mais operandos. Adição + Subtração - Multiplicação *

Adição

+

Subtração

-

Multiplicação

*

Divisão

/

Porcentagem

%

Sinal

+/-

 Um operador numérico pode ser:  UM número inteiro  Ou um número real

Um operador numérico pode ser:

 Um operador numérico pode ser:  UM número inteiro  Ou um número real decimal.

UM número inteiro

 Um operador numérico pode ser:  UM número inteiro  Ou um número real decimal.

Ou um número real decimal.

 Um operador numérico pode ser:  UM número inteiro  Ou um número real decimal.
Expressões Aritméticas no Alice  Clique no menu e selecione Math  Construa expressões através

Expressões Aritméticas no Alice

Clique no menu e selecione Math

 Clique no menu e selecione Math

Construa expressões através dos menus em cascata.

Aritméticas no Alice  Clique no menu e selecione Math  Construa expressões através dos menus

Operações Binárias

Menus em cascata assimilam operações

binárias

Operator

Binárias  Menus em cascata assimilam operações binárias Operator Operand Operand  Resulting statement:

Operand

Operand

Binárias  Menus em cascata assimilam operações binárias Operator Operand Operand  Resulting statement:

Binárias  Menus em cascata assimilam operações binárias Operator Operand Operand  Resulting statement:

Resulting statement:

Binárias  Menus em cascata assimilam operações binárias Operator Operand Operand  Resulting statement:

Completando o procedimento

Completando o procedimento Faça em sequência Pinguim se move para colidir A bola se move a

Faça em sequência

Pinguim se move para colidir A bola se move a uma certa distância

O parâmetro alvo representa a bola

Selecione o alvo no menu de objetos

alvo representa a bola  Selecione o alvo no menu de objetos Copyright 2012 Wanda Dann,

Copyright 2012 Wanda Dann, Don Slater, Steve Cooper

Utilizando o Parâmetro como Objeto

Utilizando o Parâmetro como Objeto Selecionamos 1 metro, como valor para teste. Copyright 2012 Wanda Dann,
Utilizando o Parâmetro como Objeto Selecionamos 1 metro, como valor para teste. Copyright 2012 Wanda Dann,

Selecionamos 1 metro, como valor para teste.

Copyright 2012 Wanda Dann, Don Slater, Steve Cooper

Agora é sua vez:

Agora é sua vez:  Teste o procedimento pushObject . Copyright 2012 Wanda Dann, Don Slater,

Teste o procedimento pushObject .

Copyright 2012 Wanda Dann, Don Slater, Steve Cooper