Logica de Programacao. Jorge Augusto F. de Souza Edward Boszczowski

Documentos relacionados
Capítulo 1 - Lógica e Algoritmos

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À PROGRAMAÇÃO DE COMPUTADORES

AULA 02. Lógica de Programação. Centro Educação Profissional Ezequiel Ferreira Lima CEPEF. Curso Técnico em Eletrônica.

Fábio Rodrigues / Israel Lucania

Curso: Análise e Desenvolvimento de Sistemas. (Conceitos Práticos de Lógica de Programação)

Fundamentos de Programação

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO

PPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009

Técnicas de Programação

TCC 00308: Programação de Computadores I Introdução

Aula 3: Algoritmos: Formalização e Construção

2. Criação de Algoritmos

Introdução à Programação. Vanessa Braganholo

LÓGICA DE PROGRAMAÇÃO 1

Introdução à Programação

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Algoritmos e Programação

Algoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira

Programação Orientada a Objetos

Conceitos Práticos de Lógica de Programação

Conceitos Básicos ENTRADA PROCESSAMENTO SAÍDA

Programação de Redes de Computadores

Curso Superior de Análise e Desenvolvimento de Sistemas. Disciplina: : Algoritmo 2009 / 1

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. ANÁLISE E DESENVOLVIMENTO DE SISTEMAS/PARANGABA PROF. MS. RONNISON REGES VIDAL Ceará, 01 de fevereiro de 2017

Noções de algoritmos - Aula 1

Introdução à Programação de Computadores Fabricação Mecânica

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Introdução à Programação

Lógica de Programação

Introdução à Lógica de Programação Utilizando Perl. Thiago Yukio Kikuchi Oliveira

É neste ponto que entra o conceito de lógica de programação.

Algoritmos. Prof. Jonatas Bastos Site:

Programação de Computadores:

Algoritmos Fundamento e Prática

Aula I Introdução à Lógica de Programação

SSC 0721 Teste e Inspeção de Software

UMA PROPOSTA DE FERRAMENTA PARA SIMPLIFICAR A DEPURAÇÃO DE CÓDIGOS EM C, POR ALUNOS INICIANTES

Fluxograma Pseudocódigo Estruturas de decisão. Professor Leandro Augusto Frata Fernandes

CURSO TÉCNICO DE NÍVEL MÉDIO EM INFORMÁTICA - PLANO DE DISCIPLINA 2015 LINGUAGEM DE PROGRAMACAO 1 LP1

INTRODUÇÃO A LÓGICA DE PROGRAMAÇÃO

ALGORITMOS. O que é Algoritmo? Algoritmo é um dos processo para criação

Introdução à UML. Prof. Jesus José de Oliveira Neto

Programação de Computadores III

01/08/2011. Introdução Lógica Sequencia lógica Instruções Algoritmos Programas. Lógica. Lógica na programação. Instrução.

Engenharia de Software

Introdução à Programação. Ceça Moraes

Programação de Computadores III

Introdução à Lógica de Programação

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

Algoritmos e Linguagem de Programação I

Capítulo 6: Linguagens de Programação

Linguagem de Descrição de algoritmos

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Algoritmos e Programação

Linguagens de Programação Funcional

Programação em C e C++ com Lógica. Subtítulo

Programação: Vetores

Aula 4B. Lógica e Algoritmos. Profª. Fabiany

Algoritmos e Programação

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

3.1 - O que é um diagrama de bloco? Simbologia... 11

LO GICA E TE CNICA DE PROGRAMAC ÃO. TÁSSIO JOSÉ GONÇALVES GOMES

Introdução a Programação

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Programação de Computadores III

I - CONCEITOS INICIAIS

Desenvolvimento de Algoritmos. RAD 2119 Tecnologia de Informação Aplicada a Administração. Essa aula. Lógica e Pensamento Lógico. Lógica.

Processamento da Informação BC-05045

Introdução a Programação de Jogos

Introdução à Lógica de Programação. Adaptação de Luis Otavio Alvares

Programação de Computadores:

Algoritmos e Programação

Noções de algoritmos - Aula 1

