Você está na página 1de 113

Traduo coordenada por Luciano Porto Barreto

Fevereiro de 2011

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

Ensinando Cincia da Computao
sem o uso do computador
2 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)


Cpia autorizada somente para uso em sala de aula. i
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).
ii 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.

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

iv Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)
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, J oan Mitchell, Nancy Walker-Mitchell, Gwen Stark, Tony Smith, Tim A. H.
Bell
1
, Mike Hallett, e Harold Thimbleby forneceram igualmente inmeros comentrios
proveitosos.
Temos uma enorme dvida para com as nossas famlias: Bruce, Fran, Grant, J udith, e
Pam, por seu apoio, e Andrew, Anna, Hannah, Max, Michael, e Nikki, que inspiraram
grande parte deste trabalho
2
, 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 l por t oba@uf ba. br .





1
Nenhuma relao com o primeiro autor.
2
De fato, a atividade de compresso de texto foi inventada por Michael.

Cpia autorizada somente para uso em sala de aula. v
2011 Computer Science Unplugged (csunplugged.org)
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
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
2 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)
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. 3
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)

4 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. 5
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 ?
6 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. 7
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.
8 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 ?






1 2 3 4 5 6 7 8 9 10 11 12 13
a b c d e f g h i j k l m
14 15 16 17 18 19 20 21 22 23 24 25 26
n o p q r s t u v w x y z

Cpia autorizada somente para uso em sala de aula. 9
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 !

10 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 ?

Cpia autorizada somente para uso em sala de aula. 11
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.
12 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)
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.

Cpia autorizada somente para uso em sala de aula. 13
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: AJ UDE 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.

14 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)
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)


Cpia autorizada somente para uso em sala de aula. 15
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.
16 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)
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)

Cpia autorizada somente para uso em sala de aula. 17
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
18 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)
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.)


































Cpia autorizada somente para uso em sala de aula. 19
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.

































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

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.)

Cpia autorizada somente para uso em sala de aula. 21
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 v-
las na Internet levar bem menos tempo.
Um programador pode escolher a tcnica mais adequada compresso das imagens que
est transmitindo.
22 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

Solues e dicas
Respostas da Atividade do Mini Fax






Cpia autorizada somente para uso em sala de aula. 23
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)
24 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

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 J arra (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




Cpia autorizada somente para uso em sala de aula. 25
2011 Computer Science Unplugged (csunplugged.org)
Transparncia: Voc pode repetir ?

A Aranha e a Jarra
(Nelma Sampaio)
Debai xo da cama tem uma j arra,
Dentro da j arra tem uma aranha.
Tanto a aranha arranha a j arra,
Como a j arra arranha a aranha.



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

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.

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.
Amor fogo que arde sem se ver,
ferida que di e no se sente,
um contentamento descontente,
dor que desatina sem doer .



















Cpia autorizada somente para uso em sala de aula. 27
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
--
Banan
-
Banana
-
Visto 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 ?
28 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

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.
B
a
n
a
n
a

(
N
e
l
m
a

S
a
m
p
a
i
o
)

B
a
n
a
n
a
,

b
a
n
a
n
e
i
r
a
,

b
a
n
a
n
a
d
a

A

m
a
c
a
c
a
d
a

s
e

a
l
v
o
r
o

a

q
u
a
n
d
o

v


E

s
a
i

c
o
r
r
e
n
d
o

d
a
n
d
o

p
u
l
o
s
,

d
a
n
d
o

s
a
l
t
o
s

P
r
a

v
e
r

q
u
e
m

c
h
e
g
a

l


n
o

t
o
p
o

p
r
a

c
o
m
e
r

N
a

b
a
n
a
n
e
i
r
a

t
e
m

u
m

c
a
c
h
o

b
e
m

m
a
d
u
r
o

E

V
o
v


c
o
l
h
e

a
s

b
a
n
a
n
a
s

p
r
a

f
a
z
e
r

A

b
a
n
a
n
a
d
a

q
u
e


u
m

d
o
c
e

b
e
m

e
s
c
u
r
o

E
m

q
u
a
n
t
i
d
a
d
e

q
u
e


p
r
a

d
a
r

e

p
r
a

v
e
n
d
e
r
.



Cpia autorizada somente para uso em sala de aula. 29
2011 Computer Science Unplugged (csunplugged.org)
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.
E
30 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

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)


