You are on page 1of 113

Ensinando Cincia da Computao sem o uso do computador

Criado por Tim Bell, Ian H. Witten e Mike Fellows

Adaptado para uso em sala de aula por Robyn Adams e Jane McKenzie Ilustrado por Matt Powell
Traduo coordenada por Luciano Porto Barreto
Fevereiro de 2011

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Prefcio edio brasileira


Em um mundo cercado por tecnologia, torna-se cada vez mais raro encontrar material educacional ldico e de fcil aplicao em escolas. O livro Computer Science Unplugged consiste em uma coleo de atividades desenvolvidas com o objetivo de ensinar os fundamentos da Cincia da Computao sem a necessidade de computadores. Uma grande vantagem dessa abordagem reside na sua independncia de recursos de hardware ou software. Assim, as atividades desplugadas so passveis de aplicao em localidades remotas com acesso precrio de infraestrutura (i.e., sem energia eltrica ou computadores disponveis) e podem at ser ministradas por no especialistas em computao. Os contedos abordados nas atividades repousam sobre conceitos fundamentais da Cincia da Computao, o que torna seu uso abrangente e evita a defasagem do contedo no tempo. Tais atividades tm sido aplicadas e revisadas por diversos pesquisadores e professores ao redor do mundo dentro de salas de aulas e fora delas. O site do projeto do projeto Unplugged (www.csunplugged.org) disponibiliza o livro gratuitamente em diversos idiomas e prov atividades extras e vdeos demonstrativos. O livro est estruturado em trs partes: Representando as Informaes, Algoritmos e Representando Procedimentos. A primeira parte apresenta atividades que ilustram as formas utilizadas pelos computadores na representao dos dados tratando de temas como armazenamento e representao da informao (nmeros binrios, texto e imagens) e compresso de dados. A parte sobre Algoritmos aborda mtodos computacionais de uso freqente no cotidiano tais como os algoritmos de ordenao e de busca de informao. A ltima parte Representao de Procedimentos apresenta conceitos mais avanados, a exemplo dos autmatos de estados finitos, grafos e das linguagens de programao. O livro abarca um rol importante de conceitos e respectivas atividades ldicas relativas computao, a exemplo da representao da informao (nmeros binrios e alfabetos), ordenao e busca de dados, autmatos de estados finitos, grafos e ocorrncia e situaes de impasse (deadlocks). Tais atividades podem ser executadas sem o uso do computador; algumas delas podem ser realizadas ao ar livre, o que representa diferencial importante em relao aos processos de aprendizagem convencionais. Portanto, deixe seu computador um pouquinho de lado, junte sua turma e divirta-se !

Luciano Porto Barreto Professor Adjunto - Universidade Federal da Bahia

A 1 verso deste livro contou com o apoio parcial da Fundao de Amparo Pesquisa do Estado da Bahia (FAPESB).

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Introduo
Os computadores esto por toda parte. Todos ns precisamos aprender como us-los e muitos de ns os utilizam todos os dias. Mas como eles funcionam ? Como eles pensam ? E como podem funcionar mais rpido e melhor ? A Cincia da Computao uma rea fascinante que explora tais perguntas. As atividades simples e divertidas deste livro, projetadas para crianas de vrias idades, apresentaro como os computadores funcionam em alguns aspectos - sem que as crianas precisem usar um computador! Este livro pode ser efetivamente utilizado em programas de extenso e aprimoramento, ou mesmo em aulas regulares. Voc no precisa ser um especialista em computao para aproveitar os contedos apresentados com seus filhos. O livro contm uma srie de atividades que expem as informaes de maneira simples. Todos os problemas propostos possuem respostas e cada atividade termina com uma seo entitulada De que se trata tudo isso ?, que explica os elementos relevantes abordados nas atividades. Muitas das atividades so baseadas em conceitos matemticos como, por exemplo, o entendimento dos nmeros binrios, uso de mapas e grafos, problemas envolvendo padres e ordenamento, e criptografia. Outras atividades esto mais relacionadas aos currculos da rea de tecnologia, bem como o conhecimento e a compreenso sobre como funcionam os computadores. As crianas desenvolvem ativamente habilidades de comunicao, resoluo de problemas, criatividade, e cognio num contexto significativo. Este livro foi escrito por trs professores de Cincia da Computao e dois professores de escolas, e est baseado em nossa experincia em sala de aula. Descobrimos que muitos conceitos importantes podem ser ensinados sem usar um computador. Na realidade, por vezes, o computador torna-se apenas uma distrao no processo de aprendizagem. Portanto, desligue o computador e prepare-se para saber realmente o que a Cincia da Computao !

Este livro est disponvel para download gratuito para uso pessoal e educativo, graas ao generoso patrocnio da Google, Inc. Este livro distribudo sob a licena Creative Commons Attribution-NonCommercial-NoDerivs, o que significa que voc livre para copiar, distribuir e exibir este livro, desde que no faa alteraes ao contedo (incluindo a atribuio aos autores e estes termos de licena). Voc no pode usar este livro para fins comerciais e no pode alterar, transformar ou adaptar o seu contedo. Encorajamos o uso deste material em ambientes educativos, e voc est convidado a imprimir o seu prprio exemplar do livro e distribui-lo aos alunos. Agradecemos o envio de perguntas e sugestes, as quais podem ser encaminhadas diretamente aos autores (ver csunplugged.org). Este livro est sendo traduzido para vrios outros idiomas. Favor verificar o site para obter informaes sobre as tradues disponveis.

ii

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

iii

Agradecimentos
Muitas crianas e professores tm ajudado a aperfeioar nossas idias. As crianas e os professores da South Park School (Victoria, BC), Shirley Primary School, Ilam Primary School e Westburn Primary School (Christchurch, Nova Zelndia) serviram de cobaias para muitas atividades. Somos especialmente gratos a Linda Picciotto, Karen Capaz, Bryon Porteous, Paul Cathro, Tracy Harrold, Simone Tanoa, Lorena Woodfield, Lynn e Atkinson por nos acolher em suas salas de aula e dar sugestes importantes para melhoria das atividades. Gwenda Bensemann experimentou vrias das atividades e sugeriu modificaes. Richard Lynders e Sumant Murugesh ajudaram a test-las em sala de aula. Parte das atividades de criptografia foram desenvolvidas por Ken Noblitz. Algumas das atividades foram executadas sob a gide do grupo Mathmania de Victoria, com a ajuda de Kathy Beveridge. Verses anteriores das ilustraes foram feitas por Malcolm Robinson e Gail Williams, e tambm fomos agraciados com os conselhos de Hans Knutson. Matt Powell tambm prestou valiosa assistncia durante o desenvolvimento do projeto Unplugged. Somos gratos ao Brian Mason Scientific and Technical Trust pelo generoso patrocnio nas fases iniciais do desenvolvimento deste livro. Nossos agradecimentos especiais para Paul e Ellen Ruth Howard, que testaram muitas das atividades e ajudaram com uma srie de sugestes teis. Peter Henderson, Bruce McKenzie, Joan Mitchell, Nancy Walker-Mitchell, Gwen Stark, Tony Smith, Tim A. H. Bell1, Mike Hallett, e Harold Thimbleby forneceram igualmente inmeros comentrios proveitosos. Temos uma enorme dvida para com as nossas famlias: Bruce, Fran, Grant, Judith, e Pam, por seu apoio, e Andrew, Anna, Hannah, Max, Michael, e Nikki, que inspiraram grande parte deste trabalho2, e foram quase sempre as primeiras crianas a testar uma atividade. Estamos especialmente agradecidos a Google Inc. por patrocinar o projeto Unplugged e possibilitar que esta edio esteja disponvel para download gratuito. Comentrios e sugestes sobre as atividades so apreciados e podem ser encaminhados para o endereo eletrnico lportoba@ufba.br.

1 2

Nenhuma relao com o primeiro autor. De fato, a atividade de compresso de texto foi inventada por Michael.
Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

iv

Sumrio
Prefcio edio brasileira .................................................................................................. i Introduo ........................................................................................................................... ii Agradecimentos ................................................................................................................. iv Dados: A Matria-primaRepresentando a informao......................................................... 1 Contando os PontosNmeros Binrios ........................................................................... 3 Colorindo com NmerosRepresentao de Imagens.................................................... 14 Voc pode repetir ?Compresso de Texto..................................................................... 23 A Mgica de virar as cartasDeteco e Correo de Erros.......................................... 31 Vinte PalpitesTeoria da Informao............................................................................. 37 Colocando os Computadores para TrabalharAlgoritmos.................................................. 43 Batalha Naval Algoritmos de Busca............................................................................. 45 O mais leve e o mais pesadoAlgoritmos de Ordenao................................................ 64 Seja o mais rpido !Redes de Ordenao ..................................................................... 71 A Cidade Enlameadarvores Geradoras Mnimas....................................................... 76 O Jogo da Laranja Roteamento e Bloqueios nas Redes ................................................ 81 Dizendo aos Computadores o que fazer Representando Procedimentos .......................... 84 Caa ao TesouroAutmatos de Estados Finitos ............................................................ 86 Seguindo InstruesLinguagens de Programao...................................................... 101

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

vi

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Parte I
Dados: A Matria-prima Representando a informao

Dados: A Matria-prima
Como podemos armazenar informaes nos computadores ? A palavra computador tem origem no latim computare, que significa calcular ou adicionar, mas os computadores so hoje mais do que apenas uma gigante calculadora. Eles podem ser uma biblioteca, ajudar-nos a escrever, encontrar informaes, at mesmo reproduzir msicas e filmes. Ento, como eles armazenam toda essa informao ? Acredite ou no, o computador usa apenas dois elementos: zeros e uns! Quais so as diferenas entre dados e informaes ? Dados so a matria-prima, os nmeros com os quais os computadores trabalham. Um computador transforma seus dados em informaes (palavras, nmeros e fotos) que voc e eu podemos compreender. Como nmeros, letras, palavras e imagens podem ser convertidos em zeros e uns ? Nesta seo, aprenderemos sobre os nmeros binrios, como os computadores desenham imagens, como funcionam os aparelhos de fax, qual a forma mais eficaz de armazenar grandes quantidades de dados, como evitar erros e como mensurar o volume de informaes que desejamos armazenar.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Atividade 1
Contando os PontosNmeros Binrios
Sumrio Os dados so armazenados em computadores e transmitidos como uma srie de zeros e uns. Como podemos representar palavras e nmeros usando apenas estes dois smbolos ? Matrias correlacionadas Matemtica: Representao de nmeros em outras bases alm da base decimal. Representao de nmeros na base dois. Matemtica: Sequncias e padres sequenciais; descrio de uma regra para um padro. Padres e relacionamentos com as potncias na base dois. Habilidades Contar Correlacionar Ordenar Idade A partir de 7 anos Material Ser necessrio confeccionar um conjunto de cinco cartes com nmeros binrios (ver pgina 4) para a demonstrao. Cartes A4 com caras sorridentes so igualmente adequados. Cada criana precisar de: Um conjunto de cinco cartes. Faa uma cpia da folha Original para Fotocpia: Formar Nmeros Binrios (pgina 6) em cartolina e recorte os cartes. Folha de Atividade: Nmeros Binrios (pgina 5) Existem atividades de extenso adicionais, para as quais cada criana precisar de: Folha de Atividade: Trabalhar com Nmeros Binrios (pgina 7) Folha de Atividade: Enviar Mensagens Secretas (pgina 8) Folha de Atividade: Correio Eletrnico e Modems (pgina 9) Folha de Atividade: Contar acima de 31 (pgina 10) Folha de Atividade: Mais sobre nmeros binrios (pgina 11)

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Nmeros Binrios
Introduo Antes de iniciar a atividade da pgina 5, pode ser til demonstrar os fundamentos ao grupo. Para esta atividade, so necessrios cinco cartes, conforme mostrado abaixo, com pontos marcados de um lado e nada sobre o verso. Escolha cinco crianas para segurar os cartes de demonstrao na frente da turma. Os cartes devem estar na seguinte ordem:

