Vous êtes sur la page 1sur 8

Sumrio

ALGORITMOS
LPG - I Prof. Flavio Marcello

Etapas da Construo de Programas ALGORITMOS Apresentao das Estruturas de Algoritmos


ESTRUTURA CONDICIONAL ESTRUTURA SEQNCIAL ESTRUTURA DE REPETIO

Desenvolvimento do Algoritmo Exerccios


2

Etapas da Construo de Programas

Etapas da Construo de Programas


Problema

DEFINIO (o que)

Definio do Problema Projetar a Soluo Revises (ALGORITMO) Documentao Codificar a Soluo (Programar em Linguagem de Computador) Testar o Programa
3

Fase de resoluo do Problema

Passo Difcil

Soluo em Forma de Algoritmo

DESENVOLVIMENTO (como)

Fase da Implementao Soluo como um Programa de Computador


4

ALGORITMOS
o

ALGORITMOS
o

Procedimento passo a passo para resolver um problema Pessoas tem inteligncia e habilidade racional => fazem perguntas para se esclarecer. Computador no tem senso prprio => deve receber instrues explcitas (algoritmos)

Os Computadores, infelizmente s fazem aquilo que mandamos e no necessariamente o que desejamos que eles faam! No deve haver ambigidade nas instrues do programa Ex. calcule as mdias das notas neste teste
o

Onde esto as notas, quantas so, os ausentes devem ser incluos???


6

ALGORITMOS
o

ALGORITMOS
Um algoritmo correto deve possuir 4 qualidades:
1- O algoritmo deve ter um incio 2- Cada passo do algoritmo deve ser uma instruo que possa ser realizada 3- A ordem dos passos deve ser precisamente determinada 4- O algoritmo deve ter um fim
7 8

preciso separar a Fase de Resoluo do Problema da Fase de Implementao Algoritmo: uma seqncia ordenada, e sem ambigidade, de passos que levam soluo de um dado problema!

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR PNEU DE UM CARRO

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR PNEU DE UM CARRO

10

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR PNEU DE UM CARRO

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR PNEU DE UM CARRO

11

12

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR PNEU DE UM CARRO

ESTRUTURA CONDICIONAL

Incio Trocar Pneu Fim E se o estepe estiver vazio? Isto traz necessidade de uma deciso entre dois cursos

Incio se <o estepe est vazio> ento chamar borracheiro seno mudar o pneu fim se Fim

13

14

ESTRUTURA CONDICIONAL

ESTRUTURA SEQUENCIAL
Incio se <o estepe est vazio> ento chamar borracheiro seno levantar o carro desparafusar a roda remover a roda colocar o estepe parafusar a roda abaixar o carro fim se Fim

Incio se <o estepe est vazio> ento chamar borracheiro seno mudar o de pneu A atividade mudar o pneu pode ser mais detalhada fim se Fim

15

16

ESTRUTURA SEQUENCIAL
Incio se <o estepe est vazio> ento chamar borracheiro seno levantar o carro A desparafusar atividade de desparafusar a roda a roda pode ser mais detalhada remover a roda colocar o estepe parafusar a roda Aabaixar atividade de parafusar a roda o carro pode fim se ser mais detalhada Fim

ESTRUTURA SEQUENCIAL
Incio se <o estepe est vazio> ento chamar borracheiro seno levantar o carro desparafusar o 1o parafuso desparafusar o 2o parafuso desparafusar o 3o parafuso desparafusar o 4o parafuso remover a roda colocar o estepe parafusar o 1o parafuso parafusar o 2o parafuso parafusar o 3o parafuso parafusar o 4o parafuso abaixar o carro fim se Fim
17 18

ESTRUTURA SEQUENCIAL
Incio se <o estepe est vazio> ento chamar borracheiro seno levantar o carro desparafusar o 1o parafuso parafuso desparafusar o 2oinconveniente A repetio desparafusar o 3o parafuso o desparafusar o 4 parafuso remover a roda colocar o estepe parafusar o 1o parafuso parafusar o 2o parafuso A repetio inconveniente parafusar o 3o parafuso parafusar o 4o parafuso abaixar o carro fim se Fim
19

ESTRUTURA DE REPETIO
Incio se <o estepe est vazio> ento chamar borracheiro seno levantar o carro enquanto <houver parafuso para desapertar> faa desparafusar a roda fim enquanto remover a roda colocar o estepe enquanto <houver parafuso para apertar> faa parafusar a roda fim do enquanto abaixar o carro fim se Fim
20

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR UMA LMPADA NO TETO

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR UMA LMPADA NO TETO

