Disciplina de Projetos e Análise de Algoritmos

Tamanho: px
Começar a partir da página:

Download "Disciplina de Projetos e Análise de Algoritmos"

Transcrição

1 Aula 6 - A Maior Subsequência Comum Possível (Programação Dinâmica Parte IV)

2 Aplicações na Biologia Um problema bastante em voga na Biologia é a análise do DNA de dois ou mais organismos distintos. Um DNA é composto por uma sequência de moléculas, chamadas de bases, A Adenina T Timina C Citosina G Guanina Computacionalmente, um DNA pode ser visto como uma fita dupla de Strings, com o alfabeto {A,T,G,C}

3 Aplicações na Biologia

4 Aplicações na Biologia Dado os DNA s de dois organismos: S 1 = ACCGTGGAAAAGGTTAAGGCCAGGATTTAACCGCGGGC S 2 = ACCGCGGTTTAATCCGGATAGGTTGAAATGGTTGAAAC É possível indagar: Quão semelhantes são estes dois organismos? Estes organismos são da mesma espécie? Um destes organismos é ancestral do outro organismo? Observe que a resposta destas questões dependerão de quão semelhantes eles são.

5 Similaridade É possível medir similaridade de várias formas diferentes! É possível definir que duas fitas de DNA são similares se uma é uma substring da outra. Também é possível definir similaridade pelo número de transformações necessária para transforma uma fita de DNA na outra. Aqui, quanto menor o número de transformações maior a similaridade. Uma terceira forma é definir uma outra fita S 3 de tal forma que esta seja formada pelas bases que coincidentes nas fitas S 1 e S 2. Quanto maior for S 3 mais semelhantes serão S 1 e S 2. S 3 é a maior subsequência comum possível entre S 1 e S 2.

6 Subsequência Introdução Uma Subsequência Uma Subsequência Comum A subsequência comum mais longa Dada uma sequência X = x 1,x 2,...,x m e outra sequência Z = z 1,z 2,...,z k. A sequência Z será subsequência de X se existir uma sequência estritamente crescente i 1,i 2,...,i k de índices de X tal que para todo j = 1,2,...,k implique em x ij = z j. Por exemplo, dado X = A,B,C,B,D,A,B e Z = B,C,D,B. Z é uma subsequência de X com a sequência de índices correspondendo a 2,3,5,7

7 Subsequência Comum Uma Subsequência Uma Subsequência Comum A subsequência comum mais longa Agora são dadas duas sequências, X e Y. É dito que Z é uma subsequência comum de X e Y se Z é uma subsequência de X e de Y ao mesmo tempo. Por exemplo, e X = A,B,C,B,D,A,B Y = B,D,C,A,B,A note que a subsequência B,C,A, embora não seja a subsequência mais longa. A subsequência mais longa (LCS) terá comprimento 4: B,C,B,A ou B,D,A,B.

8 Definindo o Problema Uma Subsequência Uma Subsequência Comum A subsequência comum mais longa Problema da Subsequência Comum Mais Longa (LCS) Dadas duas sequências X = x 1,x 2,...,x m e Y = y 1,y 2,...,y n é desejado encontrar a maior subsequência de maior comprimento possível comum às sequências X e Y. Este problema pode ser abordado via programação dinâmica.

9 Passo 1: Caracterizando a Maior Subsequência Comum Por força bruta: Enumera-se todas as possíveis subsequências de X. Checa-se se cada uma destas subsequências também é subsequências de Y, guardando a de maior comprimento. Cada subsequência pode ser representada por por um subconjunto de índices na forma {1,2,...,m}. Observe que X terá 2 m subsequências, o que acarreta em um custo exponencial, sendo inviável na prática!

10 Passo 1: Caracterizando a Maior Subsequência Comum O problema LCS apresenta uma subestrutura ótima! Como será visto, a classe natural de subproblemas são os pares dos prefixos de duas sequências de entrada. Dada uma sequência X = x 1,x 2,...,x m Definie-se o i-ésimo prefixo de X, para i = 0,1,2,...,m como Por exemplo, dada a sequência X i = x 1,x 2,...,x i X = A,B,C,B,D,A,B então e X 0 = (sequência vazia) X 4 = A,B,C,B

11 Passo 1: Caracterizando a Maior Subsequência Comum Teorema Ótima para o Problema LCS Faça X = x 1,x 2,...,x m e Y = y 1,y 2,...,y n serem sequências, e faça Z = z 1,z 2,...,z k ser uma LCS de X e Y. 1 Se x m = y n, então z k = x m = y n e Z k 1 é uma LCS de X m 1 e Y n 1. 2 Se x m y n, então z k x m implicando que Z é uma LCS de X m 1 e de Y. 3 Se x m y n, então z k y n implicando que Z é uma LCS de X e de Y n 1.

12 Passo 1: Caracterizando a Maior Subsequência Comum Prova do Teorema Se z k x m e fixarmos x m = y n para obtermos Z com uma LCS de X e Y de comprimento k +1, estaremos contrariando o fato de Z ser uma LCS de X e Y. Assim, temos que ter z k = x m = y n. Observe então que o prefixo Z k 1 de comprimento k 1 é uma sequência comum de X m 1 e Y n 1. Pergunta-se Z k 1 é uma LCS? Suponha que existe uma sequência comum W de X m 1 e Y n 1 com comprimento maior que k 1. Logo fazendo x m = y n implicaria que W teria um comprimento maior que k, o que seria uma contradição.