Discusso O que voc percebeu sobre o nmero de pontos nos cartes ? (Cada carto tem duas vezes mais pontos que o carto sua direita.) Quantos pontos teria o prximo carto colocado esquerda ? (32) E o prximo ...? Podemos usar estes cartes para representar nmeros virando alguns deles para baixo e adicionando os pontos dos cartes com a face para cima. Pea s crianas para representarem os nmeros 6 (cartes com 4 e 2 pontos), 15 (cartes com 8 , 4 , 2 e 1 pontos e, em seguida, 21 (cartes com 16, 4 e 1 ponto) ... Agora tente contar de zero em diante. O resto da turma deve prestar ateno sobre como os cartes so virados para tentar reconhecer um padro (cada carto virado metade das vezes do que as vezes do carto a sua direita). Talvez voc queira experimentar isso com mais de um grupo. Quando um carto est com a face para baixo, sem mostrar os pontos, este carto representado por um zero. Quando os pontos so exibidos, o carto representado por um. Este o sistema numrico binrio.

Pea s crianas para formarem o nmero 01001. Qual o seu nmero equivalente em decimal ? (9) Como seria o nmero 17 em binrio ? (10001) Faa alguns exemplos at que as crianas compreendam o conceito. H cinco opes de atividades de extenso que podem ser utilizadas como reforo. As crianas devem fazer o maior nmero de atividades possvel.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Folha de Atividade: Nmeros Binrios


Aprendendo a Contar
Ento, voc achava que sabia contar ? Bem, aqui est uma nova forma de fazer isso ! Sabia que os computadores utilizam apenas zeros e uns ? Tudo o que voc v ou ouve no computador - palavras, imagens, nmeros, filmes e at mesmo o som - so armazenados usando apenas estes dois numerais ! Estas atividades ensinaro como enviar mensagens secretas aos seus amigos usando exatamente o mesmo mtodo que um computador.

Instrues
Recorte os cartes da sua folha de atividades e arrume-os com o carto com 16 pontos ao lado esquerdo dos demais, como mostrado aqui:

Certifique-se de que os cartes so colocados exatamente na ordem acima. Agora, vire os cartes para mostrar exatamente cinco pontos. Mantenha as cartas sempre na mesma posio !

Em seguida, descubra como obter os nmeros 3, 12 e 19. H mais de uma maneira de se obter determinado nmero? Qual o maior nmero que voc pode formar ? Qual o menor ? Existe algum nmero que no se pode formar entre o menor e o maior nmero ? Para os mais espertos: Tente formar os nmeros 1, 2, 3, 4, nessa ordem. Depois disso, voc consegue descobrir um mtodo de virar as cartas que permita formar qualquer nmero ?

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Original para fotocpia: Formar Nmeros Binrios

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Folha de Atividade: Trabalhar com Nmeros Binrios


O sistema binrio utiliza o zero e o um para representar se um carto est virado para cima ou no. O 0 indica que os pontos do carto esto escondidos, e o 1 significa que os pontos do carto so visveis. Por exemplo:

Vocs podem descobrir o nmero representado por 10101 ? E que tal 11111 ? Em qual dia do ms voc nasceu ? Escreva-o em formato binrio. Descubra os aniversrios dos seus amigos em formato binrio.

Tente decifrar os seguintes nmeros codificados:

Para os mais espertos: Usando um conjunto de varas de comprimento 1, 2, 4, 8 e 16 centmetros, mostre como possvel medir qualquer objeto de at 31 centmetros. Ou ento, surpreenda um adulto mostrando-lhe como voc consegue pesar objetos pesados, tais como malas ou caixas, com apenas uma balana e alguns pesos.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Folha de Atividade: Enviar Mensagens Secretas


Tom est preso no ltimo andar de uma loja. noite de Natal e ele quer ir para casa com seus presentes. O que ele pode fazer ? Ele tentou chamar algum, at mesmo gritar, mas no h ningum por perto. Do outro lado da rua ele pode ver uma pessoa ainda trabalhando em seu computador at tarde da noite. Como ele poderia atrair sua ateno ? Tom olha em volta para ver o que poderia usar. Ento, ele tem uma brilhante idia: utilizar as lmpadas da rvore de Natal para enviar uma mensagem ! Ele coletou todas as lmpadas disponveis e as conectou aos bocais de forma que pudesse acend-las ou apag-las. Ele usou um cdigo binrio simples, que ele sabia ser de conhecimento da mulher do outro lado da rua. Voc pode identificar a mensagem enviada por Tom ?

10

11

12

13

a
14

b
15

c
16

d
17

e
18

f
19

g
20

h
21

i
22

j
23

k
24

l
25

m
26

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Folha de Atividade: Correio Eletrnico e

Modems

Os computadores conectados Internet atravs de um equipamento conhecido por modem tambm utilizam o sistema binrio para enviar mensagens. A nica diferena que eles usam um sinal sonoro ou bip. Um bip agudo utilizado para o um e um bip grave utilizado para o zero. Estes sinais so transmitidos rapidamente. To rpido, na verdade, que apenas ouvimos um horrvel zumbido contnuo. Se voc nunca o ouviu, oua um modem conectar-se Internet ou tente ligar para uma mquina de fax as mquinas de fax tambm usam modems para enviar informao.

Usando o mesmo cdigo que Tom utilizou na loja, tente enviar uma mensagem de correio eletrnico ao seu amigo. Mas facilite as coisas para voc e seu amigo, pois vocs no precisam ser to rpidos quanto um modem de verdade !

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Folha de Atividade: Contar acima de 31


Veja os cartes binrios novamente. Quantos pontos teria o prximo carto na sequncia ? E o carto seguinte ? Qual regra voc pode seguir para fazer seus novos cartes ? Como voc pode perceber, so necessrios somente alguns poucos cartes para contar at nmeros muito grandes. Observando atenciosamente a sequncia, notamos uma relao muito interessante:

1, 2, 4, 8, 16
Calcule 1 + 2 + 4 = ? Qual o resultado ? Agora, some 1 + 2 + 4 + 8 = ? O que acontece se voc somar todos os nmeros desde o incio ? Voc j colocou todos os seus dedos para trabalhar ? Pois agora seus dedos podem contar e ir muito alm do nmero dez. No, voc no precisa ser de outro planeta ! Se utilizar o sistema binrio e deixar que cada dedo de uma mo represente um dos cartes com pontos, ento pode contar de zero a 31. Ao total, temos 32 nmeros. (No se esquea de que o zero tambm um nmero!) Tente contar sequencialmente utilizando seus dedos. Se o dedo estiver para cima, um, e, se estiver para baixo, zero. Voc pode contar de 0 a 1023 se usar as duas mos ! So 1024 nmeros ! Se os dedos dos seus ps forem realmente flexveis (se voc fosse de outro planeta), seria possvel obter nmeros ainda maiores. Se uma mo pode contar at 32 e duas mos podem contar at 32 32 = 1024, qual o maior nmero que a senhorita Flex abaixo pode contar ?

10

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Folha de Atividade: Mais Sobre Nmeros Binrios


1. Outra situao interessante dos nmeros binrios acontece quando um zero colocado ao lado direito de um nmero. Se estivermos trabalhando na base 10 (decimal), ao colocarmos um zero ao lado direito de um nmero, este multiplicado por 10. Por exemplo, 9 torna-se 90, 30 torna-se 300. Mas o que acontece quando voc coloca um 0 direita de um nmero binrio ? Tente isto:

1001 10010
(9) (?) Tente com outros nmeros para testar sua hiptese. Qual a regra ? Por que voc acha que isso acontece ? 2. Cada um dos cartes que utilizamos at agora representa um bit no computador (bit a abreviao do termo ingls binary digit - dgito binrio). Dessa forma, o cdigo alfabtico que utilizamos at ento pode ser representando usando apenas cinco cartes, ou bits. Entretanto, um computador deve saber se as letras so maisculas ou no, e deve tambm reconhecer dgitos, sinais de pontuao e smbolos especiais como $ ou ~. Procure um teclado e veja quantos caracteres um computador tem que representar. Ento, quantos bits so necessrios para um computador armazenar todos os caracteres ? A maioria dos computadores atualmente utiliza uma representao chamada ASCII (American Standard Code for Information Interchange - Cdigo Padro Americano para Intercmbio de Informao), que utiliza essa quantidade de bits para representar os caracteres, mas alguns pases em que se falam outros idiomas precisam utilizar cdigos maiores.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

11

De que se trata tudo isso ?


Os computadores atualmente utilizam o sistema binrio para representar informaes. Chama-se binrio porque utiliza dois dgitos distintos. Tambm conhecido como base dois (as pessoas utilizam no dia-a-dia a base 10). Cada zero ou um chamado de bit (dgito binrio). Um bit normalmente representado na memria principal do computador por um transistor, que pode estar ligado ou desligado, ou um capacitor, que pode estar carregado ou descarregado.

Quando os dados devem ser transmitidos por uma linha telefnica ou enlace de rdio, tons de alta e baixa freqncia so utilizados para os zeros e uns. Em discos magnticos (disquetes e discos rgidos) e fitas, os bits so representados pela direo de um campo magntico sobre uma superfcie revestida, podendo ser norte-sul ou sul-norte.

CDs de udio, CD-ROMs e DVDs armazenam bits de forma tica a parte da superfcie correspondente a um bit reflete ou no a luz.

Um nico bit no consegue representar muito. Por isso, os bits so utilizados geralmente em grupos de oito, podendo representar nmeros de 0 a 255. Um grupo de oito bits chamado de byte. A velocidade de um computador depende do nmero de bits que este pode processar de uma s vez. Por exemplo, um computador de 32 bits pode processar nmeros de 32 bits em uma nica operao, ao passo que um computador de 16 bits divide os nmeros de 32 bits em partes menores, o que o torna mais lento. Em suma, bits e bytes so tudo que um computador utiliza para armazenar e transmitir nmeros, texto e todas as outras informaes. Em algumas das atividades seguintes veremos como outros tipos de informaes podem ser representados em um computador.

12

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Solues e dicas
Nmeros Binrios
(pgina 5) 3 requer os cartes 2 e 1 12 requer os cartes 8 e 4 19 requer os cartes 16, 2 e 1 Existe somente uma maneira de formar um determinado nmero. O maior nmero que voc pode representar 31. O menor 0. Voc pode formar qualquer nmero dentro dessa faixa e cada um deles tem uma nica representao. Para os mais espertos: Para incrementar qualquer nmero em uma unidade, vire os cartes indo da direita para a esquerda at que voc deixe um carto com a face para cima (nmero um).

Trabalhando com binrios (pgina 7)


10101 = 21 ; 11111 = 31 Nmeros codificados (figuras da esquerda para direita): 01001 = 9; 1010 = 10; 101 = 5; 1101 = 13; 00000 = 0; 10001 = 17; 10 = 2; 10100 = 20; 0 = 0; 11111 = 31.

Enviando mensagens secretas (pgina 8)


Mensagem codificada: AJUDE ESTOU PRESO

Contando acima de 31 (pgina 10)


Se voc adicionar os nmeros desde o incio, o total ser sempre o nmero seguinte da sequncia subtrado de um. A senhorita Dedos Flexveis pode contar at 1024 1024 = 1.048.576 de 0 a 1.048.575 !

Mais sobre Nmeros Binrios (pgina 11)


Quando voc coloca um zero direita de um nmero binrio, esse nmero dobrado. Todos os locais contendo um 1 valem agora duas vezes seu valor anterior, e assim o nmero total duplicado. (Na base 10, acrescentando um zero direita do nmero multiplica-o por 10.) Um computador precisa de 7 bits para armazenar todos os caracteres. Isto permite representar at 128 caracteres. Geralmente os 7 bits so armazenados em um byte (8 bits), com um bit no utilizado.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

13

Atividade 2
Colorindo com NmerosRepresentao de Imagens
Sumrio Os computadores armazenam desenhos, fotografias e outras imagens usando apenas nmeros. A atividade seguinte demonstra como eles podem fazer isso. Matrias correlacionadas Matemtica: Explorao de Formas e Espaos. Habilidades Contagem Desenho Idades A partir de 7 anos Material Transparncia feita a partir da folha Transparncia: Colorindo com nmeros (pgina 16) Cada criana precisar de: Folha de Atividade: Mini Fax (pgina 17) Folha de Atividade: Crie sua prpria imagem (pgina 18)

14

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Colorindo com Nmeros


Introduo Questes para discusso 1. O que as mquinas de fac-smile (fax) fazem ? 2. Em quais situaes os computadores precisam armazenar imagens ? (Um programa para desenhar, um jogo com grficos ou um sistema multimdia.) 3. Como os computadores armazenam fotos, se estes s podem utilizar nmeros? (Voc pode organizar as crianas para enviar e / ou receber um fax como preparao para esta atividade) Demonstrao utilizando um projetor de transparncias

As telas dos computadores so divididas em uma grade de pequenos pontos chamados pixels (do ingls, picture elements - elementos de imagem). Em uma foto em preto e branco, cada pixel ou preto ou branco. Na imagem acima, a letra a foi ampliada para mostrar os pixels. Quando um computador armazena uma imagem, basta armazenar quais pontos so pretos e quais pontos so brancos.

1, 3, 1 4, 1 1, 4 0, 1, 3, 1 0, 1, 3, 1 1, 4
A figura acima nos mostra como uma imagem pode ser representada por nmeros. A primeira linha consiste de um pixel branco, seguido de trs pixels pretos e, por fim, de um pixel branco. Assim, a primeira linha representada por 1, 3, 1. O primeiro nmero sempre se refere ao nmero de pixels brancos. Se o primeiro pixel for preto, a linha comear com um zero. A folha de atividade na pgina 22 apresenta algumas imagens que as crianas podem decodificar utilizando este mtodo.
Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

15

Transparncia: Colorindo com nmeros

A letra a a partir da tela de um computador e uma viso ampliada mostrando os pixels que compem a imagem

1, 3, 1 4, 1 1, 4 0, 1, 3, 1 0, 1, 3, 1 1, 4
A mesma imagem codificada com nmeros

Grade em branco (para fins didticos)

16

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Folha de Atividade: Mini Fax


A primeira imagem a mais fcil e a ltima a mais complexa. fcil cometer erros. Portanto, procure usar um lpis para colorir e uma borracha !
4, 11, 3 4, 9, 2, 1, 2 4, 9, 2, 1, 2 4, 11, 3 4, 9, 5 4, 9, 5 5, 7, 6 0, 17, 1 1, 15, 2

6, 5, 2, 3,2 4, 2, 5, 2, 3, 1, 1 3, 1, 9, 1, 2, 1, 1 3, 1, 9, 1, 1, 1, 2 2, 1, 11, 1, 3 2, 1, 10, 2, 3 2, 1, 9, 1, 1, 1, 3 2, 1, 8, 1, 2, 1, 3 2, 1, 7, 1, 3, 1, 3 1, 1, 1, 1, 4, 2, 3, 1, 4 0, 1, 2, 1, 2, 2, 5, 1, 4 0, 1, 3, 2, 5, 2, 5 1, 3, 2, 5, 7 6, 6, 6 5, 1, 2, 2, 2, 1, 5 6, 6, 6 4, 2, 6, 2, 4 3, 1, 10, 1, 3 2, 1, 12, 1, 2 2, 1, 3, 1, 4, 1, 3, 1, 2 1, 2, 12, 2, 1 0, 1, 16, 1 0, 1, 6, 1, 2, 1, 6, 1 0, 1, 7, 2, 7, 1 1, 1, 14, 1, 1 2, 1, 12, 1, 2 2, 1, 5, 2, 5, 1, 2 3, 1, 10, 1, 3 4, 2, 6, 2, 4 6, 6, 6

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

17

Folha de Atividade: Crie Sua Prpria Imagem


Agora que voc sabe como os nmeros podem representar imagens, por que no tentar fazer sua prpria imagem codificada para um amigo ? Desenhe sua imagem na grade superior e, ao terminar, escreva os nmeros de cdigo ao lado da grade inferior. Recorte ao longo da linha pontilhada e d o papel com a grade inferior para um amigo colorir. (Nota: se preferir, voc no precisa usar toda a grade, basta deixar algumas linhas em branco no final, caso sua imagem no ocupe toda a grade.)

18

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Folha de Atividade: Crie Sua Prpria Imagem


Para os mais espertos: Se quiser produzir imagens coloridas, voc pode usar um nmero para representar a cor (por exemplo, 0 para preto, 1 para vermelho, 2 para verde etc.) Dois nmeros so agora usados para representar um grupo de pixels: o primeiro representa o tamanho do conjunto, e o segundo especifica a cor. Tente fazer uma imagem colorida para um amigo. No se esquea de dizer ao seu amigo o nmero correspondente a cada cor.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

19

Variaes e Extenses 1. Tente desenhar com uma folha de papel sobre a grade, de modo que a imagem final possa ser vista sem a grade. A imagem ser mais clara. 2. Ao invs de colorir a grade, as crianas podem utilizar quadrados de papel colante ou colocar objetos em uma grade maior. Ponto para Discusso Geralmente h um limite para o tamanho de um grupo de pixels porque o tamanho representado por um nmero binrio. Como voc representaria um grupo de doze pixels pretos se pudesse somente usar nmeros at sete ? (Uma boa maneira de faz-lo seria codificar um conjunto de sete pixels pretos seguido de um conjunto de zero pixels brancos e de um conjunto de cinco pixels pretos.)

20

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

De que se trata tudo isso ?


Uma mquina de fax basicamente um computador simples que efetua uma varredura sobre uma pgina em preto e branco, armazena-a em, aproximadamente, 1000 2000 pixels, que so transmitidos atravs de um modem para outra mquina de fax. Esta ltima, por sua vez, imprime os pixels em uma pgina. Imagens impressas por fax geralmente tm grandes blocos de pixels brancos (por exemplo, as margens) ou pretos (por exemplo, uma linha horizontal). Imagens coloridas tambm possuem reas repetidas. A fim de economizar o espao de armazenamento necessrio para guardar essas imagens, os programadores podem usar diversas tcnicas de compresso. O mtodo utilizado nesta atividade chamado de run-length coding, uma maneira eficaz de compresso de imagens. Se as imagens no fossem comprimidas, estas levariam muito mais tempo para serem transmitidas e exigiriam muito mais espao para armazenamento. Isto tornaria invivel enviar pginas de fax ou colocar fotos em uma pgina da Internet. Por exemplo, imagens de fax so geralmente comprimidas para aproximadamente um stimo do seu tamanho original. Sem a compresso, estas demorariam sete vezes mais para serem transmitidas ! Fotografias e imagens so freqentemente comprimidas para um dcimo ou at mesmo um centsimo do seu tamanho original (utilizando uma tcnica diferente). Isto permite que um nmero bem maior de imagens seja armazenado em um disco e significa que vlas na Internet levar bem menos tempo. Um programador pode escolher a tcnica mais adequada compresso das imagens que est transmitindo.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

21

Solues e dicas
Respostas da Atividade do Mini Fax

22

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Atividade 3
Voc pode repetir ? Compresso de Texto
Sumrio Desde que os computadores possuam apenas uma quantidade reduzida de espao para armazenar informaes, estes precisavam armazen-las da forma mais eficiente possvel. Isso chamado compresso. Codificar os dados antes de armazen-los e decodific-los, assim que estiverem sendo recuperados, permite ao computador armazenar mais dados ou envi-los mais rapidamente atravs da Internet. Matrias correlacionadas Portugus: Reconhecimento de padres em palavras e texto. Tecnologia: Conhecimento sobre o funcionamento dos computadores. Habilidades Cpia de textos escritos Idades A partir de 9 anos Material Transparncia feita a partir da folha Transparncia: Voc pode repetir ? (pgina 25) Cada criana precisar de: Folha de Atividade: Voc pode repetir ? ! (pgina 26) Folha de Atividade: Para os mais espertos (pgina 27) Folha de Atividade: Curto e grosso (pgina 28) Folha de Atividade: Para os realmente espertos (pgina 29)

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

23

Voc pode repetir ?


Introduo Os computadores devem preservar e transmitir diversos dados. Para no usar muito espao de armazenamento, ou levar muito tempo para enviar informaes atravs de uma conexo via modem, eles comprimem o texto como explicado resumidamente a seguir. Demonstrao e discusso Mostre o poema A Aranha e a Jarra (folha de transparncia da pgina 25). Identifique padres de letras neste poema. Voc consegue encontrar grupos de duas ou mais letras repetidas, ou mesmo palavras ou frases inteiras? (Substitua esses padres por caixas em branco conforme mostrado no diagrama abaixo.)

Aranha arranha Aranha arranha

24

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Transparncia: Voc pode repetir ?

A Aranha e a Jarra
(Nelma Sampaio)
Debaixo da cama tem uma jarra, Dentro da jarra tem uma aranha. Tanto a aranha arranha a jarra, Como a jarra arranha a aranha.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

25

Folha de Atividade: Voc pode repetir ?


Muitas palavras e letras esto faltando no trecho deste lindo poema do ilustre poeta portugus Lus Vaz de Cames (1524?-1580). Voc pode preencher as letras e palavras que faltam para complet-lo corretamente? Voc as encontrar nos retngulos apontados pela seta.

Amor fogo que arde sem se ver, ferida que di e no se sente, um contentamento descontente, dor que desatina sem doer .

Agora escolha um poema ou versinho infantil e construa seu prprio enigma. Certifique-se de que as setas apontem sempre para uma parte anterior do texto. O seu poema deve ser capaz de ser decodificado da esquerda para a direita e de cima para baixo, da mesma forma que lemos um texto. Desafio: Veja quo poucas palavras do texto original voc precisa conservar! Aqui vo algumas sugestes: A Casa e O Pato de Vincius de Moraes. Dica: Tente evitar o uso demasiado de setas. Deixe bastante espao livre em volta das letras e palavras ao escrever de modo que voc tenha espao para os retngulos e as setas que apontam para estes. mais fcil construir o enigma se, primeiro, voc escrever o poema por extenso e depois decidir onde ficaro os retngulos.

26

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Folha de Atividade: Para os mais espertos


Como resolver este enigma ?

Ban

s vezes, textos incompletos apontam para parte dele mesmo. Neste caso, o texto pode ser decodificado corretamente se as letras forem copiadas da esquerda para a direita. Assim, cada letra est disponvel para ser copiada antes de ser necessria. Isso til em computadores nos quais existe uma cadeia grande de caracteres ou padres especficos. Tente desenhar alguns de seus prprios padres. Em computadores as caixas e flechas so representadas por nmeros. Por exemplo,

---

Banana
pode ser escrita como Ban (2,3). "2" significa contar dois caracteres para trs para encontrar o ponto de partida para a cpia,

Ban--e "3" significa copiar trs caracteres consecutivos:

Bana-BananVisto que dois nmeros so usados para codificar estas palavras, normalmente, apenas grupos de duas ou mais letras valem a pena ser comprimidas, caso contrrio, no h economia de espao. O tamanho do arquivo poderia at mesmo aumentar se dois nmeros fossem usados para codificar uma letra. Elabore algumas palavras e as escreva como um computador as escreveria se estas fossem comprimidas. Seus amigos conseguem decodific-las ?

Banana-

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

27

Folha de Atividade: Curto e Grosso


De quantas palavras voc realmente precisa ? Finja que voc um computador tentando armazenar a maior quantidade de informaes em seu disco rgido. Descarte todos os grupos de duas ou mais letras que j tenham ocorrido. Estes so desnecessrios porque podem ser substitudos por uma referncia anterior. Seu objetivo conseguir marcar a maior quantidade possvel de letras.

28

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Em quantidade que pra dar e pra vender.

Pra ver quem chega l no topo pra comer

E sai correndo dando pulos, dando saltos

Na bananeira tem um cacho bem maduro

A bananada que um doce bem escuro

E Vov colhe as bananas pra fazer

A macacada se alvoroa quando v

Banana, bananeira, bananada

Banana

(Nelma Sampaio)

Folha de Atividade: Para os realmente espertos


Prontos para uma compresso realmente difcil ? Quantas letras voc consegue marcar para compresso na histria dos Trs Porquinhos ? Lembrem-se: apenas grupos de dois ou mais caracteres repetidos podem ser eliminados. Boa sorte!

ra uma vez, trs porquinhos que viviam com a sua me. Um dia ela disse-lhes: - Queridos filhos, penso que j so grandinhos para viverem sozinhos e poderem trabalhar. Tm braos fortes e no lhes falta inteligncia para pensar o que melhor para cada um. Primeiro tm que construir suas prprias casas perto uns dos outros e se prepararem para todos os perigos que possam surgir.

Os porquinhos puseram-se a caminho. De todos os trs o pequeno era o mais trabalhador, o do meio era trapalho e o maior era preguioso. Como o maior era preguioso, fez a casa de palha para ser mais rpido. O do meio fez a casa de madeira, pois tambm no gostava muito de trabalhar. Mas, o mais novo, o mais trabalhador, fez a sua com cimento e tijolos. Um dia, apareceu o lobo que, com um sopro, derrubou a casa do mais velho e que, com outro sopro, deitou abaixo a casa do porquinho do meio. Os porquinhos muito amedrontados correram para a casa do irmo mais novo com o lobo correndo atrs deles. O porquinho abriu-lhes a porta rapidamente e, os irmos, entraram muito admirados por verem uma casa to forte e to bonita. O lobo pensava que a derrubaria, soprava e dizia: - Soprarei, soprarei e a sua casa derrubarei! Mas a casa era forte e ele no conseguiu derrub-la. Por isso, muito envergonhado, fugiu e no voltou mais. Os trs porquinhos continuaram morando na casa de tijolos e viveram felizes para sempre.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

29

De que se trata tudo isso ?


A capacidade de armazenamento dos computadores cresce num ritmo incrvel nos ltimos 25 anos, esta quantidade de armazenamento em um computador tpico cresceu cerca de um milho de vezes mas ainda encontramos mais coisas para colocarmos em nossos computadores. Os computadores podem armazenar livros ou at mesmo bibliotecas e, agora, msica e filmes tambm, se houver espao. Arquivos grandes so igualmente um problema na Internet porque demoram muito tempo para serem baixados. Alm disso, tentamos reduzir os computadores cada vez mais at mesmo um relgio de pulso ou celular pode armazenar grandes quantidades de informao ! Entretanto, existe uma soluo para este problema. Ao invs de comprar mais espao de armazenamento ou um modem mais rpido, podemos comprimir os dados para que estes ocupem menos espao. Tal processo de compresso e descompresso de dados geralmente feito automaticamente pelo computador. Assim, notamos que o disco possui mais espao disponvel ou que as pginas da Internet so exibidas mais rapidamente, porm, o computador est, na verdade, realizando mais processamento. Vrios mtodos de compresso foram inventados. O mtodo utilizado nesta atividade, baseado no princpio de apontar para ocorrncias anteriores de blocos de texto, muitas vezes referido como codificao Ziv-Lempel ou codificao LZ, e foi inventado por dois professores israelenses na dcada de 1970. Este mtodo pode ser usado para qualquer idioma e pode facilmente reduzir metade o tamanho dos dados a serem compactados. , por vezes, referido como zip em computadores pessoais, tambm utilizado em imagens do tipo GIF, bem como em modems de alta velocidade. No caso dos modems, este mtodo reduz a quantidade de dados que precisam ser transmitidos atravs da linha telefnica, sendo assim bem mais rpido. Alguns outros mtodos so baseados na idia de que as letras usadas mais freqentemente deveriam ter cdigos menores do que as outras. O Cdigo Morse utilizou esta idia.

Solues e dicas
Voc pode repetir ? (pgina 26) Amor fogo que arde sem se ver, ferida que di e no se sente, um contentamento descontente, dor que desatina sem doer. Lus Vaz de Cames (Poeta portugus, 1524?-1580)

30

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Atividade 4
A Mgica de virar as cartasDeteco e Correo de Erros
Sumrio Quando os dados so armazenados num disco ou transmitidos de um computador para outro, costumamos supor que estes no tenham sofrido alteraes no processo. Mas, s vezes, problemas acontecem e os dados so alterados acidentalmente. Esta atividade utiliza um truque de mgica para mostrar como detectar quando os dados foram corrompidos e como podemos corrigi-los. Matrias correlacionadas Matemtica: Clculo e estimativa. lgebra: Padres e relacionamentos. Habilidades Contagem Reconhecimento de nmeros pares e mpares Idades A partir de 9 anos Material Um conjunto de 36 cartas do tipo m de geladeira, coloridas em um dos lados. Um quadro de metal (um quadro branco funciona bem) para a demonstrao. Cada par de crianas vai precisar de: 36 cartas idnticas, coloridas em apenas um lado.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

31

O Truque de Mgica
Demonstrao Esta a sua chance de se tornar um mgico ! Voc precisar de um conjunto de cartas iguais de duas faces. (Para fazer suas prprias cartas, corte uma folha grande e colorida apenas de um lado). Para a demonstrao, mais fcil usar cartas magnticas e planas com uma cor diferente em cada ladoms de geladeira so ideais. 1. Escolha uma criana para dispor as cartas aleatoriamente em um quadrado de dimenses 5 5.

Casualmente adicione outra linha e coluna, apenas para dificultar o truque.

Essas cartas so a chave para o truque. Voc deve escolher as cartas adicionais para assegurar que haja um nmero par de cartas coloridas em cada linha e coluna. 2. Pea a uma criana para virar apenas uma carta enquanto voc cobre seus olhos. A linha e coluna que contm a carta modificada agora tero um nmero mpar de cartas coloridas, e isto identificar a carta modificada.

As crianas conseguem adivinhar como o truque feito ?

32

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Ensine o truque para as crianas:

1. 2. 3. 4.

Trabalhando em pares, as crianas distribuem suas cartas em um quadrado 5 5. Quantas cartas coloridas esto em cada linha e coluna ? Trata-se de um nmero par ou mpar ? Lembre-se, 0 um nmero par. Agora, adicione uma sexta carta a cada linha, certificando-se de que o nmero de cartas coloridas seja sempre mpar. Esta carta extra chamada de carta de paridade. Adicione uma sexta linha de cartas na parte de baixo, fazendo com que o nmero de cartas em cada coluna seja um nmero par. Agora, vire uma carta. O que voc nota sobre a linha e coluna dessa carta ? (Elas tero um nmero mpar de cartas coloridas.) Cartas de paridade so usadas para lhe mostrar a ocorrncia de um erro. Agora, faa revezamentos para realizar o truque. Atividades de Extenso:

5.

6.

1.

Tente usar outros objetos. Tudo o que tem dois estados apropriado. Por exemplo, voc poderia utilizar cartas de baralho, moedas (cara ou coroa) ou cartes impressos com 0 ou 1 (para referir-se ao sistema binrio). O que acontece quando duas ou mais cartas so viradas ? (Nem sempre possvel saber exatamente quais duas cartas foram viradas, embora seja possvel dizer que alguma coisa foi modificada. Normalmente, possvel restringir a um dos dois pares de cartas. Aps 4 viradas, possvel que todos os bits de paridade estejam corretos e, por isso, o erro poderia passar despercebido.) Outro exerccio interessante considerar a carta do lado inferior direito. Se voc a escolhe como correta para a coluna logo acima, ento ela estar correta para a fila sua esquerda? (A resposta sim, sempre.) Neste exerccio de cartas empregamos a paridade parusando um nmero par de cartas coloridas. Podemos faz-lo com paridade mpar ? (Isso possvel, porm a carta do lado direito somente funciona para a sua linha e coluna se os nmeros de linhas e colunas so ambos pares ou mpares. Por exemplo, isso funciona bem para um quadrado 5 9 ou 4 6, mas no para um quadrado 3 4.)

2.

3.

4.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

33

Um exemplo prtico para os mais espertos !


Esta mesma tcnica de verificao utilizada em cdigos de livro. Livros publicados possuem um cdigo de dez dgitos normalmente encontrados na contracapa. O dcimo dgito um dgito verificador, tal qual os bits de paridade do exerccio. Isto significa que se voc encomendar um livro usando o seu ISBN (International Standard Book Number Padro Internacional de Nmero de Livro), o editor pode verificar se voc cometeu um erro. Eles simplesmente testam a soma verificadora. Assim, voc no acaba esperando o livro errado ! Veja como calcular a soma verificadora: multiplique por dez o primeiro dgito, o segundo por nove, o terceiro por oito, e assim por diante, at o nono dgito multiplicado por dois. Some esses valores. Por exemplo, o ISBN 0-13-911991-4 fornece o seguinte valor (0 10) + (1 9) + (3 8) + (9 7) + (1 6) + (1 5) + (9 4) + (9 3) + (1 2) = 172 Em seguida, divida o resultado por onze. Qual o resto ? 172 11 = 15 resto 7 Se o resto for igual a zero, ento a soma verificadora zero. Caso contrrio, subtraia 11 do resto para obter a soma verificadora. 11 7 = 4 Olhe novamente. Este o ltimo dgito do ISBN acima ? Sim ! Se o ltimo dgito do ISBN no fosse quatro, ento saberamos que houve um erro. Tambm possvel obter uma soma verificadora de valor 10, o que demandaria mais de um dgito. Quando isso acontece, utilizamos a letra X.

Cdigo de barras de uma caixa da empresa Weet-Bix Outro exemplo de uso do dgito verificador so os cdigos de barra de produtos, os quais usam uma frmula diferente. Se o cdigo de barras no lido corretamente, ento o dgito final ser diferente do valor calculado. Quando isso acontece, o equipamento de leitura emite um sinal sonoro para que o operador do equipamento refaa a leitura do cdigo de barras.

34

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Verifique esse livro!


Detetive Faro-fino Servio de Rastreamento de Livros, Ltda.

Encontramos e verificamos dgitos de ISBN por preos imbatveis. Procure-nos! Pesquise e verifique cdigos reais de ISBN em sua sala de aula ou na biblioteca. As somas verificadoras esto corretas ?
s vezes, cometemos erros. Alguns exemplos de erros comuns so: Um dgito teve seu valor alterado; Dois dgitos adjacentes foram trocados entre si; Foi inserido um dgito no nmero; e Um dgito foi retirado do nmero Voc pode encontrar um cdigo ISBN de livro com a letra X para uma soma verificadora de valor 10 ? No dever ser difcil encontr-lo um dentre 11 livros devem ter esta soma. Quais tipos de erros aconteceriam e no seriam detectados ? Voc pode alterar um dgito e ainda obter a soma verificadora correta ? E se dois dgitos forem trocados (um erro de digitao comum) ?

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

35

De que se trata tudo isso ?


Imagine que voc est depositando R$ 10,00 em dinheiro na sua conta bancria. O caixa digita o valor do depsito e o envia para um computador central. Contudo, suponha que alguma interferncia ocorre na linha enquanto o montante est sendo enviado e o cdigo de R$ 10,00 alterado para R$ 1.000,00. No h problema se voc for o cliente, mas, obviamente, h claramente um problema para o banco ! importante detectar erros nos dados transmitidos. Portanto, um computador precisa verificar que os dados recebidos no foram corrompidos por algum tipo de interferncia eltrica na linha de transmisso. s vezes, os dados originais podem ser reenviados se um erro foi transmitido, mas existem situaes nas quais isso invivel, por exemplo, caso um disco ou fita seja corrompido pela exposio a radiaes magnticas ou eltricas, pelo calor ou por danos fsicos. Se os dados fossem recebidos de uma sonda espacial profunda, seria muito tedioso esperar pela retransmisso em caso de erro ! (Demora pouco mais de meia hora para conseguir um sinal de rdio para Jpiter quando este se encontra na sua posio mais prxima Terra !) Precisamos ser capazes de reconhecer quando os dados foram corrompidos (deteco de erro) e de reconstruir os dados originais (correo de erro). A mesma tcnica que foi utilizada no jogo de virar as cartas usada em computadores. Colocando bits em linhas e colunas imaginrias, e acrescentando bits de paridade para cada linha e coluna, podemos no somente detectar se ocorreu um erro, mas quando este erro aconteceu. O valor do bit incorreto modificado e, com isso, realizamos sua correo. Obviamente, os computadores usam freqentemente sistemas de controle de erros mais complexos capazes de detectar e corrigir erros mltiplos. O disco rgido em um computador tem uma grande quantidade de espao alocado para corrigir erros para que este funcione de forma confivel ainda que partes do disco falhem. Os sistemas utilizados para esse fim so bastante prximos ao esquema de paridade.

Solues e dicas
Erros que no seriam detectados so aqueles nos quais um dgito incrementado e outro decrementado. Neste caso, o valor da soma permanece inalterada.

36

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Atividade 5
Vinte PalpitesTeoria da Informao
Sumrio Quanta informao existe em 1.000 pginas de livro ? Existe mais informao em 1.000 pginas de uma lista telefnica, ou em uma resma de 1.000 folhas de papel em branco, ou no livro Senhor dos Anis de Tolkien ? Se podemos mensurar isto, podemos estimar quanto espao necessrio para armazenar a informao. Por exemplo, voc consegue ler a seguinte frase ? Vc cnsg lr td ? Voc consegue, provavelmente, porque no h muitas informaes nas vogais. Esta atividade introduz uma forma de mensurar o contedo da informao. Matrias correlacionadas Matemtica: Nmeros. Faixas de valores, funes maior que e menor que lgebra. Padres e sequncias Portugus Habilidades Comparando nmeros e trabalhando com faixas de valores Deduo Formulao de perguntas Idades A partir de 10 anos Material No so necessrios quaisquer materiais para a primeira atividade H uma atividade de extenso para a qual cada criana precisar de: Folha de Atividade: rvores de Deciso (pgina 40)

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

37

Vinte Palpites
1. 2. Discusso Discuta com as crianas o que elas acham que informao. Como podemos medir a quantidade de informao que haveria em um livro ? O importante o nmero de pginas ou de palavras ? Um livro pode ter mais informaes do que outro ? E se o livro for muito chato ou for particularmente interessante ? Ser que 400 pginas de um livro com a frase bl, bl, bl tem mais ou menos informao do que, por exemplo, a lista telefnica ? Explique que os cientistas da computao mensuram a informao por quo surpreendente a mensagem (ou livro !) . Falar para voc algo que voc j sabepor exemplo, quando um amigo que sempre caminha para a escola diz Hoje caminhei para a escolano lhe fornece qualquer informao, pois no surpreendente. Se, ao invs disso, seu amigo disser Hoje peguei uma carona para a escola em um helicptero, isso seria surpreendente e, portanto, nos traria uma grande quantidade de informao. Como o valor de surpresa de uma mensagem pode ser mensurado ? Uma maneira consiste em ver quanto difcil adivinhar a informao. Se seu amigo diz Adivinhe como fui escola hoje, e ele tivesse caminhado, voc provavelmente acertaria na primeira tentativa. Poderia levar mais algumas tentativas antes de voc chegar ao helicptero, e ainda mais se eles tivessem viajado em uma nave espacial. A quantidade de informao contida nas mensagens mensurada pela dificuldade em adivinh-las. O jogo seguinte nos fornece uma idia disso.

38

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Atividade das Vinte Perguntas


Esta uma adaptao do jogo das 20 perguntas. As crianas podem fazer perguntas a uma criana escolhida, a qual responde somente sim ou no at que se advinhe a resposta. Qualquer pergunta pode ser feita, contanto que a resposta seja estritamente 'sim' ou 'no'. Sugestes: Estou pensando em: um nmero entre 1 e 100 um nmero entre 1 e 1000 um nmero entre 1 e 1.000.000. qualquer nmero inteiro uma sequncia de 6 nmeros que sigam um padro (adequado ao grupo). Adivinhe na ordem do primeiro ao ltimo. (por exemplo, 2, 4, 6, 8, 10) Conte o nmero de perguntas feitas. Esta a medida do valor da Informao. Discusso Quais estratgias voc usou ? Quais foram as melhores ? Ressalte que preciso apenas 7 palpites para advinhar um nmero entre 1 e 100 se voc reduzir metade o intervalo de busca a cada vez. Por exemplo:
menor que menor que menor que menor que menor que menor que Deve ser 42 50 25 37 43 40 41 ! ? ? ? ? ? ? Sim. No. No. Sim. No. No. Sim !

Curiosamente, se o intervalo aumentado para at 1000 no se requer um esforo 10 vezes maiorso necessrias apenas trs perguntas adicionais. Cada vez que o intervalo dobra, somente necessrio uma pergunta a mais para encontrar a resposta. Uma maneira de continuar a atividade seria deixar as crianas jogarem Senha (Mastermind). Extenso: Quanta informao existe em uma mensagem ? Cientistas da computao no usam somente advinhaes com nmeros tambm podese adivinhar qual a prxima letra mais provvel de ocorrer em uma palavra ou frase. Faa um jogo de adivinhao com uma frase curta de 4 a 6 palavras. As letras devem ser descobertas na ordem correta, da primeira ltima letra. Arranje algum para escrever as letras encontradas e conte quantas perguntas foram necessrias para encontrar cada letra. Qualquer pergunta cuja resposta seja sim/no pode ser utilizada. Alguns exemplos so: um t ?, Trata-se de uma vogal ?, Precede m no alfabeto ?. Um espao entre palavras tambm conta como uma letra e deve ser adivinhada. Faa um revezamento e veja se voc consegue descobrir quais partes das mensagens so mais fceis de adivinhar.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

39

Folha de Atividade: rvores de Deciso


Se voc j sabe a estratgia para fazer as perguntas, voc pode transmitir uma mensagem sem ter que perguntar nada. A seguir temos um esquema chamado de rvore de deciso que permite adivinhar um nmero entre 0 e 7:

Quais so as decises/escolhas da forma sim/no necessrias para "adivinhar" o nmero 5 ? Quantas decises da forma sim/no voc deve tomar para descobrir um nmero qualquer ? Agora veja algo extremamente fascinante. Abaixo dos nmeros 0, 1, 2, 3 ..., na ltima linha da rvore, escreva o nmero em binrio (veja a Atividade 1). Olhe cuidadosamente para a rvore. Se no = 0 e sim = 1, o que voc nota ? No jogo de adivinhar nmeros, procuramos escolher as perguntas de tal forma que a sequncia de respostas sirva para representar o nmero exatamente dessa maneira. Projete sua prpria rvore de deciso para adivinhar nmeros entre 0 e 15. Para os mais espertos: Qual tipo de rvore voc usaria para adivinhar a idade de algum ? E para adivinhar a prxima letra em uma frase ?

40

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

De que se trata tudo isso ?


Um clebre matemtico americano (e malabarista, e monociclista) chamado Claude Shannon fez uma srie de experimentos com este jogo. Ele mensurou a quantidade de informao em bitscada resposta sim/no equivale a um bit 1/0. Ele descobriu que a quantidade de informao contida numa mensagem depende do que voc j sabe. s vezes, perguntamos algo que evita fazer diversas perguntas. Neste caso, o contedo da informao baixo. Por exemplo, a informao no lanamento de uma moeda normalmente de um bit: cara ou coroa. Entretanto, se a moeda for tendenciosa para mostrar cara nove em cada dez vezes, ento a informao deixa de ser um bitacredite se quiser, menos do que um bit. Como voc pode descobrir como a moeda caiu com menos de uma pergunta do tipo sim ou no ? Simplesbasta fazer perguntas como As prximas duas moedas atiradas sero cara ?. Para uma sequncia de lanamentos com uma moeda viciada, a resposta ser sim cerca de 80% das vezes. Nas outras 20% das vezes, em que a resposta no, voc deve fazer duas perguntas adicionais. Porm, em mdia, voc far menos de uma pergunta por lanamento ! Shannon chamou as informaes relativas ao contedo de uma mensagem de entropia. A entropia depende no apenas do nmero de resultados possveisdois, no caso do lanamento de uma moeda mas tambm na probabilidade disso acontecer. Acontecimentos improvveis ou informaes surpreendentes requerem mais perguntas para adivinhar a mensagem porque estes nos fornecem mais informaes alm das quais j sabamos, como no caso de ir em um helicptero para a escola. A entropia de uma mensagem muito importante para os cientistas da computao. Voc no pode comprimir uma mensagem de tal forma que esta ocupe menos espao do que sua entropia, e os melhores sistemas de compresso so equivalentes a um jogo de adivinhao. Dado que um programa de computador faz os palpites, a lista de perguntas pode ser reproduzida posteriormente. Assim, contanto que as respostas (bits) sejam armazenadas, podemos reconstruir a informao ! Os melhores sistemas de compresso podem reduzir um arquivo texto at um quarto do seu tamanho originaluma grande economia de espao de armazenamento ! O mtodo de adivinhao tambm pode ser usado para construir uma interface de computador que prediz a prxima letra que o usurio digitar ! Isto pode ser muito til para pessoas com problemas fsicos que tenham dificuldade em escrever. O computador pode sugerir o que ser digitado na sequncia e o usurio apenas indica se essa opo a que ele deseja. Um bom sistema precisa, em mdia, de apenas duas respostas do tipo sim/no por letra e pode ser de grande ajuda para algum com dificuldade em realizar os movimentos delicados necessrios para controlar um mouse ou teclado. Este tipo de sistema, em uma forma diferente, tambm utilizado para digitar texto em alguns telefones celulares.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

41

Solues e dicas
A resposta para uma pergunta da forma sim/no corresponde a exatamente um bit de informaoseja uma pergunta simples como maior do que 50 ? ou uma pergunta mais complexa como Est entre 20 e 60 ? No jogo de adivinhar o nmero, se as perguntas so escolhidas de certa maneira, a sequncia das respostas simplesmente a representao binria do nmero. O nmero trs 011 em binrio e representado pela resposta No, sim, sim na rvore de deciso, o que equivale a escrevermos no para 0 e sim para 1. Uma rvore que voc usaria para advinhar a idade de algum poderia estar melhor dirigida a advinhar os nmeros menores. A deciso sobre as letras em uma frase podem se basear sobre qual era a letra anterior.

42

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Parte II
Colocando os Computadores para TrabalharAlgoritmos

Colocando os computadores para trabalhar


Os computadores operam seguindo uma lista de instrues estabelecida para eles. Essas instrues os permitem ordenar, pesquisar e enviar informaes. Para fazer essas coisas, o mais rpido possvel, voc precisa de bons mtodos para pesquisar coisas em grandes colees de dados e para enviar informaes atravs das redes. Um algoritmo um conjunto de instrues para completar uma tarefa. A idia de algoritmo central para a cincia da computao. Atravs dos algoritmos utilizamos os computadores para resolver problemas. Alguns algoritmos so mais rpidos do que outros, e muitos dos algoritmos que foram descobertos tornaram possvel resolver problemas que anteriormente levavam um tempo inaceitvelpor exemplo, encontrar milhes de dgitos do nmero Pi, todas as pginas da Internet que contm o seu nome, a melhor maneira de se acomodar pacotes num continer ou verificar se nmeros muito grandes (100 dgitos) so primos. A palavra algoritmo derivada do nome de Mohammed ibn Musa Al-Khowarizmi Mohammed, filho de Moiss, de Khowarizmque fez parte de um centro acadmico conhecido como a Casa da Sabedoria, em Bagd, por volta de 800 d.C. Seus trabalhos transmitiram a arte hindu de calcular aos rabes e, a partir da, ao resto da Europa. Quando estes trabalhos foram traduzidos para o latim em 1120 d.C., as primeiras palavras eram Dixit Algorismi assim disse Algorismi.

44

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Atividade 6
Batalha Naval Algoritmos de Busca
Sumrio Computadores so freqentemente requisitados a encontrar informao em grandes colees de dados. Estes precisam desenvolver mtodos rpidos e eficientes de fazer isso. Essa atividade demonstra trs diferentes mtodos de pesquisa: busca linear, busca binria e busca por disperso/espalhamento (hashing). Matrias correlacionadas Matemtica: Nmeros: maior que, menor que, iguais a. Geometria: Plano e espao: coordenadas. Habilidades Raciocnio Lgico Idades De 9 anos em diante Material Cada criana precisar de: Cpia dos jogos Batalha Naval 1A e 1B para o jogo 1 2A e 2B para o jogo 2 3A e 3B para o jogo 3 Voc precisar tambm de algumas cpias das folhas de jogos suplementares 1A', 1B', 2A', 2B', 3A' e 3B'.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

45

Batalha Naval
1. Atividade Introdutria Escolha em torno de 15 crianas para formar uma fileira na frente da classe. D a cada criana um carto com um nmero (em ordem aleatria). Mantenha os nmeros escondidos do resto da classe. D a outra criana quatro ou cinco doces. O trabalho dela descobrir um determinado nmero. Ela pode pagar para olhar um carto especfico. Se encontrar o nmero correto antes de usar todos os seus doces, ela fica com o restante dos doces. Repita a atividade, se quiser. Agora embaralhe as cartas e as distribua novamente. Desta vez, as crianas devem se organizar em ordem crescente. Repita o processo de busca. Se os nmeros esto ordenados, uma estratgia sensata usar somente um pagamento para eliminar metade das crianas, escolhendo a criana do meio para revelar o seu carto. Repetindo esse procedimento, possvel encontrar o nmero usando somente trs doces. O ganho de eficincia ser bvio. Atividade As crianas podem ter uma idia de como um computador faz pesquisas jogando Batalha Naval. A utilizao do jogo faz com que elas pensem acerca das estratgias que esto usando para localizar os navios.

2.

3. 4.

46

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Batalha NavalUm jogo de busca linear


1. 2. 3. 4. Leia as seguintes instrues para as crianas Formem duplas. Um de vocs pega a folha 1A, e o outro a folha 1B. No mostrem sua folha para o seu parceiro ! Ambos circulam um navio de guerra na linha superior da folha do jogo e informam o nmero do navio ao seu parceiro. Agora, revezem-se para adivinhar onde est o navio do seu parceiro. (Voc diz a letra de um navio e o seu parceiro lhe diz o navio correspondente a essa letra). Quantos tiros so necessrios para localizar o navio do seu parceiro ? Essa a sua pontuao no jogo. (As folhas 1A' e 1B' so extras para crianas que gostariam de jogar mais vezes ou que inadvertidamente viram a folha do seu parceiro. As folhas 2A', 2B' e 3A', 3B' so para os jogos seguintes). Discusso Quais foram as pontuaes ? Quais seriam as pontuaes mxima e mnima possveis ? (So 1 e 26, respectivamente, assumindo que as crianas no atiram no mesmo navio duas vezes. Esse mtodo chamado de busca linear porque envolve passar por todas as posies, uma a uma).

1. 2.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

47

Batalha NavalUm jogo de busca binria


Instrues: As instrues para essa verso do jogo so as mesmas do jogo anterior, mas os nmeros dos navios esto em ordem crescente. Explique isso s crianas antes de comearem. 1. 2. 3. 4. Formem duplas. Um de vocs pega a folha 2A, o outro a folha 2B. No mostrem sua folha ao seu parceiro ! Ambos circulam um navio da linha superior de sua folha de jogo e dizem o nmero do navio ao seu parceiro. Agora, revezem-se para adivinhar onde est o navio do seu parceiro. (Voc diz a letra de um navio e o seu parceiro lhe diz o navio correspondente a essa letra). Quantos tiros so necessrios para localizar o navio do seu parceiro ? Essa a sua pontuao no jogo. Discusso Quais foram as pontuaes ? Qual foi a estratgia usada pelos jogadores que tiveram baixa pontuao ? Qual o navio voc deveria escolher primeiro ? (O navio do meio lhe informa em qual metade da linha o navio escolhido deve estar). Qual posio voc deve escolher em seguida ? (Novamente, a melhor estratgia escolher sempre o navio que est na metade da seo que deve conter o navio escolhido.) Se esta estratgia aplicada, quantos tiros so necessrios para encontrar um navio ? (Cinco, no mximo). Esse mtodo chamado de busca binria porque divide o problema em duas partes.

1. 2. 3.

4.

48

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Batalha Naval Um jogo de busca usando Hashing


1. 2. Instrues Cada criana escolhe uma folha, como no jogo anterior, e diz ao seu parceiro o nmero do navio escolhido. Nesse jogo voc pode descobrir em qual a coluna (0 a 9) o navio est. Basta somar os dgitos do nmero do navio. O ltimo dgito da soma a coluna em que o navio est. Por exemplo, para localizar o navio de nmero 2345, some os dgitos 2+3+4+5, totalizando 14. O ltimo dgito da soma 4. Portanto, o navio tem que estar na coluna 4. Ao conhecer a coluna, voc deve adivinhar qual dos navios naquela coluna o desejado. Essa tcnica chamada hashing porque os dgitos so espremidos (do ingls, hashed) uns contra os outros. Agora jogue usando esta nova estratgia de busca. Voc pode jogar mais de um jogo usando a mesma folha basta escolher colunas diferentes. (Note que, diferentemente de outros jogos, as folhas reservas 3A' e 3B' devem ser usadas em pares, porque o padro dos navios nas colunas deve ser correspondente). Discusso Colete e discuta as pontuaes como antes. Quais navios foram achados mais rapidamente ? (Aqueles que esto ss em suas colunas). Quais foram mais difceis de serem encontrados ? (Aqueles em colunas que continham muitos outros navios.) Qual dos trs algoritmos de busca o mais rpido ? Por qu ? Quais so as vantagens de cada um dos trs diferentes modos de busca? (A segunda estratgia mais rpida do que a primeira, mas a primeira no requer que os navios estejam ordenados. A terceira estratgia geralmente mais rpida que as demais, mas, possvel que seja bastante lenta em algumas situaes. (No pior caso, se todos os navios estiverem na mesma coluna, esta ser to lenta quanto a primeira estratgia.)

3.

1. 2.

3.

Atividades de Extenso
1. Faa com que as crianas construam seus prprios jogos usando os trs formatos. Para o segundo jogo, elas devem colocar os nmeros em ordem crescente. Pergunte como elas dificultariam ainda mais o jogo de busca baseado em hashing. (O jogo torna-se mais difcil quando todos os navios esto na mesma coluna.) Como voc faria para torn-lo o mais fcil possvel ? (Voc deve tentar colocar o mesmo nmero de navios em cada coluna.) O que aconteceria se o navio procurado no existisse? (No jogo de busca linear seriam necessrios 26 tiros para mostrar isso. Com a busca binria seriam necessrios 5 tiros. Quando se utiliza o sistema de hashing, isso depende de quantos navios presentes na coluna em questo.) Usando a estratgia de busca binria, quantos tiros seriam necessrios se houvessem cem posies (cerca de 6 tiros), mil posies (cerca de 9 tiros), ou um milho (cerca de 19 tiros) ? (Note que o nmero de tiros aumenta muito lentamente se comparado ao nmero de navios. Um tiro extra necessrio cada vez que o nmero de navios dobra. Assim, dizse que o nmero de tiros proporcional ao logaritmo do nmero de navios.)

2.

3.

50

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

My navios Meus Ships


Nmero de disparos: Number of Shots Used:
4917 3214

9058

A C D E F G H I J
8423 9462 4932 4191 8562 450 9264 3542

7169

B P Q R S T U V W

5891

2767

4715

674

8088

1790

8949

L
5063

13

3014

M X
6221

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

8311

7621

2244

Your Ships Seus navios


C D E F S R Q P G T

Nmero de disparos: Number of Shots Used:


H U I V J W K X L Y M Z

51

1A

Nmero de disparos:

Meus navios

52

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Seus navios

Nmero de disparos:

Nmero de disparos:

Meus navios

Seus navios

Nmero de disparos:

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

53

Meus navios

Nmero de disparos:

Seus navios

Nmero de disparos:

Meus navios
1 E 5125 H 8051 I 1481 L 7116 O 6000 R 9891 2 3 4 5 6 7 8

My Ships
Number of Shots Used: Nmero de disparos:

9 W 1062

A 9047 C 3080

B 1829 D 9994

S 1989 X 2106 V 4392 F 1480 J M 8944 P 7432 4712 T 2050 Y 5842 G 8212 K 6422 N 4128 Q 4110 U Z 7057 8199

Seus navios
1 E F G J N I K M H L 2 3 4 5

Your Ships

Nmero of Shots Used: Numberde disparos:


6 O P Q R S T U 7 V W X 8 Y Z 9

3A

Meus navios

Nmero de disparos:

Seus navios

Nmero de disparos:

Meus navios

Nmero de disparos:

Seus navios

Nmero de disparos:

Nmero de disparos:

Meus navios

58

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Seus navios

Nmero de disparos:

Nmero de disparos:

Meus navios

Seus navios

Nmero de disparos:

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

59

Meus navios

Nmero de disparos:

60

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Seus navios

Nmero de disparos:

Meus navios

Nmero de disparos:

Seus navios

Nmero de disparos:

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

61

Meus navios

Nmero de disparos:

62

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Seus navios

Nmero de disparos:

De que se trata tudo isso ?


Computadores armazenam grandes quantidades de informao e precisam ser capazes de vasculhar essas informaes rapidamente. Um dos maiores problemas de busca do mundo tratado pelos motores de busca da internet, os quais devem pesquisar bilhes de pginas em uma frao de segundo. O dado informado ao computador para a pesquisa, tal como uma palavra, um nmero de cdigo de barras ou o nome de um autor, chamado de chave de busca. Computadores podem processar informaes muito rapidamente e voc poderia pensar que para encontrar algo eles deveriam simplesmente comear no incio de onde os dados esto armazenados e procurar at a informao desejada ser encontrada. Isto o que fizemos no jogo de busca linear. Entretanto, esse mtodo muito lento at mesmo para os computadores. Por exemplo, suponha um supermercado que tenha 10 mil produtos diferentes em suas prateleiras. Quando um cdigo de barras lido numa compra, o computador deve procurar entre 10 mil nmeros para encontrar o nome e o preo do produto. Mesmo que leve apenas um milsimo de segundo para checar cada cdigo, seriam necessrios 10 segundos para vasculhar toda a lista. Imagine a demora para processar as compras de uma famlia ! Uma estratgia melhor a busca binria. Nesse mtodo, os nmeros esto ordenados. Verificando o item do meio da lista identificar em qual metade a chave de busca est. O processo repetido at o item ser encontrado. Retornando ao exemplo do supermercado, os 10 mil itens podem ser pesquisados em quatorze sondagens, levando em torno de duzentos milissegundos, quase imperceptvel. Uma terceira estratgia para encontrar os dados se chama hashing. Nesta abordagem, a chave manipulada para indicar exatamente onde encontrar a informao. Por exemplo, se a chave de busca for um nmero de telefone, voc poderia somar todos os dgitos do nmero e pegar o resto da diviso da soma por 11. Nesse aspecto, uma chave de hash parecida com os dgitos verificadores discutidos na Atividade 4 - pores de dados cujo valor depende do outro dado sendo processado. Em geral, o computador encontrar o que procura rapidamente. H uma pequena chance de que diversas chaves levem ao mesmo local e, neste caso, o computador precisar procurar nestes locais at encontrar a informao pesquisada. Programas de computador geralmente usam alguma variante da estratgia de hashing para a busca, a menos que seja necessrio que os dados estejam ordenados ou se no for possvel aceitar respostas lentas em algumas circunstncias.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

63

Atividade 7
O mais leve e o mais pesadoAlgoritmos de Ordenao
Sumrio Os computadores so muitas vezes utilizados para colocar listas em algum tipo de ordem, por exemplo, nomes em ordem alfabtica, compromissos ou e-mails por data, ou itens em ordem numrica. Classificar listas nos ajuda a encontrar as coisas rapidamente, e tambm facilita a identificao dos valores extremos. Se voc classificar as notas de uma prova em ordem numrica, a nota mais baixa e a mais alta tornam-se evidentes. Se voc usar o mtodo errado, pode demorar muito tempo para ordenar uma lista grande, mesmo em um computador rpido. Felizmente, vrios mtodos rpidos de ordenao so conhecidos. Nesta atividade, as crianas descobriro mtodos diferentes para ordenao e vero como um mtodo inteligente pode executar a tarefa muito mais rapidamente do que um mtodo simples. Matrias correlacionadas Matemtica: realizao de pesagem. Habilidades Usar uma balana Ordenar Comparar Idades De 8 anos em diante Material Cada grupo de crianas precisar de: Conjuntos de 8 contineres do mesmo tamanho, mas de pesos diferentes (ex: caixas de leite ou rolos de filme cheios de areia ) Uma balana Folha de Atividade: Ordenando pesos (pgina 66) Folha de Atividade: Dividir e conquistar (pgina 67)

64

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

O mais leve e o mais pesado


Discusso Freqentemente, os computadores devem ordenar listas de coisas. Pense em todas as situaes nas quais colocar as coisas em ordem seja importante. O que aconteceria se estas coisas no estivessem em ordem ? Os computadores geralmente comparam apenas dois valores por vez. A atividade na prxima pgina usa essa restrio para dar as crianas uma idia do que se trata. Atividade Divida as crianas em grupos. Cada grupo precisar de uma cpia da folha de atividade da pgina 66 e os seus prprios pesos e balanas. Pea s crianas para fazerem a atividade e, depois, discuta o resultado.

1. 2. 3.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

65

Folha de Atividade: Ordenando pesos


Objetivo: Encontrar o melhor mtodo para ordenao de um grupo de pesos desconhecidos Voc precisar de: Areia ou gua, 8 recipientes idnticos e um conjunto de balanas O que fazer: 1. 2. 3. Encher cada recipiente com uma quantidade diferente de areia ou gua. Sele-o firmemente. Misture-os de modo que voc j no saiba a ordem dos pesos. Encontre o menor peso. Qual a maneira mais fcil de fazer isso ? Nota: Voc s est autorizado a utilizar a balana para descobrir quanto pesa cada recipiente. Apenas dois pesos podem ser comparados ao mesmo tempo. 4. Escolha 3 pesos aleatoriamente e coloque-os na ordem do mais leve para o mais pesado usando somente a balana. Como voc fez isso ? Qual o nmero mnimo de comparaes que voc pode fazer ? Por qu ? Agora coloque todos os objetos na ordem do mais leve ao mais pesado.

5.

Quando voc achar que terminou, verifique sua ordenao pesando novamente cada par de objetos. Ordenao por Seleo Um mtodo que o computador pode utilizar chamado de ordenao por seleo, que funciona da seguinte forma. Primeiro, encontre o peso mais leve no

conjunto e o coloque de lado. Em seguida, encontre o mais leve dos pesos restantes e o retire. Repita esse procedimento at que todos os pesos sejam removidos.

Conte quantas comparaes voc fez. Para os mais espertos: Mostre como voc pode calcular matematicamente o nmero de comparaes necessrias para ordenar 8 objetos. E para 9 objetos? E 20?

66

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Folha de Atividade: Dividir e Conquistar


Quicksort
O quicksort muito mais rpido do que a ordenao por seleo, especialmente para listas grandes. De fato, um dos melhores mtodos conhecidos. Esta a forma como o quicksort funciona. Escolha um dos objetos de forma aleatria, e coloque-o em um dos lados da balana. Agora compare cada um dos objetos restantes com ele. Coloque aqueles que so mais leves do lado esquerdo, o objeto escolhido no meio, e os mais pesados na direita. (Por acaso, voc pode acabar com mais objetos de um lado do que do outro.) Escolha um dos grupos de objetos e repita esse procedimento. Faa o mesmo para o outro grupo. Lembre-se de manter aquele que voc escolheu no centro. Continue repetindo este procedimento em relao aos grupos restantes at que nenhum grupo tenha mais do que um objeto. Assim que todos os grupos estiverem divididos e reduzidos a um nico objeto, os objetos estaro, por fim, ordenados do mais leve ao mais pesado.

Quantas comparaes so efetuadas por este procedimento? Voc deve achar que o quicksort um mtodo mais eficiente do que a ordenao por seleo a no ser que voc tenha escolhido o peso mais leve ou o mais pesado para comear. Se voc teve a sorte de ter escolhido o peso mdio, voc deve ter feito apenas 14 comparaes, ao passo que so feitas 28 comparaes na ordenao por seleo. De qualquer forma, o mtodo quicksort nunca ser pior do que qualquer ordenao por seleo e pode ser muito melhor ! Para os mais espertos: Se o quicksort acidentalmente sempre escolher o peso mais leve, quantas comparaes sero feitas ?
Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

67

Variaes e extenses Existem diversos mtodos de ordenao. Voc pode tentar ordenar os pesos atravs dos seguintes mtodos. A ordenao por insero remove cada objeto de um grupo desordenado e o insere na sua posio correta em numa lista crescente (veja a figura abaixo). A cada insero, o grupo de objetos desordenados diminui e a lista ordenada aumenta at que, finalmente, toda a lista esteja ordenada. Jogadores de cartas muitas vezes usam esse mtodo para ordenar as cartas em suas mos.

A ordenao por borbulhamento ou mtodo da bolha (Bubble sort) percorre a lista diversas vezes trocando quaisquer objetos adjacentes que no estejam na ordem correta. A lista est ordenada assim que no ocorre mais nenhuma troca durante uma passagem pela lista. Este mtodo no muito eficiente, mas algumas pessoas o consideram mais fcil de compreender do que os outros mtodos.

O mtodo de fuso (Mergesort) utiliza a tcnica de dividir e conquistar para ordenar uma lista de elementos. Primeiro, divide-se a lista aleatoriamente em duas listas de tamanhos iguais (ou quase iguais, se houver um nmero mpar de elementos). Cada uma das duas listas ordenada e, em seguida, as listas so intercaladas entre si. fcil mesclar duas listas ordenadas: basta retirar repetidamente o menor dos dois elementos que esto no incio das duas listas. Na figura abaixo, os pesos de 40 e 60 gramas esto no incio das listas. Portanto, o prximo elemento a ser adicionado o peso de 40 gramas. Como devemos ordenar as listas menores ? Simples, basta usar o mtodo de fuso ! Todas as listas sero finalmente divididas em elementos individuais. Portanto, no preciso se perguntar quando parar.

68

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

De que se trata tudo isso ?


muito mais fcil encontrar uma informao em uma lista ordenada. Listas telefnicas, dicionrios e ndices de livros utilizam a ordem alfabtica, e a vida seria muito mais difcil se eles no o fizessem. Se uma lista de nmeros (como uma lista de despesas) for ordenada, os pontos extremos so fceis de ver porque eles esto no comeo e no fim da lista. As duplicatas tambm so fceis de encontrar porque acabam ficando juntas. Os computadores gastam muito tempo ordenando as coisas. Portanto, os cientistas da computao devem descobrir mtodos rpidos e eficientes para fazer isto. Alguns dos mtodos mais lentos tais como a ordenao por insero, ordenao por seleo e mtodo da bolha podem ser teis em situaes especiais, porm os mtodos mais rpidos, a exemplo do quicksort, so geralmente utilizados. O mtodo quicksort usa um conceito chamado recurso. Isso significa que voc permanece dividindo uma lista em partes menores e, em seguida, realiza o mesmo tipo de ordenao em cada uma das partes da lista. Esta abordagem, em particular, chamada de dividir e conquistar. A lista dividida repetidamente at que se torne pequena o suficiente para resolver o problema (conquistar). No quicksort, as listas so divididas at que contenham apenas um elemento. trivial ordenar um elemento ! Embora isto parea muito demorado, na prtica, drasticamente mais rpido do que os outros mtodos.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

69

Solues e dicas
4. A melhor maneira de encontrar o peso mais leve ir, de objeto em objeto, marcando qual o mais leve at aquele ponto. Ou seja, comparar dois objetos e ficar com o mais leve. Ento, compare com outro, ficando com o mais leve da comparao. Repita esse procedimento at ter utilizado todos os objetos. Compare os pesos na balana. Isso pode ser facilmente realizado com trs comparaes e, s vezes, duas bastamse as crianas perceberem que a operao de comparao transitiva (Isto , se A mais leve que B e B mais leve que C, ento A tem de ser mais leve que C). Especialistas: Esse um atalho para totalizar o nmero de comparaes da ordenao por seleo. Para encontrar o menor entre dois objetos, voc precisa de uma comparao, trs objetos precisam de duas, quatro precisam de trs e assim por diante. Ordenar oito objetos com a ordenao por seleo requer sete comparaes para encontrar o primeiro, seis para encontrar o prximo, cinco para o prximo e assim sucessivamente. Isso nos fornece: 7 + 6 + 5 + 4 + 3 + 2 + 1 = 28 comparaes. n objetos precisariam de 1 + 2 + 3 + 4 + + n 1 comparaes para serem ordenados. Totalizar esses nmeros fcil se os reagruparmos. Por exemplo, para somar os nmeros 1 + 2 + 3 + + 20, os reagrupamos como (1 + 20) + (2 + 19) + (3 + 18) + (4 + 17) + (5 + 16) + (6 + 15) + (7 + 14) + (8 + 13) + (9 + 12) + (10 + 11) = 21 10 = 210 Em geral, a soma 1 + 2 + 3 + 4 + n 1 = n(n 1)/2.

5.

70

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Atividade 8
Seja o mais rpido !Redes de Ordenao
Sumrio Mesmo os computadores sendo rpidos, h um limite na sua velocidade de resoluo de problemas. Uma forma de acelerar as coisas usar vrios computadores para solucionar diferentes partes de um problema. Nesta atividade, usamos as redes de ordenao, as quais efetuam vrias comparaes de ordenao ao mesmo tempo. Matrias correlacionadas Matemtica: Nmeros: maior que, menor que. Habilidades Comparar Ordenar Desenvolver algoritmos Cooperao para resoluo de problemas Idades De 7 anos em diante Material Esta uma atividade de campo em grupo. Giz Dois conjuntos de seis cartes Faa uma cpia da folha Original para fotocpia: Redes de ordenao (pgina 73) em um carto e recorte Cronmetro

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

71

Redes de Ordenao
Antes dessa atividade, utilize giz para desenhar essa rede em uma rea externa.

Instrues para as crianas


Esta atividade lhe mostrar como os computadores colocam nmeros aleatrios em ordem utilizando o que se chama de rede de ordenao. 1. 2. 3. 4. 5. Organizem-se em grupos de seis. Apenas uma equipe de cada vez pode utilizar a rede. Cada membro da equipe pega um carto numerado. Cada membro fica em um quadrado no lado esquerdo (Entrada) da rede. Seus nmeros devem estar embaralhados. Voc se move ao longo das linhas marcadas e, ao chegar em um crculo, voc deve esperar outra pessoa chegar. Quando outro membro da equipe chegar ao crculo no qual voc est, vocs comparam suas cartas. A pessoa com o menor nmero segue o caminho da esquerda. Se voc tiver o maior nmero na sua carta, tome o caminho direita. Voc estar na ordem correta quando chegar ao outro extremo da rede. Se uma equipe cometer um erro, as crianas devem recomear. Verifique se voc compreendeu o funcionamento de um n (crculo) da rede, no qual o menor valor vai para a esquerda e o outro valor vai para a direita. Por exemplo:

6.

72

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Original para fotocpia Redes de Ordenao

1 3 5 156 289 422

2 4 6 221 314 499

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

73

1.

Variaes Quando as crianas estiverem familiarizadas com a atividade, use um cronmetro para determinar quanto tempo cada equipe leva para chegar ao final da rede. Use cartes com nmeros maiores (por exemplo, os cartes de trs dgitos da fotocpiamestre). Elabore cartes com nmeros maiores, os quais necessitaro de maior esforo para serem comparados, ou use palavras e as compare por ordem alfabtica. Atividades de Extenso O que acontece se o menor for para a direita ao invs de ir para a esquerda e vice-versa ? (Os nmeros so ordenados em ordem inversa). Ser que a rede funciona se for utilizada ao contrrio ? (Ela no funcionar necessariamente e as crianas devem ser capazes de encontrar um exemplo de uma entrada que saia na ordem errada.)

2. 3.

1.

2.

Tente desenhar redes maiores ou menores. Por exemplo, aqui est uma rede que ordena apenas trs nmeros. As crianas devem tentar chegar a esta rede por conta prpria. Abaixo esto duas redes diferentes que ordenam quatro entradas. Qual a mais rpida ? (A segunda. Porque a primeira exige que todas as comparaes sejam realizadas, uma aps a outra. A segunda tem algumas comparaes sendo realizadas ao mesmo tempo. A primeira rede um exemplo de processamento em srie enquanto que a segunda utiliza processamento paralelo para executar mais rpido.

3.

4.

Tente fazer uma rede de ordenao maior. As redes tambm podem ser usadas para encontrar o valor mnimo ou mximo das entradas. Por exemplo, aqui est uma rede com oito entradas e a nica sada conter o menor dos fatores da entrada (Os outros valores sero bloqueados na rede). Quais procedimentos do cotidiano podem ou no ser acelerados utilizando paralelismo ? Por exemplo, cozinhar uma refeio seria muito mais lento utilizando apenas uma panela para cozinhar porque os itens teriam de ser cozidos um aps o outro. Quais tarefas podem ser completadas mais rapidamente empregando mais pessoas? Quais tarefas no podem ?

5.

6.

De que se trata tudo isso ?


Quanto mais usamos os computadores, queremos que estes processem as informaes o mais rpido possvel. Um jeito de aumentar a velocidade de um computador escrever programas que usam menos passos de computao (como mostrado nas Atividades 6 e 7). Outra maneira de resolver problemas mais rapidamente ter alguns computadores trabalhando em diferentes partes de uma mesma tarefa ao mesmo tempo. Por exemplo, na rede de ordenao de seis nmeros, apesar de haver um total de 12 comparaes para ordenar os nmeros, at 3 comparaes so feitas simultaneamente. Isso significa que o tempo requerido ser o mesmo necessrio para apenas 5 passos de comparao. Esta rede paralela ordena a lista mais que duas vezes mais rpido do que um sistema que realiza apenas uma comparao por vez. Nem todas as tarefas podem ser completadas mais rapidamente utilizando computao paralela. Fazendo uma analogia, imagine uma pessoa cavando uma vala de 10 metros de comprimento. Se 10 pessoas cavarem um metro da vala cada uma, a tarefa seria completada muito mais rapidamente. Por outro lado, a mesma estratgia no poderia ser utilizada para um buraco de 10 metros de profundidade - o segundo metro no acessvel at que o primeiro metro tenha sido cavado. Os cientistas da computao continuam ativamente tentando encontrar os melhores mtodos para dividir problemas de forma que estes possam ser resolvidos por computadores trabalhando em paralelo.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

75

Atividade 9
A Cidade Enlameadarvores Geradoras Mnimas
Sumrio Nossa sociedade conectada por muitas redes: redes telefnicas, redes de abastecimento, redes de computadores e redes rodovirias. Para uma determinada rede, h geralmente algumas escolhas sobre onde estradas, cabos ou ligaes de rdio podem ser colocados. Temos de encontrar formas eficientes de conectar esses objetos a uma rede. Matrias correlacionadas Matemtica: Formas e espao: Encontrar os caminhos mais curtos em um mapa. Idades De 9 anos em diante. Habilidades Resoluo de problemas Material Cada criana precisar de: Folha de Atividade: O problema da Cidade Enlameada (pgina 78). Fichas ou quadrados de cartolina (cerca de 40 fichas por criana).

76

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

A Cidade Enlameada
Introduo Esta atividade lhe mostrar como os computadores so usados para encontrar as melhores solues para os problemas da vida real tais como conectar linhas eltricas entre casas. As crianas devem usar a planilha da pgina 78, que explica o problema da Cidade Enlameada. Discusso Compartilhe as solues encontradas pelas crianas. Quais estratgias foram utilizadas ? Uma boa estratgia para encontrar a melhor soluo comear com um mapa vazio e, gradualmente, adicionar os pavimentos at que todas as casas estejam conectadas, acrescentando os caminhos em ordem crescente de comprimento, sem conectar casas que j estejam ligadas. Diferentes solues podem ser encontradas se voc mudar a ordem na qual os caminhos de mesmo comprimento so adicionados. Duas solues possveis so mostradas abaixo.

Outra estratgia consiste em iniciar com todos os caminhos pavimentados e, depois, remover os caminhos que voc no precisa. No entanto, isso requer muito mais esforo. Onde voc encontraria redes na vida real ? Os cientistas da computao chamam as representaes dessas redes de grafos. Redes reais podem ser representadas por um grafo para resolver problemas, como projetar a melhor rede de estradas entre cidades ou rotas de vos no pas. H tambm muitos outros algoritmos que podem ser aplicados aos grafos, tais como encontrar a distncia mais curta entre dois pontos, ou o percurso mais curto que passa por todos os pontos.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

77

Folha de Atividade: O problema da cidade enlameada


Era uma vez uma cidade que no tinha estradas. Andar pela cidade era particularmente difcil depois de chuva intensa porque a terra se tornava muito enlameada, o que fazia com que carros ficassem presos na lama e as pessoas sujassem suas botas. O prefeito da cidade decidiu que algumas das ruas deveriam ser pavimentadas, mas ele no queria gastar mais dinheiro do que o necessrio, pois a cidade tambm precisava construir uma piscina. Portanto, o prefeito especificou duas condies: 1. Um nmero suficiente de ruas devem ser pavimentadas de modo que seja possvel para qualquer pessoa ir de sua casa para a casa de qualquer pessoa utilizando apenas estradas pavimentadas, e A pavimentao deve custar o mais barato possvel.

2.

Aqui est o desenho da cidade. O nmero de pedras de pavimentao entre cada casa representa o custo de pavimentao dessa via. Encontre o melhor percurso que ligue todas as casas, mas utilize a menor quantidade possvel de pedras de pavimentao. Quais estratgias voc usou para resolver o problema ?

78

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Variaes e extenses Est outra forma de representar as cidades e as estradas:

As casas so representadas por crculos, as estradas enlameadas por linhas, e o comprimento de uma estrada dado pelo nmero ao lado da linha. Os cientistas da computao e matemticos usam freqentemente este tipo de diagrama para representar esses problemas. Eles o chamam de grafo. Elabore alguns de seus prprios problemas do tipo Cidade Enlameada e teste-os com seus amigos. Voc pode descobrir uma regra para descrever quantas estradas ou conexes so necessrias para obter a melhor soluo ? Isso depende de quantas casas existem na cidade ?

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

79

De que se trata tudo isso ?


Suponha que voc esteja projetando a forma como um servio tal como eletricidade, gs ou gua deva ser entregue a uma nova comunidade. Uma rede de fios ou canos necessria para conectar todas as casas companhia prestadora do servio. Toda casa precisa estar conectada rede em algum ponto, mas a rota utilizada pela companhia para chegar at a casa no interessa realmente; apenas importa que essa rota exista. A tarefa de projetar uma rede com um comprimento total mnimo chamado de problema da rvore Geradora Mnima (do ingls, minimal spanning tree). rvores geradoras mnimas no so teis apenas em redes de gs e eletricidade; elas tambm nos ajudam a resolver problemas em redes de computadores, redes telefnicas, de oleodutos, e de rotas areas. No entanto, ao decidir as melhores rotas para as pessoas viajarem, voc tem de levar em conta a forma que tornar a viagem mais conveniente para o viajante, bem como quanto ir custar. Ningum quer passar horas em um avio utilizando a maior rota para chegar a outro pas apenas porque a mais barata. O algoritmo da cidade enlameada pode no ser muito til para essas redes, porque ele simplesmente minimiza o comprimento total das estradas ou rotas de vo. rvores geradoras mnimas tambm so teis para resoluo de outros problemas envolvendo grafos, tais como o Problema do Caixeiro Viajante, que tenta encontrar a rota mais curta que visita todos os pontos da rede. Existem algoritmos eficientes (mtodos) para resolver problemas de rvore geradora mnima. Um mtodo simples, que fornece uma soluo tima, consiste em comear sem conexes, e adicion-las em ordem crescente de tamanho, acrescentando apenas as conexes que juntem partes da rede que ainda no foram conectadas. Esse mtodo chamado de algoritmo de Kruskal, em referncia a J.B. Kruskal, que o publicou em 1956. Para muitos problemas em grafos, incluindo o Problema do Caixeiro Viajante, os cientistas da computao ainda procuram encontrar mtodos que achem a melhor soluo possvel.

Solues e dicas
Variaes e extenses (pgina 79)
Quantas estradas ou conexes so necessrias se houver n casas na cidade ? Acontece que uma soluo tima ter sempre exatamente n-1 conexes, pois isso sempre suficiente para conectar n casas, e acrescentando uma casa a mais seria criar rotas alternativas desnecessrias entre as casas.

80

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Atividade 10
O Jogo da Laranja Roteamento e Bloqueios nas Redes

Sumrio Quando muitas pessoas usam um recurso (carros usando estradas, ou mensagens chegando pela internet), existe a possibilidade de bloqueio (deadlock). Um jeito de trabalhar cooperativamente necessrio para evitar que isso acontea. Matrias correlacionadas Matemtica: Desenvolvimento de raciocnio e lgica Habilidades Resoluo cooperativa de problemas Raciocnio lgico Idades De 9 anos em diante Material Cada criana precisar de : Duas laranjas ou bolas de tnis Etiqueta com letra

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

81

O Jogo da Laranja
Introduo Esse um jogo de resoluo cooperativa de problemas. O objetivo cada pessoa terminar segurando as laranjas etiquetadas com sua prpria letra. 1. Grupos de cinco ou mais crianas sentam formando um crculo. 2. A cada criana associa-se uma letra do alfabeto. H duas laranjas com a letra de cada criana etiquetada nelas, exceo de uma criana, que tem apenas uma laranja correspondente sua letra para assegurar que haver sempre uma mo vazia. 3. Distribua as laranjas aleatoriamente para as crianas no crculo. Cada criana fica com duas laranjas, exceto a criana que tem apenas uma com sua letra. (Nenhuma criana deve ficar com uma laranja com sua letra). 4. As crianas passam as laranjas entre si at algum pegar a laranja etiquetada com

sua letra do alfabeto. Voc deve seguir duas regras:


a) Apenas uma laranja deve estar em cada mo. b) Apenas uma laranja pode ser passada para uma mo vazia de um vizinho imediato no crculo (Uma criana pode passar uma das duas laranjas ao seu vizinho). As crianas rapidamente descobriro que, se elas forem avarentas (ficarem com suas prprias laranjas assim que passarem por suas mos), o grupo no ser capaz de atingir sua meta. Isso pode ser necessrio para enfatizar que indivduos no ganham o jogo, e que o quebra-cabeas resolvido quando todos esto com suas laranjas. Discusso Quais estratgias as crianas usaram para resolver o problema ? Onde na vida real voc experimentou uma situao de bloqueio (deadlock) ? Existem alguns exemplos como engarrafamento ou tentar passar com muita gente por uma porta ao mesmo tempo. Atividades de Extenso Tente realizar as atividades seguintes com um crculo maior ou menor. Faa as crianas criarem novas regras. Conduza a atividade sem falar nada. Tente configuraes diferentes como sentar em linha ou ter mais que dois vizinhos para algumas crianas. Algumas sugestes so mostradas aqui.

82

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

De que se trata tudo isso ?


Roteamento e bloqueios so problemas existentes em diversas redes tais como em redes de estradas, telefonia e computao. Os engenheiros gastam muito tempo tentando descobrir como resolver esses problemas e como projetar redes que tornam esses problemas mais fceis de serem resolvidos. Roteamento, congestionamento e bloqueios podem provocar srios problemas em diversas redes. Pense no trnsito no horrio de pico (rush) ! Em Nova Iorque, por diversas vezes, o trfego nas ruas tornou-se to congestionado que causou um bloqueio: ningum consegue mover seu carro. Certas vezes, quando os computadores de empresas (como bancos) esto fora do ar, o problema causado por um bloqueio na rede de comunicao. O projeto de redes com roteamento facilitado e congesto minimizada um problema difcil enfrentado por diversos tipos de engenheiros. Por vezes, mais de uma pessoa requer o mesmo dado ao mesmo tempo. Se um dado (como o saldo bancrio de um usurio) est sendo atualizado, importante tranc-lo durante a atualizao. Se ele no for trancado, outra pessoa poderia atualiz-lo ao mesmo tempo e o saldo poderia ser gravado incorretamente. Entretanto, se o trancamento sofrer interferncia do trancamento de outro item, pode ocorrer um bloqueio. Um dos avanos mais excitantes no projeto de computadores o advento da computao paralela, na qual centenas ou milhares de processadores de computadores pessoais so combinados (em uma rede) para formar um nico e poderoso computador. Muitos problemas, como o Jogo da Laranja, devem ser jogados continuamente nessas redes (porm, bem mais rpido) para que esses computadores paralelos trabalhem.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

83

Parte III
Dizendo aos Computadores o que fazer Representando Procedimentos

Dizendo aos Computadores o Que Fazer


Computadores seguem instrues milhes de instrues por segundo. Para dizer a um computador o que fazer, tudo que voc precisa dar as instrues corretas. Mas isso no to fcil quanto parece ! Quando recebemos instrues usamos o senso comum para interpretar os seus significados. Se algum diz atravesse a porta, ele no quer dizer que voc tenha que se atirar contra a porta quer dizer que voc deve ir at a porta e, se necessrio, abri-la antes de passar ! Os computadores so diferentes. Em verdade, quando eles esto conectados a robs mveis, voc precisa tomar precaues de segurana para evitar que eles causem danos e perigo por interpretar as instrues literalmente como tentar atravessar portas. Lidar com algo que obedece instrues literalmente, sem pensar, requer prtica. As duas atividades nesta seo nos fornecem uma idia de como se comunicar com mquinas que obedecem literalmente, usando um conjunto fixo de instrues. A primeira atividade nos ensinar sobre uma mquina que os computadores usam para reconhecer palavras, nmeros ou conjuntos de smbolos com os quais o computador trabalha. Tais mquinas so chamadas de Autmatos de Estados Finitos. A segunda atividade nos mostra como podemos nos comunicar com computadores. Um bom programador deve aprender como dizer a um computador o que fazer usando um conjunto fixo de instrues que so interpretadas literalmente. A lista de instrues o programa. Existem vrias liguagens de programao diferentes que um programador pode escolher para escrever essas instrues, mas usaremos uma linguagem simples que pode ser usada sem um computador.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

85

Atividade 11
Caa ao TesouroAutmatos de Estados Finitos
Sumrio Freqentemente programas de computador precisam processar uma sequncia de smbolos como letras ou palavras em um documento, ou at mesmo o texto de outro programa. Cientistas da computao freqentemente usam autmatos de estados finitos para isso. Um Autmato de Estados Finitos (AEF) segue um conjuto de instrues para verificar se o computador reconhecer a palavra ou conjunto de smbolos. Trabalharemos com algo equivalente a um AEFmapas do tesouro! Matrias correlacionadas Matemtica: Desenvolvimento lgico e raciocniousar palavras e smbolos para descrever e seguir padres Estudos sociais Portugus Habilidades Leitura de mapas simples Reconhecimento de padres Lgica Seguir instrues Idades A partir de 9 anos Material Voc precisar de: Um conjunto de cartas de ilha (as instrues devem ficar escondidas de quem estiver tentando desenhar o mapa!) Faa uma cpia das Cartas da Ilha (pgina 92 em diante) e recorte-as. Dobre na linha pontilhada e cole, de modo que, a frente das cartas tenha o nome da ilha, e o fundo tenha as instrues. Cada criana precisar de: Folha de Atividade: Encontre o Caminho para as Riquezas da Ilha do Tesouro (pg. 91) Caneta ou lpis Existem atividades opcionais de extenso para as quais as crianas precisaro de: Folha de Atividade: Ilhas do Tesouro (pg. 97) Folha de Atividade: O Misterioso Jogo da Moeda (pg. 98)

Ilha do Tesouro
Introduo Seu objetivo encontrar a Ilha do Tesouro. Navios piratas amigos navegam por um conjunto fixo de rotas entre as ilhas em uma parte do mundo, oferecendo carona aos viajantes. Cada ilha possui dois navios de partida, A e B, que voc pode escolher para viajar. Voc precisa encontrar o melhor caminho para a Ilha do Tesouro. Em cada ilha na qual chegar, voc pode escolher um dos navios A ou B (no ambos). A pessoa na ilha lhe dir para onde vai o navio, mas os piratas no tm um mapa de todas as ilhas disponveis. Use seu mapa para saber onde voc est indo e em quais navios voc j viajou. Demonstrao (Nota: A atividade usar um mapa diferente.) Usando um quadro ou projetor, desenhe o diagrama das trs ilhas como abaixo:

Copie as trs cartas das prximas duas pginas e d uma carta a cada criana. Note que as rotas nessas cartas so diferentes daquelas na atividade principal. Comeando da Ilha dos Piratas, escolha o navio A. A criana deve direcion-lo para a Baa do Naufrgio. Anote a rota no mapa. Na Baa do Naufrgio, escolha o navio A novamente. Voc voltar a Ilha dos Piratas. Anote isso no mapa. Agora escolha o navio B. Anote isso no mapa. Essa rota vai para a Ilha dos Mortos, onde voc ficar preso ! Seu mapa final dever estar assim:

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

87

Cartas para a atividade de demonstrao

A B

88

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Cartas para a atividade de demonstrao

Nenhum navio deixa a Ilha dos Mortos

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

89

Atividade Escolha sete crianas para serem as ilhas. As crianas seguraro as cartas identificando suas ilhas, com as instrues secretas no verso. Posicione-as aleatoriamente pela sala. O restante das crianas ficar com mapas em branco e tero que navegar da Ilha dos Piratas para a Ilha do Tesouro, marcando isso cuidadosamente em seus mapas. (Uma boa prtica enviar uma criana por vez para que elas no consigam ouvir as rotas de antemo.) Os primeiros a terminar devem tentar encontrar mais de uma rota. O mapa completo o seguinte:

Discusso Qual a rota mais rpida ? Qual seria uma rota muito lenta ? Algumas rotas podem ter laos (loops). Voc pode encontrar um exemplo disso ? (Por exemplo, BBBABAB e BBBABBABAB, ambos chegam a Ilha do Tesouro.)

90

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Folha de Atividade: Encontre o caminho para as riquezas da Ilha do Tesouro

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

91

Cartas das Ilhas (1/4)

A B

A B

92

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Cartas das Ilhas (2/4)

A B

A B

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

93

Cartas das Ilhas (3/4)

A B

A B

94

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Cartas das Ilhas (4/4)

Parabns!!!

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

95

Autmatos de Estados Finitos Outra maneira de desenhar um mapa seria:

As ilhas so representadas por crculos numerados, e a ilha final (com o tesouro) tem dois crculos. Quais rotas podemos usar para chegar a ltima ilha ? Nota: o mapa (a) termina no crculo duplo (ilha 2) somente se a sequncia tem um numero mpar de As (por exemplo, AB, BABAA, ou AAABABA). O mapa (b) s alcana o crculo duplo com uma sequncia alternada de As e Bs (AB, ABAB, ABABAB, ...). O mapa (c) requer que a sequncia contenha no mnimo um B (as nicas sequncias que no servem so A, AA, AAA, AAAA, ...).

96

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Folha de Atividade: Ilhas do Tesouro


Voc capaz de esconder bem o seu tesouro ? Voc pode fazer um mapa do tesouro bem difcil ? a hora de fazer seu prprio mapa ! 1. Esta atividade uma verso mais complicada da idia anterior para representao de um mapa. De fato, esse mapa igual ao usado no exerccio anterior. Cientistas da computao usam esse mtodo simples e rpido para projetar rotas que sigam um determinado padro.

Seguindo esse exemplo, desenhe seu prprio mapa para visualizar facilmente as rotas de viagem dos navios piratas. Depois, crie os mapas a serem completados e as cartas de ilha. Qual a sequncia mais eficiente de rotas para alcanar a sua Ilha do Tesouro ? 2. Seus amigos conseguem seguir seu mapa sem problemas ? D a eles uma sequncia de As e Bs e verifique se eles conseguem chegar ilha correta. Voc pode criar diversos jogos e quebra-cabeas baseados na idia de autmatos de estados finitos. Aqui temos uma maneira de construir frases atravs da escolha de caminhos aleatrios do mapa, anotando as palavras encontradas.

3.

Agora, tente fazer o mesmo. Quem sabe voc cria uma histria bem engraada !
Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

97

Folha de Atividade: O Misterioso Jogo da Moeda


Alguns amigos baixaram um jogo na Internet no qual um rob jogava uma moeda e eles deveriam adivinhar se sairia cara ou coroa. No comeo o jogo parecia muito fcil. Eles tinham, no mnimo, 50% de chances de ganharou melhor, eles achavam que tinham ! Aps certo tempo, eles comearam a desconfiar. Parecia haver um padro nos resultados das moedas. O jogo foi manipulado ? Certamente no ! Eles decidiram investigar. Joo anotou os resultados de suas prximas tentativas no jogo e eles encontraram o seguinte: (c = cara, o = coroa) c o c c c o c c o o c o c c o o c c o o o c c o c o c o c o c o c o o c c c c o o c o o o c c c c c o c c c o c c c c c c o o c o o o o o c o o c o o o o c c c c c c c c c o o c c c o o o o c c c o

Voc consegue identificar um padro previsvel ? Existe um mapa bem simples que descreve a sequncia dos resultados das moedas. Veja se voc consegue descobri-lo. (Dica: esse mapa tem somente quatro ilhas)

De que se trata tudo isso ?


Autmatos de estados finitos so usados na Cincia da Computao para ajudar um computador a processar uma sequncia de caracteres ou de eventos. Um exemplo simples quando voc liga para algum lugar e escuta a mensagem Tecle 1 para isso... Tecle 2 para aquilo Tecle 3 para falar com um dos atendentes. As teclas pressionadas so entradas para um autmato de estados finitos do outro lado do telefone. O dilogo pode ser bem simples ou muito complicado. Algumas vezes, voc fica andando em crculos porque existe um lao especfico no autmato. Se isso ocorre, ento um erro no projeto do sistema e isso pode ser extremamente frustrante para quem liga! Outro exemplo quando voc saca dinheiro no caixa eletrnico do banco. O programa no computador do caixa guia voc atravs de uma sequncia de eventos. Dentro do programa, todas as possveis sequncias esto guardadas como um autmato de estados finitos. Toda tecla pressionada leva o autmato a um novo estado. Alguns dos estados tm instrues para o computador como libere R$100,00 em dinheiro ou Imprima um extrato ou Ejete o carto. Alguns programas de computador lidam realmente com frases em portugus usando mapas como os da pgina 97. Eles podem tanto gerar quanto processar frases digitadas pelos usurios. Nos anos sessenta, um cientista da computao escreveu um programa famoso chamado Eliza (em referncia Eliza Dolittle) que conversava com pessoas. O programa fingia ser um psicoterapeuta e fazia perguntas do tipo : Fale sobre a sua famlia e Prossiga. Embora o programa no entendesse nada, era suficientemente convincentee seus usurios humanos eram suficientemente ingnuospara que certas pessoas acreditassem estar conversando com um psicoterapeuta humano. Embora os computadores no entendam muito bem a linguagem natural, eles podem rapidamente processar linguagens artificiais. Um tipo importante de linguagem artificial a linguagem de programao. Os computadores usam autmatos de estados finitos para ler programas e traduzi-los para a forma elementar de instrues do computador, as quais podem ser executadas diretamente pelo computador.

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

99

Solues e dicas
O Misterioso Jogo da Moeda (pg. 98)
O misterioso jogo da moeda usa o seguinte mapa para jogar as moedas:

Se voc seguir esse mapa, ver que as duas primeiras de cada trs moedas jogadas produzem o mesmo resultado.

100

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Atividade 12
Seguindo InstruesLinguagens de Programao
Sumrio Os computadores so geralmente programados atravs de uma linguagem, que um vocabulrio limitado de instrues que devem ser obedecidas. Uma das coisas mais frustrantes sobre programar que os computadores sempre obedecem s instrues ao p da letra, mesmo se estas produzirem um resultado louco. Essa atividade fornece s crianas alguma experincia sobre esse aspecto da programao. Matrias correlacionadas Portugus: comunicao Habilidades Dar e seguir instrues. Idades A partir de 7 anos. Material Voc precisar de: Cartas com figuras, como as mostradas na prxima pgina. Cada criana precisar de: Papel, caneta e rgua

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

101

102

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

Seguindo Instrues
Introduo Discuta se adequado que as pessoas sigam instrues risca. Por exemplo, o que aconteceria se voc apontasse para uma porta fechada e dissesse Atravesse a porta ? Os computadores funcionam seguindo listas de instrues, e eles fazem exatamente o que as instrues dizemmesmo se estas no fizerem o menor sentido ! Exemplo de Demonstrao Veja se as crianas conseguem desenhar a figura a partir dessas instrues. 1. 2. 3. 4. Desenhe um ponto no centro da sua pgina. Comeando da ponta superior esquerda da pgina, trace uma linha reta passando pelo ponto at a ponta inferior direita. Comeando da ponta inferior esquerda da pgina, trace uma linha reta passando pelo ponto at a ponta superior direita. Escreva seu nome no tringulo no centro do lado esquerdo da pgina.

O resultado deve ser algo do tipo:

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

103

Atividades Escolha uma criana e d a ela uma figura (como os exemplos da pgina 102). A criana descreve a figura para a classe reproduzir. As crianas podem fazer perguntas para esclarecer as instrues. O objetivo ver o quo rpido e fielmente o exerccio pode ser completado. Repita o exerccio, mas, dessa vez, as crianas no podero fazer perguntas. melhor usar uma figura mais simples para esse exerccio, pois as crianas podem se perder muito rpido. Agora, esconda a criana que fornece as instrues atravs de uma tela e tente o exerccio, sem permitir perguntas, de tal forma que a comunicao seja feita somente atravs das instrues. Comente que essa forma de comunicao a mais parecida com a qual os programadores de computador utilizam quando escrevem programas. Eles fornecem um conjunto de instrues ao computador e, somente depois, descobrem o efeito das instrues. Faa as crianas desenharem as figuras e escreverem suas instrues. Coloque-os em pares ou utilize a classe inteira. Variaes Escreva instrues para construir um avio de papel. Escreva instrues sobre como chegar a um lugar misterioso prximo escola, usando instrues como Ande x metros para frente, Vire esquerda(90 graus), e Vire direita(90 graus). As crianas devem testar e refinar suas instrues at que elas tenham o efeito desejado. Cabra Cega. Vende os olhos de uma criana e faa as outras guiarem a criana vendada pela sala.

1. 2.

3. 4.

104

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

De que se trata tudo isso ?


Os computadores operam seguindo um conjunto de instrues, chamado de programa, o qual foi escrito para cumprir uma determinada tarefa. Programas so escritos em linguagens que foram especialmente projetadas com um conjunto limitado de instrues para dizer aos computadores o que fazer. Certas linguagens so mais adequadas para alguns propsitos do que outras. Deixando de lado a linguagem que eles usam, os programadores devem ser capazes de especificar exatamente o que desejam que o computador faa. Diferentemente dos seres humanos, um computador realizar as instrues literalmente, ainda que elas sejam totalmente ridculas. importante que os programas sejam bem escritos. Um pequeno erro pode causar vrios problemas. Imagine as consequncias de um erro num programa de computador numa plataforma de lanamento, usina nuclear, ou torre de controle de avies ! Erros so comumente chamados de bugs (insetos, em ingls), em homenagem a uma mariposa que uma vez foi removida (debugged) de um rel eltrico de uma mquina de calcular no incio de 1940. Quanto mais complexo o programa, maior a possibilidade de erros. Isso se tornou um grande problema quando os Estados Unidos trabalhavam no programa da Iniciativa Estratgica de Defesa (Star Wars ou Guerra nas Estrelas) , um sistema controlado por computador que pretendia formar uma defesa impenetrvel contra ataques nucleares. Alguns cientistas da computao afirmaram que isso nunca funcionaria devido complexidade e a inerente incerteza que o programa requeria. Programas precisam ser testados cuidadosamente para encontrar o mximo de erros possvel e, no seria factvel, testar esses sistemas j que algum teria que atirar msseis contra os Estados Unidos para ter certeza de que o sistema funciona !

Cpia autorizada somente para uso em sala de aula. 2011 Computer Science Unplugged (csunplugged.org)

105

You might also like