ENGENHARIA DE CONTROLE E AUTOMAÇÃO COMPUTAÇÃO PARA ENGENHARIA Aula 10 1 18/02/2013 Professor Leomir J. Borba- –http://professorleomir.wordpress.com.

Slides:



Advertisements
Apresentações semelhantes
Algoritmo e Programação
Advertisements

TÉCNICAS DE PROGRAMAÇÃO I
Construção de Aplicativos Computacionais METEOROLOGIA
Algoritmo I Aula 05 Pseudo-Linguagem.
Marco Antonio Montebello Júnior
Desenvolvendo Algoritmos
INTRODUÇÃO – LOGICA E ALGORITMOS
ENGENHARIA CIVIL COMPUTAÇÃO APLICADA Aula 12
05/08/2011 Professor Leomir J. Borba- –
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula /08/2011 Professor Leomir J. Borba-
INTRODUÇÃO À PROGRAMAÇÃO
Estruturas de Controle
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Lógica de Programação/ Algoritmos 2013
ALGORITMO E ESTRUTURA DE DADOS
Introdução aos Algoritmos
Construção de Algoritmos e Programação
Prof. Msc. Raul Paradeda Aula 3 Fluxograma e Pseudocódigo
Programação e Sistemas de Informação
Engenharia de Software
INTRODUÇÃO À PROGRAMAÇÃO
Algoritmos Prof. Kelly E. Medeiros.
PRC Bruno Correa.
Introdução a Programação
Algoritmos e Estruturas de Dados I Construção de Algoritmos
Processamento da Informação BC-05045
Conceitos Básicos Lógica de Programação
Estruturas de Controle
ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7
Capítulo 3 Estruturas de Controle
INTRODUÇÃO – LOGICA E ALGORITMOS
Estrutura de dados, pseudocódigo
ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL
LINGUAGENS DE PROGRAMAÇÃO PROF. DANIELA PIRES
Introdução a Programação
Lógica de programação – Aula 1
Algoritmos e Programação de Computadores
Algoritmos 1º Semestre Materia: Informática Profº: Cristiano.
Programação de Computadores
Operadores Relacionais, Lógicos e comandos de condição
Introdução a Programação Algoritmos
02/08/2011 Professor Leomir J. Borba- –
Lógica: Resolução de Problemas e Introdução a Dados PROFº RICARDO JOSÉ BATALHONE FILHO Log.a02.
2. Lógica de Programação Definição de Lógica Definição de Algoritmo
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Algoritmos.
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Manual da Organização.
CH: 60h Créditos: 3 Prof Me. Tiago Araujo
Fábio de Oliveira Borges
Igor Steinmacher, MSc. O maravilhoso mundo da Lógica de Programação.
Algoritmos Estruturados
Programação de PIC em C Exposição das funções básicas para
Algoritmos e Estrutura de Dados I
TECNOLOGIA EM REDES DE COMPUTADORES INTRODUÇÃO A COMPUTAÇÃO Aula /02/2013 Professor Leomir J. Borba- –
Linguagens de Programação
Fundamentos de linguagens de programação
Fluxograma Juliana Borges
Linguagens de Programação
TECNOLOGIA EM REDES DE COMPUTADORES INTRODUÇÃO A COMPUTAÇÃO Aula /02/2013 Professor Leomir J. Borba- –
Algoritmos e Programação I
ALGORITMOS.
TECNOLOGIA EM REDES DE COMPUTADORES INTRODUÇÃO A COMPUTAÇÃO Aula /02/2013 Professor Leomir J. Borba- –
Exercícios Faça um algoritmos para trocar uma lampada queimada.
Linguagens de Programação
Disciplina: Lógica de Programação
Introdução a Programação Aula 01 Jackson Eduardo
Lógica de programação Introdução à lógica de programação
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Transcrição da apresentação:

ENGENHARIA DE CONTROLE E AUTOMAÇÃO COMPUTAÇÃO PARA ENGENHARIA Aula /02/2013 Professor Leomir J. Borba- –

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 2 18/02/2013 Professor Leomir J. Borba- –

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. 3 18/02/2013 Professor Leomir J. Borba- –

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. 4 18/02/2013 Professor Leomir J. Borba- –

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 5 18/02/2013 Professor Leomir J. Borba- –

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. 6 18/02/2013 Professor Leomir J. Borba- –

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. 7 18/02/2013 Professor Leomir J. Borba- –