13 Passo 1: Caracterizando a Maior Subsequência Comum Prova do Teorema Se z k x m então Z é uma sequência comum entre X m 1 e Y. Se existisse uma sequência comum W de X m 1 e Y com comprimento maior que k, então W também poderia ser uma sequência comum de X m e Y, contrariando a suposição de que Z é uma LCS de X e Y. 3 Uma prova simétrica ao item 2.

14 Passo 2: Uma Solução Recursiva O Teorema 5.1 afirma que deve-se observar 1 ou 2 subproblemas para se encontrar uma LCS de X = x 1,x 2,...,x m e Y = y 1,y 2,...,y n, Se x m = y n deve-se procurar a LCS de X m 1 e Y n 1 e depois acrescentar x m = y n. Se x m y n, então deve-se resolver 2 subproblemas: Encontrar uma LCS de X m 1 e Y; e Encontrar uma LCS de X e Y n 1 Sendo a LCS mais longa destas duas a LCS de X e Y. Desta forma a sobreposição nas soluções dos subproblemas é clara! Para resolver a LCS de X e Y é necessário resolver a LCS de X m 1 e Y, e X e Y n 1.

15 Passo 2: Uma Solução Recursiva Defina c[i,j] ser o comprimento de uma LCS das sequências X i e Y j. Se i = 0 ou j = 0, uma das sequências tem comprimento zero, implicando que a LCS tem comprimento zero. ótima do problema da LCS e a forma recursiva: 0, sei = 0 ou j = 0 c[i,j] = c[i 1,j 1]+1, sei,j > 0 e x i = y j max(c[i,j 1],c[i 1,j]), sei,j > 0 e x i y j (1)

16 Passo 3: Computando o comprimento de uma LCS Um algoritmo natural para resolver a Equação 1 teria custo exponencial! Contudo este problema tem apenas Θ(nm) subproblemas distintos. Algoritmo com programação dinâmica: Considere duas sequências como entrada, X = x 1,x 2,...,x m e Y = y 1,y 2,...,y n Os valore c[i, j] são armazenados em uma tabela c[0..m, 0..n], onde os valores são computados linha a linha, esquerda para direita Também há uma tabela b[1..m, 1..n] tal que são armazenados as entradas para a escolha da solução ótima dos subproblemas quando está se computando c[i, j]. Saídas: b e c, onde c[m,n] contem o comprimento de uma LCS de X e Y.

17 Passo 3: Computando o comprimento de uma LCS LCS-LENGTH(X,Y) 1 m = X.length 2 n = Y.length 3 let b[1..n,1..n] e c[0..m,0..n] be new tables 4 for i = 1 to m 5 c[i,0] = 0 6 for i = 1 to n 7 c[0,j] = 0 8 for i = 1 to m 9 for j = i to n 10 if x i == y j 11 c[i,j] = c[i 1,j 1]+1 12 b[i,j] = տ 13 elseif c[i 1,j] c[i,j 1] 14 c[i,j] = c[i 1,j] 15 b[i,j] = 16 else c[i,j] = c[i,j 1] 15 b[i,j] = 17 return c and b

18 Passo 3: Computando o comprimento de uma LCS Exemplo: Dadas as sequências X = A,B,C,D,A,B e Y = B,D,C,A,B,A. Observe que o custo será Θ(nm) visto que a referência a cada entrada de uma tabela tem custo de Θ(1).

19 Passo 4: Construindo uma LCS Observando a tabela b gerada pelo LCS-LENGTH rapidamente é possível se construir uma LCS das sequências X e Y. Começa-se na entrada b[n, m], e segue-se as setas. Quando encontra-se a seta տ em b[i,j] significa que x i = y j, logo este é um elemento da LCS. Assim, é possível se computar os elementos de uma LCS em ordem reversa.

20 Passo 4: Construindo uma LCS Para se imprimir a LCS na ordem correta, PRINT-LCS(b,X,i,j) 1 if i == 0 or j == 0 2 return // LCS is empty 3 if b[i,j] == տ 4 PRINT-LCS(b,X,i 1,j 1) 5 print x i 6 elseif b[i,j] == 7 PRINT-LCS(b,X,i 1,j) 8 else PRINT-LCS(b,X,i,j 1) Sendo a chamada inicial PRINT-LCS(b, X, X.length, Y.length).

21 Passo 4: Construindo uma LCS Para a tabela b gerada no nosso último exemplo, PRINT-LCS iria gerar a sequência, BCBA O custo para este procedimento será de O(m+n) Visto que este decrementa no mínimo uma unidade de i e/ou j para cada chamada recursiva.

22 Melhorando o Código! Observe que este código LENGTH-LCS pode ser melhorado em desempenho tanto no tempo como no espaço. Como? Exercício para reflexão! Será que a tabela b é realmente necessária? Será que a tabela c necessita ser totalmente armazenada?