Cpia autorizada somente para uso em sala de aula. 31
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.
32 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

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 ?

Cpia autorizada somente para uso em sala de aula. 33
2011 Computer Science Unplugged (csunplugged.org)
Ensine o truque para as crianas:

1. Trabalhando em pares, as crianas distribuem suas cartas em um quadrado 5 5.
2. Quantas cartas coloridas esto em cada linha e coluna ? Trata-se de um nmero par ou
mpar ? Lembre-se, 0 um nmero par.
3. 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.
4. Adicione uma sexta linha de cartas na parte de baixo, fazendo com que o nmero de
cartas em cada coluna seja um nmero par.
5. 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.
6. Agora, faa revezamentos para realizar o truque.
Atividades de Extenso:

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).
2. 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.)
3. 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.)
4. 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.)
34 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

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.

Cpia autorizada somente para uso em sala de aula. 35
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) ?
36 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

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 J piter 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.
Cpia autorizada somente para uso em sala de aula. 37
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)
38 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

Vinte Palpites
Discusso
1. Discuta com as crianas o que elas acham que informao.
2. 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.
Cpia autorizada somente para uso em sala de aula. 39
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 50 ? Sim.
menor que 25 ? No.
menor que 37 ? No.
menor que 43 ? Sim.
menor que 40 ? No.
menor que 41 ? No.
Deve ser 42 ! 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 pode-
se 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.
40 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

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 ?
Cpia autorizada somente para uso em sala de aula. 41
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.
42 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

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.






Parte II
Colocando os Computadores para
TrabalharAlgoritmos
44 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

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.
Cpia autorizada somente para uso em sala de aula. 45
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'.
46 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

Batalha Naval
Atividade Introdutria
1. 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.
2. 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.
3. Repita a atividade, se quiser.
4. 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.












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



Batalha NavalUm jogo de busca linear
Leia as seguintes instrues para as crianas
1. Formem duplas. Um de vocs pega a folha 1A, e o outro a folha 1B. No mostrem sua
folha para o seu parceiro !
2. Ambos circulam um navio de guerra na linha superior da folha do jogo e informam o
nmero do navio ao seu parceiro.
3. 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).
4. 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
1. Quais foram as pontuaes ?
2. 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).
48 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

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. Formem duplas. Um de vocs pega a folha 2A, o outro a folha 2B. No mostrem sua
folha ao seu parceiro !
2. Ambos circulam um navio da linha superior de sua folha de jogo e dizem o nmero do
navio ao seu parceiro.
3. 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).
4. Quantos tiros so necessrios para localizar o navio do seu parceiro ? Essa a sua
pontuao no jogo.
Discusso
1. Quais foram as pontuaes ?
2. Qual foi a estratgia usada pelos jogadores que tiveram baixa pontuao ?
3. 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.)
4. 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.








Batalha Naval Um jogo de busca usando Hashing
Instrues
1. Cada criana escolhe uma folha, como no jogo anterior, e diz ao seu parceiro o nmero
do navio escolhido.
2. 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.
3. 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
1. Colete e discuta as pontuaes como antes.
2. 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.)
3. 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.)



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

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.)
2. 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.)
3. 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, diz-
se que o nmero de tiros proporcional ao logaritmo do nmero de navios.)


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


9
0
5
8
8
3
1
1
7
1
6
9
7
6
2
1
3
2
1
4
3
5
4
2
5
8
9
1
9
2
6
4
4
9
1
7
4
5
0
2
7
6
7
8
5
6
2
4
7
1
5
4
1
9
1
6
7
4
4
9
3
2
8
0
8
8
9
4
6
2
1
7
9
0
8
4
2
3
8
9
4
9
5
0
6
3
1
3
6
2
2
1
AA NN
BB OO
CC PP
DD QQ
EE
RR
FF SS
GG
TT
HH UU
II
VV
JJ
WW
KK XX
LL
YY
M
y

S
h
i
p
s
Y
o
u
r

S
h
i
p
s
N
u
m
b
e
r

o
f

S
h
o
t
s

U
s
e
d
:
N
u
m
b
e
r

o
f

S
h
o
t
s

U
s
e
d
:
1
A
3
0
1
4
2
2
4
4
MM
ZZ
N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

S
e
u
s

n
a
v
i
o
s

M
e
u
s

