Cap01 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de Computadores Autores JR., Dilermando
1. Capítulo 1 página: 1
Resposta dos Exercícios Propostos
Livro: Algoritmo e Programação de Computadores
Autores: Dilermando Piva Junior, Gilberto Shigueo Nakamiti, Angela de
Mendonça Engelbrecht e Francisco Bianchi.
Editora Campus / Elsevier, 2012.
C A P Í T U L O 1
1) Faça um algoritmo que calcule a área de uma mesa de jantar (redonda ou
retangular)
a. Se ela for retangular
Inicio do algoritmo
Com algum instrumento de medição (régua, fita métrica etc) meça os
lados da mesa.
Se forem iguais, multiplique o valor de um lado pelo valor de outro
lado.
Se forem diferentes, multiplique o valor do lado maior pelo valor do
lado menor.
O resultado obtido é a área da mesa.
Fim do algoritmo.
b. Se ela for redonda
Inicio do algoritmo
Com algum instrumento de medição (régua, fita métrica etc) meça o
diâmetro da mesa.
Divida o valor do diâmetro por dois. O resultado é igual ao raio da
mesa.
Multiplique o valor do raio pelo valor do raio (eleve ao quadrado).
Ao valor obtido, multiplique por 3,1418 (valor de pi).
O resultado obtido é a área da mesa.
Fim do algoritmo.
2) Dois caçadores estão perdidos em uma floresta, sem munição e prestes a morrer de
fome. Um deles, conhecedor da flora, conseguiu achar uma planta muito nutritiva.
Entretanto, para comê-la, eles têm de esquentá-la por 30 segundos exatos senão
ela os matará. Porém, para marcar o tempo, eles só têm duas ampulhetas, uma que
2. Capítulo 1 página: 2
Resposta dos Exercícios Propostos
Livro: Algoritmo e Programação de Computadores
Autores: Dilermando Piva Junior, Gilberto Shigueo Nakamiti, Angela de
Mendonça Engelbrecht e Francisco Bianchi.
Editora Campus / Elsevier, 2012.
marca 22 segundos e outra que marca 14 segundos. Como eles conseguirão marcar o
tempo?
Eles devem marcar 30 segundos, com duas ampulhetas que marcam 22 e 14.
Se pegarmos a primeira ampulheta (22 seg), teremos que acrescer 8 segundos
para obter 30 segundos.
Se pegarmos a segunda ampulheta (14 seg), teremos que acrescentar 16
segundos para obter os mesmos 30 segundos.
Se subtrairmos 22 de 14, teremos um total de 8 segundos. Ótimo! Era
exatamente 8 segundos que precisávamos para somar a primeira ampulheta (22
segundos) e obtermos exatos 30 segundos.
Assim, viramos as duas ampulhetas. Quando a ampulheta de 14 segundos
acabar, colocamos a planta imediatamente no fogo. Quando a areia da segunda
ampulheta acabar, teríamos cozido a planta por exatos 8 segundos. Dessa
forma, viramos imediatamente a mesma ampulheta de 22 segundos. Quando a
areia acabar nesta ampulheta, teríamos cozido a planta por exatos 30
segundos! Pronto!! Os caçados estão salvos!
3) Você acaba de encontrar uma caixa. Ao abri-la, você encontra nove moedas de ouro
idênticas e um bilhete que diz que uma das moedas é falsa (foi forjada com um
metal que possui um peso diferente do outro, mas que é imperceptível pela
comparação unitária feita pelas mãos). Você também dispõe de uma balança de dois
pratos. Como descobrir qual a moeda diferente usando apenas três vezes a balança
e ainda dizer se ela é mais leve ou mais pesada?
A moeda falsa tem um peso menor. Dessa forma, divida as 9 moedas em 3 grupos de 3
moedas. Pese dois grupos. Se os pratos da balança ficarem no mesmo nível, a moeda
falsa está no grupo não pesado.
Caso contrário, a moeda falta está no grupo de moedas onde o prato ficou num
nível acima.
Uma vez identificado o grupo, pegue duas moedas desse grupo e pese. Se os pratos
ficarem no mesmo nível, a moeda falsa é a que não foi pesada. Caso contrário é a
moeda que ficou no prato que ficou no nível mais elevado.
3. Capítulo 1 página: 3
Resposta dos Exercícios Propostos
Livro: Algoritmo e Programação de Computadores
Autores: Dilermando Piva Junior, Gilberto Shigueo Nakamiti, Angela de
Mendonça Engelbrecht e Francisco Bianchi.
Editora Campus / Elsevier, 2012.
A moeda falsa tem um peso menor. Dessa forma, faça dois grupos de 4 moedas
cada. Pese-os. Caso fiquem equilibrados, a moeda falsa é a que não foi
pesada. Caso contrário, a moeda está no grupo que o prato ficou em um nível
mais elevado.
Pegue as moedas desse prato e divida-as em dois grupos. Pese-os. A moeda
falsa está no prato que ficou em um nível mais elevado.
Agora pegue e pese as duas moedas que ficaram no prato mais elevado.
A moeda falsa é aquela que ficou no prato de nível mais elevado. (3
pesagens no máximo)
Você conseguiria com apenas duas pesagens?
A moeda falsa tem um peso menor. Dessa forma, divida as 9 moedas em 3
grupos de 3 moedas. Pese dois grupos. Se os pratos da balança ficarem no
mesmo nível, a moeda falsa está no grupo não pesado.
Caso contrário, a moeda falta está no grupo de moedas onde o prato ficou
num nível acima.
Uma vez identificado o grupo, pegue duas moedas desse grupo e pese. Se os
pratos ficarem no mesmo nível, a moeda falsa é a que não foi pesada. Caso
contrário é a moeda que ficou no prato que ficou no nível mais elevado. (2
pesagens no máximo)
4) Em um lado de uma ponte estão quatro pessoas que precisam atravessá-la. Está
escuro e elas possuem apenas uma lanterna que deve ser sempre utilizada durante a
travessia da ponte que suporta a passagem de apenas duas pessoas simultaneamente.
Essas pessoas possuem idades diferentes levando, portanto, tempos diferentes para
atravessar a ponte: uma delas leva 2 minutos, outra; 4 minutos, a terceira; 10
minutos e a última leva 20 minutos. Como elas devem fazer para que todos
atravessem a ponte em menos de 19 minutos?
Errata: o tempo correto é 1 minuto, 3 minutos, 6 minutos, 8 minutos e 12 minutos. Eles
tem que atravessar em no máximo 30 minutos.
4. Capítulo 1 página: 4
Resposta dos Exercícios Propostos
Livro: Algoritmo e Programação de Computadores
Autores: Dilermando Piva Junior, Gilberto Shigueo Nakamiti, Angela de
Mendonça Engelbrecht e Francisco Bianchi.
Editora Campus / Elsevier, 2012.
A primeira vista, pensamos em levar cada um dos compontentes, acompanhado do andarilho
mais veloz. Entretanto, se somarmos todos os tempos vemos que isso não é possível.
Dessa forma temos que fazer com que ocorra uma somatória de tempos... em especial os
dois mais demorados. Entretanto se fizermos isso de imediato, a volta do segundo mais
lento, tornará todo o processo inviável. Assim, temos que passar rapidamente os dois
mais rápidos, deixarmos do outro lado um dos dois (vamos dizer que é o mais rápido).
Voltamos com o outro, atravessamos os dois mais lentos, voltamos com o mais rápido,
pegamos os dois mais lentos restantes, voltamos com o menos lento, e por fim, voltamos
com os dois mais rápidos. Pronto! Solucionado.
Em termos numéricos, margens e travessia ficariam:
Margem
esquerda
(destino)
Travessia
(ponte)
Margem direita
(origem)
Tempo Total
- - 1,3,6,8 e 12 30
- 1,3 6,8 e 12 27
1 3 6,8,12 24
1 8,12 3,6 12
8,12 1 3,6 11
8,12 1,6 3 5
8,12,6 1 3 4
8,12,6 1,3 - 1
1,3,6,8,12 - - 1
Você pode praticar interativamente no seguinte endereço:
http://www.mdig.com.br/index.php?itemid=1014
5) Em um lado de um rio se encontram: três missionários e três canibais. Existe
apenas uma canoa capaz de levar apenas duas pessoas de cada vez. Sabendo que,
caso o número de canibais seja maior do que o de missionários, esses serão
devorados por eles, como fazer para atravessar todos eles em segurança para a
5. Capítulo 1 página: 5
Resposta dos Exercícios Propostos
Livro: Algoritmo e Programação de Computadores
Autores: Dilermando Piva Junior, Gilberto Shigueo Nakamiti, Angela de
Mendonça Engelbrecht e Francisco Bianchi.
Editora Campus / Elsevier, 2012.
outra margem do rio? Lembre-se que, para que outros entrem no barco, os que estão
lá precisam descer e nesse momento pode ocorrer uma tragédia! A canoa nunca faz
qualquer viagem (seja de ida ou de volta) sozinha.
Tomando como base a forma de resolução do exercício proposto anterior, vamos fazer uma
tabela com as margens e a viagem. Dessa forma, temos:
Margem
esquerda
(destino)
Travessia
(ponte)
Margem
direita
(origem)
Número de
viagens
- - MMM CCC 0
- CC MMM C 1
C C MMM C 2
C CC MMM 3
CC C MMM 4
CC MM M C 5
C M CM M C 6
C M MM CC 7
MMM C CCC 8
CC MMM CC C 9
C MMM C CC 10
CCC MMM CC - 11
Você pode praticar interativamente no seguinte endereço:
http://rachacuca.com.br/jogos/missionarios-e-canibais/