23 Sugestão de Leitura Capítulo 15, seção 15.4 do ĺıvro do Cormen; Weiss, Mark Allen. Data Structures and Algorithms Analysis in C. Second Edition. (1997) - Capítulo 8

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Aula 08 Maior Subsequência Comum (LCS) Edirlei Soares de Lima Problema Subsequência: sequência de caracteres não necessariamente contínuos, retirados

Leia mais

Subsequência comum mais longa Em inglês, Longest Common Subsequence (LCS)

Subsequência comum mais longa Em inglês, Longest Common Subsequence (LCS) Programação Dinâmica Subsequência comum mais longa Em inglês, Longest Common Subsequence (LCS) Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 23 Longest Common Subsequence (LCS) Dadas duas sequências,

Leia mais

Algoritmos para Automação e Sistemas. Programação Dinâmica. Universidade Federal do Amazonas Departamento de Eletrônica e Computação

Algoritmos para Automação e Sistemas. Programação Dinâmica. Universidade Federal do Amazonas Departamento de Eletrônica e Computação Algoritmos para Automação e Sistemas Programação Dinâmica Universidade Federal do Amazonas Departamento de Eletrônica e Computação Roteiro Programação Dinâmica Problemas de Otimização Linha de Montagem

Leia mais

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48 Conteúdo 1 Princípios de Contagem e Enumeração Computacional Permutações com Repetições Combinações com Repetições O Problema do Troco Principio da Casa dos Pombos > Princípios de Contagem e Enumeração

Leia mais

Programação Dinâmica. Programa do PA. Técnicas Avançadas de Projeto. Aulas Anteriores. Introdução. Plano de Aula. Técnicas de Projeto de Algoritmos

Programação Dinâmica. Programa do PA. Técnicas Avançadas de Projeto. Aulas Anteriores. Introdução. Plano de Aula. Técnicas de Projeto de Algoritmos Programação Dinâmica Técnicas de Projeto de Algoritmos Aula 13 Alessandro L. Koerich Pontifícia Universidade Católica do Paraná (PUCPR) Ciência da Computação 7 o Período Engenharia de Computação 5 o Período

Leia mais

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2. Pg. 1 Universidade Federal do Espírito Santo - UFES Mestrado em Informática 2004/1 Projetos O Projeto O projeto tem um peso maior na sua nota final pois exigirá de você a utilização de diversas informações

Leia mais

PROGRAMAÇÃO DINÂMICA

PROGRAMAÇÃO DINÂMICA PROGRAMAÇÃO DINÂMICA Programação dinâmica é tipicamente aplicada para problemas de otimização. O desenvolvimento de um algoritmo de programação dinâmica pode ser divido em 4 etapas. Caracterizar uma solução

Leia mais

Lista n 0 1 de Exercícios de Teoria da Computação

Lista n 0 1 de Exercícios de Teoria da Computação Lista n 0 1 de Exercícios de Teoria da Computação UFU-Curso de Bacharelado em Ciência da Computação - 7 0 período Profa. Sandra de Amo Exercícios de Revisão : Autômatos e Gramáticas 1. Mostre que a linguagem

Leia mais

Lógica Computacional 117366. 2 Descrição do Projeto

Lógica Computacional 117366. 2 Descrição do Projeto Lógica Computacional 117366 Descrição do Projeto Formalização de Algoritmos para Ordenação com Heaps 24 de setembro de 2015 Prof. Mauricio Ayala-Rincón Prof. Flávio L. C. de Moura A estagiária de docência

Leia mais

Contagem. George Darmiton da Cunha Cavalcanti CIn - UFPE

Contagem. George Darmiton da Cunha Cavalcanti CIn - UFPE Contagem George Darmiton da Cunha Cavalcanti CIn - UFPE Sumário Princípios Básicos de Contagem A Regra do Produto A Regra da Soma O número de subconjuntos de um conjunto finito Princípio da Inclusão-Exclusão

Leia mais

Árvores Binárias de Busca

Árvores Binárias de Busca Árvores Binárias de Busca Uma Árvore Binária de Busca T (ABB) ou Árvore Binária de Pesquisa é tal que ou T = 0 e a árvore é dita vazia ou seu nó contém uma chave e: 1. Todas as chaves da sub-árvore esquerda

Leia mais

Um Estudo Sobre a Chance de Repetição de Sorteios na Mega-Sena

Um Estudo Sobre a Chance de Repetição de Sorteios na Mega-Sena Um Estudo Sobre a Chance de Repetição de Sorteios na Mega-Sena Rogério César dos Santos 05 de Janeiro de 2014 Resumo Qual é a chance de haver um sorteio repetido na Mega-Sena, em n jogos? Como veremos,

Leia mais

MAT 461 Tópicos de Matemática II Aula 3: Resumo de Probabilidade

MAT 461 Tópicos de Matemática II Aula 3: Resumo de Probabilidade MAT 461 Tópicos de Matemática II Aula 3: Resumo de Probabilidade Edson de Faria Departamento de Matemática IME-USP 19 de Agosto, 2013 Probabilidade: uma Introdução / Aula 3 1 Probabilidade Discreta: Exemplos

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos Complexidade de Algoritmos Envolvendo Estruturas de Dados Elementares Prof. Osvaldo Luiz de Oliveira Estas anotações devem ser complementadas por apontamentos em aula. Vetor

Leia mais

MC102 Algoritmos e Programação de Computadores

