(Parte 1 de 5)

Parte I:

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

Parte I:

3. Algoritmos e computadores 4. O processo de compilação 5. Algoritmos e linguagens de programação

Parte I:

6. Algoritmos resolvendo problemas 7. Algoritmos e correção 8. Resolvem qualquer problema? 9. Adianta executá-los?

10. Nossaignorância

AlgoritmosO que são?

•Algoritmoéuma receitapara resoluçãode um proble ma

•Exemplo:

Problema: preparar “bifes àmilaneza” Algoritmo: precisamos descrever a receita

AlgoritmosO que são?

“ Bife à milaneza”:

1. Limpar a peça de carne 2. Fatiar a carne em bifes 3. Colocar farinha de rosca em um prato 4. Juntar 2 ovos e mexer 5. Repetir, para cada bife 5.1) passar o bife na mistura de farinha, nos 2 lados 5.2) levar bife àfrigideira 5.3) aguardar dourar, virando ambas as faces 5.4) retirarbife e colocar sobre papel toalha atésecar 5.5)retirar do papel toalha e juntar numa travessa 6. Decorar a travessa com folhas de alface 7. Servir

AlgoritmosO que são?

•Objetos de “consumo”(entrada):

• ca rne • farinha

• ovo s

• alface

•Objetos de “apoio”(atores, executores):

• faca • trave ssa

• fogão

• co zinheiro

AlgoritmosO que são?

• Objetos “ produzidos” (sa ída): • bifes

•Objeto que “controla”o processo (receita):

• • algoritmo algoritmo

AlgoritmosO que são?

Idéia

Algoritmo Algoritmo

Proble ma

Algoritmo Algoritmo

Hardware entrada sa ída

AlgoritmosO 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 deci mais

Em latim:

al- Khowârizm î algoris mus

algoritmo, algorithm,
Euclides (300400 BC):algoritmo para obter

Primeiro algoritmo: o máximo divisor comum de dois inteiros positvos

AlgoritmosO que são?

Exe mplo: Problema: achar o máximo divisor comum (MDC) de dois inteiros positivos dados: Me 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 Mpor (M-N)e repita a partir do passo 1 3. Caso b):

se ( N>M ) então substitua Npor (N-M)e repita a partir do passo 1

AlgoritmosO que são?

Dados: Dois números inteiros, M >= 1e N >=1

Saída:

Um número inteiro Z, tal que Z = MDC(M,N)

Apoio, executores: Lápis, papel, borracha, humano

AlgoritmosO que são?
PassoM NComentários

Executando a receita:caso particular onde M=36eN=21

3156 21 -15 = 6
1156 15 <> 6
296 15 -6 = 9
196 9 <> 6
2 36 9 –6 = 3
136 3 <>6
236 3 < 6; não executado
33 6 -3 = 3
133 MDC é3. Páre.

1. Se M=N, então MDC éM(ou N);páre se ( M>N ) então substitua Mpor (M-N)e repita a partir do passo 1 3. Caso b): se ( N>M ) então substitua Npor (N-M)e repita a partir do passo 1

Algoritmo Algoritmo

AlgoritmosO que caracteriza?

1. Algoritmo éformado por umtexto finito: Éa receita dada.

AlgoritmosO que caracteriza?

2. O texto écomposto por instruções elementares: Elementar depende do contexto:

– “

juntar dois ovos...ӎelementarpara um cozinheiro

–“substituir M por (M-N)...”éelementarpara

quem domina aritmética básica

–“se hoje você puder provarque a cotação do dólar
vai subir 10% no próximo mês, compre $ 1.0,0”não é

elementarpara mortais normais

(Parte 1 de 5)

Comentários