O que é algoritmo?  Características do algoritmo - cont.  É independente do sistema de computador FOROUZAN, Behrouz; MOSHARRAF, Cengage, 2011 pag /02/2013 Professor Leomir J. Borba- –

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 9 18/02/2013 Professor Leomir J. Borba- –

Relacionar o algoritmo a solução do problema 10 18/02/2013 Professor Leomir J. Borba- –

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 /02/2013 Professor Leomir J. Borba- –

Lógica de programação de computadores e algoritmos - Continuação 12 18/02/2013 Professor Leomir J. Borba- –

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 /02/2013 Professor Leomir J. Borba- –

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 /02/2013 Professor Leomir J. Borba- –

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 /02/2013 Professor Leomir J. Borba- –

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 16 18/02/2013 Professor Leomir J. Borba- – INÍCIO FIM

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 17 18/02/2013 Professor Leomir J. Borba- – Nome da atividade

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 18 18/02/2013 Professor Leomir J. Borba- – Pergunta ? NÃO SIM 1 1

 O Fluxograma pode salvar sua vida ! 19 18/02/2013 Professor Leomir J. Borba- –

 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 /02/2013 Professor Leomir J. Borba- – 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 /02/2013 Professor Leomir J. Borba- – 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) 22 18/02/2013 Professor Leomir J. Borba- – 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 /02/2013 Professor Leomir J. Borba- – Lógica de programação de computadores e algoritmos - Continuação

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 24 18/02/2013 Professor Leomir J. Borba- –

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 25 18/02/2013 Professor Leomir J. Borba- –

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 26 18/02/2013 Professor Leomir J. Borba- –

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 27 18/02/2013 Professor Leomir J. Borba- – Abrir cofrinho vTotal <- 0 Faca enquanto houver moedas vValor <- valor moeda atual vTotal <- vTotal + vValor proxima moeda Abrir cofrinho vTotal <- 0 Faca vValor <- valor moeda atual vTotal <- vTotal +vValor proxima moeda enquanto houver moedas

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 números inteiros, faz uso do operador + e um laço (repetição) 28 18/02/2013 Professor Leomir J. Borba- –

Portugol – continuação  Tipos de algoritmos básicos -Soma Forouzan 2011, pag /02/2013 Professor Leomir J. Borba- –

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) 30 18/02/2013 Professor Leomir J. Borba- –

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.; 31 18/02/2013 Professor Leomir J. Borba- –

Portugol – continuação Forouzan 2011, pag /02/2013 Professor Leomir J. Borba- –

Portugol – continuação 33 18/02/2013 Professor Leomir J. Borba- –  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.

Portugol – continuação 34 18/02/2013 Professor Leomir J. Borba- –  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

Portugol – continuação 35 18/02/2013 Professor Leomir J. Borba- –  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.

Portugol – continuação 36 18/02/2013 Professor Leomir J. Borba- –  Tipos de algoritmos básicos – Ordenação  Seleção

Portugol – continuação 37 18/02/2013 Professor Leomir J. Borba- –  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

Portugol – continuação 38 18/02/2013 Professor Leomir J. Borba- –

Portugol – continuação 39 18/02/2013 Professor Leomir J. Borba- –  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.

Portugol – continuação 40 18/02/2013 Professor Leomir J. Borba- –  Tipos de algoritmos básicos – Ordenação  Método Bolha – cont.

Portugol – continuação 41 18/02/2013 Professor Leomir J. Borba- –  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

Portugol – continuação 42 18/02/2013 Professor Leomir J. Borba- –  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.

Bibliografia 02/08/2011 Professor Leomir J. Borba- – 43 BIBLIOGRAFIA BÁSICA 1 TANENBAUM, Andrew S. Redes de computadores. Rio de Janeiro: Campus, MACHADO, Francis Berenger. Arquitetura de sistemas operacionais. Rio de Janeiro: Livros Técnicos e Científicos, ed. 3 SOUZA, Marco Antônio de Furlan. Algoritmos e lógica de programação. 2ª ed. São Paulo, Cengage Learning, BIBLIOGRIA COMPLEMENTAR 1 CANTU, Marco. Dominando o Delphi 5 "a Bíblia". São Paulo: Makron Books, LOURENÇO, Antônio Carlos de. Circuitos digitais. São Paulo: Érica, NORTON, P., Introdução à Informática, 5ª edição, São Paulo, Printice Hall, MANZANO, José Augusto. Algoritmos. São Paulo: Érica, 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.