MC102 Algoritmos e Programação de Computadores MC102 Algoritmos e Programação de Computadores Instituto de Computação UNICAMP Primeiro Semestre de 2015 Roteiro 1 Fundamentos de análise de algoritmos 2 Cálculo da função de custo 3 Exercícios Instituto

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Contagem I. Figura 1: Abrindo uma Porta.

Contagem I. Figura 1: Abrindo uma Porta. Polos Olímpicos de Treinamento Curso de Combinatória - Nível 2 Prof. Bruno Holanda Aula 4 Contagem I De quantos modos podemos nos vestir? Quantos números menores que 1000 possuem todos os algarismos pares?

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 04: Análise de Algoritmos (Parte 1) Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes

Leia mais

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi Apostila de Fundamentos de Programação I Prof: André Luiz Montevecchi Introdução O mundo atual é dependente da tecnologia O uso intenso de diversos aparatos tecnológicos é parte integrante do nosso dia-a-dia

Leia mais

Métodos Computacionais. Árvores

Métodos Computacionais. Árvores Métodos Computacionais Árvores Árvores Vetores e Listas são ótimos para representar estrutura de dados lineares, mas não para modelar dados hierárquicos Exemplos de dados hierárquicos: sistema de arquivos

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 06: Ponteiros Declarando e utilizando ponteiros Ponteiros e vetores Inicializando ponteiros Ponteiros para Ponteiros Cuidados a serem

Leia mais

Fernando Lobo. Algoritmos e Estrutura de Dados. Outra técnica de concepção de algoritmos, tal como Divisão e Conquista.

Fernando Lobo. Algoritmos e Estrutura de Dados. Outra técnica de concepção de algoritmos, tal como Divisão e Conquista. Programação Dinâmica Fernando Lobo Algoritmos e Estrutura de Dados 1 / 56 Programação Dinâmica Outra técnica de concepção de algoritmos, tal como Divisão e Conquista. O termo Programação Dinâmica é um

Leia mais

BCC242. Alfabeto, Strings, Linguagens. Registro aqui o agradecimento à Profa. Lucília por ceder slides que fazem parte deste material.

BCC242. Alfabeto, Strings, Linguagens. Registro aqui o agradecimento à Profa. Lucília por ceder slides que fazem parte deste material. BCC242 Alfabeto, Strings, Linguagens Registro aqui o agradecimento à Profa. Lucília por ceder slides que fazem parte deste material. Exemplo: Máquina de Venda A máquina de venda retorna uma cocacola por

Leia mais

Faculdade de Computação

Faculdade de Computação UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Disciplina : Teoria da Computação Professora : Sandra Aparecida de Amo Lista de Exercícios n o 2 Exercícios sobre Modelos de Máquinas de Turing

Leia mais

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Objetivos Compreender os conceitos de lógica de programação e de algoritmos. Conhecer

Leia mais

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas? Recorrências Muitas vezes não é possível resolver problemas de contagem diretamente combinando os princípios aditivo e multiplicativo. Para resolver esses problemas recorremos a outros recursos: as recursões

Leia mais

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

20 Caracteres - Tipo char

20 Caracteres - Tipo char 0 Caracteres - Tipo char Ronaldo F. Hashimoto e Carlos H. Morimoto Até agora vimos como o computador pode ser utilizado para processar informação que pode ser quantificada de forma numérica. No entanto,

Leia mais

Sistemas Operacionais e Introdução à Programação. Vetores e matrizes

Sistemas Operacionais e Introdução à Programação. Vetores e matrizes Sistemas Operacionais e Introdução à Programação Vetores e matrizes 1 Matrizes Cada elemento de uma matriz é referenciado indicando-se sua posição dentro da matriz. Na Matemática, matrizes são arranjos

Leia mais

As bactérias operárias

As bactérias operárias A U A UL LA As bactérias operárias Na Aula 47 você viu a importância da insulina no nosso corpo e, na Aula 48, aprendeu como as células de nosso organismo produzem insulina e outras proteínas. As pessoas

Leia mais

Hoje estudaremos a bioquímica dos ácidos nucléicos. Acompanhe!

Hoje estudaremos a bioquímica dos ácidos nucléicos. Acompanhe! Aula: 2 Temática: Ácidos Nucléicos Hoje estudaremos a bioquímica dos ácidos nucléicos. Acompanhe! Introdução: Os ácidos nucléicos são as moléculas com a função de armazenamento e expressão da informação

Leia mais

O que queremos. Processamento Estatístico da Linguagem Natural. Parsing Morfológico. Regras Simples. Adicionando palavras. Regras Derivacionais

O que queremos. Processamento Estatístico da Linguagem Natural. Parsing Morfológico. Regras Simples. Adicionando palavras. Regras Derivacionais Processamento Estatístico da Linguagem Natural Aula 5 Professora Bianca (Sala 302 Bloco E) bianca@ic.uff.br http://www.ic.uff.br/~bianca/peln/ O que queremos Algo que faça automaticamente um mapeamento

