43
ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7 1 18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

Embed Size (px)

DESCRIPTION

ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7. Agenda. Lógica de programação de computadores e algoritmos. O que é lógica? O que é algoritmo? Relacionar o algoritmo a solução do problema UML Fluxograma Pseudocódigo para representar algoritmos - PowerPoint PPT Presentation

Citation preview

Page 1: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

1

ENGENHARIA AMBIENTAL

COMPUTAÇÃO APLICADA

Aula 7

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 2: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

2

AgendaLógica de programação de computadores e

algoritmos.O que é lógica?O que é algoritmo?Relacionar o algoritmo a solução do problemaUMLFluxogramaPseudocódigo para representar algoritmosConstruções - Seqüência, Seleção e Repetição

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 3: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

3

O que é lógica?Ciência que estuda as leis do raciocinioNos ajuda na correção / Validação do

Pensamento.Encadeamento/Ordem de idéiasArte de bem pensar.

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 4: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

4

O que é lógica?Ciência que estuda as leis do raciocínio

Nos ajuda em :Correção / Validação do Pensamento.Encadeamento/Ordem de idéiasArte de bem pensar.

Seqüência Lógica Passos executados até atingir objetivo ou solução

de um problema.

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 5: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

5

O que é lógica?Sequência Lógica – cont.

Ex. Chupar uma balaPegar a balaRetirar o papelChupar a BalaJogar o Papel no Lixo

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 6: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

6

O que é algoritmo?Conceito

Conjunto finito de regras, bem definidas, para a solução de um problema em um tempo e numero de passos finitos.

OuMétodo passo a passo para resolver um problema

ou realizar uma tarefa.

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 7: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

7

O que é algoritmo?Características do algoritmo

Finito : Termina ao fim de um numero finito de passos.

Definido : Cada passo é preciso.Entrada : Pode haver nenhuma ou varias entradas.Saídas : Podem haver uma ou mais.Eficácia :Todas operações executadas devem ser

básicas.

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 8: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

8

O que é algoritmo?Características do algoritmo - cont.

É independente do sistema de computador

FOROUZAN, Behrouz; MOSHARRAF, Cengage, 2011 pag. 192

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 9: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

9

Relacionar o algoritmo a solução do problemaExemplo:

Algoritimo EncontraMaior - Encontrar o maior numero inteiro em uma lista de números inteiros positivos quaisquer (ex. : 12, 8, 13, 9, 11)

ConsideraçõesDeve ser genérico para funcionar com qualquer

quantidade de númerosNão pode ser realizado em uma etapa (obvio!)Abordagem deve ser intuitiva.Usar pequena quantidade números para provar, depois

amplia para qualquer quantidade de numeros18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 10: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

10

Relacionar o algoritmo a solução do problema

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 11: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

11

Lógica de programação de computadores e algoritmos - Continuação

UML – Unified Modeling LanguageÉ uma notação que pode gerar uma representação

pictórica de um algoritmo.Ela oculta todos os detalhes de uma algoritmo, tentando

apresenta-lo como uma grande figura demonstrando como o algoritmo flui do inicio ao fim.

Veremos apenas a representação mais simples das três construções básicas para criar-se um algoritmo usando UML visto que essa notação e vasta e rica em detalhes e o uso dos mesmos não é nosso foco.

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 12: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

12

Lógica de programação de computadores e algoritmos - Continuação

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 13: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

13

Lógica de programação de computadores e algoritmos - Continuação

Fluxograma – Ferramentas de representação gráfica do processo, possui vários tipos e grau de complexidade, de acordo com o objetivo a que se destinam.

Demonstram a sequencia operacional do desenvolvimento de um processo, o trabalho que esta sendo realizado e como a informação flui entre os participantes do processo.

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 14: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

14

Lógica de programação de computadores e algoritmos - Continuação

O fluxograma possibilita :Definição e documentação de processosPreparação para aperfeiçoamento de processosIdentificação de atividades criticas de processosConhecimento da sequencia e encadeamento das

atividades de um processo dando uma visão do fluxo do processo, provendo esclarecimentos.

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 15: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

15

Lógica de programação de computadores e algoritmos - Continuação

Fluxograma padrão ANSI (American National Standandards Institute) Simbologia :

1 -utilizado quando o fluxograma não cabe em uma única página.18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 16: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

16

Lógica de programação de computadores e algoritmos - Continuação

Fluxograma padrão ANSI – Considerações para criação :

Deve começar e terminar com uso de terminais :

Deve ser construído sempre de cima para baixo e da esquerda para a direita

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

