P. 1
ApostilaLógica - Parcial

ApostilaLógica - Parcial

|Views: 2.617|Likes:
Publicado porJean C. C. Alencar

More info:

Categories:Types, School Work
Published by: Jean C. C. Alencar on Jul 03, 2011
Direitos Autorais:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/29/2013

pdf

text

original

Considere o problema das Torres de Hanoi . Analise e descreva uma maneira
de mover os discos do pino A para o pino C, mantendo a mesma ordem. Em
hipótese nenhuma um disco maior poderá ficar sobre o menor. Veja a figura abaixo:

Obs.: deve-se mover um único anel por vez e um anel de diâmetro maior nunca
pode repousar sobre algum outro de diâmetro menor.

Solução: Algoritmo para resolver o problema das Torres de Hanoi.
Início

1. Mover o anel P da haste A para a haste C.
2. Mover o anel M da haste A para a haste B.
3. Mover o anel P da haste C para a haste B.
4. Mover o anel G da haste A para a haste C.
5. Mover o anel P da haste B para a haste A.
6. Mover o anel M da haste B para a haste C.
7. Mover o anel P da haste A para a haste C.

Fim

Um homem precisa atravessar um rio com um barco que possui capacidade
de carregar apenas ele mesmo e mais uma das três cargas que são: um lobo, um
bode e um maço de alfafas.
Observe as leis naturais: o lobo é carnívoro e o bode é herbívoro.
O que o homem deve fazer para conseguir atravessar o rio sem perder suas

cargas?
Solução: Algoritmo para resolver o problema das Travessia.

10 de 65

Início

1) O Homem leva o bode da margem 1 para a margem 2.
2) O Homem navega da margem 2 para a margem 1.
3) O Homem leva o lobo da margem 1 para a margem 2.
4) O Homem leva o bode da margem 2 para a margem 1.
5) O Homem leva a alfafa da margem 1 para a margem 2.
6) O homem navega da margem 2 para a margem 1.
7) O Homem leva o bode da margem 1 para a margem 2.

Fim

No nosso dia a dia, muitas vezes tratamos algorítimos sem nem perceber,
observe a seguinte situação: Um cozinheiro precisa fazer um sanduíche de queijo,
só que ele passa pelos seguintes dilemas: o queijo está fatiado ou o queijo está sem
Fatiar.
Solução 1: Algoritmo para resolver o problema de se fazer o sanduíche com o
queijo estando fatiado
.
Início

1) Pegar a faca;
2) Pegar o pão;
3) Cortar o pão;
4) Colocar a faca na mesa;
5) Pegar a fatia de queijo;
6) Abrir o pão;
7) Colocar a fatia de queijo no pão.

Fim

Solução 2: Algoritmo para resolver o problema de se fazer o sanduíche com o
queijo não estando fatiado
.
Início

1) Pegar a faca;
2) Pegar o pão;
3) Cortar o pão;
4) Colocar o pão na mesa;
5) Pegar o queijo;

11 de 65

6) Cortar uma fatia de queijo;
7) Colocar a faca na mesa;
8) Pegar e abrir o pão;
9) Colocar a fatia de queijo no pão.

Fim

Solução 3: Algoritmo para prevendo os dois problemas anteriores.
Início

1) Pegar a faca;
2) Pegar o pão;
3) Cortar o pão;
4) Se o queijo estiver fatiado então
5) Passos de 4 a 6 da solução 1
6) Senão
7) Passos de 4 a 8 da solução 2
8) Colocar a fatia de queijo no pão.

Fim

2.3 Variáveis / Constantes

O uso de variáveis / constantes, nos permite a utilização do mesmo algorítimo
para a solução de vários problemas, inclusive determinando seus tipos de dados.
As variáveis são alocações na memória do computador para armazenar
dados podem mudar seus valores no decorrer do algorítimo.
Já as constantes são alocações na memória do computador para armazenar
dados que no decorrer do algoritmo ou processamento sempre terá o mesmo valor.
Toda variável / constante tem um nome e um valor.
O nome das variáveis deverá ser escrito no padrão CamelCase, as
constantes devem ser nomeadas em caixa alta(maiúsculas), e seguindo as
seguintes regras:

Devem começar por uma letra e depois conter letras, números ou underline
“_”, até um limite de 30 caracteres. As variáveis podem ser simples ou estruturadas.

12 de 65

Não pode haver duas variáveis com o mesmo nome, com a natural exceção dos
elementos de um mesmo vetor.

You're Reading a Free Preview

Descarregar
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->