programação divertida: aprenda a programar com scratch. · existem várias linguagens de...

21
Capítulo 6 Programação divertida: aprenda a programar com Scratch. Mike Christian de Sousa Araujo e Fábio Luiz Almeida Rolim Resumo O minicurso se destina a apresentar uma alternativa para ensino/aprendizado de conceitos básicos e essenciais de lógica de programação em um ambiente que permite programar com elementos interativos, utilizando recursos de mídias, jogos e simulações. O Scratch é um ambiente com ferramentas multimídias que permite criar aplicações de forma fácil e interativa. O objetivo deste minicurso é apresentar o Scratch como ferramenta alternativa para ensino/aprendizado da programação, permitindo aos participantes conhecer a ferramenta, programar sem muitas dificuldades e aperfeiçoar suas habilidades de raciocínio. 6.1. O que é o Scratch O Scratch é um ambiente de aprendizado criado e mantido pelo grupo Lifelong Kindergarten do laboratório (Media Lab) do Instituto de Tecnologia de Massachusetts (MIT), sob o comando de Mitchel Resnick [ScratchBrasil, 2017]. O ambiente Scratch possui diversos recursos de mídia (blocos lógicos, recursos de som e imagem) que permite a criação de projetos interativos por meio de uma programação visual incluindo jogos, animações e simulações. Este ambiente foi projetado para ser usado especialmente por crianças e adolescentes entre 8 e 16 anos de idade [Scratch, 2017], mas nada impede que seja utilizado, como de fato acontece, por pessoas de outra faixa etária, seja para auxiliar no ensino de programação de computadores, lógica matemática, auxiliar no desenvolvimento de habilidades relacionadas ao raciocínio e encontrar soluções para problemas diversos. III Escola Regional de Informática do Piauí. Livro Anais - Artigos e Minicursos, v. 1, n. 1, p. 361-381, jun, 2017. www.eripi.com.br/2017 - ISBN: 978-85-7669-395-6

Upload: doque

Post on 24-Nov-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

Capítulo

6

Programação divertida: aprenda a programar

com Scratch.

Mike Christian de Sousa Araujo e Fábio Luiz Almeida Rolim

Resumo

O minicurso se destina a apresentar uma alternativa para ensino/aprendizado de

conceitos básicos e essenciais de lógica de programação em um ambiente que permite

programar com elementos interativos, utilizando recursos de mídias, jogos e

simulações. O Scratch é um ambiente com ferramentas multimídias que permite criar

aplicações de forma fácil e interativa. O objetivo deste minicurso é apresentar o

Scratch como ferramenta alternativa para ensino/aprendizado da programação,

permitindo aos participantes conhecer a ferramenta, programar sem muitas

dificuldades e aperfeiçoar suas habilidades de raciocínio.

6.1. O que é o Scratch

O Scratch é um ambiente de aprendizado criado e mantido pelo grupo Lifelong

Kindergarten do laboratório (Media Lab) do Instituto de Tecnologia de Massachusetts

(MIT), sob o comando de Mitchel Resnick [ScratchBrasil, 2017]. O ambiente Scratch

possui diversos recursos de mídia (blocos lógicos, recursos de som e imagem) que

permite a criação de projetos interativos por meio de uma programação visual incluindo

jogos, animações e simulações.

Este ambiente foi projetado para ser usado especialmente por crianças e

adolescentes entre 8 e 16 anos de idade [Scratch, 2017], mas nada impede que seja

utilizado, como de fato acontece, por pessoas de outra faixa etária, seja para auxiliar no

ensino de programação de computadores, lógica matemática, auxiliar no

desenvolvimento de habilidades relacionadas ao raciocínio e encontrar soluções para

problemas diversos.

III Escola Regional de Informática do Piauí. Livro Anais - Artigos e Minicursos, v. 1, n. 1, p. 361-381, jun, 2017.www.eripi.com.br/2017 - ISBN: 978-85-7669-395-6

Page 2: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

6.2. Introdução ao Ambiente de Programação Scratch

De maneira simplificada podemos dizer que um programa de computador é um conjunto

de instruções escritas em uma linguagem de programação que diz ao computador o que

o mesmo deve fazer. Existem várias linguagens de programação atualmente, cada uma

com suas particularidades principalmente no que diz respeito às regras de sintaxe.

Escrever um programa de computador portanto, não é uma tarefa trivial para a

