Post on 25-Jun-2015
description
Algoritmos I
Introdução
Introdução
prf. Daniel Oliveira
O que é algoritmo?
“É qualquer procedimento computacional bem definido
que toma algum valor ou conjunto de valores de
entrada e produz algum valor ou conjunto de valores
de saída.” (Comen)
“Seqüência de passos computacionais que
transformam uma entrada em uma saída”
Introdução
prf. Daniel Oliveira
Solucionar um problema computacional: problema
de ordenação
Entrada: Seqüência de números não ordenados
Saída: Seqüência de números ordenados
Um algoritmo é dito correto quando para uma dada
Entrada gere uma Saída correta.
Introdução
prf. Daniel Oliveira
Estrutura de dados
“Meio para armazenar e organizar dados com o
objetivo de facilitar o acesso e as modificações”
(Comen)
PROGRAMA = ALGORITMO + ESTRUTURA DE DADOS
Introdução
prf. Daniel Oliveira
Para um mesmo problema, pode existir vários
algoritmos para resolvê-lo.
Como determinar o melhor, se mais de um soluciona
o problema?
Custo e Eficiência
O desempenho de um programa depende da
escolha do algoritmo e do hardware ideal para a
solução do problema.
Introdução
prf. Daniel Oliveira
Algoritmo: Usando um telefone público
Introdução
prf. Daniel Oliveira
Algoritmo1: Trocar uma lâmpada
Pegar uma escada
Posicionar a escada embaixo da lâmpada
Buscar uma lâmpada nova
Subir na escada
Retirar a lâmpada velha
Colocar a lâmpada nova
Introdução
prf. Daniel Oliveira
Determinar uma seqüência é importante para reger
o fluxo de execução do algoritmo
Se a lâmpada não estiver queimada?
Introdução
prf. Daniel Oliveira
Algoritmo2: Trocar uma lâmpada verificando se a
mesma está queimada
Acionar o interruptor
Se a lâmpada não acender, então
Pegar uma escada
Posicionar a escada embaixo da lâmpada
Buscar uma lâmpada nova
Subir na escada
Retirar a lâmpada velha
Colocar a lâmpada nova
Exercícios
prf. Daniel Oliveira
Escreva um algoritmo para resolver os seguintes
problemas:
Descrever como você faz para trocar o pneu de um carro.
Três homens desejam atravessar um rio. O barco que
possuem tem a capacidade máxima de 150 quilos. Eles
pesam 50, 75 e 120 quilos. Como podem atravessar sem
afundar o barco?
Um homem precisa atravessar um rio com um barco que
possui capacidade para carregar apenas ele mesmo, e
mais uma de suas três cargas, que são: um lobo, um
bode e um fardo de alfafa, mais o lobo não pode ficar
sozinho com o bode e o bode com a alfafa.
Exercícios
prf. Daniel Oliveira
Desafio - Dois monges estão perdidos numa mata e
estão passando fome. Só existe uma planta que
podem comer, mas para comê-la deverá esquentá-la
30 segundos exatos, senão os matará. Para marcar
o tempo, eles só têm 2 ampulhetas: uma que marca
22 segundos e outra que marca 14 segundos. Como
eles devem fazer para conseguir marcar o tempo de
30 segundos?
Fluxogramas
prf. Daniel Oliveira
Representação esquemática de um processo
Documentação dos passos para a execução de uma
tarefa
Forma de representação de algoritmos
É construído por um conjunto de símbolos próprios
Fluxogramas
prf. Daniel Oliveira
Símbolo Descrição Símbolo Descrição
Início/Fim Direção do
Fluxo
Entrada de
Dados
Repetição
(modelo 1)
Atribuição,
Operação,
Processamento
Repetição
(modelo 2)
Decisão
Imprimir
Fluxogramas
prf. Daniel Oliveira
Fluxogramas
prf. Daniel Oliveira
Fluxogramas
prf. Daniel Oliveira
Exercício
1. Construa um fluxograma que compare dois números A
e B. E tenha como saída:
1. Se A = B : Iguais
2. Se A > B : A maior que B
3. Se A < B : A menor que B
2. Desenvolva um fluxograma para os algoritmos
desenvolvidos anteriormente.