Leia mais

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROGRAMA DE EDUCAÇÃO TUTORIAL - MATEMÁTICA PROJETO FUNDAMENTOS DE MATEMÁTICA ELEMENTAR

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROGRAMA DE EDUCAÇÃO TUTORIAL - MATEMÁTICA PROJETO FUNDAMENTOS DE MATEMÁTICA ELEMENTAR UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROGRAMA DE EDUCAÇÃO TUTORIAL - MATEMÁTICA PROJETO FUNDAMENTOS DE MATEMÁTICA ELEMENTAR Assuntos: Matrizes; Matrizes Especiais; Operações com Matrizes; Operações Elementares

Leia mais

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 3.2 O Espaço Nulo de A: Resolvendo Ax = 0 11 O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 Esta seção trata do espaço de soluções para Ax = 0. A matriz A pode ser quadrada ou retangular. Uma solução imediata

Leia mais

Comandos Sequenciais if else, e Switch

Comandos Sequenciais if else, e Switch Introdução à Programação Comandos Sequenciais if else, e Switch 1º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv) O computador pensa? Muitas vezes utiliza-se a

Leia mais

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Cálculo Numérico Aula : Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Computação Numérica - O que é Cálculo Numérico? Cálculo numérico é uma metodologia para resolver problemas matemáticos

Leia mais

Computabilidade 2012/2013. Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

Computabilidade 2012/2013. Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Computabilidade 2012/2013 Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Capítulo 1 Computabilidade 1.1 A noção de computabilidade Um processo de computação

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Estruturas de Dados Pilhas, Filas e Deques

Estruturas de Dados Pilhas, Filas e Deques Estruturas de Dados Pilhas, Filas e Deques Prof. Eduardo Alchieri Estruturas de Dados Pilhas Pilhas Lista LIFO (Last In, First Out) Os elementos são colocados na estrutura (pilha) e retirados em ordem

Leia mais

Disciplina de Projetos e Análise de Algoritmos. Aula 1 - Apresentação aos Algoritmos Computacionais

Disciplina de Projetos e Análise de Algoritmos. Aula 1 - Apresentação aos Algoritmos Computacionais Aula 1 - Apresentação aos Algoritmos Computacionais O que é a Disciplina? Disciplina de Projeto e Análise de Algoritmos Esta é uma disciplina de Algoritmos em nível de Pós-Graduação! Temas a serem abordados:

Leia mais

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Capítulo 6. Autômatos com Pilha 6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Nos exemplos da seção anterior, vimos que os autômatos com pilha existem para

Leia mais

Estruturas de Dados Aula 15: Árvores 17/05/2011

Estruturas de Dados Aula 15: Árvores 17/05/2011 Estruturas de Dados Aula 15: Árvores 17/05/2011 Fontes Bibliográficas Livros: Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 13; Projeto de Algoritmos (Nivio Ziviani): Capítulo

Leia mais

SESSÃO 5: DECLINAÇÃO SOLAR AO LONGO DO ANO

SESSÃO 5: DECLINAÇÃO SOLAR AO LONGO DO ANO SESSÃO 5: DECLINAÇÃO SOLAR AO LONGO DO ANO Respostas breves: 1.1) 9,063 N 1.2) norte, pois é positiva. 1.3) São José (Costa Rica). 2) Não, porque Santa Maria não está localizada sobre ou entre os dois

Leia mais

Cadeias de Markov. Geovany A. Borges gaborges@ene.unb.br

Cadeias de Markov. Geovany A. Borges gaborges@ene.unb.br 36341 - Introdução aos Processos Estocásticos Curso de Pós-Graduação em Engenharia Elétrica Departamento de Engenharia Elétrica Universidade de Brasília Cadeias de Markov Geovany A. Borges gaborges@ene.unb.br

Leia mais

Complexidade de Algoritmos. Edson Prestes

Complexidade de Algoritmos. Edson Prestes Edson Prestes Caminhos de custo mínimo em grafo orientado Este problema consiste em determinar um caminho de custo mínimo a partir de um vértice fonte a cada vértice do grafo. Considere um grafo orientado

Leia mais

Vetores Lidando com grandezas vetoriais