n
a
v
i
o
s

N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

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

N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

S
e
u
s

n
a
v
i
o
s

M
e
u
s

n
a
v
i
o
s

N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

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


N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

S
e
u
s

n
a
v
i
o
s

M
e
u
s

n
a
v
i
o
s

N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:


N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

S
e
u
s

n
a
v
i
o
s

M
e
u
s

n
a
v
i
o
s

N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:


9
0
4
7
3
0
8
0
5
1
2
5
7
1
1
6
6
0
0
0
8
0
5
1
9
8
9
1
1
0
6
2
1
8
2
9
9
9
9
4
4
3
9
2
8
2
1
2
4
1
2
8
4
1
1
0
6
4
2
2
8
1
9
9
7
0
5
7
1
4
8
0
8
9
4
4
7
4
3
2
4
7
1
2
2
0
5
0
5
8
4
2
1
4
8
1
1
9
8
9
2
1
0
6
M
y

S
h
i
p
s
Y
o
u
r

S
h
i
p
s
N
u
m
b
e
r

o
f

S
h
o
t
s

U
s
e
d
:
N
u
m
b
e
r

o
f

S
h
o
t
s

U
s
e
d
:
3
A
00
11
22
33
44
55
66
77
88
99
A
C
E
L
O
H
A
R
B
S
E
H
L
O
V
C
T
F
I
M
P
W
Y
K
D
U
G
J
N
Q
X
Z
R
W
B
D
V
G
N
Q
K
U
Z
F
M
P
J
T
Y
I
S
X
N

m
e
r
o
d
e
d
i
s
p
a
r
o
s
:
N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

S
e
u
s

n
a
v
i
o
s

M
e
u
s

n
a
v
i
o
s


N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

N

m
e
r
o
d
e
d
i
s
p
a
r
o
s
:
S
e
u
s

n
a
v
i
o
s

M
e
u
s

n
a
v
i
o
s


N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

S
e
u
s

n
a
v
i
o
s

M
e
u
s

n
a
v
i
o
s

N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

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

N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

S
e
u
s

n
a
v
i
o
s

M
e
u
s

n
a
v
i
o
s

N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

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


N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

S
e
u
s

n
a
v
i
o
s

M
e
u
s

n
a
v
i
o
s

N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

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

N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

S
e
u
s

n
a
v
i
o
s

M
e
u
s

n
a
v
i
o
s

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


N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

N

m
e
r
o
d
e
d
i
s
p
a
r
o
s
:
S
e
u
s

n
a
v
i
o
s

M
e
u
s

n
a
v
i
o
s

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

N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

N

m
e
r
o

d
e

d
i
s
p
a
r
o
s
:

S
e
u
s

n
a
v
i
o
s

M
e
u
s

n
a
v
i
o
s

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


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.
64 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

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)
Cpia autorizada somente para uso em sala de aula. 65
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
1. Divida as crianas em grupos.
2. Cada grupo precisar de uma cpia da folha de atividade da pgina 66 e os seus prprios
pesos e balanas.
3. Pea s crianas para fazerem a atividade e, depois, discuta o resultado.



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

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. Encher cada recipiente com uma quantidade diferente de areia ou gua. Sele-o
firmemente.
2. Misture-os de modo que voc j no saiba a ordem dos pesos.
3. 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 ?
5. Agora coloque todos os objetos na ordem do mais leve ao mais pesado.
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?
Cpia autorizada somente para uso em sala de aula. 67
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 ?
68 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

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. J ogadores 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.
Cpia autorizada somente para uso em sala de aula. 69
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.
70 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

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.
5. 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.
Cpia autorizada somente para uso em sala de aula. 71
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
72 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)


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. Organizem-se em grupos de seis. Apenas uma equipe de cada vez pode utilizar a rede.
2. Cada membro da equipe pega um carto numerado.
3. Cada membro fica em um quadrado no lado esquerdo (Entrada) da rede. Seus nmeros
devem estar embaralhados.
4. Voc se move ao longo das linhas marcadas e, ao chegar em um crculo, voc deve
esperar outra pessoa chegar.
5. 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.
6. 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:
Cpia autorizada somente para uso em sala de aula. 73
2011 Computer Science Unplugged (csunplugged.org)


Original para fotocpia Redes de Ordenao
1 2
3 4
5 6


156 221
289 314
422 499

