Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J....
Transcript of Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J....
![Page 1: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/1.jpg)
Copyright © 2012 Pearson Education, Inc.
Capítulo 5:
Algoritmos
Ciência da computação: Uma visão abrangente
11a Edition
Autor:
J. Glenn Brookshear
![Page 2: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/2.jpg)
Copyright © 2012 Pearson Education, Inc. 0-2
Capítulo 5: algoritmos
• 5.1 O conceito de um algoritmo
• 5.2 Representação de algoritmo
• 5.3 Descoberta de algoritmo
• 5.4 Estruturas iterativas
• 5.5 Estruturas recursivas
• 5.6 Eficiência e correção
![Page 3: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/3.jpg)
Copyright © 2012 Pearson Education, Inc. 0-3
Definição de algoritmo
Um algoritmo é um conjunto
ordenado de passos executáveis
não-ambíguos que definem um
processo finalizável.
![Page 4: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/4.jpg)
Copyright © 2012 Pearson Education, Inc. 0-4
Representação de algoritmo
• Requer primitivas bem-definidas
• Uma coleção de primitivas constitui uma
linguagem de programação.
![Page 5: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/5.jpg)
Copyright © 2012 Pearson Education, Inc. 0-5
Figura 5.2 Produzir um pássaro através
do dobramento de pedaço quadrado de
papel
![Page 6: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/6.jpg)
Copyright © 2012 Pearson Education, Inc. 0-6
Figura 5.3 Primitivas de Origami
![Page 7: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/7.jpg)
Copyright © 2012 Pearson Education, Inc. 0-7
Primitivas de pseudocódigo
• Assignment (Atribuição)
nome expressão
• Seleção condicional
if condição then ação (se – então)
![Page 8: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/8.jpg)
Copyright © 2012 Pearson Education, Inc. 0-8
Primitivas de Pseudocódigo
• Execução repetida
while condição do ação (enquanto – faça)
• Procedure (procedimento)
procedure name (nomes genéricos – não
usar primitivas)
![Page 9: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/9.jpg)
Copyright © 2012 Pearson Education, Inc. 0-9
Figura 5.4 Procedimento em
pseudocódigo de saudações (hello)
![Page 10: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/10.jpg)
Copyright © 2012 Pearson Education, Inc. 0-10
Passos de resolução de problemas
de Polya
• 1. Entenda o problema.
• 2. Elabore um plano para resolver o
problema.
• 3. Realize o plano.
• 4. Avaliar a solução quanto à precisão e o
seu potencial como uma ferramenta para
resolver outros problemas.
![Page 11: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/11.jpg)
Copyright © 2012 Pearson Education, Inc.
Tradução para o contexto da
programação
1. Entender o problema
2. Idealizar um algoritmo que possa resolver
o problema
3. Formular o algoritmo e implementá-lo
4. Avaliar a precisão dos resultados e o
potencial para resolver outros problemas
0-11
![Page 12: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/12.jpg)
Copyright © 2012 Pearson Education, Inc. 0-12
O Problema das idades das crianças
• Pessoa é encarregada da tarefa de determinar
as idades dos três filhos do B.
– B diz A que o produto da idade das crianças é 36.
– A responde que outra pista é necessária.
– B diz a A a soma das idades das crianças.
– A responde que outra pista é necessária.
– B diz A que o filho mais velho toca piano.
– A descobre e diz a idade de cada criança.
• Quantos anos tem as três crianças?
![Page 13: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/13.jpg)
Copyright © 2012 Pearson Education, Inc. 0-13
Figure 5.5
![Page 14: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/14.jpg)
Copyright © 2012 Pearson Education, Inc. 0-14
Estruturas iterativas
• Laço pré-teste
– enquanto (condição) faça (ação):
while (condition) do
(loop body)
• Laço pós-teste:
– Repetir (ação) até (condição)
repeat (loop body)
until(condition)
![Page 15: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/15.jpg)
Copyright © 2012 Pearson Education, Inc. 0-15
O algoritmo de busca sequencial em
pseudocódigoProcedimento Buscar (Lista, ValorAlvo)
Se (Lista Vazia)
Então
(Declare que a busca falhou)
Senão
(Selecione o primeiro da lista como EntradadeTeste)
Enquanto (ValorAlvo > EntradadeTeste E houver entradas em Lista a
testar)
Faça (Selecione a próxima entrada de Lista como EntradadeTeste)
Se (ValorAlvo = EntradadeTeste)
Então (Declare que a busca foi bem sucedida)
Senão (Declare que a busca falhou)
![Page 16: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/16.jpg)
Copyright © 2012 Pearson Education, Inc. 0-16
Componentes de Controle Repetitivo
• Inicializar – Estabelecer um estado inicial
que será modificado em direção à condição
de término
• Testar – Comparar o estado atual com a
condição de término e terminar a repetição
se a condição for alcançada
• Modificar – Modificar o estado de forma que
ele de mova para a condição de término
![Page 17: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/17.jpg)
Copyright © 2012 Pearson Education, Inc. 0-17
A estrutura do laço (loop) FAÇA –
ENQUANTO (while - do)
![Page 18: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/18.jpg)
Copyright © 2012 Pearson Education, Inc. 0-18
A estrutura do laço de repetição
REPETIR ATÉ – repeat until)
![Page 19: Ciência da computação: Uma visão abrangente 11a Edition … · Title: Chapter 5 Author: J. Glenn Brookshear Subject: Algorithms Created Date: 10/8/2015 9:13:37 PM](https://reader031.fdocumentos.tips/reader031/viewer/2022021710/5c0d1c1a09d3f247038d22cd/html5/thumbnails/19.jpg)
Copyright © 2012 Pearson Education, Inc. 0-19
Recursividade
• A execução de um procedimento leva a
outra execução do procedimento.
• São executadas múltiplas ativações do
procedimento, mas uma espera a outra
terminar para prosseguir.