Uma introdução visual à programação com jogos, arte, ciência e matemática

Documentos relacionados
Desenvolvendo Websites com PHP

Indira Knight. Novatec

Aditya Y. Bhargava. Novatec

Introdução ao GitHub Peter Bell e Brent Beer

Edécio Fernando Iepsen

Jody Culkin e Eric Hagan

Rodrigo de Barros Paes

Sumário. Prefácio Capítulo 1 Orientação e primeiras etapas Capítulo 2 Dados: trabalhando com texto e números... 40

Sumário. Parte I Elementos essenciais Sobre o autor Sobre o revisor técnico Prefácio... 14

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Blender 3D jogos e animações interativas Allan Brito

Benjamin Bengfort Jenny Kim

Arduino Básico Michael McRoberts

Allen B. Downey. Novatec

Objective-C Fundamental Christopher K. Fairbairn Johannes Fahrenkrug Collin Ruffenach

Criando Relatórios com PHP Pablo Dall Oglio

3ª Edição Nilo Ney Coutinho Menezes

Primeiros Passos com o Arduino

Novatec Editora Ltda

Web Interativa com Ajax e PHP

Guia Mangá. Microprocessadores. Michio Shibuya, Takashi Tonagi e Office Sawa. Novatec

Arduino Básico. 2ª edição. Michael McRoberts. Novatec

Guia Mangá. Álgebra Linear. Shin Takahashi, Iroha Inoue e Trend-Pro Co., Ltd. novatec

Introdução às. Expressões Regulares. Michael Fitzgerald. Novatec

Osvaldo Santana Thiago Galesi

Adriano Pataro. Novatec

Raspberry Pi Manual do Usuário

William Pereira Alves

Análise de Regressão

Aprenda a Programar com Minecraft

Primeiros Passos com o Netduino

Primeiros Passos com Sensores Kimmo Karvinen Tero Karvinen

Miguel Grinberg. Novatec

Shyam Seshadri & Brad Green

Editor: Rubens Prates PY Editoração eletrônica: Carolina Kuwabata Revisão gramatical: Patrizia Zagni Capa: Edinei Gonçalves/Carolina Kuwabata

Jessey Bullock Jeff T. Parker

André Gugliotti. Novatec

PHP. Programando com Orientação a Objetos. Pablo Dall Oglio. Novatec

Matheus Marabesi Michael Douglas

Novatec Editora Ltda

4ª Edição Pablo Dall Oglio

Hélio Engholm Jr. Novatec

Ademir C. Gabardo. Novatec

Guia Prático Richard E. Silverman

Luiz Eduardo Borges. Novatec

Métricas. Como melhorar os principais resultados de sua empresa. Martin Klubeck. Novatec

Ryan Mitchell. Novatec

Ademir Ribeiro dos Passos

jquery Mobile Desenvolva aplicações web para dispositivos móveis com HTML5, CSS3, AJAX, jquery e jquery UI Maurício Samy Silva Novatec

Aaron Newcomb. Novatec

jquery Mobile Desenvolva aplicações web para dispositivos móveis com HTML5, CSS3, AJAX, jquery e jquery UI 2a Edição Maurício Samy Silva Novatec

JavaScript. de Alto Desempenho. Nicholas C. Zakas. Novatec

Ademir Cristiano Gabardo. Novatec

Adrian Pruteanu. Novatec

Jonathan Weber e a equipe da LunaMetrics

Editor: Rubens Prates Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata Assistente editorial: Priscila A.

2ª Edição Cláudio Torres

Ben Vinegar Anton Kovalyov

Allan Liska e Timothy Gallo. Novatec

Guia Mangá Motores elétricos

Pedro Monteiro da Silva Eleutério Marcio Pereira Machado. Novatec

Aravind Shenoy Anirudh Prabhu

desenvolva aplicações web profissionais com uso dos poderosos recursos de estilização das css3 Maurício Samy Silva

Guia Mangá Circuitos Eletrônicos

Programando para. iphone e ipad. Aprenda a construir aplicativos para o ios. André Milani. Novatec

Shelley Powers. Novatec

Karl Matthias Sean P. Kane

Chris Binnie. Novatec

Robson Santos da Silva

Maurício Samy Silva. Novatec

Expressões Regulares Cookbook Jan Goyvaerts Steven Levithan

A Arte de Escrever Programas Legíveis

WordPress 3 Básico Stephanie Leary

Daniel Y. Chen. Novatec

Vinícius Manhães Teles prefácio de Kent Beck colaborações especiais de Kent Beck e Robert Mee

Guia Mangá FISIOLOGIA. Etsuro Tanaka, Keiko Koyama, e Becom Co., Ltd. Novatec

Wolfram Donat. Novatec

Roni Antônio Mendes. Novatec

Harrison Kinsley Will McGugan

Roberto Cohen. Novatec

AngularJS. Uma abordagem prática e objetiva. Michael Henrique R. Pereira. Novatec

Loiane Groner. Novatec

Sérgio de Oliveira. Novatec

Simon Holmes. Novatec

A Linguagem de Programação Go

4ª Edição Revisada e Ampliada Aurelio Marinho Jargas

Semmy Purewal. Novatec

Novatec Editora Ltda

John Resig Bear Bibeault

Introdução à Programação com Python

Guia Mangá Circuitos Eletrônicos

Introdução à Programação com Python

David Hows Peter Membrey Eelco Plugge

Murillo Lo Visco. Novatec

Crie Seu Próprio Site

Primeiros Passos com o Raspberry Pi

4ª Edição Revisada e Ampliada Allan Brito

Transcrição:

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