Você está na página 1de 16

Algoritmos I

Introdução
Introdução
 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”

prf. Daniel Oliveira


Introdução
 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.

prf. Daniel Oliveira


Introdução
 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

prf. Daniel Oliveira


Introdução
 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.

prf. Daniel Oliveira


Introdução
 Algoritmo: Usando um telefone público

prf. Daniel Oliveira


Introdução
 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

prf. Daniel Oliveira


Introdução
 Determinar uma seqüência é importante para reger
o fluxo de execução do algoritmo
 Se a lâmpada não estiver queimada?

prf. Daniel Oliveira


Introdução
 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

prf. Daniel Oliveira


Exercícios
 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.

prf. Daniel Oliveira


Exercícios
 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?

prf. Daniel Oliveira


Fluxogramas
 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

prf. Daniel Oliveira


Fluxogramas
Símbolo Descrição Símbolo Descrição

Início/Fim Direção do
Fluxo
Entrada de Repetição
Dados (modelo 1)
Atribuição, Repetição
Operação, (modelo 2)
Processamento
Decisão

Imprimir

prf. Daniel Oliveira


Fluxogramas

prf. Daniel Oliveira


Fluxogramas

prf. Daniel Oliveira


Fluxogramas
 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.

prf. Daniel Oliveira