Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Algoritmos, Notas de estudo de Algoritmos

Tutorial completo sobre Algoritmos

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 28/04/2008

lpcnew-1
lpcnew-1 🇧🇷

5

(6)

10 documentos

1 / 79

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
28/2/2007 22:39 Algoritmos 1
ALGORITMOS
ALGORITMOS
Parte I:
1. O que são?
2. O que os caracteriza
Parte II:
3. Algoritmos e computadores
4. O processo de compilação
5. Algoritmos e linguagens de programação
Parte III:
6. Algoritmos resolvendo problemas
7. Algoritmos e correção
8. Resolvem qualquer problema?
9. Adianta executá-los?
10.Nossa ignorância
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f

Pré-visualização parcial do texto

Baixe Algoritmos e outras Notas de estudo em PDF para Algoritmos, somente na Docsity!

Algoritmos

ALGORITMOS^ ALGORITMOS

Parte I:

1. O que são?2. O que os caracteriza

Parte II:

3. Algoritmos e computadores4. O processo de compilação5. Algoritmos e linguagens de programação

Parte III:

6. Algoritmos resolvendo problemas7. Algoritmos e correção8. Resolvem qualquer problema?9. Adianta executá-los?10.Nossa ignorância

Algoritmos

O que são?

-^

Algoritmo

é uma

receita

para

resolução

de um

problema

-^

Exemplo:^ Problema

: preparar “bifes à milaneza”

Algoritmo

: precisamos descrever a

receita

Algoritmos

O que são?

-^

Objetos de “

consumo

” (entrada):

-^

carne

-^

farinha

-^

ovos

-^

alface

-^

Objetos de “

apoio

” (atores, executores):

-^

faca

-^

travessa

-^

fogão

-^

cozinheiro

Algoritmos

O que são?

-^

Objetos “

produzidos

” (saída):

-^

bifes

-^

Objeto que “

controla

” o processo (receita):

-^ •

algoritmoalgoritmo

Algoritmos

Algoritmos

O que são?

Século IX (800-899 DC), península arábica/Pérsia:

Matemático

Mohammed al-Khowârizmî

Cria regras passo-a-passo para se fazer aritmética com algarismos

decimais

Em latim:

al-Khowârizmî

algorismus

algoritmo, algorithm,...

Primeiro algoritmo:

Euclides (300... 400 BC):

algoritmo para obter

o máximo divisor comum de dois inteiros positvos

Algoritmos

O que são?

Exemplo:Problema:^ achar o máximo divisor comum (MDC) de dois inteiros positivos dados:

M^

e^ N

Idéia ??

Como aprendemos na escola ...

Algoritmo:^ 1. Se

M=N

, então MDC é

M^ (ou

N ); páre

2. Caso a):

se^ ( M>N )

então

substitua

M^ por

(M-N)

e repita a partir do passo 1

3. Caso b):

se^ ( N>M )

então

substitua

N^ por

(N-M)

e repita a partir do passo 1

Algoritmos

O que são?

Executando a

receita:

caso particular onde

M=

e^

N=

Passo

M^

N^

Comentários

---^

não executado: 15 < 21

3 < 6; não executado

MDC é 3. Páre.

  1. Se
M=N

, então MDC é

M^ (ou

N ); páre

  1. Caso a):

se^ ( M>N )

então substitua

M^ por

(M-N)

e repita a

partir do passo 1

  1. Caso b):

se^ ( N>M )

então substitua

N^ por

(N-M)

e repita a

Algoritmo^ Algoritmo partir do passo 1

Algoritmos

O que caracteriza?

  1. Algoritmo é formado por um

texto finito

:

É a receita dada.

Algoritmos

O que caracteriza?

  1. O texto é uma receita

metódica

, passo-a-passo:

-^

Passo inicial

-^

Passo final

-^

Executado um passo, qual o seguinte?

Algoritmos

O que caracteriza?

  1. Ao executar: -^

partindo de

dados válidos

, deve sempre

terminar

.

-^

partindo de

dados

in

válidos

, pode produzir

lixo

, ou mesmo

não terminar

.

-^

parte

difícil de garantir

.

Algoritmos

O que caracteriza?

Exemplo:

e com dados inválidos?

Iniciando com M = 3 e

N = -

Passo

M^

N^

Comentários

-^

-^

-^

-^

-^

-^

...^

repete esse padrão

não pára

não vai parar nunca

  1. Se
M=N

, então MDC é

M^ (ou

N ); páre

  1. Caso a):

se^ ( M>N )

então substitua

M^ por

(M-N)

e repita a

partir do passo 1

  1. Caso b):

se^ ( N>M )

então substitua

N^ por

(N-M)

e repita a

partir do passo 1

Algoritmos

... e computadores

-^

Algoritmo

: programa, software ...

-^

Computador, HD, disquete, ...

:

hardware, executores, atores

-^

Entrada:

teclado, mouse, sensores, ...

-^

Saída:

monitor, impressora, ...

Algoritmos

... e computadores

Características dos algoritmos como software (cont): 3.^

Receita

metódica

:

texto escrito numa LP é

preciso

e^ sem ambigüidades

4.^

Terminação:^ 1.

Grande desafio

: texto escrito numa LP

não deixa isso

claro

2.^

Problema

no desenvolvimento de software: execução sem

terminação (i.e. sem “loops”).

Algoritmos

... e computadores

Exemplo:Problema:

dado um número

N >= 0

, calcular

2^N

entrada^ N >= 0

idéia ??

saída 2^N