Escolar Documentos
Profissional Documentos
Cultura Documentos
Unesp
Unesp
ALGORITMOS
Unesp-Campus de Guaratinguet
2 - Algoritmo
2.1: Introduo
n
Antes de se utilizar uma linguagem de computador, necessrio organizar as aes a serem tomadas pela mquina de forma organizada e lgica, sem se preocupar com as regras rgidas da sintaxe de uma linguagem. Para isto utiliza-se uma forma de escrever tais aes, conhecida como algoritmo, ou pseudo-cdigo.
Algoritmos 2
Unesp-Campus de Guaratinguet
2 - Algoritmo
Unesp-Campus de Guaratinguet
2- Algoritmos
Algoritmos
Unesp-Campus de Guaratinguet
deve existir uma relao lgica na execuo das aes. ordem em que os passos do algoritmo executado de Execuo.
Essa relao lgica determina a Essa ordem chamada de Fluxo Todo algoritmo possui um
Execuo
Algoritmos 5
Unesp-Campus de Guaratinguet
2- Algoritmos
Escapando de um labirinto
Problema Rob E Instrues Possveis
Soluo Encontrar uma seqncia de instrues acerca dos movimentos do Rob tal que o mesmo seja capaz de entrar e sair do labirinto.
Algoritmos 6
Unesp-Campus de Guaratinguet
2 - Algoritmos
Leitor
S
Algoritmos 7
Unesp-Campus de Guaratinguet
2 - Algoritmos
Algoritmos
Unesp-Campus de Guaratinguet
2 - Algoritmos
Robocode
1 2
Algoritmos
Unesp-Campus de Guaratinguet
2 - Algoritmos
/* *run: Comportamento padro do Newone. */ public void run() { // Replace the next 4 lines with any behavior you would like ahead(100); turnGunRight(360); back(100); turnGunRight(360); }
/* onScannedRobot: O que fazer quando detectar outro rob. */ public void onScannedRobot(ScannedRobotEvent e) { fire(1); }
Algoritmos
10
Unesp-Campus de Guaratinguet
I.
Nesta estrutura, o conjunto de aes elementares executado de modo linear; de cima para baixo e da esquerda para a direita. As aes so seguidas por pontoe vrgula (;) ou ponto (.) com o objetivo de separar as aes.
Algoritmos 11
Unesp-Campus de Guaratinguet
Permitem escolher um conjunto de aes (bloco) a serem realizadas. A escolha depende de uma condio ser ou no satisfeita. A condio representada por expresses lgicas ou relacionais. Essas estruturas podem ser de:
Unesp-Campus de Guaratinguet
Algoritmos
13
Unesp-Campus de Guaratinguet
Algoritmos
14
Unesp-Campus de Guaratinguet
Os algoritmos tero a seguinte estrutura: ALGORITMO <Nome do algoritmo> <definies> INCIO <Comandos> FIM
Algoritmos
15
Unesp-Campus de Guaratinguet
2.4 - Pseudo cdigo Exemplo de algoritmo Algoritmo: Soma_dois_nmeros Incio Pegar primeiro nmero Pegar segundo nmero Somar o primeiro com o segundo nmero Mostrar o resultado Fim
Algoritmos
16
Unesp-Campus de Guaratinguet
Unesp-Campus de Guaratinguet
Incio se <o estepe est vazio> ento Chamar borracheiro seno Trocar o pneu fim se Fim
A atividade de Trocar o pneu pode ser mais detalhada
Algoritmos 18
Unesp-Campus de Guaratinguet
2.4 - Pseudo cdigo ESTRUTURA SEQUENCIAL Incio se <o estepe est vazio> ento Chamar borracheiro seno desparafusar a roda levantar o carro remover a roda colocar o estepe abaixar o carro parafusar a roda fim se Fim
Algoritmos 19
Unesp-Campus de Guaratinguet
2.4 - Pseudo cdigo ESTRUTURA SEQUENCIAL Incio se <o estepe est vazio> ento Chamar borracheiro seno A atividade de desparafusar a roda desparafusar a roda pode ser mais detalhada levantar o carro remover a roda colocar o estepe abaixar o de carro A atividade parafusar a roda pode ser mais detalhada parafusar a roda fim se Fim
Algoritmos 20
Unesp-Campus de Guaratinguet
21
PD
Unesp-Campus de Guaratinguet
Unesp-Campus de Guaratinguet
Algoritmos
23
Unesp-Campus de Guaratinguet
Algoritmos
24
Unesp-Campus de Guaratinguet
posicione a escada debaixo da lmpada queimada suba na escada at que a lmpada possa ser Oalcanada que necessrio para gire a lmpada queimada no remover a lmpada queimada? sentido anti-horrio at que se solte
Algoritmos 25
Unesp-Campus de Guaratinguet
Unesp-Campus de Guaratinguet
escolha uma lmpada da mesma potncia da queimada posicione a nova lmpada no soquete O que necessrio para gire a lmpada no sentido colocar lmpada nova? horrioaat que ela se firme desa a escada
Algoritmos
27
Unesp-Campus de Guaratinguet
Unesp-Campus de Guaratinguet
em escolha uma lmpada da mesma potncia da operaes mais elaboradas queimada que devem ser expressas posicione a nova lmpada no soquete explicitamente
gire a lmpada no sentido horrio at que ela se firme desa a escada Fim
Algoritmos 29
Unesp-Campus de Guaratinguet
gire a lmpada no sentido horrio at que ela se firme desa a escada Fim
Algoritmos 30
Unesp-Campus de Guaratinguet
escolha uma lmpada da mesma potncia da queimada gire a lmpada no sentido anti-horrio posicione a nova lmpada no soquete gire a lmpada no sentido horrio at que ela se firme desa a escada
Algoritmos 31
fim enquanto
Fim
Unesp-Campus de Guaratinguet
seposicione <tiver lmpada mesma potncia> a escadada debaixo da lmpada ento queimada selecione a lmpada suba na escada at que a lmpada possa ser posicione alcanada a nova lmpada no soquete gireaa lmpada no sentido horrio at que gire lmpada queimada no sentido anti-horrio se firme at que se solte desa a remova a escada lmpada queimada seno desa a escada escolha uma lmpada da mesma potncia da fim se queimada
posicione a nova lmpada no soquete gire a lmpada no sentido horrio at que ela se firme desa a escada Fim
Algoritmos 32
Unesp-Campus de Guaratinguet
seposicione <tiver lmpada mesma potncia> a escadada debaixo da lmpada ento queimada selecione a lmpada suba na escada at que a lmpada possa ser posicione alcanada a nova lmpada no soquete gireaa lmpada no sentido horrio at que gire lmpada queimada no sentido anti-horrio se firme at que se solte desa a remova a escada lmpada queimada seno desa a escada escolha uma lmpada da mesma potncia da fim se queimada
posicione a nova lmpada no soquete gire a lmpada no sentido horrio at que ela se firme desa a escada Fim
Algoritmos 33
Unesp-Campus de Guaratinguet
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 at que se gire a lmpada no sentido horrio firme fim enquanto desa a escada seno desa a escada fim se
Algoritmos
34
Unesp-Campus de Guaratinguet
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 a escada seno desa a escada fim se Fim
Algoritmos
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
Unesp-Campus de Guaratinguet
Comeamos com uma afirmao genrica da soluo do problema e prosseguimos at o algoritmo final, aumentando sistematicamente o nvel de detalhamento. Como saber se j temos um nvel suficiente de detalhes no algoritmo?
Algoritmos
36
Os computadores tm um conjunto muito limitado de instrues e o algoritmo deve ser expresso nos termos dessas instrues.
Algoritmos
37
Unesp-Campus de Guaratinguet
Algoritmos
38
2.5.1 Metodologia de Desenvolvimento de Algoritmos Passo 1:ler 1: 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.
Algoritmos
39
Passo 5: verificar se necessrio gerar valores internamente ao algoritmo e levantar as variveis necessrias e os valores iniciais de cada uma. Passo 6: levantar e analisar todas as transformaes necessrias para, dadas as entradas e valores gerados internamente, produzir as sadas especificadas.
Algoritmos
40
Passo 7: testar cada passo do algoritmo, verificando se as transformaes intermedirias executada esto conduzindo aos objetivos desejados. Utilizar, sempre que possvel, valores de teste que permitam prever os resultados. Passo 8: fazer uma reavaliao geral, elaborando o algoritmo atravs da integrao das partes.
Algoritmos
41
Unesp-Campus de Guaratinguet
2.6 - Algoritmos Numricos Agora, vamos considerar problemas envolvendo clculos numricos EX 1: Dados vrios cartes numerados escolha o que tem maior nmero.
Algoritmo: maior_numero 1- pegue um carto e guarde. 2 - Repita pegue um carto se o nmero deste for > que o do carto guardado ento guarde este carto e descarte o anterior seno descarte esse e conserve o anterior At que se acabem os cartes. 3 - Mostre o carto guardado Algoritmos 42 4 - fim
Unesp-Campus de Guaratinguet
Unesp-Campus de Guaratinguet
FIM Aula 2
Algoritmos
44