Você está na página 1de 22

NOÇÕES DE

ALGORITMIA
Algoritmo, objetivo:

Facilitar o entendimento da lógica


de programação usando uma
linguagem conhecida
(português).
Algoritmo:

Algoritmo pode ser definido como uma


sequência lógica, e sem ambiguidade de
passos, que levam à solução de um dado
problema.
É uma sequência de passos que visam
atingir um objetivo bem definido.
O algoritmo está presente em todas as
ações do nosso dia à dia como se fosse um
plano para resolução de problemas.
Os algoritmos são comuns em nosso
cotidiano, como por exemplo, uma receita de
bolo. Nela está descrita um série de
ingredientes necessários, uma sequência de
passos a serem cumpridos para atingir o
objetivo que é ter um bolo pronto. Ou então um
mapa para chegar até um local, que descreve o
caminho a ser percorrido através de uma
sequência de passos.
Podemos descrever atividades do
cotidiano como por exemplo, trocar uma
lâmpada queimada.
Apesar de aparentemente óbvio
demais, muitas vezes fazemos esse tipo de
atividade sem percebermos determinados
detalhes.
De maneira simples podemos
descrever:
pegue uma escada;
posicione-a embaixo da lâmpada queimada;
pegue uma lâmpada nova;
suba na escada;
retire a lâmpada velha;
coloque a lâmpada nova
desça e guarde a escada.
A sequência descrita supõe que a lâmpada
nova não esteja queimada e que se tenha
apenas uma lâmpada para ser trocada.
Se tivermos uma outra situação: várias
lâmpadas que precisam ser testadas e trocadas
ou não, conforme sua condição, a sequência de
passos para a solução do problema será outra.
Para resolvermos um problema através da
construção de um algoritmo podemos
especificar um método que traduza uma
sequência lógica de passos:
“1. Ler atentamente o enunciado - para resolver um problema é necessária sua
compreensão;
2. Retirar do enunciado a relação das entradas de dados - através do
enunciado podemos descobrir quais são as informações que devem ser
fornecidas, a partir das quais desenvolveremos as ações;
3. Retirar do enunciado a relação das saídas de dados - através do
enunciado podemos descobrir quais são os dados que devem ser emitidos para
compor o resultado final, objetivo do algoritmo;
4. Determinar as ações que o levarão a atingir o resultado desejado - nesta
etapa precisamos determinar qual sequência de ações é capaz de transformar
um conjunto definido de dados nas informações de resultado;
5. Construir o algoritmo - descrever os passos para resolver o problema;
6. Executar o algoritmo - implica em executar todas as ações descritas
seguindo o fluxo de execução estabelecido, verificando se os resultados obtidos
correspondem ao esperado. Desta forma torna-se possível detectar algum
possível erro no desenvolvimento do algoritmo. Essa atividade é conhecida
como “TESTE DE MESA”.
Exercícios:

1 - Um homem precisa atravessar um rio com um


barco que possui capacidade de transportar apenas
ele mesmo e mais uma de suas três cargas, que
são: um lobo, um bode e um maço de alfafa. O que
o homem deve fazer para conseguir atravessar o
rio sem perder suas cargas ?
Informações:

um barco
um homem
um lobo
um bode
um maço de alfafa

Ficando sozinhos (sem o Homem) :


- O Bode come a Alfafa
- O Lobo come o Bode
ação:

atravessar o rio sem perder as cargas

resultado:

todas as as cargas na outra margem do


rio.
Algoritmo:
início
atravessar homem e bode
voltar homem
atravessar homem e lobo
voltar homem e bode
atravessar homem e alfafa
voltar homem
atravessar homem e bode
fim
2 - Elabore um algoritmo que mova três discos de
uma Torre de Hanói, que consiste em três hastes
(a-b-c), uma das quais serve de suporte para três
discos de tamanhos diferentes (1-2-3), os
menores sobre os maiores. Deve-se mover um
disco de cada vez para qualquer haste, contanto
que nunca seja colocado um disco maior sobre
um menor. O objetivo é transferir os três discos
para outra haste.
ações:
movimentar um disco de cada vez de forma
que fiquem ordenados

resultado:
discos transferidos e ordenados para outra
haste
Algoritmo:
início
mover o disco 1 para a haste b
mover o disco 2 para a haste c
mover o disco 1 para a haste c
mover o disco 3 para a haste b
mover o disco 1 para a haste a
mover o disco 2 para a haste b
mover o disco 1 para a haste b
fim
3. Três jesuítas e três canibais precisam
atravessar um rio; para tal, dispõem de um
barco com capacidade para duas pessoas.
Por medidas de segurança não se permite
que em alguma margem a quantidade de
jesuítas seja inferior à de canibais. Qual a
sequência de passos que permitiria a
travessia com segurança ?
informações:

3 jesuítas
3 canibais
1 barco com capacidade para 2 pessoas

Condição : não ter em nenhum momento


quantidade de jesuítas inferior a canibais.
1. Atravessar um jesuíta e um canibal para a margem B
2. Voltar o jesuíta para a margem A
3. Atravessar dois canibais para a margem B
4. Voltar um canibal para a margem A
5. Atravessar dois jesuítas para a margem B
6. Voltar um jesuíta e um canibal para a margem A
7. Atravessar dois jesuítas para a margem B
8. Voltar um canibal para a margem A
9. Atravessar dois canibais para a margem B
10. Voltar um canibal para a margem A
11. Atravessar dois canibais para a margem B
ALGORITMOS
Já vimos que para resolvermos um problema
através da construção de algoritmos podemos
seguir um método, entre outros existentes, que
traduza uma sequência lógica de passos. Estes
envolvem descobrir as informações, ações e
resultados.
FIM

Você também pode gostar