Você está na página 1de 27

Introduo a Algoritmos

Definio de Algoritmos

Introduao
Para que um computador possa
desempenhar uma tarefa necessrio
que ela seja detalhada passo a passo.
O programa nada mais do que um
algoritmo compreensvel ao computador

Introduo
Afazeres domsticos, receitas de um
prato, contas de luz e gua so exemplos
de algoritmos genricos utilizados no dia a
dia
Tudo o que fazemos pode ser
considerado um algoritmo (ou vrios)
um procedimento que recebe uma
entrada e, de acordo com passos
definidos produz uma sada.

Introduo
O Algoritmo a lgica do problema
matemtico ou computacional
a sequncia de passos lgicos que se
deve realizar para a soluo do problema
Um algoritmo geralmente uma forma
bruta de se resolver problemas
matemticos/computacionais particulares
ou agrupados

Histria
Matemtico persa chamado Abu Jafar
Al-Khowrizm escreveu em, 825 um livro
sobre mtodos de restaurao e reduo
numrica
Kitab al jabr wal-muqabala

Conceitos
Na Matemtica, descreve o processo de
clculo e resoluo de um grupo de
problemas semelhantes, com
generalidades e sem restries,
estipulando as regras formais para
obteno do resultado
Baskara

Conceitos
Na programao de computadores,
descreve o conjunto de regras
predeterminadas e bem definidas para
resolver um problema com um nmero
finito de etapas.

Aplicao Bsica

Dia a dia
Tarefa de escovar os dentes aps o almoo:
1.
2.
3.
4.
5.
6.

Levantar da mesa
Ir ao banheiro
Abrir o creme dental
Colocar o creme na escova de dentes
Escovar os dentes
Enxague

Os passos do algoritmo de escovao dos


dentes devem ser aplicados de forma
sequencial.
Traduzindo a um computador, a
sequncia de passos que transforma
entrada em sada

Caractersticas de um Algoritmo
Finitude
Um algoritmo deve sempre terminar aps um
nmero finito de passos

Definio
Cada passo deve ser precisamente definido,
sem ambiguidade

Entrada
Valores que so fornecidos antes do incio e
durante a sua execuo

Caractersticas de um Algoritmo
Sadas
Um algoritmo deve ter uma ou mais sadas,
relativas s entradas quanto a execuo do
algoritmo

Efetividade
Todas as operaes devem ser
suficientemente bsicas que possam ser
executadas mesmo em papel e lpis

Um algoritmo uma abstrao da


realidade
o processo de identificar as propriedades
relevantes do fenmeno que est sendo
modelado.

Soluo de problemas com


algoritmos
Alguns passos devem ser definidos criteriosamente:
Definir o problema
Dados associados e resultados desejados

Planejar o algoritmo de soluo


Decidir como proceder na soluo do problema

Codificar a soluo
Redigir o algoritmo em formato de linguagem passvel de
entendimento ferramenta de soluo

Testar a codificao
Assegurar os resultados no formato correto

Documentao
Obteno e testes de resultados, manuais e desempenho.

Algoritmo e o Computador
O computador utiliza-se de um
mecanismo capaz de executar aes
seguindo um padro de comportamento
descrito por um algoritmo
Repertrio de aes primitivas
Soluo de problemas matemticos
especficos (numricos)
Utilizao de ferramentas matemticas para
traduzir formas visuais

Algoritmo e o Computador
Os passos de um algoritmo deve ser
sequencial e esgotador
Somente se executa a prxima etapa quando
a anterior realizada sem erros, ou com o
mnimo de desvios.

Algoritmo e o Computador
Texto finito
Todo algoritmo escrito em forma de software
representado por linhas de comando textual

Instrues elementares
Comandos mnimos conhecidos fornecidos ao
computador que executar as aes.

Receita metdica
Texto preciso, sem ambiguidades

Terminao
Truncamento de aes, quando possvel
Finalizao de loops, se necessrio
Contagem de passos e aproximaes.

Limitao de passos

h1

h2= h1/2
h3= h2/2

h4= h3/2

Limitao de Passos
hn=?
h1 + h2 + h3 + .....+ hn ?

an a1q

a1 q 1
Sn
q 1
n

Ordem de Passos
Alguns passos devem ser realizados
invariavelmente de forma sequencial
Pode haver incongruncias lgicas entre a
execuo da soluo de problemas e o
problema em si
Alterao da ordem lgica
Erro nas condies iniciais
Erro na numerao dos passos (referncia
em 0 ou 1)

Representao de Algoritmos
Existem algumas representaes de
algoritmos consolidadas para
interpretao:
Fluxograma
Diagrama de blocos
Algoritmo descritivo
Algoritmo codificado

Representao de Algoritmos
Algoritmo grfico a representao do
raciocnio lgico atravs de blocos de
informao, conhecido como modelo
tradicional.
Os fluxogramas so exemplos de
algoritmos grficos, utilizados para
descrever o mtodo e a sequncia de
processos dos planos. Tanto em um
computador como no papel.

Fluxograma
Representao desenvolvida pela ANSI
Smbolos padronizados com formas
geomtricas indicando diferentes aes
Formato intermedirio entre a descrio
narrativa e pseudocdigo
Menos imprecisa que a primeira
Menor ateno a detalhes que a segunda

Representao de Fluxograma
Incio / Fim

Entrada

Sada

Processo
(clculo)

Deciso

Representao de Fluxograma
Fluxogramas convencionais devem
atentar a detalhes de nvel fsico de
execuo do algoritmo
Figuras diferentes para processos diferentes
Partindo do smbolo de incio, h sempre um
nico caminho orientado a ser seguido,
dependendo das entradas e instrues a
serem seguidas

Exerccio: Problema da Bola


1. Desenhe um fluxograma para clculo da
distncia de quiques da bola do
exerccio anterior em que as entradas
so:
Altura inicial
Nmeros de quiques a serem
considerados

Exerccio: Problema da Bola


2. Considere que os quiques percam 1/3
da altura a cada batida no solo.
Calcule quantos quiques para que a
altura atingida seja menor que 1% da
altura inicial.