maioria das pessoas. É necessário ter um conhecimento da linguagem de programação

além de conceitos de algoritmos e lógica de programação. Tudo isso pode ser muito

desafiador principalmente para os iniciantes. Para as crianças, então, que nunca tiveram

contato com esses assuntos e que ainda estão em idade de formação do pensamento o

desafio se torna ainda maior.

O scratch adota um ambiente de programação visual, no qual o usuário não

precisa escrever códigos, está tudo disponível em blocos coloridos que se encaixam

como um quebra-cabeças, onde o simples fato de arrastar o bloco para área de scripts já

é o suficiente para ordenar uma ação para o computador. O fato de não haver a

necessidade de escrita de código, permite que o scratch tenha uma boa aceitação e seja

utilizado não apenas como ferramenta de entrada para aqueles que querem aprender a

programação e se tornarem profissionais, mas também por crianças e adultos tendo em

vista todos os benefícios já citados acima.

6.2.1. Como Funciona o Ambiente Scratch

Podemos utilizar o Scratch online através do endereço eletrônico

(https://scratch.mit.edu/), no menu Criar. Existe também uma versão offline da

ferramenta com as mesmas funcionalidades que pode ser baixada em

(https://scratch.mit.edu/scratch2download/), a ferramenta está disponível para Windows,

Linux e MAC. É necessário ter instalado o Adobe Air no computador, caso não tenha o

mesmo também está disponível no link.

Observamos na figura 6.2.1 a interface padrão do Scratch, em sua versão atual

(versão 2). Na parte superior esquerda temos a barra de ferramentas, figura 6.2.2, que

apresenta o botão (Scratch), este abre o site do Scratch na internet, seguido pelo botão

de idiomas, o nosso ambiente está configurado para o idioma português brasileiro. Ao

usar o Scratch pela primeira vez, talvez seja necessário acessar o menu de idiomas e

selecionar o idioma português brasileiro.

Page 3: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

Figura 6.2.1. Interface padrão do Scratch.

Figura 6.2.2. Barra de Ferramentas do Scratch.

No menu (Arquivo), temos as opções de criar um projeto novo através do botão

(Novo); abrir um projeto existente (Abrir); salvar alterações em um projeto (Salvar) e

salvar um novo projeto (Salvar como).

Os projetos do Scratch 2 tem uma extensao de arquivo (.sb2) para distingui-los

dos projetos criados com a versao anterior do Scratch (.sb) [Marji, 2014]. pag33

Podemos gravar animações do projeto (Gravar um projeto de vídeo);

compartilhar seu projeto na Web (Compartilhar no site), é necessário ter uma conta no

site do Scratch para poder compartilhar; buscar atualizações da ferramenta (Verificar

atualizações); e fechar o aplicativo (Sair).

Através do menu (Editar), podemos trazer de volta a última ação ou

funcionalidade que você apagou (Recuperar); diminuir o tamanho do Palco (Figura

6.2.3) para proporcionar mais espaço à Área de Script (Figura 6.2.11), através da opção

(Disposição com palco pequeno); aumentar a velocidade de execução de alguns blocos

(Turbo Mode). Quando utilizamos blocos que realizam operações demoradas como

movimentos longos podemos optar por esse modo a fim de testarmos e verificarmos

nosso script em menos tempo.

Page 4: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

Figura 6.2.3. Palco

O menu (Dicas) abrirá a janela de dicas conforme a figura 6.2.4, nela

encontramos uma série de projetos desenvolvidos que podemos carregar, visualizar e

customizar seus blocos de scripts.

Figura 6.2.4. Janela de dicas

O menu (Sobre) abrirá a página Web do Scratch na seção sobre, que contém

informações relevantes sobre o Scratch.

No centro da nossa tela, conforme figura 6.2.1, encontra-se as ferramentas de

cursor (Figura 6.2.5), onde encontramos respectivamente as funções de duplicar um

objeto em (1), apagar um objeto em (2), ampliar o tamanho de um objeto em (3) e

reduzir o tamanho de um objeto em (4), estas duas funcionam apenas para elementos

Page 5: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

que estejam no palco. Por fim o botão ajuda em (5), basta clicar no botão e depois clicar

sobre um elemento que a janela de dicas será aberta com uma séria de informações

sobre o uso do elemento.

Figura 6.2.5. Ferramenta de cursor

6.2.2. Palco

O Stage (Palco) e o local em que os seus atores (sprites) se movem. Os sprites entendem

e obedecem a conjuntos de instruções que você lhes atribui [Marji, 2014]. O Stage tem

480 passos de largura e 360 passos de altura, conforme mostrado na figura 6.2.6. O

centro do Stage tem coordenada x igual a 0 e coordenada y igual a 0 [Marji, 2014].

Figura 6.2.6. O Stage (Palco) e como um plano de coordenadas com o ponto

(0,0) no centro.

Se movermos o mouse sobre o palco, podemos observar o valor em coordenadas

da localização atual do cursor do mouse. Na figura 6.2.3, no item 5, temos os valores

x:240 e y: -40, indicando a posição ocupada pelo cursor durante a captura dessa

imagem.

O item (1) da figura 6.2.3 é o modo de Apresentação, através dele podemos

ocultar todos os scripts de programação e fazer com que o palco ocupe a tela inteira. O

ícone de bandeira verde em (2) e o ícone vermelho em (3) permitem respectivamente

iniciar e terminar o seu programa.

6.2.3. Lista de Atores

A figura 6.2.7 mostra a Lista de Atores (Sprite List). Quando iniciamos um novo projeto

um ator padrão, o gato, fica disponível em nosso projeto conforme o item (1) da figura

6.2.7. No item (2) podemos escolher um outro ator do acervo do Scratch. Experimente

selecionar essa opção e trocar o ator padrão por outro. A biblioteca de atores é dividida

em categorias para facilitar nossa escolha por atores adequados ao nosso projeto. Caso

você queira desenhar seu próprio ator, o item (3) abre uma ferramenta de desenho (Paint

Editor). Para mais informações sobre o Paint Editor do Scratch acesse a documentação

oficial em: https://wiki.scratch.mit.edu/wiki/Paint_Editor.

Você pode carregar um ator a partir de outros arquivos de imagem através do item (4)

ou através de uma câmera conectada ao seu computador item (5).

O item (6) da figura 6.2.7 mostra o plano de fundo do Palco que, por padrão,

vem em branco. As mesmas operações que podem ser realizadas com os atores também

Page 6: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

pode ser realizadas com os planos de fundo e na mesma ordem apresentada no parágrafo

anterior através dos itens 7, 8, 9, e 10 da figura 6.2.7.

Cada Sprite de seu projeto tem seus proprios scripts, fantasias e sons [Marji,

2014]. Voce pode selecionar qualquer Sprite e ver os seus pertences. (1) Clique na

miniatura do Sprite na Lista de Sprites ou (2) de um clique duplo no proprio Sprite no

Stage. A miniatura do Sprite selecionado no momento sempre estara em destaque,

contornada com uma borda azul. Ao selecionar um Sprite, voce podera acessar seus

scripts, suas fantasias e os sons ao clicar em uma das tres abas localizadas acima da

Area de Scripts.

Figura 6.2.7. Lista de Atores

Clicando no botão direto do mouse sobre um ator teremos as opções conforme a

figura 6.2.8, temos em (1), o menu (info) nos mostra informações acerca do ator

conforme a figura 6.2.9, nela podemos alterar o nome do ator através do campo texto

(1); verificar sua posição no palco, conforme os eixos x e y em (2); alterar sua direção

em relação ao palco em (3), optar por um estilo de rotação (4), optar por permitir que o

ator possa ser arrastado pelo palco em (5) e por último a opção de exibir ou não o ator

em (6). Nas próximas sessões falaremos sobre direção e rotação.

Figura 6.2.8. Menu pop-up na Lista de Atores

Figura 6.2.9. Informações sobre o autor

Page 7: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

Voltando à figura 6.2.8, no menu (duplicar), opção (2), é possível criarmos uma

cópia para nosso ator alterando apenas o nome; no menu (apagar), opção (3), apagamos

o ator; a opção (4), (salvar em arquivo local), salva um ator com todos os seus

conteúdos no computador com a terminação .sprite2; a última opção (esconda), em (5),

tem a mesma função do campo mostrar na figura 6.2.9, que faz com que o ator seja ou

não exibido no Palco.

6.2.4. Aba de Blocos

Os blocos são instruções que desejamos que os objetos do projeto realizem. No Scratch

os blocos estão divididos em 10 categorias conforme figura 6.2.10. Cada categoria

agrupa blocos com funcionalidades específicas. A categoria de (Movimento), por

exemplo, é formada por um grupo de blocos que tratam dos movimentos que um ator é

capaz de realizar. Tente selecionar categoria de (Movimento) e em seguida dar um

clique duplo sobre o bloco (mova 10 passos) em (1). Se tudo der certo, você verá o ator

se movimentar 10 passos para direita.

Page 8: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

Figura 6.2.10. Aba de scripts.

Experimente clicar em outros blocos da categoria de movimentos e fique atento

às ações do ator. Já conhecemos a aba de blocos e como ela funciona, nas próximas

sessões serão apresentadas situações onde utilizaremos blocos de outras categorias, por

enquanto ficaremos por aqui.

6.2.5. Área de Scripts

Na sessão anterior, conseguimos reproduzir um movimento com nosso ator clicando

duas vezes sobre o bloco de movimento desejado, isso é possível porque o Scratch nos

fornece uma pré-visualização das ações de todos os blocos, mas repare que esse tipo de

ação não é desejada em um projeto real, nós queremos dar dinamismos aos nossos

projetos e para isso as ações devem ocorrer de forma contínua e automática em tempo

de execução. Então como faremos isso? A resposta é simples, basta utilizarmos a Área

de Script.

Page 9: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

A Área de Script, demonstrada na figura 6.2.11, é onde programaremos as ações

que desejamos executar através dos blocos, para isso, basta clicar sobre um determinado

bloco e arrasta-lo para a Área de Script. Vamos tentar? (1) Na aba de blocos, selecione a

categoria de eventos, essa categoria agrupa os blocos responsáveis por detectar eventos

que possam ocorrer durante a execução do nosso projeto, tais como: detecção de um

clique do mouse, uma tecla do teclado, entre outros; (2) clique sobre o bloco (quando

clicar em), arraste o bloco para a Área de Script; em seguida (3) selecione a categoria

(Controle), localize o bloco (repita 10 vezes); (4) arraste o bloco para a Área de Script,

note que as margens inferiores do bloco (quando clicar em) ficarão com efeito branco,

isso significa que os dois blocos se encaixam como duas peças de quebra-cabeças sendo

compatível a execução de um após o outro; (5) selecione a categoria (Movimento) e

procure pelo bloco (mova 10 passos); (6) arraste o bloco para a Área de Script, perceba

que existe um espaço interno no bloco (repita 10 vezes); (7) encaixe o bloco (mova 10

passo) dentro do bloco (repita 10 vezes); (8) em seguida selecione a categoria aparência;

(9) clique sobre o bloco (próxima fantasia); (10) arraste o bloco para o interior do bloco

(repita 10 vezes) de modo que fique encaixado ao bloco (mova 10 passos). Ao final a

Área de Script deve estar como a figura 6.2.11.

Figura 6.2.11. Área de Script

Para executarmos nosso projeto vamos clicar na bandeira verde do Palco item

(1), figura 6.2.3. Perceba que nosso ator caminha 10 passos para direita. Vamos

entender um pouco melhor nosso script. Repare na figura 6.2.11, o bloco (1) é um bloco

de evento que detecta um clique no botão da bandeira verde do palco, quando este

clique for detectado o próximo bloco a ser executado será o bloco (2), este é um bloco

de repetição que faz com o que todos os blocos que estejam dentro dele sejam

executados um número finito de vezes, no nosso exemplo 10 vezes, o bloco (3) é um

bloco de movimento e faz com que o nosso ator mova-se 10 vezes conforme nosso

exemplo, o bloco (4) é um bloco de aparência que faz com que nosso ator troque sua

fantasia para a próxima fantasia disponível. Aprenderemos mais sobre fantasias na

Page 10: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

sessão Aba de Fantasias. Os blocos (3) e (4), serão repetidos por 10 vezes nessa ordem,

dessa forma temos a percepção de movimento do nosso ator.

6.2.6. Aba de Fantasias

No exemplo anterior, utilizamos o bloco (próxima fantasia), mas o que é fantasia?

Fantasia é uma imagem de estado do nosso ator, aparência física que podemos trocar

para dar mais realismo aos nossos atores. Observe a figura 6.2.12, onde temos em (1) a

fantasia1 e em (2) a fantasia2, perceba que existe uma diferença entre as duas imagens,

então fizemos com que nosso ator trocasse a sua fantasia para simular um movimento de

suas pernas.

Na figura 6.2.12 nos botões (3), (4), (5) e (6) temos as mesmas funcionalidades

presentes na Lista de Atores, com a diferença que aqui não estamos adicionando novos

atores ao nosso projeto, mas novas fantasias. Na caixa de texto podemos também

nomear as nossas fantasias.

Figura 6.2.12. Aba de Fantasias.

Clicando com o botão direito do mouse sobre uma fantasia temos o (menu pop-

up fantasia), figura 6.2.13, onde em (1) temos a opção de criar uma cópia da fantasia

selecionada; em (2) podemos apagar uma fantasia selecionada e, por fim, em (3)

podemos salvar essa fantasia em um arquivo.

Page 11: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

Figura 6.2.13. Menu pop-up na Aba de Fantasias

6.2.7 Aba de Sons

Para tornar nossos projetos ainda mais divertidos podemos adicionar sons aos nossos

atores. Na Aba de Sons, figura 6.2.14, podemos observar o som padrão do nosso projeto

em (1). Assim como na Aba de Fantasias, também podemos inserir outros sons em

nosso projeto. Clicando no botão (2), abrimos a biblioteca de sons, composta por várias

categorias, para escolher um som basta seleciona-lo e clicar em OK.

Na Aba de Sons também temos a opção de gravar um som a partir de um

microfone conectado ao computador, para isso, basta clicarmos no botão (3), em

seguida botão (7) para iniciar a gravação. É possível controlar o volume do microfone

através da barra de ajuste, item (8).

No botão (4), podemos importar um som do nosso computador, apenas sons no

formato MP3 e WAV são permitidos. Os botões (5) e (6) são respectivamente, o play

para reproduzir o som e stop para parar.

Page 12: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

Figura 6.2.14. Aba de Sons

Figura 6.2.15. Menu pop-up na aba de sons

Clicando com o botão direito do mouse sobre um som, veremos as opções de

duplicar o som em (1), que cria uma cópia do mesmo som na Aba de Sons, porém com

nome diferente; apagar um som em (2) e salvar em arquivo local (3), nos formatos

WAV ou MP3. Para obter mais informações sobre sons no Scratch acesse a

documentação original em: https://wiki.scratch.mit.edu/wiki/Sounds.

6.3. Metodologia

Os conceitos básicos de programação serão apresentados e demostrados com uso dos

recursos de multimídias da ferramenta aos participantes, ao modo que os mesmos

também estarão acompanhando e praticando com a resolução de problemas no decorrer

do minicurso.

Page 13: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

6.4. Programação Divertida com Scratch

O Scratch oferece muitos recursos como imagens, interações, sons, entre outras

possibilidades que deixam o ato de programar mais atraente e divertido. Nesta secção

será mostrado alguns destes recursos e como podemos utilizá-los para praticar

programação.

6.4.1. Elementos de Movimento, Aparência e Som

Para tornar a programação mais atraente e divertida o Scratch possui ferramentas para

criar programas animados como os recursos da paleta movimento (motion), aparência

(looks) e som (sound).

Os movimentos são realizados por meio de blocos de comandos que fazem o

ator se movimentar pelo palco. Para isso, podemos utilizar comandos que indiquem

exatamente o local, por meio das coordenadas, para onde o ator deve ir [Marji, 2014].

Esses comandos são referentes aos movimentos absolutos do ator.

Mas, caso não tenha as coordenadas do ponto específico para onde o ator deva se

movimentar, você pode utilizar outros comandos para isso, como, por exemplo,

movimentar o ator passo a passo até chegar no local desejado. Esses comandos são

referentes aos movimentos relativos do ator [Marji, 2014].

Além de movimentar os objetos também é possível mudar a aparência do ator

para criar animações, efeitos visuais e até mesmo acrescentar balões para representar

“seus pensamentos” [ScratchBrasil, 2017].

Outro recurso que o Scratch permite é inserir efeitos sonoros e fundo musical

por meio de arquivos de áudio ou por sons de instrumentos predefinidos pelo próprio

Scratch, além da possibilidade, também, de controlar o volume e a velocidade dos sons

[Scratch, 2017].

Para exemplificar o uso dos recursos de movimento, aparência e som, imagine a

seguinte situação: O gato gosta de brincar com a sua bola de tricô, mas não sabe onde

está a sua bola. Vamos ajudar o gato a chegar até sua bola. Para isso vamos utilizar os

comandos de movimento para simular a procura pela bola e levar o gato até ela.

O script da figura 6.4.1 demonstra os blocos e comandos utilizados no ator gato

para movimentá-lo até a sua bola, assim como os recursos de aparência para animação

dos movimentos e o uso de recursos da paleta de som para emitir a onomatopeia do

gato.

Page 14: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

Figura 6.4.1. Script que exemplifica o gato procurando a sua bola.

Observe que utilizamos o recurso da paleta aparência no linha 2 para exibir a

caixinha de pensamento do gato durante 2 segundos. Observe, também, que utilizamos

os comandos de movimentos relativos (linhas 3, 6, 15 e 18) para movimentar o gato, e

que a cada 50 passos dado, pedimos para exibir a próxima fantasia do ator gato e

inserimos um delay de 1 segundo (paleta controle) para gerar o efeito que o gato está

caminhando. Para simular a procurar do gato pela bola, utilizamos os comandos nas

linhas 9 e 12 para girar o gato para esquerda e direita, e, neste momento, emitir a

onomatopeia do gato (linhas 10 e 13).

Figura 6.4.2. Resultado da execução do script do ator gato.

Page 15: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

Sobre o ator bola foi aplicado o script da figura 6.4.3 para deixar a bola nos

primeiros 4 segundos sem visibilidade para melhor simular a procurado do gato pelo o

seu brinquedo.

Figura 6.4.3. Script aplicado sobre o ator bola.

6.4.2. Programando Tomada de Decisões com Problemas

Os programas naturalmente podem ter vários fluxos de execuções e para que eles

ocorram corretamente devemos inserir instruções que realizem as avaliações

necessárias. O Scratch possui recursos que nos permite comparar valores, avaliar

expressões lógicas e tomar decisões conforme os resultados obtidos de uma operação

[Scratch, 2017].

Uma forma de comparar valores é por meio dos operadores relacionais que

verificam, por exemplo, se um valor X é maior ou menor do que um valor Y. O Scratch

oferece 3 possibilidades de usar esses operadores: maior que , menor que

e igual a [ScratchBrasil, 2017].

Também podemos utilizar outros operadores para nos auxiliar na comparação

dos valores e na tomada de decisões. Os operadores lógicos permitem que avaliemos

expressões lógicas como, por exemplo, descobrir se um aluno está aprovado ou não

(média = 7 ou média > 7 ). No Scratch podemos fazer uso dos seguintes operadores

lógicos [ScratchBrasil, 2017]:

: Para que o resultado seja verdadeiro é necessário que as duas

expressões sejam verdadeiras;

: Para que o resultado seja verdadeiro é necessário que pelo

menos uma das expressões seja verdadeira;

: Se a expressão for verdadeira o resultado é falso e se a expressão

for falsa o resultado é verdadeiro.

Agora que sabemos algumas formas de fazer as comparações de valores, temos

que decidir qual o fluxo que o nosso programa irá tomar diante dos resultados de cada

comparação. Para isso, o Scratch nos permite utilizar “blocos condicionais” conforme

ilustrado na figura abaixo [Marji, 2014].

Page 16: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

Figura 6.4.4. Blocos condicionais do Scratch

Podemos observar na figura 6.4.4, caso a condição seja satisfeita, o primeiro

bloco de comandos será executado. Caso contrário (comando else), o segundo bloco de

comandos é que será executado no lugar do primeiro bloco.

Mas em algum momento podemos querer realizar uma nova avaliação depois de

uma condição ser satisfeita. Chamamos isso de blocos de “SE” aninhados. Veja a figura

6.4.5 para entender melhor como fazer isso.

Figura 6.4.5. Blocos de “SE” aninhados.

Então como mostrado na figura 6.4.6, podemos realizar uma nova avaliação caso

o primeiro “SE” tenha como resultado um valor verdadeiro. Ou seja, podemos inserir

blocos de “SEs” dentro de outros “SEs”. Isso é muito útil para executar instruções que

dependem do resultado de várias avaliações preliminares.

Page 17: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

Para exemplificar o uso destes blocos condicionais, imagine a seguinte situação:

Precisamos comprar Leite, Pão e Café. O mercadinho do senhor cat é o lugar onde

podemos comprar os produtos mais baratos: Leite de R$ 2,00 reais, Pão de R$ 3,00 reais

e Café de R$ 4,00 reais. Sendo assim, vamos até o mercadinho verificar se temos

dinheiro suficiente para comprar os produtos desejados.

O script da figura 6.4.6 demonstra os blocos utilizados para exemplificar a

situação anterior.

Figura 6.4.6. Script para exemplificar o uso do “SE”.

Observe que iniciamos nosso script com um recurso para interagir com o usuário

(linha 2) para que possamos informa o valor que temos em dinheiro e, assim, o senhor

cat nos informa se temos dinheiro suficiente para realizar as compras. Este recurso pode

ser encontrado na paleta “Sensores”. No primeiro “SE” (linha 3) estamos verificando se

temos dinheiro suficiente para comprar algum produto, ou seja, se tivermos menos de

R$ 2 reais não temos dinheiro suficiente para comprar nenhum produto. Caso contrário,

(linha 5) vamos analisar as outras possibilidades que temos de comprar algum produto,

ou até mesmo todos os produtos (linha 14).

Page 18: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

6.4.3. Programando Repetições com Problemas

Bom, certamente iremos precisar que algumas instruções sejam repetidas algumas

vezes, seja por uma quantidade determinada ou quantas vezes forem necessárias. As

estruturas que nos permitem fazer isso são os laços de repetições que podem ser laços

definidos (repete um conjunto de instruções por um por uma quantidade informada) ou

laços indefinidos (repete um conjunto de instruções até que uma condição seja satisfeita)

[ScratchBrasil, 2017].

Os blocos de repetição do Scratch são:

: Um conjunto de instruções será executado quantas vezes for

determinado.

: Um conjunto de instruções será executado até que uma

condição seja satisfeita (verdadeira).

: Um conjunto de instruções será sempre executado. É um laço

infinito incondicional.

O bloco de repetição “ Sempre ” é laço infinito incondicional, ou seja, não

existe uma condição que fará a repetição parar. Isso pode ser útil, por exemplo, para

trocar a fantasia de um ator [Marji, 2014]. No entanto o Scratch possui um recurso que

nos permite para a execução de um bloco de repetição: .

Vale destacar que podemos colocar blocos condicionais (blocos de “SE”) dentro

dos blocos de repetições como ilustrado na figura 6.4.6 [Marji, 2014].

Page 19: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

Figura 6.4.7. Exemplo do uso de bloco de repetição com bloco condicional.

Tomando como exemplo a situação citada na seção anterior, vamos inserir um

bloco de repetição que permite ao senhor cat perguntar se desejamos realizar uma nova

compra (ver figura 6.4.6).

Page 20: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

Figura 6.4.8. Script para exemplificar o uso de repetições.

Desse modo, foi inserido as linhas 2, 3, 23 e 24 do exemplo da secção anterior

para permitir a repetição. Agora o script começa com a pergunta se desejamos comprar

algo (linha 2). E logo na próxima linha utilizamos o bloco de repetição para avaliar o

que foi respondido. Caso 1(sim), será executado o script da seção anterior. Caso

contrário, o script é encerrado. Na linha 24 é feito novamente a pergunta para saber se

continuará realizando compras.

6.5. Considerações

O ambiente Scratch possibilita que seja explorado várias habilidades relacionadas a

resolução de problemas, permitindo que estas habilidades sejam usadas não só para

programação, mas também para o dia a dia, para situações cotidianas em que se precise

analisar problemas, levantar alternativas e encontrar soluções.

Além disso, os vários recursos de mídias permitem uma maneira simples de

racionar em busca de uma solução, motivando e estimulando um aprendizado autônomo

Page 21: Programação divertida: aprenda a programar com Scratch. · Existem várias linguagens de programação atualmente, cada uma com suas particularidades principalmente no que diz respeito

e prático. Portanto, o Scratch é uma boa ferramenta para ser aplicada no processo de

ensino-aprendizado de programação.

Referências

Marji, M. (2014). Aprenda a programar com Scratch: Uma introdução visual à programa

ção com jogos, arte, ciência e matemática. Novatec, 1 edition.

Scratch (2017), https://scratch.mit.edu/, Maio.

ScratchBrasil (2017), http://www.scratchbrasil.net.br/, Maio.