PLANO DE ENSINO CURSO: ENGENHARIA CIVIL DISCIPLINA: LABORATÓRIO DE PROGRAMAÇÃO I

Algoritmos e Programação de Computadores Disciplina:

Algoritmos e Técnicas. Lógica de Programação. É a técnica de encadear pensamento para atingir determinado objetivo.

CMP Algoritmos Algoritmos - Introdução Geral. Professor Vicente Paulo de Camargo

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.

Lógica de Programação Lógica, Conceitos; Fluxo de Controle

INTRODUÇÃO LINGUAGEM C

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada

Fundamentos de Lógica e Algoritmos Aula 2.5 Conceitos Básicos de Algoritmos. Prof. Dr. Bruno Moreno

Fundamentos de Programação 1

Introdução aos Algoritmos

Disciplina de Algoritmos e Programação

Algoritmos e Linguagem de Programação I

Introdução à Lógica de Programação

Prof. A. G. Silva. 14 de março de Prof. A. G. Silva INE5231 Computação Científica I 14 de março de / 26

Slides trabalhados durante a quinta aula

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CATARINENSE - CAMPUS LUZERNA Rua São Roque, 41 - Luzerna/SC CEP Fone: (49)

Lógica de Programação, Algoritmos e Estruturas de Dados

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Programação de Computadores

Introdução aos Algoritmos

Introdução as Máquinas de Autômatos

Transcrição:

Logica de Programacao Jorge Augusto F. de Souza Edward Boszczowski

Roteiro: O que é lógica de programação A importância do papel e caneta O que é algoritmo Pseudocódigo Diagrama de Blocos Diagrama de Chapin

Roteiro: UML Lógica nas diversas áreas relacionadas - Geometria computacional - Animação por computador - Teoria dos Grafos

A lógica de Programação O que é lógica de Programação? Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo. (Paulo Sergio de Moraes)

A importância do papel e caneta - Importância do papel e caneta para o programador novato - Teste de mesa e código fonte aberto

A lógica de Programação O que é Algoritmo? Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa. Podemos pensar em algoritmo como uma receita, uma seqüência de instruções que dão cabo de uma meta específica. (Paulo Sergio de Moraes)

Como é composto um programa

A lógica de Programação - Pseudocódigo O pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior implementação em uma linguagem de programação. Os algoritmos são independentes das linguagens de programação. Ao contrário de uma linguagem de programação não existe um formalismo rígido de como deve ser escrito o algoritmo.

A lógica de Programação - Pseudocódigo O pseudocódigo O algoritmo deve ser fácil de se interpretar e fácil de codificar. Ou seja, ele deve ser o intermediário entre a linguagem falada e a linguagem de programação.

=> algoritmo do bubblesort em portugol => Supoe-se que os indices dos arrays vao de 1 a n void bubblesort( array de inteiro: a, inteiro: n ) i, j, temp, trocas : inteiro; para i de n ate 2 faca; trocas = 0; para j de 1 ate j-1 faca; se a[j] > a[j +1] entao => troca i com j temp = a[i]; a[i] = a[j]; a[j] = temp; trocas = trocas + 1; fim_para se trocas = 0 entao pare; => array ordenado fim_para fim_bubblesort Exemplo bubblesort

Exemplo bubblesort - C++ #include "Bubblesort.h" void bubblesort(int *a, int n) { int j; } for(indice j= n-1; j>0; j--) for(i=0;i<j;i++) if(a[i+1] < a[i]) troca(a[i+1], a[i]);

Exemplo bubblesort - Java public static void bubblesort(int[] a) { for (int i = 0; i < a.length-1; i++) { for (int j = 0; j < a.length-i-1; j++) { if (a[j] > a[j+1]) { swap(a, j, j+1); } } } } private static void swap(int[] a, int i, int j) { int temp = a[i]; a[i] = a[j]; a[j] = temp; }

Exemplo bubblesort - ML fun fix ( f,x) = let val fx = f(x) in if x = fx then x else fix(f,fx) end; fun bubble ([]) = [] bubble([a]) = [a] bubble(a::b::x) = if a <= b then a::bubble(b::x) else b::bubble(a::x); fun bubblesort( lista ) = fix (bubble,lista);

