Vous êtes sur la page 1sur 32

AULA 1

ALGORITMO E ESTRUTURA DE
DADOS
O que so algoritmos?
ndice
AULA 1

Objetivos

Introduo

Representao de Algoritmos
Linguagem Natural
Fluxogramas
Pseudo-Linguagem

Tcnicas de Projeto de Algoritmos


Objetivos
AULA 1

Apresentar o que so algoritmos.

Formas de representao.

Tcnicas de criao e desenvolvimento de


algoritmos.
Receita
AULA 1

Um algoritmo um conjunto finito de regras que


fornece uma seqncia precisa de operaes
para resolver um problema especfico.

Por exemplo, uma receita um algoritmo para


resolver o problema de fazer um bolo.

Claro que a receita deve ser precisa, por


exemplo, colocar sal a gosto no vale!
Exemplos
AULA 1

Todos ns sabemos criar e seguir algoritmos

Como ir de casa at o trabalho?

Como fazer um bife milaneza?

Como trocar o pneu do carro?


Origem
AULA 1

Segundo Donald Knuth, um papa na criao e


estudo de algoritmos, a palavra tem origem no
nome de um matemtico persa, que viveu no
sculo IX, cujo nome era

Abu Jafar Maom ibn Ms al-Khowrizm


ou
Pai de Jfar, Maom, filho de Moiss da cidade de
Khowrizm
Caractersticas
AULA 1

Finitude algoritmos devem terminar aps um


nmero finito de passos;
Definio - cada passo deve ser precisamente
definido;
Entradas - devem ter zero ou mais entradas;
Sadas - devem ter uma ou mais sadas;
Efetividade - todas as operaes devem ser
simples de modo que possam ser executadas em
um tempo limitado.
Dificuldades
AULA 1

Difcil para iniciantes saber o que o computador


pode ou no fazer

Criao de algoritmos um processo no


automtico e tem muito de arte.

Pode haver mais de uma soluo para um


problema.
Exemplo
AULA 1

Dispe-se de 2 vasilhas com capacidades


marcadas de 9 e 4 litros respectivamente.
Mostre a seqncia de passos necessrios para
colocar numa terceira vasilha de medida
desconhecida um volume de 6 litros.
Outro exemplo
AULA 1

Como fazer para que as trs rs que esto em


quatro casas nas seguintes posies,

R 1 R 2 R 3
terminem assim?

R 3 R 2 R 1
Regras para as rs
AULA 1

Somente pular para a casa da frente ou


de trs se ela estiver vazia.

Pular a r vizinha se for parar em uma


casa vazia.

Este algoritmo serve para ordenar dados,


e muito utilizado em computao.
Rs se movendo 1
AULA 1

R 1 R 2 R 3
Rs se movendo 2
AULA 1

R 1 R 2 R 3

R 1 R 3 R 2
Rs se movendo 3
AULA 1

R 1 R 3 R 2

R 3 R 1 R 2

R 3 R 1 R 2
Rs se movendo 4
AULA 1

R 3 R 2 R 1
Rs se movendo 5
AULA 1

R 3 R 2 R 1

R 3 R 2 R 1

R 3 R 2 R 1
Representao de algoritmos
AULA 1

Linguagem natural: algoritmos expressos


diretamente em linguagem natural, como nas
receitas

Fluxogramas: representao grfica

Pseudo-linguagem: emprega linguagem


intermediria entre linguagem natural e
linguagem de programao
Linguagem Natural
AULA 1

Repetir 10 vezes cada um dos quatro exerccios


abaixo:
Levantar e abaixar o brao direito;
Levantar e abaixar o brao esquerdo;
Levantar e abaixar a perna direita;
Levantar e abaixar a perna esquerda.
Fluxogramas
AULA 1

Representao de algoritmos por meio de


smbolos geomtricos.

Cada tipo de operao representado por um


smbolo diferente.

Tem a vantagem de permitir o


acompanhamento visual do fluxo do algoritmo
Fluxogramas alguns smbolos
AULA 1

Incio e fim de algoritmo

Atribuies e clculos de
valores

Decises

Entrada de dados

Discos
Fluxogramas alguns smbolos
AULA 1

Impresso de resultados

Conector na pgina

Conector fora da pgina

Entrada manual

Ligao entre smbolos


Um dia de sol!
AULA 1

Incio
1 2

Acordar

Ir praia Ler jornal


Tomar
Caf

Ir ao cinema

No
Sol? 2
Jantar

Sim
Fim
1
Pseudo-linguagem
AULA 1

Este mtodo procura misturar as facilidades da


linguagem natural com a preciso das linguagens
de programao

A representao da soluo em pseudo cdigo


possibilita ao programador a abstrao dos
detalhes da sintaxe da linguagem escolhida.
Pseudo-linguagem
AULA 1

Este mtodo ser o mais empregado ao longo do


nosso curso.

No existe um padro para esta forma de


descrio.

Nossa pseudo-linguagem ser definida ao longo


do curso.
Exemplo de pseudo-linguagem
AULA 1

Calcular a rea de uma mesa retangular

Incio
leia comprimento
leia largura
rea <- comprimento * largura
imprima 'rea igual a', rea
Fim

Observe as palavras em negrito, so as


palavras chaves da linguagem.
Exemplo de pseudo-linguagem
AULA 1

Calcular o preo de uma passagem de nibus

Incio
leia idade
leia preo
se idade < 65 ento
imprima 'Preo ', preo
seno
imprima 'Grtis'
fim se
Fim
Tcnicas de Construo
AULA 1

Considere a receita a seguir.


Fil de peixe com molho branco
{preparo dos peixes}
Lave os fils e tempere com o suco de limes, sal,

{preparo do molho branco}
Coloque em uma panela a manteiga, a farinha e o
leite
{juntando os dois}
Adicione queijo parmeso ralado e queijo gruyre.
Misture e ponha sobre os fils.
Fim da receita de fil de peixe com
Tcnicas de Construo
AULA 1

Observe na receita anterior a tcnica de


diviso do problema em partes menores
(preparo dos peixes, molho e o final)

Permite que o prato seja preparado por mais de


uma pessoa e simplifica a execuo
Reaproveitamento
AULA 1

Considere a receita de alface com molho


branco
Alface com molho branco
{preparo do alface}
Derreta a manteiga. Junte alface cortada.
{preparo do molho branco}
Coloque em uma panela a manteiga, a farinha e o
leite
{juntando os dois}
Junte suco de limo ao alface e ao molho branco
Fim da receita de alface com
Reaproveitamento
AULA 1

Nesta receita tambm temos uma parte


descrevendo como preparar o molho branco.

Se o livro de receitas tiver vrios pratos com


molho branco h desperdcio de papel.
Reaproveitamento cont.
AULA 1

Considere agora que a pgina 25 do livro


ensine como preparar o molho branco.
As duas receitas poderiam indicar que para
preparar o molho branco o mestre cuca deve
ler a pgina 25.
O livro fica menor.
Se amanh descobrir que colocar um dente de
alho melhora o sabor, somente preciso alterar
a pgina 25 e todas as receitas ficam mais
saborosas automaticamente
Reaproveitamento cont.
AULA 1

Uma soluo mais radical para reaproveitar


algoritmos usar o que outros criaram.

Assuma que voc descobriu que no


supermercado h um enlatado de molho
branco timo, melhor que o seu (heresia,
vale somente como exemplo!).

Neste caso a sua receita indicaria apenas:


Compre molho branco da marca tal no
supermercado (heresia novamente!)

Vous aimerez peut-être aussi