INÍCIO FIM

Page 17: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

17

Lógica de programação de computadores e algoritmos - Continuação

Fluxograma padrão ANSI – Considerações para criação – cont. :

Operação/ AtividadeNome da atividade = verbo + objeto

ExemplosMontar ComputadorRecebe pedido clientePaga divida

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Nome da atividade

Page 18: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

18

Lógica de programação de computadores e algoritmos - Continuação

Fluxograma padrão ANSI – Considerações para criação – cont. :

Decisão

Conector de situação :Usar de uma pagina para outraQuando não couber

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Pergunta?

NÃO

SIM

11

Page 19: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

19

O Fluxograma pode salvar sua vida !

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 20: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

20

PortugolPara aprendermos a programar um passo

necessário é aprendermos o raciocínio da programação

Uma linguagem de programação tem intenção de servir de veiculo para expressão de raciocínio algorítmico e execução automática de um algoritmo.

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Lógica de programação de computadores e algoritmos - Continuação

Page 21: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

21

Portugol – cont.Para fazermos a transição do algoritmo para o

programa, uma das ferramentas usada é o portugol, uma pseudolinguagem de programação (simbiose do português com o ALGOL e PASCAL - Guimaraes Lages, 1994)

O objetivo é obter uma notação formal para ser usada na definição, criação e documentação de um programa.18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Lógica de programação de computadores e algoritmos - Continuação

Page 22: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

22

Portugol – cont.A ideia é permitir que um conjunto básico de

primitivas seja possível ao projetista pensar no problema e não na maquina que vai executar o algoritmo.

Toda linguagem obedece a uma sintaxe (forma) e semântica (conteudo)

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Lógica de programação de computadores e algoritmos - Continuação

Page 23: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

23

Portugol – cont.Identificador – A, B1, BCD3, A4, contador, etc.;

composto por letras e númerosDeclaração de variáveis – tipos Básicos

Inteiros – Qualquer numero inteiro (-5,0,235)Real - qualquer numero real, negativo ou positivoCaracter – qualquer conjunto de caracateres

alfanumericosLógico – Falso ou verdadeiro.Continua......

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Lógica de programação de computadores e algoritmos - Continuação

Page 24: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

24

Pseudocódigo para representar algoritmos – Portugol – continuação

Sabemos que os algoritmos podem utilizar 3 estruturas básicas para resolver qualquer tipo de problema.SequênciaDecisãoRepetição

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 25: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

25

Portugol – continuaçãoQuando utilizar cada uma das estruturas?

Sequência - Para problemas simples com execução de ações onde não é necessária nenhuma tomada decisão ou ação repetitiva.

Ex. vestir as calças:Pegar calçaColocar primeira pernaColocar segunda pernaSuspender a calçaFechar o zíperFechar o botão

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 26: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

26

Portugol – continuação

Quando utilizar cada uma das estruturas? Decisão - Para problemas onde a estrutura de

sequência não é suficiente para resolver o problema.Ex. Qual veículo usar para ir ao trabalho?Verificar o climaSe estiver fazendo sol

Utilizar motoSenao Utilizar carro

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 27: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

27

Portugol – continuação

Quando utilizar cada uma das estruturas? Repetição - Para problemas onde uma ou mais

ações se repetirão para solucionar o problema.Ex. Contar moedas do cofrinho

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Abrir cofrinhovTotal <- 0Faca enquanto houver moedas vValor <- valor moeda atual vTotal <- vTotal + vValor proxima moeda

Abrir cofrinhovTotal <- 0Faca vValor <- valor moeda atual vTotal <- vTotal +vValor proxima moeda enquanto houver moedas

Page 28: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

28

Portugol – continuação

Tipos de algoritmos básicos Alguns algoritmos são comumente usados e por

isso indicados para diversas soluções, discutiremos alguns deles.

Soma – Usado para adicionar muitos numeros inteiros, faz uso do operador + e um laço (repetição)

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 29: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

29

Portugol – continuação

Tipos de algoritmos básicos -Soma

Forouzan 2011, pag.20018/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 30: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

30

Portugol – continuação

Tipos de algoritmos básicos –SomaTem três partes lógicas:

Inicialização da soma no inicioO Laço que em cada iteração, adiciona um novo

numero inteiro a somaRetorno do resultado depois de sair do Laço

(repetição)

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 31: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

31

Portugol – continuação

Tipos de algoritmos básicos – ProdutoUtilizado para encontrar o produto de uma lista

de números inteiros.Faz uso do operador de multiplicação em um

