Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouKauany Mathias Alterado mais de 10 anos atrás
1
ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7
18/02/2013 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
6
O que é algoritmo? Conceito Ou
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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
9
Relacionar o algoritmo a solução do problema
Exemplo: Algoritimo EncontraMaior - 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- – 25/04/2011 Professor Leomir J. Borba- –
10
Relacionar o algoritmo a solução do problema
18/02/2013 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
12
Lógica de programação de computadores e algoritmos - Continuação
18/02/2013 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
19
O Fluxograma pode salvar sua vida !
18/02/2013 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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 caracateres alfanumericos Lógico – Falso ou verdadeiro. Continua...... 18/02/2013 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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 Abrir cofrinho vTotal <- 0 Faca enquanto houver moedas vValor <- valor moeda atual vTotal <- vTotal + vValor proxima moeda Faca vTotal <- vTotal +vValor enquanto houver moedas 18/02/2013 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
29
Portugol – continuação
Tipos de algoritmos básicos -Soma Forouzan 2011, pag.200 18/02/2013 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
32
Portugol – continuação
Forouzan 2011, pag.201 18/02/2013 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- –
33
Portugol – continuação
Tipos de algoritmos básicos –Menor e Maior Esse tipo de algoritmo pode ser usado tanto para encontrar o menor como o maior 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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
36
Portugol – continuação
Tipos de algoritmos básicos – Ordenação Seleção 18/02/2013 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
38
Portugol – continuação
18/02/2013 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
40
Portugol – continuação
Tipos de algoritmos básicos – Ordenação Método Bolha – cont. 18/02/2013 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
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- – 25/04/2011 Professor Leomir J. Borba- –
43
Bibliografia 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. 3 COMER, 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, v. 2. BIBLIOGRAFIA COMPLEMENTAR CANTU, Marco. Dominando o Delphi 5 "a Bíblia". São Paulo: Makron Books, 2000. TANENBAUM, Andrew S. Redes de computadores. Rio de Janeiro : Campus, 1994. MACHADO, Francis Berenger. Arquitetura de sistemas operacionais. Rio de Janeiro : Livros Técnicos e Científicos, ed. 4 LOURENÇO, Antonio Carlos de. Circuitos digitais. São Paulo : Érica, 2005 5 NORTON, P., Introdução à Informática, 5ª edição, São Paulo, Printice Hall, Bibliografia Basica – GUEDES (1) é o principal 02/08/2011 Professor Leomir J. Borba- – 25/04/2011 Professor Leomir J. Borba- –
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.