Incio remova a lmpada queimada coloque a nova lmpada Fim

Incio remova a lmpada queimada coloque a nova lmpada Fim O que necessrio para remover a lmpada queimada?

21

22

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR UMA LMPADA NO TETO

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR UMA LMPADA NO TETO

posicione a escada debaixo da Incio lmpada queimada remova a lmpada queimada suba na escada at que a lmpada coloque nova lmpada possa seraalcanada Fim gire a lmpada queimada no anti-horrio at que se a O sentido que necessrio para remover solte queimada? lmpada

Incio remova a lmpada queimada coloque a nova lmpada Fim O que necessrio para colocar a lmpada nova?

23

24

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR UMA LMPADA NO TETO

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR UMA LMPADA NO TETO
Incio posicione a escada debaixo da lmpada queimada suba na escada at que a lmpada possa ser alcanada gire a lmpada queimada no sentido anti-horrio at que se solte remova a lmpada queimada escolha uma lmpada da mesma potncia da queimada posicione a nova lmpada no soquete gire a lmpada no sentido horrio at que ela se firme desa da escada Fim

escolha uma lmpada da mesma Incio potncia da queimada remova aalmpada queimada posicione nova lmpada no coloque a nova lmpada soquete Fim gire a lmpada no sentido horrio ela se firme O at queque necessrio para colocar a desa da escada lmpada nova?

25

26

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR UMA LMPADA NO TETO
Incio posicione a escada debaixo da lmpada queimada suba na escada at que a lmpada possa ser alcanada gire a lmpada queimada no sentido anti-horrio at que se solte remova a lmpada queimada

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR UMA LMPADA NO TETO
Incio posicione a escada debaixo da lmpada queimada suba na escada at que a lmpada possa ser alcanada gire a lmpada queimada no sentido anti-horrio at que se solte remova a lmpada queimada escolha uma lmpada da mesma potncia da queimada posicione a nova lmpada no soquete gire a lmpada no sentido horrio at que ela se firme desa da escada Fim
27 28

Diversos passos deste algoritmo implicam operaes mais escolha uma lmpada da mesma potncia da queimada elaboradas que devem ser posicione a nova lmpada no soquete expressas explicitamente gire a lmpada no sentido horrio at que ela se firme
desa da escada

Fim

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR UMA LMPADA NO TETO
Incio

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR UMA LMPADA NO TETO
Incio posicione a escada debaixo da lmpada queimada suba na escada at que a lmpada possa ser alcanada gire a lmpada queimada no sentido anti-horrio at que se solte remova a lmpada queimada escolha uma lmpada da mesma potncia da queimada posicione a nova lmpada no soquete gire a lmpada no sentido horrio at que ela se firme desa da escada Fim
29 30

enquanto <no alcanar a lmpada> faa posicione a escada debaixo da lmpada queimada suba um degrau da escadapossa ser alcanada suba na escada at que a lmpada fim gire enquanto a lmpada queimada no sentido anti-horrio at que se
solte remova a lmpada queimada escolha uma lmpada da mesma potncia da queimada posicione a nova lmpada no soquete gire a lmpada no sentido horrio at que ela se firme desa da escada Fim

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR UMA LMPADA NO TETO
Incio

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR UMA LMPADA NO TETO
Incio posicione a escada debaixo da lmpada queimada suba na escada at que a lmpada possa ser alcanada gire a lmpada queimada no sentido anti-horrio at que se solte remova a lmpada queimada escolha uma lmpada da mesma potncia da queimada posicione a nova lmpada no soquete gire a lmpada no sentido horrio at que ela se firme desa da escada Fim
31 32

enquanto <a lmpada no soltar> faa posicione a escada debaixo da lmpada queimada gire aescada lmpada no sentido anti-horrio suba na at que a lmpada possa ser alcanada fim gire enquanto a lmpada queimada no sentido anti-horrio at que se
solte remova a lmpada queimada escolha uma lmpada da mesma potncia da queimada posicione a nova lmpada no soquete gire a lmpada no sentido horrio at que ela se firme desa da escada Fim

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR UMA LMPADA NO TETO
Incio

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR UMA LMPADA NO TETO
Incio posicione a escada debaixo da lmpada queimada se <tiver lmpada da mesma potncia> ento suba na escada at que a lmpada possa ser alcanada selecione a lmpada gire a lmpada queimada no sentido anti-horrio at que se posicione a nova lmpada no soquete solte gire a lmpada no sentido horrio at que se firme remova lmpada queimada desa daaescada escolha uma lmpada da mesma potncia da queimada seno desa da escada fim se posicione a nova lmpada no soquete gire a lmpada no sentido horrio at que ela se firme desa a escada Fim
33 34