laço (repetição)Tem três partes lógicas :

InicializaçãoLaço, em cada iteração multiplica um novo numero

inteiro pelo produtoRetorno do resultado após sair do laço.;18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 32: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

32

Portugol – continuação

Forouzan 2011, pag.201

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 33: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

33

Portugol – continuação

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Tipos de algoritmos básicos –Menor e Maior Esse tipo de algoritmo pode

ser usado tanto paraencontrar o menor como omaior numero de uma lista, Utilizando um laço (repetição) e duas estruturas de decisão.

A diferença entre eles émínima, mudando-se a pergunta e o nome da variavel.

Page 34: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

34

Portugol – continuação

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Tipos de algoritmos básicos – OrdenaçãoUma das aplicações mais comuns, o processo pelo

qual dados são arranjados de acordo com seus valores.

Veremos três tipos mais eficientes e que são utilizados para algoritmos mais avançados :SeleçãoMétodo BolhaInserção

Page 35: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

35

Portugol – continuação

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Tipos de algoritmos básicos – OrdenaçãoSeleção

Lista a ser ordenada é dividida em duas sublistas – ordenada e não ordenada. (limite imaginario)

Encontra-se o menor elemento da sublista não ordenada e troca-se pelo elemento no início da própria sublista não ordenada.

O limite imaginário entre as sublistas move-se um elemento a frente

Depois de cada seleção e troca concluímos uma etapa da ordenação.

Page 36: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

36

Portugol – continuação

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Tipos de algoritmos básicos – OrdenaçãoSeleção

Page 37: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

37

Portugol – continuação

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Tipos de algoritmos básicos – OrdenaçãoAlgoritmo de ordenação por seleção

Usa dois laços um dentro do outroO laço mais externo é iterado para cada etapaO Laço mais interno encontra o menor elemento da

listaO exemplo a seguir não mostra o laço mais interno, a

primeira instrução no laço representa o laço mais interno

Page 38: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

38

Portugol – continuação

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 39: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

39

Portugol – continuação

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Tipos de algoritmos básicos – OrdenaçãoMétodo BolhaTambem dividida em duas sublistas – ordenada e

não ordenadaO menor elemento é “borbulhado” (movido) da

lista não ordenada para ordenada a cada posição.

Page 40: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

40

Portugol – continuação

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Tipos de algoritmos básicos – OrdenaçãoMétodo Bolha – cont.

Page 41: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

41

Portugol – continuação

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Tipos de algoritmos básicos – OrdenaçãoMétodo InserçãoÉ uma das técnicas mais comuns, usado por

jogadores de cartas.Cada carta pega é inserida no local adequado.Também divide lista em ordenada e não ordenadaCada iteração move item da lista não ordenada

para ordenada e inserido no local apropriado

Page 42: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

42

Portugol – continuação

18/02/2013 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Tipos de algoritmos básicos – OrdenaçãoExercíciosPara entrega nesta aula :Escreva o algoritmo de ordenação em portugol e UML

de uma lista de números inteiros utilizando os métodos Seleçãobolha Inserção

Para entrega na próxima aulaSustentabilidade: Redução do consumo de energias,

diminuição da emissão de gases, reciclagem e descarte devido de equipamentos eletrônicos.

Page 43: ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

43

Bibliografia

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

BIBLIOGRAFIA BÁSICA

1 MANZANO, José Augusto N. G. Estudo Dirigido de Algorítmos. São Paulo: Érica, 1999.

2 PEIXOTO, Mário César Pintaudi. Engenharia social e segurança da informação na gestão corporativa . Rio de Janeiro: Brasport, 2006.

3COMER, Douglas E. Interligação em rede com TCP/IP: projeto, implementação e detalhes internos. Tradução de Ana Maria Netto GUZ. 3. ed. Rio de Janeiro: Campus, 1999. v. 2.

BIBLIOGRAFIA COMPLEMENTAR

1 CANTU, Marco. Dominando o Delphi 5 "a Bíblia". São Paulo: Makron Books, 2000.

2 TANENBAUM, Andrew S. Redes de computadores. Rio de Janeiro : Campus, 1994.

3MACHADO, Francis Berenger. Arquitetura de sistemas operacionais. Rio de Janeiro : Livros Técnicos e Científicos, 2002. 3. ed.

4 LOURENÇO, Antonio Carlos de. Circuitos digitais. São Paulo : Érica, 2005

5NORTON, P., Introdução à Informática, 5ª edição, São Paulo, Printice Hall, 2004. 1997