Algoritmos I - Introdução

Post on 25-Jun-2015

206 views 5 download

description

Texto introdutório a disciplina de algoritmos

Transcript of Algoritmos I - Introdução

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.