Vetores Lidando com grandezas vetoriais Vetores Lidando com grandezas vetoriais matéria de vetores é de extrema importância para o ensino médio basta levar em consideração que a maioria das matérias de física envolve mecânica (movimento, dinâmica,

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução Prof. Humberto Brandão humberto@dcc.ufmg.br aula disponível no site: http://www.bcc.unifal-mg.edu.br/~humberto/ Universidade Federal de

Leia mais

Função Logarítmica Função Exponencial

Função Logarítmica Função Exponencial ROTEIRO DE ESTUDO MATEMÁTICA 2014 Aluno (a): nº 1ª Série Turma: Data: /10/2014. 3ª Etapa Professor: WELLINGTON SCHÜHLI DE CARVALHO Caro aluno, O objetivo desse roteiro é orientá-lo em relação aos conteúdos

Leia mais

O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são

O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são Atividade extra Fascículo 2 Biologia Unidade 4 Questão 1 O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são chamados de genes. Assinale abaixo quais

Leia mais

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira Algoritmos e Estrutura de Dados Aula 1 Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira Linguagem a ser Utilizada? Nossa disciplina é de Algoritmos e Estrutura de Dados, e não de linguagem

Leia mais

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 1 As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia e não têm a intenção de substituir o livro-texto, nem qualquer outra bibliografia. Introdução O Cálculo Numérico

Leia mais

Árvores AVL. Prof. Othon M. N. Batista Estrutura de Dados

Árvores AVL. Prof. Othon M. N. Batista Estrutura de Dados Árvores AVL Prof. Othon M. N. Batista Estrutura de Dados Roteiro (/2) Árvore Binária de Pesquisa - Pior Tempo ABP Balanceada e Não Balanceada Balanceamento de Árvores Balanceamento de ABP Balanceamento

Leia mais

EAD Árvore árvore binária

EAD Árvore árvore binária EAD Árvore árvore binária - Uma árvore binária é um conjunto finito de elementos (nodos) que pode ser vazio ou particionado em três subconjuntos: - raiz da árvore (elemento inicial, que é único); - subárvore

Leia mais

Árvores e Árvores Binárias

Árvores e Árvores Binárias MAC 5710 - Estruturas de Dados - 2008 Referência bibliográfica Os slides sobre este assunto são parcialmente baseados nas seções sobre árvores do capítulo 4 do livro N. Wirth. Algorithms + Data Structures

Leia mais

Aula 7 Ácidos nucléicos

Aula 7 Ácidos nucléicos Aula 7 Ácidos nucléicos Os ácidos nucléicos DNA (ácido desoxirribonucléico) e o RNA (ácido ribonucléico) são substâncias essenciais para os seres vivos, pois mantêm a informação genética que controla a

Leia mais

Nesta aula serão apresentados alguns comandos de condição, repetição e gráficos.

Nesta aula serão apresentados alguns comandos de condição, repetição e gráficos. 3 COMANDOS CONDICIONAIS E DE LAÇO Nesta aula serão apresentados alguns comandos de condição, repetição e gráficos. 3.1 COMANDOS CONDICIONAIS 3.1.1 Comando IF Como o próprio nome já indica, estes comandos

Leia mais

INE 5111 Gabarito da Lista de Exercícios de Probabilidade INE 5111 LISTA DE EXERCÍCIOS DE PROBABILIDADE

INE 5111 Gabarito da Lista de Exercícios de Probabilidade INE 5111 LISTA DE EXERCÍCIOS DE PROBABILIDADE INE 5 LISTA DE EERCÍCIOS DE PROBABILIDADE INE 5 Gabarito da Lista de Exercícios de Probabilidade ) Em um sistema de transmissão de dados existe uma probabilidade igual a 5 de um dado ser transmitido erroneamente.

Leia mais

Aula 14: Instruções e Seus Tipos

Aula 14: Instruções e Seus Tipos Aula 14: Instruções e Seus Tipos Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Instruções e Seus Tipos FAC 1 / 35 Conceitos Básicos Diego Passos

Leia mais

Árvores Binárias de Busca

Árvores Binárias de Busca Árvores Binárias de Busca Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguinte propriedade: Para todo nó da árvore, se seu valor é X, então: Os nós pertencentes

Leia mais

UM TEOREMA QUE PODE SER USADO NA

UM TEOREMA QUE PODE SER USADO NA UM TEOREMA QUE PODE SER USADO NA PERCOLAÇÃO Hemílio Fernandes Campos Coêlho Andrei Toom PIBIC-UFPE-CNPq A percolação é uma parte importante da teoria da probabilidade moderna que tem atraído muita atenção

Leia mais

4.1 Em cada caso use a definição para calcular f 0 (x). (a) f (x) =x 3,x R (b) f (x) =1/x, x 6= 0 (c) f (x) =1/ x, x > 0.

4.1 Em cada caso use a definição para calcular f 0 (x). (a) f (x) =x 3,x R (b) f (x) =1/x, x 6= 0 (c) f (x) =1/ x, x > 0. 4. Em cada caso use a definição para calcular f 0 (). (a) f () = 3, R (b) f () =/, 6= 0 (c) f () =/, > 0. 4.2 Mostre que a função f () = /3, R, não é diferenciável em =0. 4.3 Considere a função f : R R

Leia mais

Atividade 4 - Acerte no alvo

Atividade 4 - Acerte no alvo Atividade 4 - Acerte no alvo 1. Justificativa Para entender um processo estatístico, é possível criar um experimento em que os alunos possam vivenciá-lo, organizando, selecionando, interpretando e criticando

Leia mais

PLANEJAMENTO DA MANUFATURA

PLANEJAMENTO DA MANUFATURA 58 FUNDIÇÃO e SERVIÇOS NOV. 2012 PLANEJAMENTO DA MANUFATURA Otimizando o planejamento de fundidos em uma linha de montagem de motores (II) O texto dá continuidade à análise do uso da simulação na otimização

Leia mais

Python Funções. Introdução à Programação SI1

Python Funções. Introdução à Programação SI1 Python Funções Introdução à Programação SI1 Conteúdo Funções Conceitos Objetivos Modularização Exemplos Exercícios 2 Funções O que são? Qual a função de uma função? 3 Imagine o código 4 Imagine o código

Leia mais

SHA(SECURE HASH ALGORITHM - ALGORITMO HASH SEGURO) BRUNO KAMINO YAMAMOTO ALEXANDRE FLEURY

