Introdução à Programação com Scratch/Instruções

Laços e condicionais

editar

Alguns tipos de projetos contêm sequências de blocos que devem ser executadas mais de uma vez, como bolas que se movem em um jogo e notas que se repetem em uma música. Os laços são estruturas de controle que permitem a repetição em linguagens de programação.

Por exemplo, você pode usar o comando abaixo:

repeat 3
move 10 steps

que apresentará o mesmo resultado que

move 10 steps
move 10 steps
move 10 steps


Outros blocos de repetição: "sempre" e "repita até".

forever
move 10 steps
if on edge, bounce

Se não quiser que o Sprite rotacione na direção y:

forever
move 10 steps
if on edge, bounce
set rotation style left-right


go to x: -200 y:0
repeat until x position of Sprite1 = 180
move 10 steps


Blocos de controle: "condicionais". A função destes blocos é permitir a execução de uma sequência somente se uma condição for satisfeita.

forever
if key space pressed? then 
play sound meow


forever
if key space pressed? then
play note 60 for 0.5 beats
else 
play note 62 for 0.5 beats


A figura ao lado mostra o uso de comandos de repetição para imprimir na tela os números da sequência de Fibonacci.

 
sequência Fibonacci

Exemplos

editar

Os comandos if e else são empregados quando deseja-se executar uma tarefa desde que uma condição seja satisfeita. No exemplo abaixo, uma ação é executada Se a condição for satisfeita. Senão, outra ação será executada.

when clicked
forever
if health=0
say morri! for 2 secs
stop all
else 
say Estou vivo!

Para criar a variável "health" clique em "Data" e depois "Make a variable". É possível editar o valor da variável, que aparecerá perto do Sprite.


No exemplo abaixo, a palavra costume# é uma variável que armazena algum dado, como um número ou uma palavra. O exemplo abaixo faz o Sprite andar e virar na mesma direção em que está andando.

when right arrow key pressed
if costume# > 1 then
move 10 steps
switch costume to costume1
else 
move 10 steps
switch costume to costume2

when up arrow key pressed
change y by 50
wat 0.25 secs
change y by -50

when left arrow key pressed
if costume# < 4 then
move -10 steps
switch costume to costume4
else 
move -10 steps
switch costume to costume3

Variáveis

editar

Variáveis são locais onde se podem armazenar texto, números ou valores booleanos (falso/verdadeiro). Para criá-las no Scratch, basta ir em "Data"->"Make a variable" e digitar o nome da variável.

when clicked
set health to 10
forever
move 1 steps
if touching edge? then
change health by -1
if touching mouse-pointer? then
change health by 1

Lista ou matriz é uma ferramenta que pode ser usada para armazenar diversas informações de uma só vez. Para criá-las no Scratch, basta ir em "Data"->"Make a list" e digitar o nome da lista. No exemplo abaixo, List1 é o nome da lista.

when clicked
add Gato to List1
add Cachorro to List1
add Coelho to List1
if List1 contains Gato
move 50 steps
insert Rato at 1 of List1
else
move -50 steps
replace item last of List1 with Tartaruga

O exemplo abaixo gera a sequência de Fibonacci, em que Counter é o nome de uma variável e Fibonacci é o nome de uma lista.

when clicked
delete all of Fibonacci
add 1 to Fibonacci
add 1 to Fibonacci
set Counter to 0
forever 
change Counter by 1
add (item Counter of Fibonaci) + (item (Counter + 1) of Fibonacci)