Variaes
1. Quando as crianas estiverem familiarizadas com a atividade, use um cronmetro para
determinar quanto tempo cada equipe leva para chegar ao final da rede.

2. Use cartes com nmeros maiores (por exemplo, os cartes de trs dgitos da fotocpia-
mestre).
3. 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
1. 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. 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.
3. 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.

4. Tente fazer uma rede de ordenao maior.
5. 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).
6. 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 ?
Cpia autorizada somente para uso em sala de aula. 75
2011 Computer Science Unplugged (csunplugged.org)


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.
76 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

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).
Cpia autorizada somente para uso em sala de aula. 77
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.
78 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

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
2. A pavimentao deve custar o mais barato possvel.
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 ?
Cpia autorizada somente para uso em sala de aula. 79
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 ?
80 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

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.
Cpia autorizada somente para uso em sala de aula. 81
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
82 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)


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.
Cpia autorizada somente para uso em sala de aula. 83
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 J ogo da Laranja, devem ser jogados continuamente nessas redes
(porm, bem mais rpido) para que esses computadores paralelos trabalhem.

Parte III
Dizendo aos Computadores o que
fazer Representando
Procedimentos

Cpia autorizada somente para uso em sala de aula. 85
2011 Computer Science Unplugged (csunplugged.org)
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.

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 J ogo da Moeda (pg. 98)

Cpia autorizada somente para uso em sala de aula. 87
2011 Computer Science Unplugged (csunplugged.org)
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:
88 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

Cartas para a atividade de demonstrao



A

A

B

B









Cpia autorizada somente para uso em sala de aula. 89
2011 Computer Science Unplugged (csunplugged.org)
Cartas para a atividade de demonstrao

Nenhum navio deixa a
Ilha dos Mortos



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

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.)

Cpia autorizada somente para uso em sala de aula. 91
2011 Computer Science Unplugged (csunplugged.org)
Folha de Atividade: Encontre o caminho para as
riquezas da Ilha do Tesouro
92 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)

Cartas das Ilhas (1/4)



A

A
B

B








Cpia autorizada somente para uso em sala de aula. 93
2011 Computer Science Unplugged (csunplugged.org)
Cartas das Ilhas (2/4)


A A

B B


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

Cartas das Ilhas (3/4)


A

A

B B






Cpia autorizada somente para uso em sala de aula. 95
2011 Computer Science Unplugged (csunplugged.org)
Cartas das Ilhas (4/4)

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

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, ...).


Cpia autorizada somente para uso em sala de aula. 97
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.
3. Aqui temos uma maneira de construir frases atravs da escolha de caminhos
aleatrios do mapa, anotando as palavras encontradas.

Agora, tente fazer o mesmo. Quem sabe voc cria uma histria bem engraada !

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. J oo anotou os
resultados de suas prximas tentativas no jogo e eles encontraram o seguinte:
(c = cara, o = coroa)
c c o c c o c c c o o c c c c o o c o o o c c c c c o c c c
o o o c c c o o o c c c c c c o o c o o o o o c o o c o o o
c c c o o c c c o c c c c c c c c c o o c c c o o o o c c c
c c o o o o o o 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)

Cpia autorizada somente para uso em sala de aula. 99
2011 Computer Science Unplugged (csunplugged.org)
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.

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

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.

Cpia autorizada somente para uso em sala de aula. 101
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
102 Cpia autorizada somente para uso em sala de aula.
2011 Computer Science Unplugged (csunplugged.org)



Cpia autorizada somente para uso em sala de aula. 103
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. Desenhe um ponto no centro da sua pgina.
2. Comeando da ponta superior esquerda da pgina, trace uma linha reta passando pelo
ponto at a ponta inferior direita.
3. Comeando da ponta inferior esquerda da pgina, trace uma linha reta passando pelo
ponto at a ponta superior direita.
4. Escreva seu nome no tringulo no centro do lado esquerdo da pgina.

O resultado deve ser algo do tipo:

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


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
1. Escreva instrues para construir um avio de papel.
2. 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).
3. As crianas devem testar e refinar suas instrues at que elas tenham o efeito desejado.
4. Cabra Cega. Vende os olhos de uma criana e faa as outras guiarem a criana vendada
pela sala.


Cpia autorizada somente para uso em sala de aula. 105
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 !

Você também pode gostar