Aprenda a Programar com Scratch Uma introdução visual à programação com jogos, arte, ciência e matemática Majed Marji novatec
Copyright 2014 by Majed Marji. Title of English-language original: Learn to Program with Scratch, ISBN 978-1- 59327-543-3, published by No Starch Press. Portuguese-language edition copyright 2014 by Novatec Editora Ltda. All rights reserved. Copyright 2014 por Majed Marji. Título original em Inglês: Learn to Program with Scratch, ISBN 978-1-59327-543-3, publicado pela No Starch Press. Edição em Português copyright 2014 pela Novatec Editora Ltda. Todos os direitos reservados. Novatec Editora Ltda. 2014. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Tradução: Lúcia Kinoshita Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-312-3 Histórico de impressões: Julho/2014 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 Email: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec
Sumário Resumido Agradecimentos....15 Introdução....17 Capítulo 1 Introdução ao Scratch....21 Capítulo 2 Movimento e desenho....46 Capítulo 3 Aparência e Sons....70 Capítulo 4 Procedures...91 Capítulo 5 Variáveis....118 Capítulo 6 Tomando decisões...152 Capítulo 7 Repetições: uma exploração mais detalhada dos laços.... 183 Capítulo 8 Processamento de strings...215 Capítulo 9 Listas...244 Apêndice A Compartilhamento e colaboração...277 7
Sumário detalhado Agradecimentos 15 Introdução 17 A quem este livro se destina... 18 Uma nota ao leitor... 18 Recursos... 18 Como este livro está organizado... 19 Convenções utilizadas... 20 Faça você mesmo... 20 Recursos online... 20 Erratas e atualizações... 20 1 Introdução ao Scratch 21 O que é o Scratch?... 21 Faça você mesmo 1.1... 23 O ambiente de programação do Scratch... 23 O Stage.... 24 Faça você mesmo 1.2... 24 Lista de sprites... 24 Faça você mesmo 1.3... 25 A aba Blocks... 26 Faça você mesmo 1.4... 27 A Área de Scripts... 27 Faça você mesmo 1.5... 28 Faça você mesmo 1.6... 29 A aba Costumes... 29 Faça você mesmo 1.7... 30 A aba Sounds... 30 Faça você mesmo 1.8... 31 A aba Backdrops... 31 Faça você mesmo 1.9... 31 Informações sobre o sprite... 31 A barra de ferramentas... 32 O Paint Editor... 33 Definindo o centro de uma imagem... 34 Faça você mesmo 1.10... 35 Definindo a cor transparente... 35 Seu primeiro jogo com o Scratch... 36 Passo 1: Preparar o pano de fundo... 36 Passo 2: Adicionar a raquete e a bola... 37 Passo 3: Iniciar o jogo e fazer seus sprites se moverem... 38 9
Faça você mesmo 1.11... 39 Passo 4: Dar uma animada com sons... 40 Blocos do Scratch: uma visão geral... 41 Operadores aritméticos e funções... 42 Operadores aritméticos... 42 Números aleatórios.... 43 Funções matemáticas.... 43 Resumo.... 43 Problemas... 44 2 Movimento e desenho 46 Utilizando comandos de movimento... 46 Movimento absoluto... 46 Faça você mesmo 2.1... 48 Movimento relativo... 48 Faça você mesmo 2.2... 51 Outros comandos de movimento.... 51 Comandos de caneta e o Easy Draw... 52 Faça você mesmo 2.3... 53 Faça você mesmo 2.4... 54 A eficiência da repetição... 54 Faça você mesmo 2.5... 56 Girando quadrados... 56 Faça você mesmo 2.6... 57 Explorando o comando stamp... 57 Faça você mesmo 2.7... 58 Projetos do Scratch... 58 Pegue o dinheiro... 58 Pegando maçãs... 62 Mais sobre sprites clonados... 64 Resumo.... 66 Problemas... 66 3 Aparência e Sons 70 A paleta Looks (Aparência)... 70 Alterando as fantasias para criar animações... 71 Faça você mesmo 3.1... 72 Sprites que falam e pensam... 73 Faça você mesmo 3.2... 73 Efeitos em imagens... 73 Tamanho e visibilidade... 74 Faça você mesmo 3.3... 75 Camadas.... 75 Faça você mesmo 3.4... 76 A paleta Sound (Som).... 76 Reproduzindo arquivos de áudio... 76 Reproduzindo o som de tambores e outros sons..............................77 10 Sumário
Compondo música... 78 Controlando o volume do som... 79 Faça você mesmo 3.5... 80 Configurando o tempo... 80 Faça você mesmo 3.6... 80 Projetos do Scratch... 80 Dançando no Stage... 80 Fogos de artifício... 84 Resumo.... 87 Problemas... 87 4 Procedures 91 Broadcasting e recepção de mensagens... 92 Enviando e recebendo broadcasts... 93 Broadcasting de mensagens para efetuar a coordenação entre vários sprites.... 94 Criando programas maiores com passos pequenos... 96 Criando procedures por meio de broadcasting de mensagens... 98 Criando o seu próprio bloco... 99 Passando parâmetros para blocos personalizados... 102 Faça você mesmo 4.1... 106 Utilizando procedures aninhadas... 107 Faça você mesmo 4.2... 109 Trabalhando com procedures... 109 Dividindo programas em procedures.... 110 Faça você mesmo 4.3... 112 Criando com procedures... 113 Resumo.... 115 Problemas... 115 5 Variáveis 118 Tipos de dados do Scratch... 119 O que as formas geométricas querem dizer?... 119 Conversão automática de tipos de dados... 120 Introdução às variáveis.... 121 O que é uma variável?... 122 Criando e usando variáveis... 124 Faça você mesmo 5.1... 127 O escopo das variáveis... 128 Alterando variáveis... 130 Faça você mesmo 5.2... 133 Variáveis em clones.... 133 Exibindo monitores de variáveis.... 135 Usando monitores de variáveis em aplicações.... 137 Simulando a Lei de Ohm... 137 Faça você mesmo 5.3... 139 Demonstração de um circuito em série.... 139 Faça você mesmo 5.4... 140 Sumário 11
Visualizando o volume e a área de superfície de uma esfera... 141 Faça você mesmo 5.5... 142 Desenhando uma rosa com n pétalas... 143 Faça você mesmo 5.6... 144 Modelando a distribuição de sementes de girassol... 145 Faça você mesmo 5.7... 146 Obtendo dados de entrada dos usuários... 146 Lendo um número... 147 Lendo caracteres.... 148 Realizando operações aritméticas.... 148 Resumo.... 149 Problemas... 149 6 Tomando decisões 152 Operadores de comparação... 153 Avaliando expressões booleanas... 154 Comparando letras e strings.... 155 Estruturas de decisão... 157 O bloco if... 157 Usando variáveis como flags... 158 O bloco if/else.... 159 Blocos if e if/else aninhados... 161 Programas orientados a menus.... 162 Operadores lógicos... 163 O operador and... 164 O operador or... 165 O operador not... 166 Usando operadores lógicos para verificar intervalos numéricos... 166 Projetos do Scratch... 169 Adivinhe minhas coordenadas... 169 Faça você mesmo 6.1... 171 Jogo de classificação de triângulos... 171 Faça você mesmo 6.2... 174 Seguindo uma linha... 174 Faça você mesmo 6.3... 175 Equação de uma linha.... 176 Faça você mesmo 6.4... 179 Outras aplicações.... 179 Resumo.... 180 Problemas... 180 7 Repetições: uma exploração mais detalhada dos laços 183 Mais blocos relacionados aos laços no Scratch... 184 O bloco repeat until... 185 Faça você mesmo 7.1... 186 Criando um bloco forever if... 186 Faça você mesmo 7.2... 188 12 Sumário
Comandos de interrupção.... 188 Faça você mesmo 7.3... 190 Finalizando um laço de processamento... 190 Validando dados de entrada do usuário... 191 Contadores... 192 Verificação de senha.... 192 Faça você mesmo 7.4... 194 Fazendo a contagem usando um valor constante... 194 Revisando os laços aninhados... 195 Faça você mesmo 7.5... 197 Recursão: procedures que chamam a si mesmas... 198 Faça você mesmo 7.6... 200 Projetos do Scratch... 200 Relógio analógico.... 200 Faça você mesmo 7.7... 202 Jogo de atirar nos pássaros...........................................202 Faça você mesmo 7.8... 206 Simulação de queda livre... 206 Faça você mesmo 7.9... 209 Simulador do movimento de um projétil.... 209 Faça você mesmo 7.10... 211 Outras aplicações.... 212 Resumo.... 212 Problemas... 213 8 Processamento de strings 215 Revisando o tipo de dado string... 215 Contando caracteres especiais em uma string... 216 Comparando caracteres de strings... 217 Faça você mesmo 8.1... 219 Exemplos de manipulação de strings... 219 Igpay Atinlay... 219 Faça você mesmo 8.2... 221 Corrija minha ortografia... 221 Faça você mesmo 8.3... 223 Desembaralhe... 223 Projetos do Scratch... 226 Acerte o alvo... 226 Faça você mesmo 8.4... 228 Conversor de binário para decimal.... 229 Faça você mesmo 8.5... 230 Faça você mesmo 8.6... 232 Forca.... 232 Faça você mesmo 8.7... 236 Tutor de frações... 237 Faça você mesmo 8.8... 241 Resumo.... 242 Problemas... 242 Sumário 13
9 Listas 244 As listas no Scratch... 245 Criando listas... 245 Faça você mesmo 9.1... 247 Comandos de lista... 247 Faça você mesmo 9.2... 249 Verificação de limites... 250 Listas dinâmicas.... 251 Preenchendo listas com dados fornecidos pelo usuário... 251 Criando um gráfico de barras... 253 Faça você mesmo 9.3... 256 Listas numéricas... 256 Descobrindo os valores mínimo e máximo... 256 Faça você mesmo 9.4... 257 Encontrando a média... 257 Faça você mesmo 9.5... 258 Fazendo pesquisas em listas e ordenando-as.... 258 Busca linear... 258 Frequência de ocorrência... 259 Faça você mesmo 9.6... 261 Bubble sort.... 261 Faça você mesmo 9.7... 264 Encontrando a mediana.... 264 Projetos do Scratch... 265 O poeta.... 265 Faça você mesmo 9.8... 266 Jogo de classificação de quadriláteros... 266 Faça você mesmo 9.9... 268 Mago da matemática... 269 Faça você mesmo 9.10... 272 Jogo de perguntas sobre a anatomia das flores... 272 Outras aplicações.... 274 Faça você mesmo 9.11... 274 Resumo.... 275 Problemas... 275 A Compartilhamento e colaboração 277 Criando uma conta no Scratch... 277 Usando a mochila... 279 Criando o seu próprio projeto... 281 Iniciando um novo projeto... 281 Fazendo a remixagem de um projeto... 283 A página do projeto... 283 Compartilhando o seu projeto... 284 14 Sumário