11.01.2017 Views

ATP1-algortimosDefinicoes

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Algoritmos e técnicas<br />

de programação<br />

Faculdade Pitágoras<br />

Professor: Gustavo Aurélio<br />

gustdi@gmail.com<br />

1


O que é um algoritmo ?<br />

• Algoritmo é uma sequência finita de<br />

instruções bem definidas e não ambíguas,<br />

cada uma das quais devendo ser executadas<br />

mecânica ou eletronicamente em um<br />

intervalo de tempo finito e com uma<br />

quantidade de esforço finita.


O que é um algoritmo ?<br />

• O conceito de algoritmo é frequentemente<br />

ilustrado pelo exemplo de uma receita<br />

culinária, embora muitos algoritmos sejam<br />

mais complexos. Eles podem repetir passos<br />

(fazer iterações) ou necessitar de decisões<br />

(tais como comparações ou lógica) até que a<br />

tarefa seja completada.


Objetivos específicos<br />

• Conhecer o que são, como se aplicam e a<br />

quem se destina a elaboração dos algoritmos;<br />

• Conhecer como são desenvolvidas as<br />

estruturas computacionais com expressões<br />

literais, lógicas e aritméticas, além dos tipos de<br />

dados;<br />

• Conhecer o ambiente de programação e como<br />

se dá o raciocínio lógico computacional, bem<br />

como os tipos e formas de representação de<br />

algoritmos através da elaboração do<br />

fluxograma. Aplicação em uma linguagem de<br />

programação JAVA


Definição de algoritmos<br />

• As ações que realizamos obedecem a uma<br />

sequência, e que esta precisa ser executada<br />

para que se consiga atingir o objetivo<br />

predeterminado<br />

• Por exemplo, quando é necessário trocar o<br />

pneu do carro:<br />

– 1. Desparafusar a roda.<br />

– 2. Suspender o carro com o macaco.<br />

– 3. Retirar a roda com o pneu.<br />

– 4. Colocar o estepe.<br />

– 5. Abaixar o carro.<br />

– 6. Parafusar a roda.


Desafio<br />

• Torre de Hanói<br />

– Objetivo: mover os discos da haste A para a<br />

haste C.<br />

– Restrições: Um disco NÃO pode ficar sobre<br />

um disco menor que ele.<br />

– Qual a sequencia lógica para resolver este<br />

problema?<br />

A<br />

c


Solução


Desafio 2<br />

• Um senhor está em uma das margens de um<br />

rio com uma raposa, uma galinha e um saco de<br />

milho.<br />

– Ele pretende atravessar o rio com suas<br />

cargas em um barco que só comporta ele e<br />

uma das cargas.<br />

– Ele não pode deixar em uma das margens<br />

sozinhos, a raposa e a galinha, nem a<br />

galinha e o milho.


Desafio 2


Desafio 2<br />

(1) Atravessar a galinha.<br />

(2) Retornar sozinho.<br />

(3) Atravessar a raposa.<br />

(4) Retornar com a galinha.<br />

(5) Atravessar o milho.<br />

(6) Retornar sozinho.<br />

(7) Atravessar a galinha.


Algoritmo Textual Informal:<br />

“Abra o porta-mala e verifique se todos<br />

acessórios estão lá. Em caso negativo, feche o<br />

porta-malas e peça carona a alguém. Em caso<br />

positivo, retire o triângulo, posicione-o a cerca<br />

de 30 m do carro, e, depois, retire o estepe e o<br />

macaco. Levante o carro...”


Algoritmo Textual Informal:


Algoritmo Textual Formal:


Desafio 3<br />

Uma lesma encontra-se no fundo de um poço<br />

seco de 10 metros de profundidade e quer sair de<br />

lá. Durante o dia, ela consegue subir 2 metros<br />

pela parede; mas à noite, enquanto dorme,<br />

escorrega 1 metro.<br />

● Depois de quantos dias ela consegue chegar<br />

na saída do poço?


Desafio 3


Desafio 3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!