16

Click here to load reader

Algoritmos I - Introdução

Embed Size (px)

DESCRIPTION

Texto introdutório a disciplina de algoritmos

Citation preview

Page 1: Algoritmos I - Introdução

Algoritmos I

Introdução

Page 2: 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”

Page 3: Algoritmos I - Introdução

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.

Page 4: Algoritmos I - Introdução

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

Page 5: Algoritmos I - Introdução

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.

Page 6: Algoritmos I - Introdução

Introdução

prf. Daniel Oliveira

Algoritmo: Usando um telefone público

Page 7: Algoritmos I - Introdução

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

Page 8: Algoritmos I - Introdução

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?

Page 9: Algoritmos I - Introdução

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

Page 10: Algoritmos I - Introdução

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.

Page 11: Algoritmos I - Introdução

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?

Page 12: Algoritmos I - Introdução

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

Page 13: Algoritmos I - Introdução

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

Page 14: Algoritmos I - Introdução

Fluxogramas

prf. Daniel Oliveira

Page 15: Algoritmos I - Introdução

Fluxogramas

prf. Daniel Oliveira

Page 16: Algoritmos I - Introdução

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.