Você está na página 1de 3

Prof Fabiano Russo

Algoritmo
Conceitos:

• É a descrição dos passos necessários para a resolução de um


problema.

• Seqüência finita de passos que se corretamente seguidos nos


levam a resultados previsíveis.

• Um algoritmo é um conjunto finito de regras que fornece uma


seqüência de operações para resolver um problema específico.

Um algoritmo opera sobre um conjunto de entradas (no caso do bolo, farinha


ovos, fermento, etc.) de modo a gerar uma saída que seja útil (ou agradável)
para o usuário (o bolo pronto). Um algoritmo tem cinco características
importantes:

Finitude:
Um algoritmo deve sempre terminar após um número finito de passos.
Definição:
Cada passo de um algoritmo deve ser precisamente definido. As ações
devem ser definidas rigorosamente e sem ambigüidades (Ambiguidade
é a possibilidade de uma mensagem ter dois sentidos) .
Entradas:
Um algoritmo deve ter uma ou mais entradas, isto é quantidades que lhe
são fornecidas antes do algoritmo iniciar.
Saídas:
Um algoritmo deve ter uma ou mais saídas, isto é quantidades que tem
uma relação específica com as entradas.

Efetividade ('fazer a “coisa” que tem que ser feita'):


Um algoritmo deve ser efetivo (eficaz). Precisa ser capaz de produzir um efeito,
que pode ser positivo ou negativo.

Todos nós sabemos construir algoritmos. Se isto não fosse verdade, não
conseguiríamos sair de casa pela manhã, ir ao trabalho, decidir qual o melhor
caminho para chegar a um lugar, voltar para casa, etc. Para que tudo isto seja
feito é necessário uma série de entradas do tipo: a que hora acordar, que hora
sair de casa, qual o melhor meio de transporte, etc.

Um fator importante é que pode haver mais de um algoritmo para resolver um


determinado problema. Por exemplo, para ir de casa até o trabalho, posso
escolher diversos meios de transporte em função do preço, conforto, rapidez,
etc. A escolha será feita em função do critério que melhor se adequar as
nossas necessidades.
Dicas importantes para solucionar problemas

1) Compreender o problema
Qual é o problema ?
Quais são as informações utilizadas ? (Dados)
Quais as condições exigidas ?
É possível satisfazer as condições exigidas ?
As condições entram em contradição com o problema ?

2) Adoção do método para a resolução do problema


Esse problema já foi resolvido antes ?
Achando um problema já resolvido, podemos utilizá-lo ?
Será necessário dividir o problema em módulos para simplificar ?
É possível reformular o problema ?

3) Esquematizar a resolução do problema (Planejamento)

4) Testar o plano
Verificar cada passo;
Avaliar a exatidão

5) Avaliar
Resultado satisfatório ?
Objetivo atingido ?
Podemos utilizar outro caminho ?
Representação de Algoritmos

As formas mais comuns de representação de algoritmos são as seguintes:

Linguagem Natural

Os algoritmos são expressos diretamente em linguagem natural.

Vantagem
Não é necessário aprender novos conceitos para a realização da
descrição.

Desvantagem
A língua natural abre espaços para várias interpretações, para isso é
necessário estar atento no momento da construção.

Exercícios:
1) Como trocar uma lâmpada.
2) Como escovar o dente.
3) Como fazer arroz.
4) Como fazer um bolo de chocolate.
5) Como chegar a UGF onde a origem é o centro da cidade e o destino é o
bairro Piedade.
6) Dispomos de duas vasilhas com capacidades de 9 e 4 litros
respectivamente. As vasilhas não tem nenhum tipo de marcação, de modo que
não é possível ter medidas como metade ou um terço. Mostre uma seqüência
de passos, que usando as vasilhas de 9 e 4 litros encha uma terceira vasilha
de medida desconhecida com seis litros de água.
7) Multiplicar dois números.