A lógica de Programação Diagrama de Bloco Diagrama de Bloco O diagrama de blocos é uma forma padronizada e eficaz para representar os passos lógicos de um determinado processamento. Com o diagrama podemos definir uma seqüência de símbolos, com significado bem definido, portanto, sua principal função é a de facilitar a visualização dos passos de um processamento.

A lógica de Programação Diagrama de Bloco

A lógica de Programação Diagrama de Chapin Diagrama de Chapin O diagrama foi desenvolvido por Nassi e Shneiderman e ampliado por Ned Chapin. A grande vantagem desse tipo de diagrama é a representação das estruturas que têm um ponto de entrada e um ponto de saida e são compostas pelas estruturas básicas de controle de sequencia, seleção e repetição.

UML A lógica de Programação UML A UML é uma linguagem de modelagem de proposito geral no campo da engenharia de software. Ela se originou devido a necessidade de se usar uma metologia em um projeto orientado a objetos e é composta de três tipos de diagramas * Diagrama de comportamento. Um tipo de diagrama que ilustra caracteristicas comportamentais de um sistema ou processo de negocio. Isto inclui atividade, máquina de estado, e diagramas de caso de uso bem como os quatro diagramas de interação.

UML A lógica de Programação UML * Diagramas de interação. Um subconjunto de diagramas de comportamento que enfatiza interações entre os objetos. Isto inclui comunicação, panorama de interação, seuquência e diagramas de temporização. * Diagramas de estrutura. Um tipo de diagrama que ilustra os elementos de uma especificação que nao sao respectivos ao tempo. Isto inclue diagramas de pacote, objeto, distribuição, componente, estrutura composta e classe.

Logica nas diversas areas relacionadas Geometria Computacional Geometria Computacional A lógica por trás da Geometria Computacional se resume a conhecer alguns fundamentos geométricos que quando juntados formam o algoritmo desejado para se levar a cabo uma dada tarefa.

Logica nas diversas areas relacionadas Geometria Computacional Dessa forma há algumas noções básicas que são utilizadas para uma infinidade de algoritmos e se faz necessário conhecê-las, pois a grande maioria dos algoritmos desta categoria as usa. Algumas dessas noções são: vetores, matrizes, operações em vetores e matrizes, distância euclidiana.

Logica nas diversas areas relacionadas Animacao por computador Animação por computador Para se poder produzir uma animação é necessário que uma dada seqüência de imagens seja passada num tempo baixo, dando a impressão de movimento. Este tempo é pouco maior que 1/20 segundos. Tal lógica também vale para a animação produzida pela TV e pelo cinema.

Logica nas diversas areas relacionadas Teoria dos Grafos Teoria dos Grafos Um grafo é uma estrutura formada por nós e arestas. Os nós são pontos, locais, cidades, enfim, objetos distintos que podem ser enumerados. As arestas expressam as ligacoes entre vertices, ou seja, uma relação entre estes. Os grafos são um conceito muito importante, estando presente em diversos problemas do mundo real.

Logica nas diversas areas relacionadas Teoria dos Grafos Para resolver um problema com teoria de grafos, devemos primeiro formulá-lo, identificando os vértices e arestas, e, em seguida formular um algoritmo para encontrar a solução de nosso problema. Tal algoritmo geralmente envolve uma solução com uma busca no grafo, percorrendo-o.

Problema das pontes de Konigsberg

Referências Bibliográficas 1. http://pt.wikipedia.org/wiki/bubble_sort 2. Algoritmos - Logica para desenvolvimento de programacao de computadores Jose Augusto N.G. Manzano, Jayr Figueiredo de Oliveira, Ed. Erica, Sao Paulo - SP, 2000, 10 ed. 3. http://en.wikipedia.org/wiki/unified_modeling_language 4. http://www.agilemodeling.com/essays/umldiagrams.htm 5. http://en.wikipedia.org/wiki/computer_animation 6. Paulo Sergio de Moraes, Lógica de Programação, Disponível em: ftp.unicamp.br/pub/apoio/treinamentos/logica/logica.pdf http://blogs.claritycon.com/blogs/peter_miller/archive/2007/ 10/10/3307.aspx