SHA(SECURE HASH ALGORITHM - ALGORITMO HASH SEGURO) BRUNO KAMINO YAMAMOTO ALEXANDRE FLEURY SHA(SECURE HASH ALGORITHM - ALGORITMO HASH SEGURO) BRUNO KAMINO YAMAMOTO ALEXANDRE FLEURY TIPOS DO ALGORITMO SHA SHA-0: Uma sigla dada a versão original do algoritmo, porém se tornou obsoleta por causa

Leia mais

OPERADORES E ESTRUTURAS DE CONTROLE

OPERADORES E ESTRUTURAS DE CONTROLE OPERADORES E ESTRUTURAS DE CONTROLE 3.1 Operadores Os operadores indicam o tipo de operação matemática que será executada gerando novos valores a partir de um ou mais operadores. São muito utilizados em

Leia mais

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE MÓDULO 6 INTRODUÇÃO À PROBBILIDDE Quando estudamos algum fenômeno através do método estatístico, na maior parte das vezes é preciso estabelecer uma distinção entre o modelo matemático que construímos para

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 04 Algoritmos Genéticos Introdução Algoritmos genéticos são bons para abordar espaços de buscas muito grandes e navegálos

Leia mais

Analise filogenética baseada em alinhamento de domínios

Analise filogenética baseada em alinhamento de domínios Analise filogenética baseada em alinhamento de domínios Moléculas biológicas e evolução Como já foi comentado anteriormente sabemos que o DNA de qualquer espécie de ser vivo sofre mutações ao longo do

Leia mais

Departamento de Matemática - UEL - 2010. Ulysses Sodré. http://www.mat.uel.br/matessencial/ Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.

Departamento de Matemática - UEL - 2010. Ulysses Sodré. http://www.mat.uel.br/matessencial/ Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010. Matemática Essencial Extremos de funções reais Departamento de Matemática - UEL - 2010 Conteúdo Ulysses Sodré http://www.mat.uel.br/matessencial/ Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.

Leia mais

Faculdade de Computação

Faculdade de Computação UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Disciplina : Teoria da Computação Professora : Sandra de Amo Solução da Lista de Exercícios n o 6 - Problemas Indecidiveis Exercicio 7-5.5 do

Leia mais

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura UFPI CCN DIE Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura O projeto Desenvolver um compilador de um subconjunto básico da linguagem PORTUGOL.

Leia mais

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Seção 5.1 Problemas indecidíveis. Slides originais gentilmente cedidos pela Profa. Ariane Machado Lima

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Seção 5.1 Problemas indecidíveis. Slides originais gentilmente cedidos pela Profa. Ariane Machado Lima ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Seção 5.1 Problemas indecidíveis Slides originais gentilmente cedidos pela Profa. Ariane Machado Lima 1 Na aula passada... A MT é indecidível (usando diagonalização)

Leia mais

Programação em papel quadriculado

Programação em papel quadriculado 4 NOME DA AULA: Programação em papel quadriculado Tempo de aula: 45 60 minutos Tempo de preparação: 10 minutos Objetivo principal: ajudar os alunos a entender como a codificação funciona. RESUMO Ao "programar"

Leia mais

Estruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos

Estruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos Estruturas de Dados Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos Árvores Conceitos Árvores binárias Árvores binárias de pesquisa Árvores binárias balanceadas Árvores ESTRUTURAS

Leia mais

Capítulo SETE Números em Ponto Fixo e Ponto Flutuante

Capítulo SETE Números em Ponto Fixo e Ponto Flutuante Capítulo SETE Números em Ponto Fixo e Ponto Flutuante 7.1 Números em ponto fixo Observação inicial: os termos ponto fixo e ponto flutuante são traduções diretas dos termos ingleses fixed point e floating

Leia mais

Algoritmos de pesquisa. Tabelas de dispersão/hash

Algoritmos de pesquisa. Tabelas de dispersão/hash Algoritmos de pesquisa Tabelas de dispersão/hash Introdução Motivação: Considerar o problema de pesquisar um determinado valor num vetor (array). Se o vetor não está ordenado, a pesquisa requer O(n) de

Leia mais

Data Transformation Services (DTS) por Anderson Ferreira Souza

Data Transformation Services (DTS) por Anderson Ferreira Souza Data Transformation Services (DTS) por Anderson Ferreira Souza O Sql Server possui um recurso extremamente poderoso que é muito pouco utilizado pelos administradores e programadores. Com certeza, sendo

Leia mais

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 1 UNIVERSIDADE FEDERAL DE VIÇOSA Departamento de Matemática - CCE Cálculo Numérico - MAT 271 Prof.: Valéria Mattos da Rosa As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia

Leia mais

Sobre o Professor Dr. Sylvio Barbon Junior

Sobre o Professor Dr. Sylvio Barbon Junior 5COP096 Teoria da Computação Aula 1 Apresentação da Disciplina e Revisão de Conceitos Prof. Dr. Sylvio Barbon Junior 1 Sobre o Professor Dr. Sylvio Barbon Junior 5COP096 Teoria da Computação Formação:

Leia mais

Pointer Jumping. odg(v) e idg(v): graus de saída e entrada do vértice v V. um vértice r tal que. O vértice r é dita raíz de T

Pointer Jumping. odg(v) e idg(v): graus de saída e entrada do vértice v V. um vértice r tal que. O vértice r é dita raíz de T Pointer Jumping T = (V,E) : árvore direcionada odg(v) e idg(v): graus de saída e entrada do vértice v V um vértice r tal que v V-{r}, odg(v) = 1, odg(r)=0 v V-{r}, um caminho de v a r O vértice r é dita

