Escolar Documentos
Profissional Documentos
Cultura Documentos
Programação com
Os programas de computador não são apenas um amontoado de instruções escritas aleatoriamente, de qualquer
forma, não mesmo! Para que os computadores executem as suas tarefas corretamente, os programas devem fazer
sentido, devem ser escritos de maneira lógica, sem erros, pois esses erros em computadores podem ser
catastróficos!
A “Lógica de Programação”, é usada como técnica de desenvolvimento dos programas permitindo que o
programador “pense” e “organize” corretamente as “ideias” que tem sobre o “problema” para o qual tem que
desenvolver uma solução utilizando o computador. Os programadores organizam suas ideias em estruturas
chamadas de “Algoritmos”, que na verdade são rascunhos do ainda poderá vir a ser um programa de computador.
Algoritmos não são utilizados apenas em computação. Eles na verdade, por serem “sequências de instruções
lógicas” escritas de forma natural, utilizando a linguagem humana, não dos computadores, podem ser utilizados
por qualquer pessoa para organizar e resolver a maioria dos problemas comuns. Muitos comparam os algoritmos
a “receitas de bolo”, pois são escritos da mesma forma, como um manual passo‐a‐passo, instrução por instrução,
do início ao fim. Assim sendo, qualquer um de posse de uma receita bem escrita, de forma lógica, poderá realizar
aquela tarefa.
Sim, mas porque programar é importante? Até aqui ainda não entendi...
Programar exercita o cérebro! Como vimos até então, programar envolve uma série
de conhecimentos, conhecimentos que levam você a exercitar sua criatividade,
concentração e lógica. Mesmo que você não se torne um programador e tenha outra
profissão qualquer, esses conhecimentos podem ser utilizados em qualquer outra
área, fazendo com que você tenha sempre uma visão mais clara das soluções que
deve usar para solucionar os problemas que vier a enfrentar.
Não se preocupe, já existem linguagens de programação voltadas para crianças e jovens, linguagens que se utilizam
de uma estrutura de montagem simples, como os blocos de montar da empresa LEGO, onde você apenas une os
comandos que quer que o computador execute, sem necessariamente escrevê-los, o que torna a programação
muito mais simples de aprender.
4
Esse livro é voltado para o aprendizado de uma dessas linguagens de programação que
utilizam “blocos de comandos”, e não comandos escritos. Essa linguagem é o SCRATCH.
No Scratch os comandos são “conectados” uns aos outros, como as peças LEGO, para
então executar as tarefas desejadas.
5
CAPÍTULO 01
O que eu posso fazer com o Scratch?
Onde conseguir o Scratch.
Aderindo a comunidade Scratch.
Sua página pessoal do Scratch.
Conhecendo o Editor de Scripts.
Exemplo 01.
Capítulo 01 – Programando com o Scratch: criando programas na escola.
Ao utilizar o Scratch você deixará de ser apenas um expectador, e passará a ser um “criador”, indo até aos limites
da sua imaginação. Experimente!
https://scratch.mit.edu/
Que pode ser acessado de qualquer computador ou dispositivo com conexão com a Internet, dando acesso à página
inicial do programa:
Dessa forma, o programa será utilizado diretamente através da Web, em sua versão online, sem que seja necessário
instalar nenhum aplicativo diretamente em seu computador. Um inconveniente para esse tipo de uso é que, sem
conexão com a Internet, sem possibilidade de uso do programa!
Para utilizar o Scratch sem depender de conexão com a Internet, precisamos copiar e instalar em nossos
computadores, a versão “desconectada” do programa. Com ela, o usuário poderá criar a vontade seus projetos,
gravar em seu computador e, quando desejar ou se conectar a Internet, enviar suas criações para sua página pessoal
do Scratch na Web. Para apanhar o editor desconectado do Scratch, role a tela da página oficial do programa até o
final e onde está escrito “Apoio”, clique na opção “Editor Desconectado”:
9
Capítulo 01 – Programando com o Scratch: criando programas na escola.
A versão atual do Scratch disponível até o fechamento desse material, é a 2.0, e nela basearemos todos os nossos
exemplos e projetos. O Scratch necessita de um programa adicional para funcionar perfeitamente, trata-se do
Adobe Air, da Adobe, e que também pode ser conseguido nessa mesma página mostrada na Figura 4.
Escolha o programa certo para o seu Sistema Operacional (Windows, Linux ou Mac) clicando no link indicado para
cada um deles. Você também terá acesso ao material de apoio, muito útil para quem está iniciando com o Scratch.
10
Capítulo 01 – Programando com o Scratch: criando programas na escola.
Para fazer parte dessa comunidade você precisa ter uma “Conta Scratch”, que lhe dará acesso a sua página pessoal
de usuário, onde seus projetos poderão ser gravados, visualizados e compartilhados com outros usuários, e ao
mesmo tempo, você também terá acesso aos projetos desses mesmos usuários, não só visualizando sua execução,
mas também como foram criados. Para iniciar a criação de uma conta Scratch, estando na página oficial do
programa, clique em “Aderir ao Scratch”, como mostrado na Figura 6.
11
Capítulo 01 – Programando com o Scratch: criando programas na escola.
A tela para criação da sua conta é bastante simples, sendo composta de quatro passos, onde serão coletadas
informações como: nome de usuário, senha e um e-mail válido.
Figura 7 - Primeiro passo para criação da conta no Scratch: nome de usuário e senha.
Apenas clique no botão “Próximo” para dar sequência em seu cadastro até o final. Durante o processo, observe as
mensagens de acerto e erro que possam aparecer, e lembre-se de memorizar bem o seu nome de usuário Scratch
e sua senha, se quiser anotar em um lugar seguro, faça-o. O e-mail que você fornecer na inscrição, deve ser válido
pois será enviada uma mensagem automática para você, confirmando a sua inscrição, que será validada apenas
após essa confirmação.
12
Capítulo 01 – Programando com o Scratch: criando programas na escola.
Com o login efetuado, o acesso a sua página pessoal do Scratch estará liberado, permitindo assim que você possa
dar início as suas criações, salvando-as e compartilhando-as com os demais usuários do Scratch ao redor do mundo.
13
Capítulo 01 – Programando com o Scratch: criando programas na escola.
Em sua página pessoal, além das suas próprias criações, você verá mensagens com novidades sobre o programa
Scratch, projetos que se destacam, mensagens de outros usuários para você e mais. Outro detalhe importante é
que você poderá configurar seu perfil, completando as informações pessoais e outros detalhes de sua conta Scratch.
Quando quiser sair de sua página pessoal do Scratch, encerrando a sua conexão, a opção “Sair” que está também
nesse menu, é a forma correta a ser utilizada.
Note que no seu perfil pode ser anexada uma imagem sua, ou uma outra que queira. Não é obrigatório que a foto
seja colocada, mas ela ajudará os demais usuários a identifica-lo como usuário do Scratch.
Minhas Coisas
Suas produções ficam guardadas em uma pasta chamada “Minhas Coisas”, que pode ser acessada através do menu
do seu perfil, ou através do ícone “Minhas Criações”. Dessa maneira, todas as suas criações são organizadas em
um mesmo lugar, podendo ser acessadas facilmente.
14
Capítulo 01 – Programando com o Scratch: criando programas na escola.
Quando acessar a pasta “Minhas Coisas”, além de ver todas as suas criações em um só lugar, você poderá “Ver
interior” das mesmas, o que significa ver os scripts e comandos utilizados nelas e editá-las, poderá também criar
os “Estúdios”, que são na verdade pastas alternativas onde poderão ser guardadas várias criações especificamente
selecionadas por você. Por exemplo, um estúdio pode ter diferentes criações que abordem um mesmo tema ou
assunto.
O botão “Ordenar por” organiza a visualização das suas criações por ordem alfabética, última modificação,
remixados, visualizações e preferidos, o que ajuda bastante quando se quer encontrar uma aplicação específica.
Um pequeno painel colocado à esquerda do painel “Minhas Criações”, mostra seus projetos, compartilhados e não
compartilhados, e seus estúdios existentes, tudo para que suas aplicações estejam sempre à mão.
15
Capítulo 01 – Programando com o Scratch: criando programas na escola.
Por que “Editor de Scripts”? Porque os programas no Scratch, são realmente isso, pequenas porções de texto
contendo as instruções, comandos da linguagem, que devem ser lidas e executadas pelo computador. Então, o
grupo de criadores do Scratch, resolveu manter essa nomenclatura, Scripts, para os conjuntos de comandos que
escrevemos nele, e é essa mesma nomenclatura que iremos utilizar de agora em diante.
16
Capítulo 01 – Programando com o Scratch: criando programas na escola.
Bom, então, vejamos agora, cada um dos componentes do Editor de Scripts do Scratch, descrevendo cada um deles.
Paleta de Blocos. Coleção de blocos de comandos, todos organizados por categoria, que
são utilizados na construção dos seus scripts. Selecione os blocos aqui e arraste-os, ligando
uns aos outros na ordem que devem ser executados, para a “Área de Scripts” ao lado. Cada
grupo de blocos possui uma cor que o identifica, tornando assim mais fácil a identificação
de cada um deles por sua função dentro de um script. São ao todo dez categorias de blocos
que podem ser interligados entre si.
17
Capítulo 01 – Programando com o Scratch: criando programas na escola.
Paleta de Sons. Muitos dos projetos que faremos com
o Scratch, utilizam som, na verdade, a maioria deles.
Aqui você irá criar seus próprios sons, inserir sons da
biblioteca do Scratch ou de arquivos externos, sendo
inclusive aplicar a esses mesmos alguns efeitos
sonoros. Os sons aplicados corretamente, dentro do
contexto de seu projeto, tornam suas criações ainda
mais interessante.
Figura 22 - Paleta de Sons.
18
Capítulo 01 – Programando com o Scratch: criando programas na escola.
Painel de Pano de Fundo. Esse painel exibe uma miniatura do pano de fundo atual de seu projeto,
sendo que todo projeto tem pelo menos um pano de fundo. Você poderá visualizar os panos de
fundo utilizados em seu projeto através deste painel. O pano de fundo normalmente é uma imagem
estática utilizada para representar o cenário onde os atores irão agir.
Exemplo 01
Como primeiro exemplo com o Scratch vamos começar com algo simples, apenas para que você possa se habituar
com o ambiente e com a funcionalidade de programa.
Nesse exemplo, modificaremos o pano de fundo, colocando uma imagem da biblioteca de imagens do próprio
Scratch. O gato, personagem que utilizamos, irá “pronunciar” algumas frases, se apresentando para o mundo. O
script para essa tarefa é o abaixo e deve ser adicionado ao próprio gato. Foram utilizados nesse exemplo blocos
das categorias, “Aparência”, “Eventos” e “Controle”.
Para aplicar o novo pano de fundo, clique na opção “Carregar pano de fundo da biblioteca”.
19
Capítulo 01 – Programando com o Scratch: criando programas na escola.
Seu palco com o novo pano de fundo aplicado será como esse:
Agora vamos “programar” o ator, gato, com os blocos que devem fazer parte de seu script específico. Selecione o
ator diretamente no palco ou na “Lista de Atores”.
20
Capítulo 01 – Programando com o Scratch: criando programas na escola.
Agora, arraste os blocos correspondentes as ações que serão executadas pelo ator para a “Área de Scripts”. Eles
devem ser interligados na sequência lógica correta.
21
CAPÍTULO 02
O palco e suas dimensões.
Primeiros movimentos.
Aprendendo um pouco mais sobre os
atores.
Exemplo 02.
Capítulo 02 – Programando com o Scratch. Criando programas na escola.
O palco possui uma área com dimensões fixas, dimensão essa determinada por 480 pontos de largura e por 360
pontos de altura. Essa área é dividida como um Plano Cartesiano1, por dois eixos, “x”, da esquerda para direita, e
“y”, de baixo para cima, dividindo então a área do palco em quatro partes, ou, como no Plano Cartesiano, quatro
quadrantes. Então, dessa forma, para movermos um ator através do palco, basta indicarmos as coordenadas do
ponto para onde o mesmo será movido. Essas coordenadas são dadas através de valores para os eixos “x” e “y”,
podendo ser positivos ou negativos.
O centro do palco é determinado no ponto (x:0,y:0), sendo essa a posição inicial do gato quando iniciamos um
novo projeto. Na verdade, veremos como mover um ator para qualquer posição dentro do palco, bastando indicar
através do comando correto, o novo ponto inicial.
Os valores das coordenadas podem ser positivos ou negativos, dependendo da posição para a qual se quer mover
em “x” e “y”. Como o palco é dividido em quadrantes, temos a seguinte definição: os valores quando positivos,
move-se um ator para a direita e para cima, e, quando os valores são negativos, move-se para a esquerda e para
baixo. Seguindo-se essa definição por quadrantes, teríamos os seguintes valores para “x” e “y”
1
Plano cartesiano é um método criado pelo filósofo e matemático francês, René Descartes. Trata-se de dois eixos
perpendiculares que pertencem a um plano em comum. Descartes criou esse sistema de coordenadas para demostrar a
localização de alguns pontos no espaço. Fonte: Site Toda Matéria. https://www.todamateria.com.br/plano-cartesiano/
Acessado em 22/09/17.
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Para descobrir uma posição dentro do palco, posicione o mouse em qualquer área dentro do mesmo. Os valores
de “x” e “y” serão mostrados na “Área de exibição do mouse”, mostrando os valores correspondentes a posição
do ponteiro do mouse.
Abra um novo projeto. Coloque como pano de fundo a imagem “x-y grid”, que é a que possui as coordenadas
indicadas. Agora, na paleta de scripts, clique na categoria “Movimento”. Arraste um bloco “vá para x: y:” e insira
o valor 100 para as coordenadas “x” e também para “y”.
Dê um duplo clique no bloco para vê-lo em execução. O ator, no caso o gato, sairá do ponto (0,0) e aparecerá
diretamente no novo ponto: (100,100). Para ter certeza da posição de um ator, selecione o mesmo no palco e
observe que sua posição será indicada no canto superior direito da área de scripts.
Figura 36 - Posição
do ator no palco.
25
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Também fazem parte do grupo de blocos de comando para movimento absoluto, os blocos “deslize por x seg até
x:n y:n”, . “mude x para n” e “mude y para n”.
Vamos inserir um outro ator no palco para exemplificar melhor esses comandos. Para isso, vamos selecionar um
novo ator da própria biblioteca de imagens do Scratch. Clique na opção “Escolher ator da biblioteca”.
O novo personagem será um rato, então, na janela da biblioteca, selecione a categoria “Animais”, e clique na
imagem “Mouse1”.
26
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Com o “rato” posicionado no palco, vamos movê-lo, arrastando com o mouse mesmo, para uma posição acima e a
direita do gato, aproximadamente nas coordenadas (200,100).
Note que a figura do rato está um pouco grande, desproporcional ao gato, e mesmo, saindo da área do palco. Que
tal diminuir o tamanho desse ator? Na barra de “Ferramentas do cursor”, selecione a ferramenta “Reduzir”. Com
essa ferramenta selecionada, clique sobre o ator que deseja reduzir de tamanho, até que o mesmo fique na
dimensão ideal.
27
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Com o ator já na dimensão correta, selecione o ator “gato” e vamos adicionar o bloco “deslize por x seg até x:n
y:n”. Nas opções do bloco, não altere os segundos, insira para “x” e “y”, os mesmos valores da posição do rato.
Selecione o rato e verifique sua posição no palco.
Para executar o movimento, dê um duplo clique no bloco “deslize por...”. Essa ação faz com que o bloco acionado
exiba uma borda em destaque, na cor amarela, mostrando que o mesmo está em execução.
O “gato” é movimentado de forma “suave”, realmente “deslizando” de sua posição atual para a nova posição
indicada no bloco pelas coordenadas de “x” e “y”. O tempo em segundos determina a velocidade do movimento:
quanto maior o tempo em segundos, mais lento o movimento.
28
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Outra maneira de controlarmos os movimentos de um ator, é utilizando os blocos “mude x para...” e “mude y
para...”. Esses comandos alteram individualmente as coordenadas de “x” e de “y”. Para exemplificarmos o
funcionamento desses comandos, insira o script a seguir no ator “gato” e execute-o.
Bloco Descrição
Move o ator gato, para a posição (0,0) no centro do
palco.
Move, deslizando o ator gato, no tempo de 1 segundo,
até a posição (206,104), onde se encontra o rato.
Faz uma pausa de um segundo até a execução do
próximo script.
Muda o valor da coordenada “x” para 200, apenas de
“x”.
Muda o valor da coordenada “y” para 100, apenas de
“y”.
Tabela 2 - Descrevendo a movimentação do gato.
29
Capítulo 02 – Programando com o Scratch. criando programas na escola.
0 (360)
135 (-225)
225 (-135)
180 (-180)
Figura 51 - Raposa aponta para a direita. Figura 52 - Foguete aponta para cima.
Se aplicarmos o comando para apontar a direita (90°) em ambas as imagens, nenhuma delas irá realmente girar.
Para o Scratch, a direção “direita 90°” se refere a posição original da fantasia quando no “Editor de desenhos”.
Perceba que o foguete apontará para baixo se aplicado o comando de girar a esquerda, colocando-o de cabeça para
baixo. Vejamos isso na prática:
30
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Inicie um no projeto e dê a ele o nome de “Caminhando pela calçada”. O nome de um projeto é digitado
diretamente na caixa de texto bem acima do palco.
Vamos aplicar o pano de fundo “brick wall1”, que tem o desenho de uma calçada cinza com uma parede de tijolos
vermelhos. Ele vai servir com o cenário para a nossa caminhada que o ator irá realizar. Esse pano de fundo faz parte
da biblioteca do próprio Scratch.
Quando a janela da biblioteca de pano de fundo aparecer, selecione a categoria “Exterior”, e então a figura “brick
wall1”.
31
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Nesse projeto, o ator será mesmo o gato, que já vem inserido no cenário por padrão. Selecione-o e escreva o script
que deverá ser utilizado por ele.
Bloco Descrição
Executa o projeto quando a “bandeira verde” for
clicada.
Aponta o ator para a direção de 90 graus, vira o ator
para a direita.
Posiciona o ator nas coordenadas (-200,-50), o que no
cenário seria no início da calçada.
Repete vinte vezes a execução de todos os blocos de
comandos que estão em seu interior, criando o que
chamamos de “laço de repetição”.
32
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Move o ator dez passos na direção apontada, a partir
da posição em que ele se encontra, movimento
relativo.
Muda a fantasia do ator, da atual para a de nome
“costume2”.
Aguarda um tempo em segundos até a execução do
próximo bloco de comando. Quanto menor o tempo
em segundos, mais rápida a espera.
Move o ator dez passos na direção apontada, a partir
da posição em que ele se encontra, movimento
relativo.
Muda a fantasia do ator, da atual para a de nome
“costume1”.
Aponta o ator para a direção de -90 graus, vira o ator
para a esquerda.
Tabela 3 - Descrição dos blocos no script "Caminhando na calçada".
33
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Vejamos o que esses comandos fazem:
Bloco Descrição
Aponta o ator na direção do objeto selecionado, que
pode ser o ponteiro do mouse ou um outro ator.
Altera a forma que o ator gira.
Abaixo seguem dois exemplos do uso desses comandos, acesse-os e veja o funcionamento de cada um deles com
a execução dos projetos. Aproveite e modifique os projetos implementando novas funcionalidades:
Um ator pode ser carregado para seu projeto de várias formas: da própria biblioteca de atores do Scratch, criado
ou modificado através do “Editor de desenho”, carregado de uma pasta de seu computador, ou mesmo de uma
imagem capturada de sua webcam, caso possua uma instalada.
Ao ser selecionado, um ator mostra em sua miniatura no painel “Lista de atores”, um pequeno ícone da letra “i”,
na cor azul, aparece no canto superior esquerdo da imagem. Esse é o ícone que dá acesso as configurações de cada
ator, onde podem ser modificadas informações como nome, direção e tipo de rotação que o mesmo terá.
2
Os projetos Scratch são baseados em objetos gráficos chamados sprites. Você pode modificar a aparência de um sprite,
dando-lhe um novo traje. Podemos fazê-lo parecer-se com uma pessoa, um objeto ou até mesmo um animal. Você pode usar
qualquer imagem como traje: podes desenhá-la no "Editor de Desenho", importar uma imagem do disco rígido, ou arrastar
uma imagem a partir de um site. Fonte: http://kids.sapo.pt/scratch/ajuda/guia_referencia Acessado em 02/10/2017.
34
Capítulo 02 – Programando com o Scratch. criando programas na escola.
35
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Como com o próprio ator, as suas fantasias podem ser carregadas da biblioteca de imagens do Scratch, criadas a
partir do próprio “Editor de desenhos”, carregadas de um outro local específico, ou obtidas através de uma webcam
instalada em seu computador.
Figura 63 - Selecione a origem das fantasias que seu ator irá utilizar.
Observe que a imagem “Spaceship” possui duas fantasias: uma sem o “trem de pouso” e a outra com o “trem de
pouso”, respectivamente “spaceship-a” e “spaceship-b”.
36
Capítulo 02 – Programando com o Scratch. criando programas na escola.
O que você irá fazer é criar mais três fantasias que irão representar a nave em propulsão, com os foguetes ligados.
São três, pois a propulsão será por baixo da espaçonave, como o motor principal, uma a esquerda e outra a direita.
Selecione inicialmente a fantasia “spaceship-a” e duplique-a, criando uma cópia exata da mesma. Clique com o
botão direito do mouse sobre a imagem a ser duplicada para que o menu de contexto seja exibido. Repita essa
duplicação mais duas vezes.
Figura 68 - Duplicando a imagem "spaceship-a". Figura 69 - Selecionando a imagem duplicada para os trabalhos.
Agora, basta desenhar, usando a sua criatividade, a imagem de uma chama de fogo, como realmente vemos nos
propulsores de espaçonaves verdadeiras.
37
Capítulo 02 – Programando com o Scratch. criando programas na escola.
As ferramentas que você vai utilizar para elaborar esse desenho, estão todas a sua disposição no próprio editor de
desenhos. São linhas, figuras geométricas básicas, pincéis e outros, que vão permitir a você criar os mais diferentes
desenhos em seus projetos.
Suas novas fantasias deverão se parecer com algo como essas da Figura 71 e Figura 72 abaixo:
Figura 71 - Fantasia do propulsor principal. Figura 72 - Fantasias dos propulsores da esquerda e da direita.
Agora que as fantasias estão prontas, vamos ao restante do projeto. Para o pano de fundo, a imagem que
utilizaremos será a imagem “space”.
38
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Selecione o ator “Spaceship” e digite os seguintes scripts. Ao todo esse ator possui três scripts:
Figura 75 - Script 2: efeito de som para a aproximação da base. Figura 76 - Script 3: ativa o trem de pouso.
O script para o ator “Base” é bem mais simples, uma vez que ela não se move, apenas aparece em um local diferente
a cada nova inicialização do jogo.
39
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Vamos analisar cada comando utilizado nos scripts acima, para que você saiba o que cada um deles irá executar.
Os blocos de comandos exibidos na tabela, correspondem aos três scripts do ator “Espaçonave” e ao script do ator
“Base”:
Bloco Descrição
Executa o projeto quando a “bandeira verde” for
clicada.
Move o ator “Espaçonave” para essas coordenadas de
x e y.
Estrutura de repetição. Faz com que os blocos de
comandos em seu interior, sejam executados
ininterruptamente, por tempo indeterminado.
Adiciona um valor n a coordenada “y”, deslocando o
ator para uma nova posição relativa a que ele se
encontra. Um outro bloco “adicione n a x”, executa e
mesma função para a coordenada no eixo “x”.
Estrutura de seleção. Avalia se uma expressão lógica é
“verdadeira” ou “falsa”, e, dependendo do valor,
executa um ou outro grupo de comandos.
Agora, para ver como realmente tudo isso funciona, visite o link do projeto e execute-o. Você poderá testar os
comandos de movimento e implementar as suas próprias ideias ao que já está feito.
40
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Exemplo 02
O paredão! O jogo “Paredão”, é um jogo clássico do início dos anos 1980 que marcou toda a geração de gamers3
dessa época. O jogo consiste na disputa entre dois oponentes, que tentam evitar que a bola acerte o fundo de sua
quadra, o “paredão” por trás de cada jogador. Cada vez que a bola acertar essa parede, o adversário soma um
ponto, chegando a vitória quem fizer dez pontos primeiro.
Nesse projeto, teremos quatro atores, as duas “raquetes” ou jogadores, a bola e o letreiro que indica o final do
jogo.
Primeiro, vamos desenhar o campo de jogo. É um pano de fundo comum, nesse caso pintado na cor azul, e com as
listas laterais e linha central em amarelo. Use a ferramenta “Preencher com cor” para pintar o fundo na cor azul,
ou outra que quiser.
3
Significa “Jogadores”, em tradução literal do idioma inglês. É normalmente utilizada para designar jogadores de vídeo
games ou jogos de RPG.
41
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Para inserir os atores, use as imagens “Ball” e “Paddle”, ambas estão na biblioteca de atores do Scratch, e fazem
parte da categoria “Coisas”. Lembre-se que a figura “Paddle”, deve ser colocada no sentido vertical para ser
utilizada corretamente no jogo. Você pode modificar o posicionamento de uma imagem, selecionando-a e movendo
a “alça de rotação” até que a mesma esteja na posição desejada.
42
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Os scripts para este ator, que chamaremos a partir de agora de “Verde”, são os seguintes:
Agora, para criar o outro ator, o oponente, clique no ator verde com o botão direito do mouse e selecione a opção
“Duplicar”. Um novo ator com as mesmas características do selecionado será criado. O que você terá que fazer
agora, é apenas modificar as setas utilizadas e os valores no script copiado.
Vamos criar os placares que apresentarão a pontuação de cada jogador. Para essa função, utilizaremos um
elemento denominado de “variável”, que será explicado detalhadamente posteriormente, pois seu uso é muito
comum dentro da programação. Selecione na aba “Scripts”, a categoria “Variáveis”. Serão utilizadas para este
projeto, duas variáveis, onde cada uma dela irá armazenar a pontuação de cada um dos atores.
43
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Após o clique no botão, a caixa de diálogo “Nova variável”, com todas as suas opções, é exibida na tela. Dê um
nome para a variável, que nesse caso será “verde”. Selecione a opção “Para todos os atores” e confirme no botão
“OK”.
Figura 87 - Nome e demais opções para a nova variável que será criada.
Repita esta mesma operação para criar a outra variável, a “vermelho”, que irá conter a pontuação do jogador
“Vermelho”.
44
Capítulo 02 – Programando com o Scratch. criando programas na escola.
As “caixas de seleção” que aparecem marcadas ao lado de cada variável, servem para exibi-las e ocultá-las no
palco. Selecionadas, as variáveis serão mostradas, desmarcar as caixas esconde as variáveis no palco.
Um duplo clique sobre as variáveis apresentadas no palco, modifica a sua exibição, mostrando apenas os valores,
sem que seus nomes também sejam exibidos.
45
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Vamos ao script do ator “Bola”, o mais extenso pois possui além dos comandos de movimentação do ator, os
comandos para contagem e armazenagem dos pontos obtidos por cada um deles. Selecione o ator e escreva o
script a seguir:
Agora, o fechamento: a aviso de “Final de Jogo!”. Crie um novo ator e dê a ele o nome de “Fim”. Crie uma nova
fantasia utilizando o “Editor de fantasias”. Utilize a ferramenta “Texto” e escreva a frase: “Final de Jogo!”.
Você pode selecionar a cor e o tipo de fonte que será utilizada em seu texto.
46
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Agora, vamos ao script desse ator. Após escrever e ajustar o texto, selecione a aba “Scripts” e insira o grupo de
comandos a seguir:
Pronto! O jogo está completo. Agora, chame um amigo e divirta-se jogando um clássico dos vídeos games!
47
Capítulo 02 – Programando com o Scratch. criando programas na escola.
Bloco Descrição do Bloco Categoria do Bloco
Guarda o valor da última
coordenada de “x”.
Guarda o valor da última
coordenada de “y”.
Desvia a trajetória do ator n
graus para a direita.
Estrutura de repetição. Repete
indefinidamente os comandos
colocados em seu interior.
Estrutura de seleção. Executa
um grupo de comandos,
dependendo do valor, Controle
“verdadeiro” ou “falso”, de
uma expressão lógica.
Aguarda n segundos para a
execução do próximo bloco de
comandos.
Adiciona à variável indicada
(vermelho), o valor
determinado (1).
Variáveis
Variável “verde”.
Variável “vermelho”.
Sorteia um número
aleatoriamente entre os
valores inicial e final indicados.
Compara duas expressões
lógicas. Caso uma delas seja
“verdadeira”, a expressão será
verdadeira.
Maior que. Verifica entre dois
valores, se o segundo é maior Operadores
que o primeiro.
Menor que. Verifica entre dois
valores, se o segundo é menor
que o primeiro.
Soma dois valores.
Igual a. Verifica se dois valores
são iguais.
Verifica se o ator está
“tocando” em um objeto. O
objeto tocado pode ser outro Sensores
ator, o ponteiro do mouse ou
borda.
Tabela 6 - Blocos de scripts utilizados no Exemplo 02.
48
CAPÍTULO 03
Linhas, formas, cores e sombras.
Repetindo as ações.
Armazenando informações.
Exemplo 03.
Capítulo 03 – Programando com o Scratch. Criando programas na escola.
Com a caneta, é possível realizar desenhos de linhas, formando diferentes figuras geométricas como círculos,
quadrados, retângulos e triângulos, cada um com uma gama de tamanhos, cores e sombras diferentes.
Vamos fazer uma pequena experiência. O script da Figura 95 abaixo, desenha um quadrado no palco, mas um
quadrado que não será realmente exibido, pois a caneta está desativada.
Agora, quando iniciamos o script, já com o bloco “use a caneta”, o desenho do quadrado é então criado no palco,
pois a caneta está ativada, e para qualquer movimentação realizada pelo ator, um rastro, ou linha, será desenhado,
até que a caneta seja novamente desativada.
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Enquanto o uso da caneta não for desativado pelo comando “levante a caneta”, para qualquer movimento
realizado, o desenho continuará a ser feito. Modificamos o script anterior, da Figura 96, de forma que o ator se
movimente para outra direção, ainda com a caneta ativada. Execute o script com as modificações abaixo, e veja o
que acontece.
Os dois últimos blocos do script na Figura 98 acima, fazem com que o ator se movimente em outra direção, mas
como a caneta continua ativa, um outro traço será desenhado fora do quadrado.
51
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Dessa forma, sempre que o seu desenho terminar, deverá ser utilizado o comando “levante a caneta”, impedindo
a continuidade do traço, encerrando o desenho.
Utilize o comando “levante a caneta”, quando, por exemplo, for criar vários desenhos no palco, ou uma sequência
deles, e não queira que os mesmos fiquem ligados através do traço da caneta.
52
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Figura 102 - O comando "apague tudo" no início do script para limpar o palco.
O comando “mude a cor da caneta para cor”, utiliza-se de uma “pipeta4” para pegar uma amostra da cor que se
deseja utilizar na caneta. Clique na área da cor existente no bloco para iniciar a captura da cor que deseja utilizar
com a caneta, e depois selecione a nova cor clicando sobre a mesma no objeto que a possui.
Para alterar a cor para uma nova, clique no quadrinho com a cor atual e, com o mouse, selecione a nova cor que
será utilizada pela caneta.
4
Pipeta: é o nome de um instrumento de medição e transferência rigorosa de volumes líquidos. Origem: Wikipedia, a
enciclopédia livre.
53
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Executando o script do quadrado com algumas alterações, fazendo com que a cor de cada lado seja diferente,
poderíamos utilizar seguinte grupo de instruções:
No script da Figura 104 acima, foi inserido um comando “mude a cor da caneta para cor”, antes do desenho de
cada um dos lados do quadrado, criando assim um quadrado com quatro lados de cores diferentes.
5
É uma representação simplificada das cores percebidas pelo olho humano. Na maioria das vezes ele é representado fatiado
como uma pizza, com 12 pedaços, onde cada um deles é representado por uma cor e essas cores são dispostas de maneira a
formar um espectro perfeito. Fonte: Wikipedia, a enciclopédia livre. Disponível em
<https://pt.wikipedia.org/wiki/C%C3%ADrculo_crom%C3%A1tico >. Acessado em 26/10/2017.
54
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Essa alteração nas cores através de seu número, é conseguida através do comando “mude a cor da caneta para
nº”, onde “nº” é um valor de 0 a 200.
Vamos mudar o comando “mude a cor da caneta para cor”, utilizado anteriormente no script do quadrado, para o
comando “mude a cor da caneta para nº”, com os valores apresentados na Figura 108 abaixo:
Esses valores podem ser representados diretamente por um número, como apresentado no exemplo da Figura 108
acima, por uma expressão numérica ou mesmo uma variável, o que flexibiliza ainda mais o uso das cores em seus
projetos. Execute o script novamente e observe o resultado para esses valores.
55
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Quer variar a cor utilizada em um intervalo específico? Isso também é possível com o comando “adicione nº à cor
da caneta”. Esse comando incrementa o valor inicial de uma cor específica, somando a ele o valor indicado no bloco
da instrução.
Vamos modificar novamente nosso script do quadrado para testar o comando “adicione nº à cor da caneta”. Vamos
incrementar a cor inicial, “0”, em “5”, a cada lado do quadrado desenhado. Utilize o script a seguir:
56
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Vejamos: a cor inicial utilizada no script, foi “0”, que representa o vermelho, cor do primeiro lado desenhado, o
superior. Na sequência de execução, é adicionado o valor “10” à cor, ou seja: 0+10, que resulta em 10, a cor laranja
utilizada no lado direito do quadrado, o segundo lado a ser desenhado. Continuando a execução, mais uma vez
acrescentamos “10” a cor atual, que era “10”. Temos agora então: 10+10, que resulta em 20, a cor laranja em um
tom mais claro que a anterior, utilizada agora no lado inferior, o terceiro a ser desenhado. E finalmente, acrescenta-
se mais “10” a cor atual, ficando 20+10, resultando em 30, a cor amarela utilizada no lado esquerdo do quadrado,
o último a ser desenhado. Note que, devido a pouca variação dos valores, apenas “10”, essas cores estão muito
próximas quando olhamos para elas no “Círculo Cromático”. Para maiores variações entre as cores, ou mesmo
cores totalmente diferentes, utilize valores não tão próximos.
Para alterar a tonalidade de uma cor utilizada pela caneta no Scratch, o comando é o “mude a tonalidade da caneta
para nº”. Essa instrução alterará a tonalidade da cor atual da caneta.
Essa mesma tonalidade pode ser alterada gradativamente, pelo comando “adicione nº a tonalidade da caneta”.
Esse comando adiciona ao valor atual da tonalidade, o valor indicado no bloco da instrução.
Um bom exemplo do uso desse comando, é o do script da Figura 114 abaixo. Execute-o algumas vezes,
seguidamente, e observe como as cores variam sua tonalidade, indo do mais claro para o mais escuro a cada vez
que o script é executado.
57
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Qual a diferença entre eles? O comando “mude o tamanho da caneta para nº”, ajusta a espessura do traço para
uma medida fixa para a espessura do traço, sendo essa a mesma do início ao fim da execução do script. O padrão
inicial para o traço é “1”, vamos alterar para um valor maior, “5” por exemplo, e vejamos o resultado:
58
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Figura 116 - Script do quadrado com a mudança da espessura da linha para "5".
Figura 117 - Traço com espessura 1. Figura 118 - Traço com espessura 5.
Podemos ver na Figura 117 e Figura 118, a diferença entre a espessura do traço na alteração realizada pelo comando
“mude o tamanho da caneta para nº”, no script da Figura 116 acima.
O comando “adicione nº ao tamanho da caneta”, permite que sejam adicionados valores ao tamanho da caneta,
partindo do tamanho atual ajustado para a mesma, ou seja, podemos partir de um valor inicial e ir aumentando ou
diminuindo gradualmente esse valor. Faça a inserção do comando “adicione nº ao tamanho da caneta”, como
mostrado no script abaixo. Vamos adicionar o valor “5”, a cada vez que um dos lados vai ser desenhado:
59
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Figura 119 - Aumentando em 5, para cada lado, a espessura dos lados do quadrado.
A espessura original do traço inicia em “1”, e vai aumentando de “5” a cada comando “adicione 5 ao tamanho da
caneta”, ficando então a seguinte soma: 1 + 5 + 5 + 5 + 5, totalizando a espessura total em “21”. O resultado do
quadrado desenhado será o seguinte:
O último lado desenhado, o de cor amarela, terá a espessura “21”, após todos os incrementos feitos.
60
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Laços e repetições
Vamos observar o script que utilizamos até aqui para desenhar um quadrado:
Os comandos que desenham o quadrado, se repetem por quatro vezes, tornado o código extenso, dificultando até
a compreensão do mesmo. E como então resolver isso? É simples! Vamos colocar tudo dentro de um “Laço de
Repetição!”.
Laços de repetição, estrutura de repetição, laço de iteração, ou simplesmente “laço”, são comandos fazem com
que outros comandos de uma linguagem de programação, no nosso caso o Scratch, possam ser executados
REPETIDAS VEZES dentro do seu script.
Por exemplo, no script do “Quadrado”, na Figura 121, temos três comandos que se repetem por pelo menos duas
vezes, são eles: “adicione nº à cor da caneta”, “mude a cor da caneta para nº”, e, os comandos que fazem os
movimentos para formar o quadrado propriamente dito: “mova nº passos” e “gire para direita nº graus”.
Figura 122 - Comandos que são repetidos várias vezes dentro do script.
61
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Os blocos “mova 100 passos” e “gire à direita 90 graus” se repetem por quatro vezes, pois eles que desenham os
lados do quadrado. Já o bloco “adicione 5 ao tamanho da caneta”, muda a espessura de cada lado desenhado. Essa
repetição pode ser contornada, simplificando o código, com os comandos de repetição.
No Scratch, as estruturas de repetição fazem parte da categoria de blocos de “Controle”, sendo que cada um deles
efetua as repetições de maneira específica. São três as principais estruturas de repetição: “repita nº vezes”,
“sempre” e “repita até que verdade”.
62
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Nessa modificação, colocamos o bloco “repita 4 vezes”, e em seu interior, os comandos que devem ser repetidos
por quatro vezes, desenhando o quadrado. Note a quantidade de código que deixou de ser escrito, sem que o
quadrado deixasse de ser desenhado da mesma maneira:
Figura 125 - Código excedente que foi excluído com o uso do comando "repita".
Todos esses blocos foram substituídos pela estrutura abaixo, na Figura 126, tornando seu projeto muito mais leve.
Desenhando círculos
Para desenhar um círculo no Scratch, devemos lembrar que trabalhamos com desenhos de “traços” ou, retas.
Assim, o que vamos ter que desenhar para se chegar a um círculo, serão pequenas retas (quase pontos!), que
colocadas lado a lado, em um ângulo de 360°, formarão o nosso desejado círculo.
63
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Blocos utilizados no exemplo e suas funções:
Laços encadeados
O encadeamento de laços, nada mais é do que o uso de dois ou mais laços de repetição um dentro do outro, sendo
executados em um mesmo script. Temos no script abaixo, um bom exemplo da utilização de laços encadeados é o
desenho da Figura 128 abaixo:
Na Figura 128, temos 12 círculos desenhados a partir do mesmo centro, e se distanciando um do outro a cada
desenho, desenhando então a figura desejada. Para que isso fosse possível, utilizamos o seguinte script:
64
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Vamos reparar bem nos comandos de laço “repita 12 vezes” e “repita 360 vezes”, são eles que realizam o desenho
dos círculos. Note que o comando “repita 360 vezes”, está dentro do “repita 12 vezes”, ou seja, “repita 360 vezes”
será repetido 12 vezes, a quantidade de círculos que serão desenhados.
Os comandos “adicione 10 à cor da caneta” e “gire à direita 30 graus”, que também serão executados 12 vezes,
mudando a cor de cada círculo desenhado, e afastando um do outro para formar o desenho final.
65
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Analisando o script da Figura 130 acima, temos o seguinte: o comando “repita 12 vezes”, o laço mais externo,
determina a quantidade de quadrados que serão desenhados, no caso 12. O laço mais interno, o “repita 4 vezes”,
desenha um quadrado simples, com lados de tamanho 50. O bloco “gire à direita 30 graus”, afasta o próximo
quadrado do anterior, deixando um espaço entre cada quadrado desenhado. Ao executarmos o script, teremos a
seguinte imagem formada no palco:
66
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Desenhando Triângulos
O procedimento é o mesmo utilizado no desenho do quadrado, o que vamos modificar é o número de lados e o
ângulo de direção. Para testarmos, crie um novo projeto de nome “Triângulo”, e escreva o script abaixo:
No script, o comando “repita 3 vezes” é o laço que contém os comandos para desenhar os lados do triângulo. Os
comandos “mova 200 passos” e “gire à esquerda 120 graus”, desenham os lados do triângulo. “espere 1 seg”,
aguarda um segundo entre o desenho de um lado e outro, enquanto que “adicione 20 à a cor da caneta”, muda a
cor atual do traço. O desenho final é esse da Figura 134 baixo:
67
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Inserirmos um novo laço de repetição, “repita 12 vezes”, que irá fazer com que o laço mais interno, o “repita 3
vezes”, que desenha um triângulo, seja repetido por 12 vezes, criando o desenho a seguir:
68
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Blocos utilizados no exemplo e suas funções:
Que tal um pequeno desafio para você? Baseado nos exemplos anteriores tente desenhar um octógono. Abuse dos
comandos vistos até aqui, e mude o tamanho, a espessura do traço e as cores do seu desenho.
Para que possamos guardar esses valores, precisamos criar em nossos projetos um elemento especial que vai servir
como “container” ou “caixa” na memória do dispositivo. Esses “containers” ou “caixas” que você vai criar, recebem
69
Capítulo 03 – Programando com o Scratch. criando programas na escola.
a denominação técnica de “variáveis”. São chamados de variáveis porque os valores que ele armazena, podem ser
substituídos por outros durante a execução do script onde se encontram. Tomemos como exemplo disso o próprio
placar de um jogo, que vai se alterando a medida que pontos são obtidos, aumentando a contagem, ou, um placar
de “vidas”, que diminuem a cada vez que o jogador perde uma delas.
Figura 137 - Variável, uma "caixa" que vai armazenar valores durante a execução de um script.
Para utilizar uma variável, antes de mais nada devemos “cria-la”, um processo bastante simples no Scratch. Uma
variável, para que possamos utilizá-la, necessita de um nome. Esse nome é que vai identificar a variável dentro do
script, uma vez que podemos ter diversas variáveis em um mesmo script ou projeto. As linguagens de programação
mais comuns, possuem regras, algumas bem rígidas, com relação a criação de nomes, mas no Scratch isso ocorre
de maneira mais suave, sem tanta formalidade. As variáveis no Scratch podem ter nomes que iniciam por números
(326barco, por exemplo), ou mesmo conter espaços em branco no nome (resposta do ator1, por exemplo). Porém,
é interessante que tenhamos um mínimo de organização quando formos criar as nossas variáveis evitando:
Outro detalhe importante é que, o Scratch diferencia maiúsculas e minúsculas, ele é o que chamamos em
programação de “Case Sensitive”, o que implica dizer que, variáveis “PLACAR” e “placar”, são diferentes, apesar do
mesmo nome. Por isso, evite criar variáveis que tenham o mesmo nome, mesmo que sejam escritas em maiúsculas
e minúsculas, para não causar confusão.
Para não errar, utilize a regra do “o simples é melhor”, usando sempre o bom senso quando for criar as suas
variáveis. Bons nomes de variáveis costumam ser pequenos e diretos, identificando inclusive o tipo de dado que
será armazenado pela variável em questão. Bons exemplos de nomes para variáveis podem ser: “Placar”, “Vidas”,
“Jogador1”, “PosicaoX” ou ainda, “tempo_final”.
O Scratch, como em qualquer outra linguagem de programação, também possui os tipos de dados com os quais
são possíveis de trabalhar. Para facilitar o aprendizado e o uso, o Scratch possui apenas três tipos de dados básicos
que são:
• Booleano ou lógico: possui apenas dois valores: verdadeiro ou falso. Esse tipo deve ser utilizado quando
for necessário testar uma condição que, dependendo do resultado desse teste, irá determinar o caminho
a ser seguido pelo script, que comandos serão executados ou não.
70
Capítulo 03 – Programando com o Scratch. criando programas na escola.
• Numérico: trabalha apenas com valores numéricos, podendo estes ser inteiros ou decimais (o Scratch não
faz distinção entre eles), positivos ou negativos. Os diversos comandos de posicionamento e
movimentação de atores, por exemplo, trabalham basicamente com esse tipo de dado.
• Cadeia de caracteres ou “strings”: sequencias de caracteres que podem incluir letras (maiúsculas e
minúsculas), números de 0 a 9 e os outros caracteres possíveis em seu teclado (#, @, ! e outros). Usamos
esse tipo para representar um nome de pessoa ou lugar, por exemplo, uma senha ou código e tudo que
não for utilizado para cálculos.
É importante entender como funcionam os tipos de dados no Scratch, quais as operações que podemos realizar
com cada um deles, para que possamos compreender porque as ações acontecem da maneira que acontecem cada
vez que um script é executado. Todo o funcionamento e manipulação das variáveis se baseia nesses tipos de dados.
Figura 138 - Criando uma nova variável. Figura 139 - Definindo o nome e o escopo da variável.
As opções “Para todos os atores” e “Para este ator apenas”, determinam o “escopo” das variáveis. O escopo é o
mesmo que abrangência, quem dentro do Script vai poder utilizar a variável, modificando seu valor. O escopo
funciona da seguinte maneira:
• “Para todos os atores”, significa que TODOS os atores do projeto vão poder manipular a variável criada,
independente do ator a qual ela pertença. Diz-se que o escopo nesse caso é GLOBAL.
• “Para este ator apenas”, restringe o uso da variável apenas pelo ator no qual ela foi criada, não podendo
ser alterada por outros atores. Esta forma não impede que outros atores possam ler o conteúdo da variável,
só não poderão modificar o seu valor. Diz-se que o escopo nesse caso é LOCAL.
Para exemplificar melhor as variáveis até aqui, vamos criar um pequeno projeto. Abra um novo projeto e dê a ele
o nome “Sobe e desce”.
71
Capítulo 03 – Programando com o Scratch. criando programas na escola.
O exemplo irá mostrar uma “bola”, que pode ser uma imagem de uma bola qualquer da própria biblioteca do
Scratch, que irá quicar, subindo e descendo na tela, e um placar irá mostrar os 20 primeiros quiques da bola, quando
ela tocar a parte inferior do palco. Esse projeto terá apenas um ator, a bola.
Onde entra a variável no projeto? A variável irá armazenar a contagem dos quiques dados pela bola, a cada vez que
ela tocar o “chão”, a parte inferior do palco. Vamos criar uma variável de dar a ela o nome de “kiques”, assim
mesmo, com “k”. Assinale a opção para escopo global, “Para todos os atores”.
Ao ser criada uma variável, todos os outros comandos referentes ao uso de variáveis são exibidos na aba
“Variáveis”. Além da própria variável, “kiques”, veremos outros comandos como “mude kiques para 0”, “adicione
a kiques 1”, “mostre variável kiques” e “esconda a variável kiques”. Note que todos esses comandos se referem a
variável “kiques”, apenas por ser a única criada no momento, mas que se outras vierem a existir, poderemos utilizá-
las com os comandos da mesma forma que “kiques”.
Podemos notar que a caixa de seleção da variável “kiques” está marcada, o que faz com que a variável seja exibida
no palco durante a execução do projeto:
Figura 142 - Marque para exibir a variável. Figura 143 - Variável sendo exibida no palco.
Você pode alterar a forma como a variável será exibida no palco, efetuando um duplo clique diretamente sobre a
caixa de exibição da variável que é mostrada no placo. As formas são essas:
72
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Você também poderá acessar essas mesmas opções através do menu de contexto que é exibido quando dado um
clique com o botão direito do mouse sobre a exibição da variável no palco. O menu será exibido para que você
escolha a opção desejada.
A opção “definir cursor mín. e máx.”, quando acionada, mostra a caixa de diálogo “Valores do controle deslizante”,
onde você pode indicar o valor mínimo e o máximo para o controle deslizante quando este for utilizado.
Outro detalhe que vemos quando da exibição das varáveis, é que o seu escopo também é exibido juntamente com
o nome, mostrando assim a quem pertence aquela variável. Por exemplo, temos na Figura 146 abaixo, uma variável
chamada “conta” que pertence a um ator chamado “Gato”, o que significa que essa é uma variável apenas para
este ator, ou seja, é uma variável LOCAL.
Figura 146 - Variável criada como local, apenas para o ator "Gato".
Quando a variável é GLOBAL, “para todos os atores”, apenas o seu nome e conteúdo são exibidos, como no
exemplo a seguir, onde a variável “Cachorro” pode ser utilizada por qualquer ator no projeto.
Figura 147 - Na variável global, apenas o seu nome e seu conteúdo são mostrados.
Dando continuidade ao exemplo, selecione o ator “bola” e utilize o script abaixo nele:
73
Capítulo 03 – Programando com o Scratch. criando programas na escola.
O comando “mude kiques para 0”, faz com que o valor inicial da variável seja “0”. Ele foi colocado logo no início do
script para garantir que a variável tenha esse valor. Dizemos que a variável está sendo “inicializada” com o valor
indicado.
Como o conteúdo de uma variável pode ser alterado durante a execução do script, a inicialização evita que ela
venha a apresentar um valor incorreto como conteúdo. Qualquer valor pode ser utilizado no comando “mude
variável para valor”, modificando o valor imediatamente para o indicado no comando.
Figura 150 - Laço de repetição "repita até que teste lógico". Figura 151 - Repete os comandos até que o valor seja alcançado.
A variável “kiques” é quem armazenará a contagem de quiques da bola no chão, sendo incrementada a cada vez
que isso acontecer.
Bloco Descrição
Executa o projeto quando a “bandeira verde” for
clicada.
Define o valor inicial da variável “kiques” com o valor
“0”. Está no início do script para que, sempre que o
script for executado, a contagem dos quiques da bola
iniciará em “0”.
74
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Bloco Descrição
Move a bola para as coordenadas indicadas no bloco,
posicionando a bola para o início da execução.
Aqui temos o laço que controla os movimentos da bola
e a contagem dos quiques.
No laço “repita até que kiques = 20”, o teste verifica a
cada passada, se a variável “kiques” é igual a 20, valor
final determinado para a contagem. Temos dentro do
laço, os comandos “deslize por 0.5 seg até x: 0 y:160”
e “deslize por 0.5 seg até x: 0 y: -160”, que fazem com
que a bola suba e desça a cada passada do laço. O valor
da variável “kiques” é adicionado de 1 a cada passada
pelo comando “adicione a kiques 1”, até o total de 20,
quando o teste lógico do laço se torna “verdadeiro” e
o laço é encerrado.
Tabela 11 - Comandos para contar os quiques e movimentar a bola.
Variável Descrição
Informa a posição da coordenada “x” de um ator. Pode
ser exibida no palco.
Informa a posição da coordenada “y” de um ator. Pode
ser exibida no palco.
Mostra a direção atual de um ator, em qual sentido ele
está indo. Pode ser exibida no palco.
Informa o tamanho atual do ator em porcentagem,
relativo a dia dimensão original. Pode ser exibido no
palco.
Mostrar o número da fantasia atual do ator. Pode ser
exibido no palco.
Informa o nome do pano de fundo em uso. Pode ser
exibido no palco.
Armazena a última entrada de dados feita pelo teclado.
Quando uma pergunta é feita, o conteúdo da resposta
é armazenado em “resposta”. Pode ser exibido no
palco.
Captura a intensidade dos sons capturados pelo
microfone do computador. Os valores variam entre 1 e
100. Pode ser exibido no palco.
O Scratch utiliza um cronômetro interno e seu valor é
armazenado nesta variável. Pode ser exibido no palco.
Informa o número de dias decorridos desde o ano de
2000.
75
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Variável Descrição
Armazena informações de data e hora, como dia da
semana, mês e ano atuais. Selecione a informação que
deseja trabalhar no menu suspenso. Pode ser exibido
no palco.
Mas, e se precisarmos armazenar vários valores, uma LISTA mesmo? Por exemplo: os dias da semana, os telefones
de seus amigos em sua agenda e a lista de compras do supermercado, podem ser representados em uma lista de
variáveis.
As listas são úteis exatamente porque permitem que um único objeto, a própria lista, armazene inúmeros dados
em seu interior, o que nos dá extrema flexibilidade para trabalhar esses dados.
76
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Na caixa de diálogo “Nova lista”, você irá escrever o nome para a lista, nesse caso, “meses”, e se ela será utilizada
por todos os atores ou apenas pelo ator selecionado no momento, definindo o “escopo” da lista dentro da
aplicação. Para este exemplo, selecione “Para todos os atores”.
Feito isso, será exibida a lista, vazia, no palco, e os comandos relacionados as ações que podem ser executadas com
uma lista, na guia “Variáveis”.
Para inserir o conteúdo da lista, seus elementos, clique no ícone “+”. Ao clicar nesse ícone, uma caixa de diálogo
será ativada na lista, onde você digitará o conteúdo que deseja. Repita essa operação para cada um dos elementos
a serem inseridos na lista ou, ou, insira um primeiro elemento e utilize a tecla [Enter] para inserir os demais na
sequência.
O tamanho de uma lista depende do número de elementos que ela possui, e esse tamanho é indicado na borda
inferior da lista. Cada elemento assume uma posição dentro da lista, posição essa que é indicada por um número
real, inteiro e positivo, que cresce de um até “n”, onde “n” é a última posição na lista.
77
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Figura 155 - Inserindo os elementos da lista "meses". Figura 156 - Lista e seus elementos.
Para eliminar um elemento qualquer da lista, clique no ícone “x” que aparece no canto direito da caixa de texto do
item da lista, removendo assim o elemento daquela posição.
Bloco Descrição
Adiciona um novo item ao final da lista existente.
Agora que conhecemos os comandos de lista e a lista “meses” foi criada, vamos criar uma outra chamada
“eventos”, onde serão guardados os eventos importantes para cada um dos meses do ano. Insira um único evento
78
Capítulo 03 – Programando com o Scratch. criando programas na escola.
para cada posição da lista, em um total de doze. Por exemplo, na posição 12 da lista, correspondente ao mês de
dezembro, coloque “Comemoração do Natal”, e assim por diante para cada um dos meses.
Os atores
Teremos dois atores em nosso exemplo: o gato e o cão. Os dois vão interagir trocando mensagens entre si. Vamos
escrever os scripts que serão utilizados por cada um deles e que comporão a “conversa” entre eles.
O Script do Gato
Este script inicia o aplicativo solicitando um valor ao usuário e, após o recebimento do valor, mostra o mês
correspondente ao mesmo.
79
Capítulo 03 – Programando com o Scratch. criando programas na escola.
A segunda tela mostra o mês correspondente ao número do mês digitado pelo usuário:
80
Capítulo 03 – Programando com o Scratch. criando programas na escola.
A resposta do cão é dada de acordo com a posição do mês dentro da lista, onde cada um dos meses do ano foi
escrito seguindo a sequência correta do calendário comum, assim, se digitarmos o número 6, o mês será “junho”,
pois este valor foi inserido na posição 6 da lista “meses”. Quem controla essa rotina é o bloco “SE” abaixo:
Na entrada do bloco, verificamos se o número digitado dentro da faixa de dados da lista, ou seja, se é um número
entre 1 e 12. Caso o teste lógico retorne “verdadeiro”, será enviada a “mensagem 2” a todos os atores existentes.
Em sendo o teste “falso”, a resposta será o mês correspondente ao número, e a “mensagem 1” será enviada aos
atores.
Figura 163 - Resposta do gato para valores fora da faixa de valores da lista.
O script do Cão
Ele irá responder ao cão dependendo da “mensagem” enviada através do script do gato.
81
Capítulo 03 – Programando com o Scratch. criando programas na escola.
São utilizados dois eventos para receber as mensagens enviadas, determinando que resposta será dada pelo ator
cão. Caso a mensagem enviada seja a “mensagem 1”, será exibida uma resposta que coincida com o número
fornecido para o mês na lista “eventos”.
Bloco Descrição
Executa o projeto quando
a “bandeira verde” for
clicada.
Inicializamos a variável
“numero” com o valor 1.
82
Capítulo 03 – Programando com o Scratch. criando programas na escola.
Bloco Descrição
O sensor “pergunte...”
para receber o número
para o qual será
elaborada a tabuada.
Aqui temos um bloco
“repita 10 vezes”, que vai
multiplicar o número
digitado pelo usuário, de
1 até 10. A saída,
resposta, é dada pelos
blocos “diga...”, onde o
primeiro mostra o
número digitado, a
palavra “vezes” e o valor
da variável “número”,
que irá de 1 até 10. O
segundo bloco “diga...”,
mostra a multiplicação da
variável “resposta” por
“numero”. O bloco
“adicione a número 1”,
faz com que o valor da
variável número vá de 1
até 10, incrementando
de 1 em 1.
Tabela 14 - Blocos de comandos para a Tabuada.
Figura 166 - Veja o Gato dizendo a tabuada do número que você pedir.
83
CAPÍTULO 04
Operadores: matemática e lógica.
Percebendo o ambiente: sensores.
Tomando decisões: estruturas de seleção.
Exemplo 04.
Capítulo 04 - Programando com o Scratch. criando programas na escola.
Vejamos um exemplo onde o nosso ator Gato, “diz” a soma de dois números digitados por você. Inicie um novo
projeto, crie duas variáveis, “num1” e “num2”, e escreva o script abaixo para o ator gato:
Capítulo 04 – Programando com o Scratch. criando programas na escola.
Figura 168 - Script utilizado pelo ator para somar dois números.
Execute o projeto clicando na “bandeira verde”, forneça o primeiro número e tecle [Enter], repetindo o mesmo
procedimento para o segundo, e veja a resposta no final.
Bloco Descrição
Executa o projeto quando a “bandeira verde” for
clicada.
Bloco “mude variável para valor” vai definir o valor da
variável indicada. No caso do exemplo, “num1” e
“num2” terão seus valores iniciais ajustados de início,
para o valor “0”. Chamamos esse procedimento de
“inicialização de variáveis”.
Bloco sensor “Pergunte texto apresentado e espere a
resposta” faz com que um balão, do tipo utilizado em
diálogos de revistas em quadrinhos, apareça com o
texto digitado, como se o ator estivesse “falando”.
Além disso, uma caixa para resposta é apresentada,
87
Capítulo 04 – Programando com o Scratch. criando programas na escola.
Bloco Descrição
aguardando que seja digitada uma resposta ao que foi
perguntado no balão. O valor dessa resposta é
armazenado na variável interna “resposta”, podendo
ser manipulado posteriormente pelo script.
Esse bloco está armazenando o valor da variável
“resposta”, o primeiro número digitado pelo usuário,
na variável “num1”.
Este bloco está sendo utilizado aqui para receber o
segundo número digitado pelo usuário, armazenando
o valor na variável interna “resposta”. Será também
exibido um balão com o texto “Qual o segundo
número?”, acompanhado de uma outra caixa para
que o usuário digite o valor.
Agora, o valor de “resposta”, o valor do segundo
número digitado, será atribuído à variável “num2”.
Aqui será exibido um balão com a mensagem “A soma
desses números é...” durante 2 segundos.
Nesse bloco “diga expressão por valor segundos”, foi
montada a soma dos números com o operador
“soma” e as variáveis “num1” e “num2”, mostrando o
resultado da soma dessas variáveis na tela.
A resposta, soma dos números, é dada através da
montagem dos blocos “diga expressão por valor
segundos”, “operador soma” e as variáveis. Coloca-se
o bloco do operador soma no bloco “diga...”, e as
variáveis no bloco operador.
Tabela 15 - Detalhando o script da soma de números.
Operador Descrição
Soma. Realiza a adição entre dois valores, a soma de
dois números ou variáveis.
Subtração. Realiza a subtração entre dois valores,
diminui o valor de um número ou expressão de outro.
Multiplicação. Realiza a multiplicação entre dois
valores.
Divisão. Realiza a divisão entre dois valores.
Resto de. Informa o resto da divisão do primeiro
número pelo segundo. Por exemplo, o resto da divisão
de 5 por 2, é 1.
Arredondamento de. Informa o número inteiro mais
próximo do decimal informado. Por exemplo,
arredondamento de 5,8, resulta em 6.
Funções. Calcula diversas funções, incluindo
trigonométricas. Selecione a função que deseja no
menu suspenso.
88
Capítulo 04 – Programando com o Scratch. criando programas na escola.
Operador Descrição
Opções do bloco “Funções”.
89
Capítulo 04 – Programando com o Scratch. criando programas na escola.
Os sensores
Em um jogo de futebol eletrônico, como detectar se a bola entrou no gol? Em outro, como verificar se uma
determinada tecla foi acionada? Qual a posição de um determinado ator no palco? Essas são perguntas e ações que
necessitam ser tratadas em um programa, pois delas podem depender outras ações seguintes, dando sequência
correta aos procedimentos que devem ser tomados.
Para analisar algumas ações dentro de um script do Scratch temos os comandos de bloco da categoria “Sensores”,
que permitem “analisar” diferentes estados dentro de um script em execução. Na sua maioria, são utilizados em
conjunto com os blocos de “Controle” e “Operadores”, permitindo que ações sejam executadas dependendo de
seus valores ou condições.
Operador Descrição
Tocando em. Retorna “verdadeiro” caso o ator toque
em outro ator, em uma das bordas do palco ou no
ponteiro do mouse.
Tocando na cor. Retorna “verdadeiro” caso o ator
toque na cor especificada no bloco. Para escolher uma
cor, obtenha primeiro a pipeta, clicando no quadrado.
Use a pipeta para clicar na cor que deseja. A cor
escolhida aparecerá no quadrado.
A cor está tocando na cor. Retorna “verdadeiro” se a
primeira cor do bloco está tocando na segunda. A
primeira cor do bloco pertence ao ator, a segunda ao
ambiente ou outro ator. Para escolher uma cor,
obtenha primeiro a pipeta, clicando no quadrado. Use
a pipeta para clicar na cor que deseja. A cor escolhida
aparecerá no quadrado.
Distância até. Informa a distância do ator atual até um
outro ator ou até o ponteiro do mouse, escolha o
objeto no menu suspenso do próprio bloco.
Pergunte texto e espere a resposta. Este bloco mostra
o texto digitado pelo usuário em um balão, do tipo
utilizado em revistas em quadrinhos, e aguarda, em
uma caixa de texto apresentada, por uma resposta do
usuário. A resposta dada é então armazenada na
variável interna “resposta”, podendo assim ser
manipulada dentro do script.
Resposta. Variável onde é armazenada a resposta dada
ao bloco “pergunte texto e espere a resposta”. Seu
conteúdo pode ser armazenado e manipulado através
de outros comandos e variáveis.
Tecla tecla pressionada? Retorna “verdadeiro” se a
tecla selecionada estiver sendo pressionada. Seu uso é
indicado para verificar se determinada tecla é
pressionada continuamente durante uma ação. No
menu do bloco podem ser escolhidas as teclas, setas,
letras, números ou qualquer outra tecla, que serão
utilizadas.
Mouse pressionado? Retorna “verdadeiro” se o botão
do mouse for pressionado em qualquer parte da tela.
90
Capítulo 04 – Programando com o Scratch. criando programas na escola.
Operador Descrição
Posição x do mouse. Armazena a posição da
coordenada “x” do ponteiro do mouse.
Posição y do mouse. Armazena a posição da
coordenada “y” do ponteiro do mouse.
Ruído. Variável interna que armazena a intensidade
dos sons capturados pelo microfone do computador.
Essa intensidade é um valor entre 1 e 100. O microfone
deve estar ligado para que o comando funcione.
Movimento/direção do vídeo em este ator/palco.
Detecta a quantidade de movimento ou direção que
está sendo aplicada na imagem de vídeo em execução
no momento. É necessária uma webcam conectada e
funcionando para que este recurso seja utilizado.
Utilize esse recurso quando em seu projeto, o usuário
for interagir diretamente com o ambiente, palco ou
atores.
Vídeo estado. Liga ou desliga a webcam conectada ao
computador. O “estado” pode ser: ligado, desligado ou
ligado e espelhado, onde a imagem é capturada é
invertida na exibição.
91
Capítulo 04 – Programando com o Scratch. criando programas na escola.
Operador Descrição
Número de dias desde 2000. Armazena o número de
dias decorridos desde o ano 2000 até o dia atual.
Nome de usuário. Armazena o nome do usuário
“ativo” que está utilizando o projeto no momento.
Em um programa de computador, as decisões que são tomadas levam a diferentes ações dentro da lógica que
implementamos, fazendo com que esse ou aquele comando seja executado. No Scratch temos os comandos da
categoria “Controle” que fazem o controle do fluxo de comandos que serão executados, dependendo de um ou
mais testes lógicos avaliados.
Alguns dos comandos de “Controle” já foram utilizados por nós em exemplos aqui mesmo, o que faremos a partir
de agora será estuda-los com mais profundidade, vendo como realmente trabalham.
92
Capítulo 04 – Programando com o Scratch. criando programas na escola.
No Scratch, essas expressões são criadas utilizando-se os blocos dos Operadores Relacionais, “menor que”, “maior
que” e “igual”, vistos anteriormente na Tabela 16. Uma expressão booleana ou lógica vai sempre retornar um valor
que pode ser, “verdadeiro” ou “falso”. Em um novo projeto, digite os scripts abaixo e os execute:
Quais as respostas obtidas? Temos três expressões lógicas, comparando diferentes valores NUMÉRICOS, e os
resultados dessas avaliações serão exatamente:
Expressão Resultado
“true” ou “verdadeiro”, pois o valor 3 É MENOR que 4.
Os resultados são expressos no idioma inglês, “true” ou “false”, por ser este o idioma nativo do Scratch e não haver
ainda tradução para os resultados das expressões booleanas.
Além de expressões numéricas utilizando diretamente os valores, podemos criar expressões com variáveis
numéricas ou mesmo com letras, como as da Figura 172 abaixo:
Quando strings são avaliadas, como no exemplo “Ana > Bruna”, o resultado será “false”, “falso”, pois a letra inicial
“A” vem antes da letra inicial “B” no alfabeto e é essa ordem que é seguida pelo Scratch quando das comparações
entre strings. Se ambas as strings iniciais forem iguais, como por exemplo, “Ana” e “Armênia”, a comparação será
6
O nome dado a esse tipo de estrutura deve-se ao matemático britânico, George Boole. A Álgebra Booleana, como é chamado
esse ramo matemático, é a base para a Ciência da Computação moderna. Saiba mais sobre esse grande matemático em
https://pt.wikipedia.org/wiki/George_Boole, na Wikipedia.
93
Capítulo 04 – Programando com o Scratch. criando programas na escola.
realizada entre as letras seguintes da string, e assim sucessivamente até o último caractere. No caso de uma
expressão onde tenhamos “Ana = Armênia”, o resultado seria “falso”, pois mesmo ambas iniciando com a letra
“A”, a segunda letra de “Armênia”, o “r”, é maior que a segunda de “Ana”, o “n”.
Os blocos de decisões
No Scratch temos dois blocos na guia “Controle”, que irão permitir a você tomar decisões e ações em seus scripts.
São eles: se e se/senão. A utilização desses dois blocos lhe permitirá fazer uma pergunta e, dependendo do retorno
da resposta, seguir um fluxo de ação dentro do script. Iremos aqui estudar cada um deles, suas características e
aplicações.
O bloco se
Com o bloco “se” você pode realizar um desvio na execução do seu script. O desvio será executado caso a expressão
lógica avaliada pelo bloco “se”, retorne o valor “verdadeiro”. Se o retorno for “falso” os comandos dentro da
estrutura “se”, não serão executados.
Figura 174 - Utilizando o "se" para verificar o maior entre dois números.
No script da Figura 174 acima temos o seguinte: duas variáveis, “num1” e “num2”, recebem os valores digitados
pelo usuário através dos blocos “pergunte e espere a resposta”. Na sequência, uma estrutura “se” avalia se a
expressão “num1 > num2”, ou seja, se o primeiro número digitado é maior do que o segundo número. Se o valor
da expressão for “verdadeiro”, o bloco dentro da estrutura, “diga string por 2 segundos” será executado
mostrando o valor da variável “num1”, a string “é maior que”, e o valor da variável “num2”. Caso o retorno seja
“falso”, os comandos da estrutura “se” serão ignorados, sendo executados os que estão logo a seguir ao bloco, no
caso do exemplo os blocos: “espere 1 seg” e “diga Até a próxima! por 2 segundos”, encerrando então a execução
do script.
Note que o exemplo anterior testa apenas se o primeiro número, variável “num1”, é maior que o segundo, variável
“num2” e que, para testar se o segundo número é maior que o primeiro, teríamos que utilizar outra estrutura “se”,
como mostra a Figura 175 a seguir:
94
Capítulo 04 – Programando com o Scratch. criando programas na escola.
Agora, caso o teste lógico da primeira estrutura se (1) seja falso, será executado o teste lógico da segunda estrutura
em sequência (2), possibilitando então a execução de outro grupo de scripts.
Mas, e se os números forem iguais? Da forma que o script foi elaborado, essa possibilidade não está sendo testada,
e nenhum dos dois testes lógicos seriam verdadeiros, fazendo com que apenas os dois blocos que estão fora da
estrutura “se” fossem executados. Vamos então criar um terceiro teste lógico, que verifique se os números são
iguais, e mostre a mensagem “Números iguais!”.
Esse terceiro bloco “se” deve ser colocado na sequência dos outros blocos “se” já existentes, a ordem entre eles
não vai alterar seu script, desde que estejam um após o outro.
Existe um limite para a quantidade de estruturas do tipo “se” que posso colocar em um único script? Bom, em
teoria não há limite, porém, uma quantidade exagerada de blocos “se” pode deixar seu script difícil de ler e
compreender, o que não é bom.
O bloco se/senão
Diferentemente do bloco “se”, que desvia a execução do script apenas para um fluxo de comandos, o bloco
“se/senão” possibilita que dois caminhos sejam tomados: um caso o teste lógico avaliado seja “verdadeiro”, e um
outro caso o teste lógico seja “falso”. Ou seja, temos uma saída para cada resultado do teste lógico avaliado, e isso
utilizando apenas uma mesma estrutura de seleção.
Vamos criar um pequeno jogo onde o usuário tenha que responder qual o maior entre dois números sorteados
aleatoriamente. O script base é esse apresentado na Figura 177 abaixo:
95
Capítulo 04 – Programando com o Scratch. criando programas na escola.
São sorteados dois números entre 1 e 100 cada, sendo estes atribuídos as variáveis “num1” e “num2”
respectivamente:
Figura 178 - Sorteio e atribuição dos números que serão comparados entre si.
Na sequência, na primeira estrutura de seleção “se/senão”, é feita a comparação entre os números sorteados:
“num1 > num2” é a expressão lógica utilizada. Note que agora existem dois blocos de comandos a serem
executados nessa mesma estrutura “se/senão”, dependendo do valor retornado pela expressão lógica:
96
Capítulo 04 – Programando com o Scratch. criando programas na escola.
De acordo com o teste lógico “num1 > num2”, da Figura 180, se o retorno for “verdadeiro”, a variável “maior”
receberá o valor da variável “num1”, caso contrário, “senão”, a variável “maior” receberá o valor da variável
“num2”.
Após a verificação do maior entre os dois números, é solicitado ao usuário que responda qual entre os dois é o
maior número.
A resposta dada pelo usuário será armazenada na variável “resposta”, que será comparada a variável “maior”, que
guarda o maior valor entre os dois sorteados anteriormente e, dependendo do resultado do teste lógico do segundo
“se/senão”, irá determinar se o usuário acertou, retorno “verdadeiro”, somando um ponto ao placar, variável
“pontos”, ou errou, exibindo a mensagem de resposta errada.
Com o emprego da estrutura “se/senão”, além da possibilidade de dois fluxos de execução com o retorno de apenas
um teste lógico, a compreensão do seu script ficará mais clara.
Para construir esse tipo de estrutura, denominada de “se encadeado” ou “se aninhado”, colocamos as estruturas
de seleção uma dentro da outra, de acordo com o que se pretende avaliar como verdadeiro ou falso. Vejamos um
exemplo simples desse tipo de estrutura. Escrevemos um script, onde deseja-se verificar se um número qualquer
digitado é par, ímpar ou o próprio zero.
97
Capítulo 04 – Programando com o Scratch. criando programas na escola.
No script da Figura 183, temos um primeiro teste lógico que verifica se “resposta = 0”, caso o retorno seja
“verdadeiro”, o bloco “diga Número é o próprio zero! por 2 segundos” será executado. E caso seja “falso”? Ainda
temos que verificar se o número é par ou ímpar, duas outras condições. Então utilizamos o encadeamento de “se”,
colocando uma outra estrutura de seleção dentro do “senão” da primeira, e nela realizamos um outro teste lógico:
“se resto de resposta por 2 = 1”. Ou seja, temos a seguinte leitura dessa estrutura encadeada: se – senão – se. Um
bom exemplo de uso desse tipo de estrutura, é o exemplo do script a seguir, que cria um “menu de opções” para
que você escolha a ação que deverá ser executada.
98
Capítulo 04 – Programando com o Scratch. criando programas na escola.
O script da Figura 184 simula uma calculadora bem rudimentar, que executa as quatro operações básicas, a partir
de dois números informados pelo usuário. O usuário irá também selecionar qual operação deseja que seja
executada: 1-Soma, 2-Subtração, 3-Multiplicação ou 4-Divisão, digitando o número correspondente a operação.
Para a escolha da operação que será executada, foi utilizada uma estrutura de “se encadeados”, onde cada teste
lógico leva a um fluxo de comandos específicos.
A escolha do usuário é armazenada na variável “resposta”, que é verificada em três testes lógicos encadeados
99
Capítulo 04 – Programando com o Scratch. criando programas na escola.
As opções de escolha são controladas pelo “ninho de ses” da Figura 187, onde a variável “resposta” é avaliada e
segue um fluxo diferente dependendo do retorno.
100
Capítulo 04 – Programando com o Scratch. criando programas na escola.
Temos três estruturas de seleção, “se”, onde os comandos de cada figura estão colocados. Caso “resposta = 1”,
será desenhado um triângulo, caso “resposta = 2”, o desenho será do quadrado, e caso “resposta = 3”, o círculo
será desenhado. Qualquer outro valor que seja digitado será ignorado.
101
CAPITULO 05
Aparência.
Listas de variáveis.
Eventos.
Exemplo 05.
Capítulo 05 - Programando com o Scratch. criando programas na escola.
Todos os blocos de comandos que nos permitem manipular a aparência de um ator ou pano de fundo, fazem parte
da categoria “Aparência”.
Vamos ver um pequeno exemplo de como utilizar alguns desses comandos. Abra um novo projeto e dê a ele o título
de “Dançarino”. O projeto consiste em fazer uma figura de um boneco, estilo “stickman7”, e simular uma dança
com o mesmo. Nesse exemplo, vamos utilizar um ator externo, uma figura importada de um banco de figuras da
Web, o Freepik8, que possui milhares de desenhos e fotos que podem ser baixadas e utilizadas livremente, desde
que se dê o devido crédito ao autor da imagem.
7
Stickman é como são chamados aqueles desenhos que representam personagens humanoides, que utilizam um traço simples,
geralmente sem rosto e vestimentas.
8
Disponível em <https://www.freepik.com>. Acessado em 10/10/2017.
Capítulo 05 – Programando com o Scratch. criando programas na escola.
Após baixar a imagem para seu computador, importe-a para que possa utilizá-la em seu projeto, clicando na opção
“Carregar ator a partir de arquivo”.
Com a imagem carregada, clique na guia “Fantasias” e selecione a imagem do ator. Clique no ator com o botão
direito do mouse para ativar o menu de contexto do mesmo, vamos duplicar esse ator.
Agora temos um ator e duas fantasias, ambas na mesma posição, por enquanto. No projeto, quando este estiver
em ação, o ator deverá simular uma dança, balançando os braços de um lado para outro, e também o quadril.
Vamos criar esse movimento com os trajes que temos do ator, mas um, a cópia duplicada, necessita ser colocada
em posição contrária a do original, como se fosse espelhado. Para isso, selecione o segundo traje, aquele que
acabamos de duplicar e clique no botão “Espelhar horizontalmente”.
105
Capítulo 05 – Programando com o Scratch. criando programas na escola.
Pronto, os trajes do ator estão prontos, podendo ser agora animados com os efeitos desejados. Temos um traje
com os braços apontados para a direita, e um outro com os braços apontados para a esquerda.
Para o palco vamos utilizar uma imagem sugestiva, que represente um ambiente de festa. Selecione o pano de
fundo e, na biblioteca de imagens do Scratch, selecione a imagem “party room”.
106
Capítulo 05 – Programando com o Scratch. criando programas na escola.
Pronto o ambiente da festa, vamos ao script do ator, os comandos que o farão dançar pelo salão. Selecione o ator
e escreva o código da Figura 196 abaixo:
Bloco: Descrição:
Clique na “bandeira verde” para dar início a execução
do script.
Move o ator para a coordenada inicial “x:0” e “y:-60”.
Outra maneira de mudar a fantasia de um ator, é utilizando o bloco “mude para a fantasia nome da fantasia”. Com
ele é possível indicar no menu suspenso do bloco, qual fantasia deve ser utilizada naquele exato momento, sem
seguir uma ordem padrão de fantasias.
107
Capítulo 05 – Programando com o Scratch. criando programas na escola.
No Scratch, podemos fazer com que os atores dialoguem como um desenho animado ou revista em quadrinhos,
através da exibição das frases em balões, como nas revistas em quadrinhos. Os comandos que realizam essa função
são:
Bloco: Função:
Exibe um balão de fala com o texto indicado, por “n”
segundos. O tempo define a duração de exibição do
texto na tela, ficando o script em pausa durante esse
tempo.
Exibe um balão de fala com o texto indicado, sem limite
de tempo. Para remover esse balão, utilize outro vazio,
sem nenhum texto.
Exibe um balão de pensamento com o texto indicado,
por “n” segundos. O tempo define a duração de
exibição do texto na tela, ficando o script em pausa
durante esse tempo.
Exibe um balão de pensamento com o texto indicado,
sem limite de tempo. Para remover esse balão, utilize
outro vazio, sem nenhum texto.
Tabela 20 - Blocos para fala e pensamento dos atores.
Um bom exemplo de como podemos utilizar os blocos “diga... por 2 segundos” e “pense ... por 2 segundos”, é o
do projeto “Conversa animada”. Abra um novo projeto e dê a ele o nome de “Conversa animada”. Coloque junto
ao ator “Gato”, um outro ator, aqui no exemplo utilizamos o “Cão”.
108
Capítulo 05 – Programando com o Scratch. criando programas na escola.
Vamos agora aos scripts de cada ator. Primeiramente o do ator “Gato”, pois ele vai iniciar a conversa com o ator
“Cão”. Selecione o ator “Gato”, clique na guia “Scripts” e insira os seguintes blocos:
Figura 201 - Script do ator Gato, com todas as suas falas iniciais.
Colocamos três blocos do tipo “diga frase por 2 segundos”, com as frases que queremos que sejam exibidas em
balões do tipo “fala”. Os textos irão aparecer na sequência em que foram agrupados no script, ficando em exibição
por dois segundos cada um, um após o outro. O Gato terá então seis segundos de fala ao total.
Utilizamos para o ator Cão um script do tipo “pense texto por 2 segundos”, para que seja exibido o “pensamento”
do cão em relação ao que o gato “fala”.
109
Capítulo 05 – Programando com o Scratch. criando programas na escola.
Experimente retirar esse bloco do script e execute novamente o projeto. O que acontece? Você verá que o bloco
“pense...” do cão será exibido no mesmo instante do primeiro bloco “diga...” do gato, misturando os balões de
ambos durante a exibição. Isso acontece porque ambos os scripts estão sendo executados ao mesmo tempo,
paralelamente um ao outro, o que ocasiona esse “problema”.
O que fizemos para que a sobreposição dos balões de ambos os atores não acontecesse, foi e somar o tempo de
cada frase do ator gato, o que resulta em exatos seis segundos, e inserir o “espere 7 seg” no script do cão, fazendo
então com que o mesmo fique aguardando o tempo exato da fala, e só depois exiba o seu balão “pense...”.
Essa é apenas uma solução paliativa, pois a medida em que o número de atores em cena aumenta, e a quantidade
de diálogos cresce, fica complicado ter que contar o tempo para todos e utilizar os blocos de espera no momento
correto. Vejamos um exemplo agora do mesmo script, aumentando apenas um pouco os diálogos entre os atores:
No script do ator Gato, Figura 203, inserimos um novo bloco “espere 8 seg”, antes dos dois novos blocos “diga...”,
em resposta aos dois novos blocos “diga...” do ator Cão, Figura 204. E isso deve ser feito caso outros diálogos sejam
inseridos entre os dois atores, evitando assim a sobreposição dos balões entre eles, e sincronizando a conversa.
Essa não é a melhor técnica, pois é trabalhosa e deixa os scripts longos e de difícil compreensão, estudaremos
posteriormente uma forma mais eficaz para controlar os diálogos entre os atores.
110
Capítulo 05 – Programando com o Scratch. criando programas na escola.
As vezes em alguns momentos, será necessário “retirar” um outro ator de cena, seja temporariamente ou
permanentemente. Também, dependendo da situação, um ator que foi retirado deverá ser exibido novamente,
voltando a interagir dentro do projeto. Os comandos da guia “Aparência” que executam essas ações são: o
“esconda”, que literalmente esconde um ator durante a execução do script, tornando-o invisível aos olhos, e o
“mostre”, que exibe novamente um ator antes escondido.
Bloco Descrição
Exibe o ator no palco.
Observe a Figura 205 abaixo. Nela temos três atores, os peixes, cada um em uma camada diferente do palco,
sobrepondo-se uns aos outros de forma que, um vai sempre estar à frente dos demais. A primeira camada é a mais
externa, na Figura 205 apontada pelo número 1, sendo as demais camadas mais internas, 2 e 3, nessa ordem.
Para controlar o posicionamento de um ator entre as camadas, utilizaremos dois blocos da categoria “Aparência”,
o “vá para frente” e o “vá n camadas para trás”.
Bloco Descrição
Envia um ator para a frente de todos os outros. Quando
você move o ator com o mouse, durante a edição, isso
é equivalente a esse comando.
Envia um ator quantas camadas forem indicadas no
bloco, para trás dos demais.
111
Capítulo 05 – Programando com o Scratch. criando programas na escola.
Um ator pode ter seu tamanho modificado manualmente, utilizando as ferramentas “reduzir” e “aumentar”, na
barra de ferramentas, porém, essa forma só pode ser utilizada antes da execução do projeto, quando ainda estamos
editando a cena e definindo os atores e objetos. Contudo, alguns projetos podem requerer que um ator, durante a
execução de seu script, tenha seu tamanho reduzido ou aumentado, de acordo com o roteiro definido.
Na guia “Aparência”, os blocos responsáveis por modificar o tamanho dos atores durante a execução de um script
são: “adicione valor ao tamanho” e “mude o tamanho para valor %”.
Bloco Descrição
Aumenta ou diminui o tamanho de um ator, de acordo
com a quantidade especificada no bloco.
Aumenta ou diminui o tamanho de um ator,
percentualmente, em relação ao seu tamanho original.
Bloco Descrição
Altera o efeito aplicado ao ator. O efeito que será
utilizado, pode ser selecionado na lista do menu do
bloco. Utilize valores positivos ou negativos para os
valores. O botão “Parar” remove os efeitos aplicados.
112
Capítulo 05 – Programando com o Scratch. criando programas na escola.
Original Efeito 01 Efeito 02
Sem efeitos Efeito “Olho de peixe” para 200 Efeito “Pixelização” para 50
Ao todo são sete os efeitos gráficos que podem ser utilizados com os atores, permitindo que você use a sua
imaginação e criatividade na hora de criar suas aplicações.
Alguns comandos específicos para uso com o pano de fundo de um projeto, podem ser encontrados na guia
“Aparência”. São eles:
Bloco Descrição
Muda o pano de fundo atual para um outro indicado
no bloco, e aguarda que o script seja encerrado. Útil
quando a ação de troca for realizada dependendo da
execução de um script de um ator, por exemplo.
Você ainda poderá utilizar as duas variáveis internas para controle de pano de fundo, “nome do pano de fundo” e
“nº do pano de fundo”. Elas podem ser bastante úteis quando utilizadas com os blocos lógicos de controle de fluxo,
como o “se”, avaliando por exemplo se um determinado pano de fundo está sendo exibido e o que executar nesse
caso.
Bloco Descrição
Guarda o nome do pano de fundo utilizado no
momento.
Guarda o número do pano de fundo utilizado no
momento.
113
Capítulo 05 – Programando com o Scratch. criando programas na escola.
Bloco Descrição
No exemplo ao lado se o teste lógico for “verdadeiro”,
todos os efeitos gráficos serão desativados.
Os nomes e números dos panos de fundo de um palco, podem ser visualizados na guia “Panos de fundo”. Os nomes
ficam abaixo da imagem e os números acima e a esquerda da imagem, porém essa lista pode ser reorganizada
clicando-se e arrastando a imagem do pano de fundo para cima ou para baixo na lista.
Bloco Descrição
Inicia a execução do script quando for dado um clique
na bandeira verde.
Inicia a execução de um script quando uma tecla
específica for pressionada. Selecione a tecla desejada
na lista de teclas do menu do bloco.
Inicia a execução de um script quando o ator receber
um clique do mouse.
Trabalha com os atributos: ruído, som captado pelo
microfone, cronômetro e movimento do vídeo,
capturado pela Webcam instalada. Quando um dos
atributos selecionados for maior que o valor indicado
no bloco, o script será executado.
114
Capítulo 05 – Programando com o Scratch. criando programas na escola.
Uma mensagem é apenas um nome, um identificador qualquer, e não um texto escrito que represente realmente
algo que deva ser lido. Quando disparamos uma mensagem, todos os atores a “escutam”, recebem, porém apenas
os que estiverem esperando pela mensagem vão ser acionados.
Os blocos da guia “Eventos” que vão nos permitir o envio e recebimento das mensagens são:
Bloco Descrição
Envia uma mensagem específica a todos os atores e
também ao pano de fundo. Apenas os atores que
tenham o bloco “quando receber mensagem”
realizarão alguma ação programada.
Exemplo 05
Simulador de aquário. Que tal criar alguns peixes virtuais? Nesse exemplo vamos criar um projeto que imita um
aquário. Colocaremos alguns peixes para nadar em um cenário que representa esse ambiente aquático. Todos os
atores estão na biblioteca de imagens do próprio Scratch, então vamos lá!
O palco e o cenário.
No nosso projeto, haverá dois panos de fundo para o palco: um representando o dia, e o outro representando a
noite. A imagem para ambos é a “underwater3”, e está na biblioteca de imagens. Abra a biblioteca na opção
“Escolher pano de fundo da biblioteca” e insira a imagem.
115
Capítulo 05 – Programando com o Scratch. criando programas na escola.
Esse será nosso pano de fundo para representar o dia. Vamos agora duplicar esse mesmo pano de fundo para que
possamos modifica-lo e utiliza-lo como o pano de fundo para representar a noite. Na miniatura do pano de fundo,
lado esquerdo do editor de imagens, clique com o botão direito na miniatura e, no menu apresentado, selecione a
opção “Duplicar”.
Agora, vamos tornar o fundo desse novo pano de fundo que acabamos de duplicar, da cor azul para a cor preta,
dando a impressão de que escureceu. Para pintar o fundo de preto, utilize a ferramenta “Preencher com cor”.
Selecione a cor preta na paleta de cores e clique com a ferramenta na área a ser pintada.
Pronto, os panos de fundo para representar o dia e a noite no aquário estão finalizados. Vamos agora aos atores.
Os atores do aquário.
Teremos nesse projeto, quatro atores: três peixes e um mergulhador, todas figuras da biblioteca. O que farão esses
atores no palco? Eles devem se movimentar aleatoriamente pelo ambiente e, em alguns momentos, ter alguma
interação entre eles.
116
Capítulo 05 – Programando com o Scratch. criando programas na escola.
O script que cada um dos atores utilizará será descrito abaixo. Eles contêm basicamente as mesmas instruções, já
que todos se movimentam da mesma forma, e executam as mesmas ações.
O script da Figura 212 é responsável pela movimentação do ator, peixe, pelo palco. Um segundo script será
responsável pela troca de mensagens entre este e um outro ator.
No script da Figura 213, o ator fica aguardando a mensagem “boa noite”, que será lançada por um outro ator dentro
do projeto, quando ele receber essa mensagem, dará início ao restante dos comandos, exibindo a mensagem “Boa
noite a todos” em um balão de fala, e enviando aos outros atores a mensagem “dormir”.
Para os outros dois peixes, o script é o mesmo, porém, para que tenham comportamento um pouco diferente,
vamos alterar alguns valores utilizados com o ator “Fish 1”. Coloque o script principal do ator “Fish 1” na mochila
117
Capítulo 05 – Programando com o Scratch. criando programas na escola.
do Scratch, e arraste-o da mochila para a área de scripts dos outros dois atores peixe, “Fish 2” e “Fish 3”. Os valores
que você deve alterar no script para esses dois atores, está circulado na imagem da Figura 214 abaixo:
Figura 214 - Script para os outros dois atores "peixe" e suas modificações.
O segundo script para os atores “Fish 2” e “Fish 3”, são respectivamente os que seguem abaixo na Figura 215 e
Figura 216:
Figura 215 - Segundo script para o ator "Fish 2". Figura 216 - Segundo script para o ator "Fish 3".
O ator mergulhador, “Diver2”, tem um script menor, pois o movimento dele é menos complexo. Eis abaixo os
comandos:
118
Capítulo 05 – Programando com o Scratch. criando programas na escola.
O script do palco.
Sim, o palco tem scripts. Na verdade, colocamos nesse exemplo os scripts de farão a troca de pano de fundo, e os
para a difusão de mensagens, “broadcasting”, para os demais atores. Ao receberem o sinal, cada ator, de acordo
com a mensagem recebida, dará início a execução de seus scripts.
Terminado o processo de criação dos scripts, coloque seu aquário para funcionar.
119
CAPÍTULO 06
Som.
Mais blocos.
Exemplo 06.
Capítulo 06 - Programando com o Scratch. criando programas na escola.
O Scratch trabalha com apenas dois formatos de sons: WAV e MP3. Qualquer outro formato de som diferente
desses dois, deverá ser convertido em um dos dois para que possa ser utilizado em seus projetos.
O editor de som
No painel “Sons”, temos um gerenciador de som, simples, a partir do qual você irá inserir os arquivos de som em
seus projetos. Você poderá “Escolher novo som da biblioteca”, “Gravar novo som” ou “Carregar som a partir de
arquivo”. Usando qualquer uma dessas opções, o arquivo poderá ser editado de maneira rápida, e também poderá
adicionar alguns efeitos básicos ao som.
Após inserir o som ou os sons, pois podemos inserir mais de um arquivo de som em um mesmo projeto, você
utilizará os comandos da guia “Som” para manipulá-los, dizendo quando, onde e como serão executados. Os
comandos que permitem essa manipulação são os seguintes:
Bloco Descrição
Toca um som previamente carregado ou abre o
gravador para que seja criado um novo som. Inicia a
execução do som e segue para o próximo bloco no
script.
Toca um som previamente carregado ou abre o
gravador para que seja criado um novo som. Inicia a
execução do som e aguarda até o final para seguir ao
próximo bloco no script.
Interrompe a execução de todos os sons ativos no
momento.
Altera o volume do som, aumentando ou diminuindo
seu volume, um valor específico, onde 100 é o padrão.
Altera o volume do som para um volume específico,
dado um valor em percentual.
Capítulo 06 – Programando com o Scratch. criando programas na escola.
Que tal colocarmos um som ao fundo do nosso exemplo do aquário? Um som de borbulhas, do tipo produzido pelas
máquinas de oxigenação e limpeza utilizadas em aquários reais? Pois então vamos lá! A primeira coisa a se fazer é
encontrar um site onde possamos baixar e usar sons do tipo gratuitos ou mesmo “Open Source9”, que não cobram
pelo seu uso. Você também poderá criar o seu próprio som de borbulhas. Aqui, vamos utilizar o arquivo de som
“bolhas_som.mp310”, gravado de um aquário real, e carregado para o projeto.
Agora, com o som devidamente carregado, selecione o palco, pois é nele que o script onde o som será executado
vai ser construído. Inclua o script abaixo e execute seu projeto:
Colocar o bloco “toque o som... até o fim” dentro de um laço de repetição “sempre”, faz com que o som se repita
indefinidamente, sendo encerrado apenas com a interrupção da execução, ou por um comando que pare o script.
9
Open Source ou traduzindo, “Código Aberto”. É um modelo de desenvolvimento de produtos que se baseia na liberdade de
se copiar, modificar e distribuir livremente esse mesmo produto. Milhares de softwares e produtos de hardware são
distribuídos atualmente seguindo esse modelo, que hoje é regido pela OSI, Open Source Iniciative. Fonte: Wikipedia. Disponível
em < https://pt.wikipedia.org/wiki/C%C3%B3digo_aberto#Defini%C3%A7%C3%A3o >. Acessado em: 10/10/2017
10
Utilize o som que achar mais conveniente em seu script.
123
Capítulo 06 – Programando com o Scratch. criando programas na escola.
Como vemos na Figura 222 acima, são dezoito sons de tambores, ou instrumentos de percussão, que podem ser
utilizados para composição musical em seus projetos. Além de escolher o tipo de som, o tempo de duração de uma
batida também pode ser ajustado, ditando o ritmo da batida. Maior tempo resulta em um maior tempo entre uma
batida e outra. Vamos usar o script a seguir e testar alguns dos sons de tambores:
Ao executar esse script, ouviremos o som do instrumento 1, “caixa”, em ritmo acelerado. Se você aumentar o
tempo, perceberá que a batida vai ficando progressivamente mais lenta, a medida que o valor indicado sobe.
Experimente inserir outros instrumentos com diferentes tempos de batida e veja como soa.
124
Capítulo 06 – Programando com o Scratch. criando programas na escola.
Bloco Descrição
Altera o tempo atual do ator aumentando ou
diminuindo esse valor. O tempo é a velocidade em
bpm, batidas por minuto, usada pelo Scratch para tocar
os instrumentos e notas.
Ajusta o tempo das batidas para um valor específico.
Vejamos um pequeno exemplo desses dois blocos em uso. Escreva o script a seguir e execute-o:
125
Capítulo 06 – Programando com o Scratch. criando programas na escola.
O que você notou? Que ao aumentar o tempo em cada laço, a “distância” entre as batidas vai ficando cada vez
maior, parecendo mesmo que o som foi finalizado. Para verificar o valor atual do tempo das batidas, utilize a
variável interna “tempo”. Marque a caixa de seleção da variável no painel e ela aparecerá no palco.
126
Capítulo 06 – Programando com o Scratch. criando programas na escola.
Além de todos os instrumentos com seus sons específicos, o Scratch permite que você manipule diretamente as
notas musicais, fazendo com que um determinado instrumento, ou instrumentos, toquem exatamente em uma
nota específica, trazendo ainda mais possibilidades a criação de sons com o Scratch. Possuindo conhecimentos
musicais será possível até composições mais rebuscadas! O bloco “toque a nota nº por nº batidas” é o que deve
ser utilizada na manipulação das notas musicais. Ele exibe um teclado para que você possa tocar e ouvir a nota no
tempo definido.
Fizemos um pequeno script para que você possa testar as diferentes notas e seus tempos. Escreva o script abaixo
e teste o seu funcionamento mudando os valores de nota, instrumento e tempo:
127
Capítulo 06 – Programando com o Scratch. criando programas na escola.
Para evitar que seus programas se tornem gigantes de código, com blocos e mais blocos de instruções, a versão 2.0
trouxe como inovação a categoria de blocos “Mais Blocos”, através da qual é possível criar e definir novos blocos
de comandos para usar em seus programas.
A criação de blocos personalizados vai permitir a você compactar os seus programas, a medida em que um grupo
de instruções poderá ser embutido em um novo bloco, executando as mesmas funções. Por exemplo, desenhar
uma figura geométrica ou executar um movimento com um ator requerem um grupo de instruções específicas, que
podem ser atribuídas à um único bloco de comando personalizado.
128
Capítulo 06 – Programando com o Scratch. criando programas na escola.
Na Figura 229 acima, temos um script onde três quadrados são desenhados no palco. Observe o tamanho desse
código! Tivemos que repetir por três vezes os mesmos comandos que desenham a figura do quadrado, tornando
com isso o código extenso, ocupando espaço e tempo na construção do mesmo.
Que tal então diminuirmos esse código construindo um único bloco para desenhar a figura do quadrado? Na guia
“Mais Blocos”, clique no botão “Criar um bloco” para ativar a caixa de diálogo “Novo Bloco”.
No bloco apresentado na caixa de diálogo, escreva um nome para identifica-lo entre os demais, no caso do nosso
exemplo, o nome será “quadrado”.
129
Capítulo 06 – Programando com o Scratch. criando programas na escola.
Após pressionar o botão “OK”, o bloco irá fazer parte da coleção de blocos da guia “Mais Blocos”, bastando agora
ser personalizado com as funções que se deseja que ele execute. Perceba que, ao criar o novo bloco, um bloco do
tipo evento é inserido na área de scripts. É o bloco para definição dos comandos do novo bloco.
Isso indica ao Scratch que onde o bloco “quadrado” for utilizado, serão esses os comandos a serem executados,
desenhando a figura na tela. No caso do nosso exemplo agora, basta que troquemos os blocos “repita 4 vezes” que
desenham os quadrados pelo novo bloco “quadrado”.
130
Capítulo 06 – Programando com o Scratch. criando programas na escola.
Figura 234 - Três quadrados: o mesmo efeito, só que com menos código.
Os valores que passamos a um bloco de comando são denominados de “argumentos”. São os argumentos que
definem por exemplo, uma coordenada de um bloco “vá para...”, a intensidade ou valor da cor da caneta, ou
mesmo a quantidade de passos que um ator deve andar. Existem vários blocos no Scratch que fazem uso de
parâmetros em suas definições, e os criados por você também podem fazer uso desse recurso.
Vamos editar o nosso bloco “quadrado” de maneira que ele possa receber alguns parâmetros em sua definição. Na
guia “Mais Blocos”, clique com o botão direito do mouse sobre o bloco “quadrado”, ativando o menu de contexto
do mesmo. Clique na opção “editar” para mostrar as opções de controle do bloco.
Nas “Opções”, você poderá selecionar que tipo de dado será passado ao comando como argumento.
131
Capítulo 06 – Programando com o Scratch. criando programas na escola.
Vamos adicionar um valor que será utilizado para determinar o número de “passos” que o ator vai andar quando
for desenhar o quadrado. Clique então na opção “Adicionar entrada numérica”, para inserir uma caixa onde um
valor numérico será digitado.
Escreva um nome para essa nova entrada, no nosso exemplo o nome dado foi “distancia”, ele irá identifica-la no
bloco. A entrada “distancia” funcionará na verdade como uma variável, armazenando o valor digitado por você no
bloco de comando.
Note que foi incluída também uma “entrada de texto”, onde escrevemos a palavra “passos”. Isso serve para deixar
claro ao usuário que aquele valor que ele está inserindo será utilizado para determinar os passos que serão
utilizados para desenhar o lado do quadrado. Use esse recurso para que seu bloco fique o mais claro possível ao
usuário, uma vez que um mesmo bloco pode receber vários valores para diferentes funções.
132
Capítulo 06 – Programando com o Scratch. criando programas na escola.
Pronto, na guia “Mais Blocos” seu bloco “quadrado” está pronto, agora com a possibilidade de receber
argumentos, como mostra a Figura 239 abaixo:
No bloco definido, você notará uma pequena mudança: o bloco agora possui um “parâmetro”, que na verdade é
uma variável, “distancia”, sendo nela armazenado o valor que você digitar no bloco “quadrado n passos”.
É esse parâmetro que será passado para o comando “mova n passos” dentro do laço “repita” em sua definição do
comando. E como fazer isso? Basta que você arraste o parâmetro “distância” para a caixa “mova 10 passos”,
substituindo o valor “10”.
Dessa maneira, nosso script ficará como o apresentado na Figura 242 abaixo, com cada bloco “quadrado n passos”
apresentando seu próprio valor, possibilitando que os quadrados desenhados tenham tamanhos diferentes:
133
Capítulo 06 – Programando com o Scratch. criando programas na escola.
O desenho
Figura 243 - Flor que será desenhada várias vezes pelo script.
O desenho da Figura 243, uma “flor”, será desenhado repetidas vezes ao longo da execução do script, assumindo
diferentes tamanhos e cores.
134
Capítulo 06 – Programando com o Scratch. criando programas na escola.
Vamos imaginar que, essa figura da flor criada para esse exemplo, possa vir a ser utilizada em outros momentos
mais com o Scratch, em uma outra animação, por exemplo. Seria então interessante que ela pudesse ser
“recuperada” para esse fim, não acham?
Para que isso seja possível, vamos criar um novo bloco denominado de “flor”, que será o responsável pelo desenho
das flores. Clique na guia de scripts e selecione a opção “Mais blocos”. Clique agora no botão “Criar um bloco”,
para ter acesso a caixa de diálogo “Novo bloco”.
Escreva o nome “flor” para o novo bloco. Como as flores terão tamanhos variados, o novo bloco deverá ter uma
caixa para que o valor para o tamanho das flores seja digitado, por isso, clique na opção “Adicionar entrada
numérica”, dando ao usuário a possibilidade de informar o tamanho que a flor terá ao ser desenhada.
Seu novo bloco deverá ter a aparência do bloco da Figura 246 a seguir:
Agora que o bloco foi criado, vamos definir o seu script. O principal desse script, é que ele vai conter os comandos
para o desenho da flor, com todas as suas sete pétalas:
135
Capítulo 06 – Programando com o Scratch. criando programas na escola.
Para completar, vamos ao script principal, aquele que faz a chamada do desenho da flor e diz quantas delas serão
desenhadas ao final:
Neste script, são definidas: a cor inicial da caneta, o número de flores que serão desenhadas e o tamanho de cada
uma das flores. Ao ser executado, o resultado final é semelhante ao apresentado pela Figura 249 abaixo:
136
Capítulo 06 – Programando com o Scratch. criando programas na escola.
Pronto, seu quadro de flores está finalizado! Agora, acesse a página do projeto e faça as alterações que imaginar,
crie seus próprios efeitos e formas.
137
REFERÊNCIAS
Sobre o Scratch:
Scratch is developed by the Lifelong Kindergarten Group at the MIT Media Lab. It is available for free at
https://scratch.mit.edu.
Sobre as imagens:
Todas as imagens e figuras utilizadas nesse livro foram produzida pelo próprio autor, com exceção das figuras
indicadas abaixo, que foram retiradas do site Freepik (http://www.freepik.com) estão devidamente indicadas a
seguir:
Aprenda mais sobre o Scratch nas páginas oficiais do autor, Paulo Nunes. Ele mantém blogs e um canal de vídeos
onde aborda vários assuntos ligados a programação e outras ferramentas da Web:
Obrigado!