se <tiver lmpada da mesma potncia> ento suba na escada at que a lmpada possa ser alcanada selecione a lmpada gire a lmpada queimada no sentido anti-horrio at que se posicione a nova lmpada no soquete solte gire a lmpada no sentido horrio at que se firme remova lmpada queimada desa da a escada escolha lmpada da mesma potncia da queimada seno desauma da escada posicione a nova lmpada no soquete fim se
gire a lmpada no sentido horrio at que ela se firme desa a escada Fim

posicione a escada debaixo da lmpada queimada

Apresentao das Estruturas de Algoritmos


ALGORITMO PARA TROCAR UMA LMPADA NO TETO
Incio posicione a escada debaixo da lmpada queimada se <tiver lmpada da mesma potncia> ento suba na escada at que a lmpada possa ser alcanada selecione a lmpada enquanto <a prender> gire a lmpada queimada nono sentido anti-horrio at que se posicione a lmpada nova lmpada no soquete faa gire a lmpada sentido horrio solte gire a lmpada no no sentido horrio at que se fimremova firme enquanto a lmpada queimada desa da escada escolha uma lmpada da mesma potncia da queimada seno desa da escada posicione a nova lmpada no soquete fim sea lmpada no sentido horrio at que ela se firme gire desa a escada Fim
35

Incio

remova a lmpada queimada se <tiver lmpada da mesma potncia> ento selecione a lmpada posicione a nova lmpada no soquete enquanto <a lmpada no prender> faa gire a lmpada no sentido horrio fim enquanto desa da escada seno desa da escada fim se Fim

36

Algoritmo para Trocar uma Lmpada

posicione a escada debaixo da lmpada queimada enquanto <no alcanar a lmpada> faa suba um degrau da escada fim enquanto enquanto <a lmpada no soltar> faa gire a lmpada no sentido anti-horrio fim enquanto

Desenvolvimento do Algoritmo
Comeamos com uma afirmao genrica da soluo do problema e prosseguimos at o algoritmo final, aumentando sistematicamente o nvel de detalhamento.

Desenvolvimento do Algoritmo
Como saber se j temos um nvel suficiente de detalhes no algoritmo? Isso depende do agente que ir executar o algoritmo Os computadores tm um conjunto muito limitado de instrues e o algoritmo deve ser expresso nos termos dessas instrues.
38

37

METODOLOGIA DE DESENVOLVIMENTO DE ALGORITMOS


Passo 1: ler cuidadosamente a especificao do problema at o final Passo 2: se depois de ler vrias vezes, ainda no entender o problema, pergunte ao professor at entender Passo 3: levantar e analisar todas as sadas exigidas na especificao do problema Passo 4: levantar e analisar todas as entradas citadas na especificao do problema

METODOLOGIA DE DESENVOLVIMENTO DE ALGORITMOS

Passo 5: Formular um esboo geral do algoritmo, no se concentrando em detalhes (revisar mentalmente) Passo 6: verificar se necessrio gerar valores internamente ao algoritmo e levantar as variveis necessrias e os valores iniciais de cada uma (indicar o propsito) Passo 7: levantar e analisar todas as transformaes necessrias para, dadas as entradas e valores gerados internamente, produzir as sadas especificadas (mapeamento entrada sada)
40

39

METODOLOGIA DE DESENVOLVIMENTO DE ALGORITMOS


Passo 8: testar cada passo do algoritmo, verificando se as transformaes intermedirias executadas esto conduzindo aos objetivos desejados (utilizar, sempre que possvel, valores de teste que permitam prever os resultados) Passo 9: Retomar os passos individuais e prosseguir com o detalhamento (verificar se os novos passos executam a funo original) Passo 10: fazer uma reavaliao geral, elaborando o algoritmo atravs da integrao das partes
41

FIM
42

EXERCCIOS
Elabore um algoritmo para fazer pipoca numa panela de fogo, usando manteiga, sal e milho de pipoca. Elabore um algoritmo para realizar uma chamada telefnica em um telefone pblico, usando carto.

43

Vous aimerez peut-être aussi