1 / 43

ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

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

Download Presentation

ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ENGENHARIA AMBIENTALCOMPUTAÇÃO APLICADAAula 7 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  2. 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 • Construções - Seqüência, Seleção e Repetição 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  3. O que é lógica? • Ciência que estuda as leis do raciocinio • Nos ajuda na correção / Validação do Pensamento. • Encadeamento/Ordem de idéias • Arte de bem pensar. 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  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éias • Arte 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- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  5. O que é lógica? • Sequência Lógica – cont. • Ex. Chupar uma bala • Pegar a bala • Retirar o papel • Chupar a Bala • Jogar o Papel no Lixo 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  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. Ou • Método passo a passo para resolver um problema ou realizar uma tarefa. 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  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- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  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- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  9. Relacionar o algoritmo a solução do problema • Exemplo: • AlgoritimoEncontraMaior - Encontrar o maior numero inteiro em uma lista de números inteiros positivos quaisquer (ex. : 12, 8, 13, 9, 11) • Considerações • Deve ser genérico para funcionar com qualquer quantidade de números • Nã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 numeros 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  10. Relacionar o algoritmo a solução do problema 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  11. Lógica de programação de computadores e algoritmos - Continuação • UML – UnifiedModelingLanguage • É 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- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  12. Lógica de programação de computadores e algoritmos - Continuação 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  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- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  14. Lógica de programação de computadores e algoritmos - Continuação • O fluxograma possibilita : • Definição e documentação de processos • Preparação para aperfeiçoamento de processos • Identificação de atividades criticas de processos • Conhecimento 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- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  15. Lógica de programação de computadores e algoritmos - Continuação • Fluxograma padrão ANSI (American NationalStandandardsInstitute) Simbologia : • 1 -utilizado quando o fluxograma não cabe em uma única página. 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  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 INÍCIO FIM 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  17. Lógica de programação de computadores e algoritmos - Continuação • Fluxograma padrão ANSI – Considerações para criação – cont. : • Operação/ Atividade • Nome da atividade = verbo + objeto • Exemplos • Montar Computador • Recebe pedido cliente • Paga divida Nome da atividade 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  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 outra Quando não couber NÃO Pergunta ? SIM 1 1 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  19. O Fluxograma pode salvar sua vida ! 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  20. Lógica de programação de computadores e algoritmos - Continuação • Portugol • Para 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- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  21. Lógica de programação de computadores e algoritmos - Continuação • 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- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  22. Lógica de programação de computadores e algoritmos - Continuação • 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- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  23. Lógica de programação de computadores e algoritmos - Continuação • Portugol – cont. • Identificador – A, B1, BCD3, A4, contador, etc.; composto por letras e números • Declaração de variáveis – tipos Básicos • Inteiros – Qualquer numero inteiro (-5,0,235) • Real - qualquer numero real, negativo ou positivo • Caracter – qualquer conjunto de caracateresalfanumericos • Lógico – Falso ou verdadeiro. • Continua...... 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  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ência • Decisão • Repetição 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  25. Portugol– continuação • Quando 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ça Colocar primeira perna Colocar segunda perna Suspender a calça Fechar o zíper Fechar o botão 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  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 clima Se estiver fazendo sol Utilizar moto Senao Utilizar carro 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  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- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  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- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  29. Portugol– continuação • Tipos de algoritmos básicos -Soma Forouzan 2011, pag.200 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  30. Portugol– continuação • Tipos de algoritmos básicos –Soma • Tem três partes lógicas: • Inicialização da soma no inicio • O Laço que em cada iteração, adiciona um novo numero inteiro a soma • Retorno do resultado depois de sair do Laço (repetição) 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  31. Portugol– continuação • Tipos de algoritmos básicos – Produto • Utilizado 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ção • Laço, em cada iteração multiplica um novo numero inteiro pelo produto • Retorno do resultado após sair do laço.; 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  32. Portugol– continuação Forouzan 2011, pag.201 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  33. Portugol– continuação • Tipos de algoritmos básicos –Menor e Maior • Esse tipo de algoritmo podeser 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. 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  34. Portugol– continuação • Tipos de algoritmos básicos – Ordenação • Uma 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ção • Método Bolha • Inserção 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  35. Portugol– continuação • Tipos de algoritmos básicos – Ordenação • Seleçã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. 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  36. Portugol– continuação • Tipos de algoritmos básicos – Ordenação • Seleção 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  37. Portugol– continuação • Tipos de algoritmos básicos – Ordenação • Algoritmo de ordenação por seleção • Usa dois laços um dentro do outro • O laço mais externo é iterado para cada etapa • O Laço mais interno encontra o menor elemento da lista • O exemplo a seguir não mostra o laço mais interno, a primeira instrução no laço representa o laço mais interno 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  38. Portugol– continuação 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  39. Portugol– continuação • Tipos de algoritmos básicos – Ordenação • Método Bolha • Tambem dividida em duas sublistas – ordenada e não ordenada • O menor elemento é “borbulhado” (movido) da lista não ordenada para ordenada a cada posição. 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  40. Portugol– continuação • Tipos de algoritmos básicos – Ordenação • Método Bolha – cont. 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  41. Portugol– continuação • Tipos de algoritmos básicos – Ordenação • Mé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 ordenada • Cada iteração move item da lista não ordenada para ordenada e inserido no local apropriado 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  42. Portugol– continuação • Tipos de algoritmos básicos – Ordenação • Exercícios • Para 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ção • bolha • Inserção • Para entrega na próxima aula • Sustentabilidade: Redução do consumo de energias, diminuição da emissão de gases, reciclagem e descarte devido de equipamentos eletrônicos. 18/02/2013 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  43. Bibliografia 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

More Related