Leia mais

SEMINÁRIO . ORGANIZAÇÃO DO SEMINÁRIO.

SEMINÁRIO . ORGANIZAÇÃO DO SEMINÁRIO. SEMINÁRIO Seminário é um grupo de pessoas que se reúnem com o propósito de estudar um tema sob a direção de um professor ou autoridade na matéria. O nome desta técnica vem da palavra semente, indicando

Leia mais

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo TUTORIAL DO ACCESS PASSO A PASSO I. Criar um Novo Banco de Dados Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo 3. Clicar em Banco de Dados em Branco 4. Escrever um nome na caixa de diálogo

Leia mais

casa. Será uma casa simples, situada em terreno plano, com sala, dois quartos, cozinha, banheiro e área de serviço.

casa. Será uma casa simples, situada em terreno plano, com sala, dois quartos, cozinha, banheiro e área de serviço. A UUL AL A A casa Nesta aula vamos examinar a planta de uma casa. Será uma casa simples, situada em terreno plano, com, dois quartos, cozinha, banheiro e área de serviço. Introdução terreno 20 m rua 30

Leia mais

IFTO LÓGICA DE PROGRAMAÇÃO AULA 02

IFTO LÓGICA DE PROGRAMAÇÃO AULA 02 IFTO LÓGICA DE PROGRAMAÇÃO AULA 02 Prof. Manoel Campos da Silva Filho Tecnólogo em Processamento de Dados / Unitins Mestre em Engenharia Elétrica / UnB http://lab.ifto.edu.br/~mcampos http://manoelcampos.com

Leia mais

Linguagem C: Árvores Binarias

Linguagem C: Árvores Binarias Instituto de C Linguagem C: Árvores Binarias Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Tópicos Principais Introdução Árvores binárias Implementação

Leia mais

1. Introdução ao uso da calculadora

1. Introdução ao uso da calculadora 1. Introdução ao uso da calculadora O uso da calculadora científica no curso de Estatística é fundamental pois será necessário o cálculo de diversas fórmulas com operações que uma calculadora com apenas

Leia mais

1.2) Na tela seguinte, o primeiro item a ser selecionado é o Unidade Acumuladora1.

1.2) Na tela seguinte, o primeiro item a ser selecionado é o Unidade Acumuladora1. MANUAL DA NOVA VERSÃO DE ARQUIVAMENTO DO CPROD Na nova versão de Arquivamento que está sendo implementada no CPROD, antes de realizarmos o Arquivamento do Processo ou Documento em si, temos que criar no

Leia mais

QUADRADO MÁGICO - ORDEM 4

QUADRADO MÁGICO - ORDEM 4 CONCEITO Partindo da definição original, os QUADRADOS MÁGICOS devem satisfazer três condições: a) tabela ou matriz quadrada (número de igual ao número de ); b) domínio: com elementos assumindo valores

Leia mais

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto ALGORITMOS PARTE 01 Fabricio de Sousa Pinto Algoritmos: Definição 2 É uma sequência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Algoritmos 3

Leia mais

Você pode dizer isso de novo! Compressão de Texto

Você pode dizer isso de novo! Compressão de Texto Atividade 3 Você pode dizer isso de novo! Compressão de Texto Sumário Desde que os computadores possuíam apenas uma quantidade limitada de espaço para armazenar informações, estes precisavam armazená-las

Leia mais

Árvores Binárias Balanceadas

Árvores Binárias Balanceadas Árvores Binárias Balanceadas Elisa Maria Pivetta Cantarelli Árvores Balanceadas Uma árvore é dita balanceada quando as suas subárvores à esquerda e à direita possuem a mesma altura. Todos os links vazios

Leia mais

Lista de Exercícios. Vetores

Lista de Exercícios. Vetores Lista de Exercícios Vetores LINGUAGEM DE PROGRAMAÇÃO PROF. EDUARDO SILVESTRI. WWW.EDUARDOSILVESTRI.COM.BR ATUALIZADO EM: 13/03/2007 Página 1/1 1. Faça um programa que crie um vetor de inteiros de 50 posições

Leia mais

ULA Sinais de Controle enviados pela UC

ULA Sinais de Controle enviados pela UC Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento

Leia mais

Estrutura de Dados. Introdução a Ponteiros. Prof. Gerson Borges Estrutura de Dados I 1

Estrutura de Dados. Introdução a Ponteiros. Prof. Gerson Borges Estrutura de Dados I 1 Estrutura de Dados Introdução a Ponteiros Prof. Gerson Borges Estrutura de Dados I 1 Sumário è Explicação da importância do planejamento de ensino; è Métodos e técnicas que iremos trabalhar durante o semestre;

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou

Leia mais

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES ALGORITMOS DE BUSCA EM LISTAS COM ALOCAÇÃO SEQÜENCIAL Busca em Listas Lineares A operação de busca é

Leia mais

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE Prof. Msc. Hélio Esperidião O QUE É UM ALGORITMO? É qualquer procedimento computacional bem definido que informa algum valor ou conjunto de valores como entrada

Leia mais