Técnicas de Projeto de Algoritmos
|
|
- Débora Rosa Arruda
- 6 Há anos
- Visualizações:
Transcrição
1 UNIVERSIDADE NOVE DE JULHO - UNINOVE Pesquisa e Ordenação Técnicas de Projeto de Algoritmos Material disponível para download em: Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC Técnicas de Projeto de Algoritmos Para resolver um determinado problema podemos encontrar e/ou desenvolver vários algoritmos. Cada um com suas características e diferenças considerando alguns aspectos, a saber: Como o problema será resolvido; Quanto tempo ou quanto de memória será necessário; e O resultado alcançado, podendo ser exato, aproximado ou uma probabilidade de acerto. Utilizando conceitos de Estruturas de Dados, técnicas simples de Análise Estruturada ou de Análise Orientada a Objetos juntamente com bom senso e raciocínio lógico, é possível criar algoritmos que resolvem a grande maioria dos problemas. Entretanto, alguns outros problemas requerem a aplicação de Técnicas de Projeto de Algoritmos, que são algoritmos mais elaborados compreendendo métodos de codificação que evidenciam sua complexidade, considerando a forma de se alcançar a solução desejada. Veremos a seguir as seguintes técnicas: Divisão e Conquista, Gulosa e Backtracking Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC
2 Algoritmo de Divisão e Conquista 3 A técnica de desenvolvimento de algoritmos por divisão e conquista reflete a estratégia militar de dividir o território adversário para vencer cada uma das partes facilmente e depois juntar todos para formar uma grande nação. Alguns algoritmos tradicionais de ordenação fazem uso deste método que tem os seguintes passos: a entrada de dado problema é dividida em duas partes menores,; cada parte menor é resolvida recursivamente ou não; e as soluções das partes menores são combinadas gerando a solução do problema original. O método de ordenação Quicksort é um claro exemplo de utilização da divisão e conquista. Vamos relembrar como funciona: Definir um elemento do vetor identificado como pivô. Dividir o vetor em duas partições: na primeira ficam os elementos menores que o pivô e na segunda partição ficam todos os elementos maiores que o pivô. Conquistar ordenando as duas partições recursivamente. Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC Algoritmo Guloso Problemas de Otimização Como uma empresa de mudança deve alocar os móveis em um caminhão baú Como uma companhia telefônica deve rotear chamadas de modo a fazer um melhor uso de suas linhas e conexões Como encontrar o menor caminho entre dois vértices em um grafo Como calcular o troco utilizando o mínimo de moedas possível Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC
3 Algoritmo Guloso A técnica de desenvolvimento de algoritmos conhecida como Algoritmo Guloso é utilizada quando necessitamos encontrar soluções ótimas com base em valores mínimos ou máximos para otimizar problemas, pois além de ser implementada facilmente e executada rapidamente, na maioria das vezes é um algoritmo simples e eficiente. Entretanto o algoritmo guloso, por tomar decisões baseado apenas na informação disponível, pode não atingir o resultado correto, pois nunca reconsidera as decisões tomadas. O algoritmo que calcula o melhor trajeto para se chegar a uma cidade pagando o menor valor de pedágio e o que calcula o troco com a menor quantidade de moedas são um exemplos clássicos desta técnica. Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC Algoritmo Guloso Origem Trajeto guloso Destino Origem Trajeto ótimo Destino Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC
4 Algoritmo Guloso 7 Ao efetuar o trajeto o algoritmo guloso levou em consideração apenas o valor do pedágio e a partir da cidade de origem fez a escolha da menor tarifa entre duas cidades adjacentes, não se importando com outros custos e outras cidades. Esta não foi uma opção ótima, pois ao chegar à cidade de destino, foram gastos R$ 0,00. Trajeto guloso Origem Destino No trajeto a seguir, a solução ótima foi encontrada e o custo final foi de R$,00. Trajeto ótimo Origem Destino Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC Este algoritmo calcula o menor número de moedas a serem utilizadas para um troco de R$ 0., funcionará sem problemas graças ao nosso sistema monetário e sempre será uma solução ótima, resultando em x 0,0, x 0.0 e x 0.0, num total de 3 moedas. Entretanto se moedas[] = {.0, 0.0, 0., 0., 0.0, 0.0} o resultado seria x 0.0, x 0. e x 0.0, num total de moedas, quando a solução ótima indica x 0.0 e 3 x 0,0, num total de moedas. algoritmo troco_guloso função faz_troco ( n ) : real var i : inteiro var x, moedas [ ] : real soma : real var y, troco [ ] : inteiro i = soma = 0 inicio enquanto ( i < =.e. soma < > n ) faça moedas [ ] = {.0, 0.0, 0., 0.0, 0.0, 0.0 } se ( soma + moedas [ i ] ) < = n então troco [ ] = { 0, 0, 0, 0, 0, 0 } troco [ i ] = troco [ i ] + x = faz_troco ( 0. ) soma = soma + moedas [ i ] para ( y de até ) faça senão se troco [ y ] < > 0 então i = i + escreva ( troco [ y ], x, moeda [ y ] fim_se fim_se fim_enquanto fim_para faz_troco = soma fim. fim_função Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC
5 Algoritmo Backtracking 9 A técnica de desenvolvimento de algoritmos por Backtracking utiliza um caminho metódico de tentativas de decisões para encontrar uma que resolva problema proposto, sem considerar o esforço para alcançar a solução. A partir de várias possibilidades de solução, sem informações suficientes para saber qual a ideal, as decisões vão sendo tomadas. Cada decisão abre um leque de novas escolhas, onde alguma ou algumas podem ser a solução esperada para o problema. Esta técnica é recomendada quando não se conhece uma regra fixa de computação para o problema, pois não se sabe o caminho exato a ser seguido para encontrar a solução. O algoritmo que utiliza a técnica do backtracking é recursivo, pois se durante a busca a solução não for encontrada o algoritmo retorna para a alternativa anterior (backtrack) a fim de fazer uma nova tentativa. Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC Algoritmo Backtracking 0 Começo Êxito Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC
6 Algoritmo Backtracking Regiões: A, B, C, D, E, F, G Cores: vermelho, verde, azul Restrições: regiões vizinhas devem ter cores diferentes B C B C A D E A D E F F G G Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC Algoritmo Backtracking Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC
7 Notação e Análise Assintótica de pior e melhor caso 3 Quando precisamos determinar qual o custo de um algoritmo para resolver um problema específico utilizamos a análise de algoritmos para calcular a sua complexidade em função do número de operações efetuadas (complexidade temporal) ou a quantidade de memória necessária (complexidade espacial). A partir da análise das operações, é gerada uma expressão matemática que determinará o tempo consumido pelo algoritmo. A complexidade temporal pode ser obtida por meio de um modelo matemático, que não depende da forma que o algoritmo foi implementado nem de um computador específico, pois o que será analisado será o custo das operações mais significativas, desprezando algumas operações, com base na quantidade dos dados de entrada. Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC Notação e Análise Assintótica de pior e melhor caso Para analisar o custo de um algoritmo a partir de uma expressão, como por exemplo, n + ou n +, normalmente pensamos em valores pequenos para n e isto não afeta o tempo de execução, mesmo sendo um algoritmo ineficiente. Quando analisamos algoritmos para grandes valores de n as funções n + 00n, n, n /000, 3/n, o crescimento custo de tempo de todas é equivalente. Analisar o custo de um algoritmo baseado em n de tamanho grande é chamado de Análise Assintótica. Notação assintótica é a classificação das funções em ordens que determinam as suas equivalências. As três principais ordens são: Ordem Omicron (O), Ordem Omega (Ω) e Ordem Theta (Θ). Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC
8 Notação e Análise Assintótica de pior e melhor caso A ordem O (Omicron, lê-se big-oh, big-o) é a mais comum e mais utilizada, pois analisa o limite superior de entrada, ou seja, o pior caso, testando o processamento máximo utilizado. A Ordem Ômega (Ω) analisa o limite inferior de entrada, ou seja, o melhor caso, testando o processamento mínimo utilizado. A Ordem Theta (Θ), analisa valores médios de entrada, ou seja, o caso médio, utiliza bases estatísticas de dados e requer melhor conhecimento das entradas. Dependendo do conjunto de dados um algoritmo pode rodar mais rápido ou não. Geralmente os algoritmos são medidos pela complexidade de tempo do pior caso, e encontrar um caso médio pode ser muito difícil. Para determinadas áreas de aplicação (controle de tráfego aérea, cirurgias, etc.), a análise da complexidade do pior caso é fundamental. Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC Notação e Análise Assintótica de pior e melhor caso Por meio da observação e comparação das taxas de crescimento do tempo, a análise assintótica estabelece uma ordem relativa entre funções. As principais taxas de crescimento são: Para termos uma noção da ordem de crescimento do custo de tempo dos algoritmos a tabela a seguir apresenta alguns exemplos comparativos. n Nome Função Constante Logarítmica Linear Linear Logarítmica log n n n log n Quadrática n Cúbica n 3 Exponencial n Fatorial n! Alg. Alg. Alg. 3 Alg. Alg. Alg. log n n n log n n n 3 n , , ,7 * , ,07 * 0 30 Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC
9 Notação e Análise Assintótica de pior e melhor caso 7 Como exemplo, considere o número de operações de cada um dos dois algoritmos que resolvem o mesmo problema, como função de n. Algoritmo : f(n) = n + n operações Algoritmo : f(n) = 00n operações Dependendo do valor de n, o Algoritmo pode requerer mais ou menos operações que o Algoritmo. Operações n n + n n Podemos observar que termos inferiores contribuem pouco na comparação e podem ser descartados. Operações n n n Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC Notação e Análise Assintótica de pior e melhor caso Uma unidade de tempo (UT) é medida em milissegundos. Podemos ter uma aproximação do tamanho de problemas que podem ser resolvidos a partir de uma entrada n e uma UT. Veja um exemplo na tabela a seguir, com cinco algoritmos com complexidades distintas. Algoritmo Complexidade de tempo segundo minuto hora A n A n log n A3 n 3,,9.97, A n , 3,3 A n 9 Profa. Vânia Cristina de Souza Pereira 03 _ Material de Apoio Notas de Aula Pesquisa e Ordenação CC
ANÁLISE DE ALGORITMOS: PARTE 3
ANÁLISE DE ALGORITMOS: PARTE 3 Prof. André Backes 2 A notação grande-o é a forma mais conhecida e utilizada de análise Complexidade do nosso algoritmo no pior caso Seja de tempo ou de espaço É o caso mais
Leia maisÁrea que visa determinar a complexidade (custo) de um algoritmo, com isso é possível:
Área que visa determinar a complexidade (custo) de um algoritmo, com isso é possível: Comparar algoritmos: existem algoritmos que resolvem o mesmo tipo de problema. Determinar se o algoritmo é ótimo :
Leia maisAlgoritmos Avançados Análise de Complexidade
CCAE Centro de Ciências Aplicadas e Educação UFPB - Campus IV - Litoral Norte Algoritmos Avançados Análise de Complexidade COMPLEXIDADE DE ALGORITMOS Definição: A Complexidade de um Algoritmo consiste
Leia maisQuantidade de memória necessária
Tempo de processamento Um algoritmo que realiza uma tarefa em 10 horas é melhor que outro que realiza em 10 dias Quantidade de memória necessária Um algoritmo que usa 1MB de memória RAM é melhor que outro
Leia mais03 Análise de Algoritmos (parte 3) SCC201/501 - Introdução à Ciência de Computação II
03 Análise de Algoritmos (parte 3) SCC201/501 - Introdução à Ciência de Computação II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2010/2 Moacir
Leia maisBC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade
BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco 1Q-2016 1 1995 2015 2 Custo de um algoritmo e funções de complexidade Introdução
Leia maisComplexidade de Algoritmos
60 Desempenho 50 40 30 20 Algoritmo1 Algoritmo2 Algoritmo3 10 0 Complexidade de Algoritmos INFORMÁTICA BÁSICA Prof. Demétrios Coutinho C a m p u s P a u d o s F e r r o s D i s c i p l i n a d e A l g
Leia maisAlgoritmo e Introdução a Programação. Prof. Josino Rodrigues
Algoritmo e Introdução a Programação Prof. Josino Rodrigues Um algoritmo é qualquer procedimento computacional bem definido que toma algum valor ou conjunto de valores como entrada e produz algum valor
Leia mais4º 20/10/2003. ÍNDICE
Universidade Federal de Juiz de Fora UFJF. Departamento de Ciência da Computação DCC. Curso de Ciência da Computação. Análise e Projeto de Algoritmos 4º período. Filippe Jabour. Atualizado em 20/10/2003.
Leia maisProgramação II Aula 07
Engenharias de Produção e Petróleo Programação II Aula 07 Adan Lucio P. Rodovia BR 101 Norte, Km. 60, Bairro Litorâneo, CEP 29932-540, São Mateus ES, Tel.: +55 (27) 3312-1511 - CEUNES Métodos de Ordenação
Leia maisComputação I: Representações de Algoritmos
Computação I: Representações de Algoritmos reginaldo.re@utfpr.edu.br * Parte da apresentação foi gentilmente cedida pelo prof. Igor Steinmacher Agenda Objetivos Relembrando... Algoritmos para desenvolver
Leia maisTeoria dos Grafos Aula 6
Teoria dos Grafos Aula 6 Aula passada Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Aula de hoje BFS implementação Complexidade Busca em profundidade (DFS) Conectividade, componentes
Leia maisObjetivo: Desenvolver algoritmos a partir de problemas
Objetivo: Desenvolver algoritmos a partir de problemas Definição de Lógica Definição de Algoritmo Algoritmo x Lógica Diagrama de Blocos e Portugol Portugol: Estrutura da Linguagem Exemplos de Diagramas
Leia maisO mais leve e o mais pesado Algoritmos de Ordenação
Atividade 7 O mais leve e o mais pesado Algoritmos de Ordenação Sumário Os computadores são muitas vezes utilizados para colocar listas em algum tipo de ordem, por exemplo, nomes em ordem alfabética, compromissos
Leia maisTécnicas de Programação III Análise de Algoritmos (Continuação)
Técnicas de Programação III Análise de Algoritmos (Continuação) Aula ministrada em: 23/08/2007 Prof. Mauro L. C. Silva 1/10 Objetivos da Aula Entender a Análise e a Complexidade de Algoritmos 2/10 Avaliação
Leia maisALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)
Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Já vimos entrada, processamento e saída, que compõem os algoritmos puramente
Leia maisBCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 15: Ordenação: ShellSort Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Website: www.decom.ufop.br/reifortes Email: reifortes@iceb.ufop.br
Leia maisESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO
ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO Baseado nos slides de autoria de Rosely Sanches Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples Estrutura
Leia maisALGORITMOS AULA 1. Profª Amanda Gondim
ALGORITMOS AULA 1 Profª Amanda Gondim O que é lógica? NOÇÕES DE LÓGICA A lógica trata da correção do pensamento Ensina-nos a usar corretamente as leis do pensamento É a arte de pensar corretamente A forma
Leia maisTeoria da computabilidade Indecidíveis Decidíveis
Bacharelado em Ciência da Computação Disciplina: Algoritmos e Estruturas de Dados I Professor: Mário Luiz Rodrigues Oliveira Teoria da computabilidade Indecidíveis Decidíveis Teoria da complexidade Intratáveis:
Leia maisPlanificação a médio e longo prazo. Matemática B. 11º Ano de escolaridade. Total de aulas previstas: 193. Ano letivo 2015/2016
Planificação a médio e longo prazo Matemática B 11º Ano de escolaridade. Total de aulas previstas: 193 Ano letivo 2015/2016 Professor responsável: Paulo Sousa I O programa Matemática B do 11º Ano - Página
Leia maisAula 10: Tratabilidade
Teoria da Computação DAINF-UTFPR Aula 10: Tratabilidade Prof. Ricardo Dutra da Silva Na aula anterior discutimos problemas que podem e que não podem ser computados. Nesta aula vamos considerar apenas problemas
Leia maisMC102 - Algoritmos e programação de computadores. Aula 16: Busca e Ordenação em vetores
MC102 - Algoritmos e programação de computadores Aula 16: Busca e Ordenação em vetores Busca Dada uma coleção de n elementos, pretende-se saber se um determinado elemento valor está presente nessa coleção.
Leia maisProgramação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO
Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO Dados em Algoritmos Quando escrevemos nossos programas, trabalhamos com: Dados que nós fornecemos ao programa Dados
Leia maisEste conceito é bastante simples e será útil e conveniente nos itens seguintes, na definição das estruturas básicas de controle de execução.
Capítulo 7 Controle de Fluxo de Execução Até o momento os algoritmos estudados utilizam apenas instruções primitivas de atribuição, e de entrada e saída de dados. Qualquer conjunto de dados fornecido a
Leia maisEstudo heurístico de performance de estratégias de investimento simples baseadas na média móvel e desvio padrão no mercado ForEx
Estudo heurístico de performance de estratégias de investimento simples baseadas na média móvel e desvio padrão no mercado ForEx Lucas Roberto da Silva Centro de Automação, Gestão e Pesquisa em finanças
Leia maisESCOLA SECUNDÁRIA DE LOUSADA
ESCOLA SECUNDÁRIA DE LOUSADA 2012 2013 PLANIFICAÇÃO DA DISCIPLINA DE MATEMÁTICA Curso Profissional de Técnico de Multimédia ELENCO MODULAR A7 Probabilidades 28 A6 Taxa de variação 36 A9 Funções de crescimento
Leia mais3 Aprendizado por reforço
3 Aprendizado por reforço Aprendizado por reforço é um ramo estudado em estatística, psicologia, neurociência e ciência da computação. Atraiu o interesse de pesquisadores ligados a aprendizado de máquina
Leia mais5. Expressões aritméticas
5. Expressões aritméticas 5.1. Conceito de Expressão O conceito de expressão em termos computacionais está intimamente ligado ao conceito de expressão (ou fórmula) matemática, onde um conjunto de variáveis
Leia maisPESQUISA OPERACIONAL. UNIDADE 1 Introdução à Pesquisa Operacional. Prof. Me. Carlos Guimarães
PESQUISA OPERACIONAL UNIDADE 1 Introdução à Pesquisa Operacional Prof. Me. Carlos Guimarães Objetivo Introduzir o tema Pesquisa Operacional por meio da apresentação: Da sua origem; Das sociedades profissionais
Leia maisPESQUISA OPERACIONAL APLICADA A LOGÍSTICA
PESQUISA OPERACIONAL APLICADA A LOGÍSTICA Pós-Graduação em Logística e Supply Chain Valdick Sales 1 APRESENTAÇÃO Valdick sales Graduado em Ciência da Computação pela UFPE. Pós-Graduado em Redes e Banco
Leia maisAlgoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I Prof. Daniel M. Martin (daniel.martin@ufabc.edu.br) Aula 10 (Baseada nos slides do Prof. André Balan) Recursão Recursão Da wikipedia: A recursão é o processo pelo qual
Leia maisLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos Professores autores Nélio Alessandro Azevedo Cacho Keivilany Janielle de Lima Coelho Aula 7 Estruturas de decisão simples SE Na aula 6 (Controle de fluxo de execução:
Leia maisAlgoritmos e Programação. AULA 21: Recursividade UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOLÓGICO CIÊNCIA DA COMPUTAÇÃO
1 Algoritmos e Programação AULA 21: Recursividade UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOLÓGICO CIÊNCIA DA COMPUTAÇÃO 2 Recursividade A recursão é o processo pelo qual passa um
Leia maisMétodo BubbleSort. Estrutura de Dados II Prof Jairo Francisco de Souza
Método BubbleSort Estrutura de Dados II Prof Jairo Francisco de Souza Introdução Ordenar corresponde ao processo de reorganizar um conjunto de objetos em uma ordem ascendente ou descendente Consiste em
Leia maisConceitos Básicos. Professor: Juliano Lucas Gonçalves.
Conceitos Básicos Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br Agenda Revisão Algoritmos Memória, variáveis e constantes Estrutura básica de um algoritmo em pseudocódigo 2 O que já
Leia maisCAPÍTULO 5 ESTRUTURAS DE REPETIÇÃO
CAPÍTULO 5 ESTRUTURAS DE REPETIÇÃO Fabio Augusto Oliveira Guilherme da Cunha Fonseca FEPI Centro Universitário de Itajubá Curso de Engenharia de Produção 1 INTRODUÇÃO Em vários momentos, na programação,
Leia maisP L A N O D E E N S I N O A N O D E ÁREA / DISCIPLINA: CIÊNCIAS DA NATUREZA / MÁTEMÁTICA
P L A N O D E E N S I N O A N O D E 2 0 1 3 ÁREA / DISCIPLINA: CIÊNCIAS DA NATUREZA / MÁTEMÁTICA Professor(a): ALOÍSIO MOISÉS DAUANNY JÚNIOR ANO: Nº DE HORAS/AULA SEMANAL: TOTAL DE HORAS/AULA/ANO: 1º 03
Leia maisI. Correção de Algoritmos Não-Recursivos
I. Correção de Algoritmos Não-Recursivos Nos exercícios a seguir, você deverá demonstrar a correção dos algoritmos por meio dos conceitos vistos nos slides da Aula 03. 1) Prove que o seguinte algoritmo
Leia maisAlgoritmos e Programação
Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Parte 02 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Leia maisINE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/27 4 - INTROD. À ANÁLISE COMBINATÓRIA 4.1) Arranjos
Leia maisESTRUTURAS DE REPETIÇÃO - PARTE 1
AULA 15 ESTRUTURAS DE REPETIÇÃO - PARTE 1 15.1 O comando enquanto-faca- Considere o problema de escrever um algoritmo para ler um número inteiro positivo, n, e escrever todos os números inteiros de 1 a
Leia maisMétodos de Ordenação
Métodos de Ordenação Conceitos básicos sobre ordenação Ordenar corresponde ao processo de rearranjar um conjunto de objetos em uma ordem específica. Objetivo da ordenação: facilitar a recuperação posterior
Leia maisIntrodução aos Métodos Numéricos. Instituto de Computação UFF
Introdução aos Métodos Numéricos Instituto de Computação UFF Conteúdo Erros e Aproximações Numéricas Sistemas de Equações Lineares. Métodos diretos Interpolação Ajuste de Curvas Zeros de Função Sistemas
Leia maisa a = a² Se um número é multiplicado por ele mesmo várias vezes, temos uma a a a = a³ (a elevado a 3 ou a ao cubo) 3 fatores
Operações com potências A UUL AL A Quando um número é multiplicado por ele mesmo, dizemos que ele está elevado ao quadrado, e escrevemos assim: Introdução a a = a² Se um número é multiplicado por ele mesmo
Leia maisII. Funções de uma única variável
II. Funções de uma única variável 1 II.1. Conceitos básicos A otimização de de funções de de uma única variável consiste no no tipo mais elementar de de otimização. Importância: Tipo de problema encontrado
Leia maisProgramação Linear - Parte 3
Matemática Industrial - RC/UFG Programação Linear - Parte 3 Prof. Thiago Alves de Queiroz 1/2016 Thiago Queiroz (IMTec) Parte 3 1/2016 1 / 26 O Método Simplex Encontre o vértice ótimo pesquisando um subconjunto
Leia maisLista de Exercícios Programação Inteira. x 2 0 e inteiros.
Lista de Exercícios Programação Inteira ) Resolva os problemas a seguir usando o método B&B a) Max z = 5 x + 2 y s.a x + y 2 x + y 5 x, y 0, x e y inteiros b) Max z = 2 x + y s.a x + 2y 0 x + y 25 x, y
Leia maisComo modelar o comportamento de um sistema? MAB-515
Como modelar o comportamento de um sistema? MAB-515 Possibilidades de modelagem PARAMETRIZA modelo matemático experimento real AJUDA A COMPREENDER SIMULAÇÃO SOLUÇÃO ANALÍTICA MEDIDAS EXPERIMENTAIS NO MODELO
Leia maisGrafos: algoritmos de busca
busca em grafos como caminhar no grafo de modo a percorrer todos os seus vértices evitando repetições desnecessárias do mesmo vértice? e por onde começar? solução: necessidade de recursos adicionais que
Leia maisAlgoritmos e Programação I
Algoritmos e Programação I Estruturas de Controle e Repetição Prof. Fernando Maia da Mota mota.fernandomaia@gmail.com CPCX/UFMS Fernando Maia da Mota 1 Estruturas de Controle Uma vez que a expressão condicional
Leia maisAgrupamento de Escolas do Fundão
Agrupamento de Escolas do Fundão MATEMÁTICA P GPI 13 12º Ano CURRÍCULO DA DISCIPLINA E Nº DE AULAS PREVISTAS Período PLANIFICAÇÃO ANUAL Módulos a leccionar + Conteúdos Programáticos Módulo A6- Taxa de
Leia maisPROGRAMAÇÃO I. Introdução
PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação
Leia maisAula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR
Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR Conforme discutido na última aula, cada operação lógica possui sua própria tabela verdade. A seguir será apresentado o conjunto básico de portas lógicas
Leia maisProgramação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
Leia maisALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)
Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Até o momento da disciplina vimos comandos de entrada, processamento e saída
Leia maisUniversidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula
Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Tópicos Introdução Problema do casamento de cadeias Algoritmo
Leia maisLógica Aula 3. Definição. Estrutura de decisão
Lógica Aula 3 Estrutura de decisão Definição Principais estrutura Desvio Condicional Simples Composto Encadeado Exercícios Definição Na vida tomamos decisões a todo o momento baseadas em uma situação existente.
Leia maisPesquisa Operacional. Definição. Sumário 2/23/2016
Pesquisa Operacional Prof. Adriano Maranhão Apresentação (Professor) Site: www.resenhadevalor.com.br Graduado em Ciências da Computação UVA/2009 Pós-graduado em Engenharia de Software INTA/2010 DTI/Sobral
Leia maisAlgoritmos I Aula 8 Estrutura de controle: seleção
Algoritmos I Aula 8 Estrutura de controle: seleção Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Operadores Lógicos Os operadores lógicos retornam verdadeiro (V) ou
Leia maisPreenchimento de Polígonos
Preenchimento de Polígonos SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade
Leia maisAGRUPAMENTO DE ESCOLAS ANSELMO DE ANDRADE
AGRUPAMENTO DE ESCOLAS ANSELMO DE ANDRADE DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS - Grupo 500 Planificação Anual /Critérios de avaliação Disciplina: Matemática _ 7º ano 2016/2017 Início Fim
Leia maisTRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar
- Aula 1-1. A CAMADA DE ENLACE DE DADOS (Parte 1) Relembrando as aulas do semestre passado quando estudamos os modelos de referência, lembramos que a Camada de Enlace de Dados é a camada responsável pela
Leia maisRESPOSTA Princípio Fundamental da contagem
RESPOSTA Princípio Fundamental da contagem Monitores: Juliana e Alexandre Exercício 1 Para resolver esse exercício, devemos levar em consideração os algarismos {0, 2, 3, 5, 6, 7, 8 e 9}. Para que esse
Leia maisAlgoritmos 2 - Introdução
DAINF - Departamento de Informática Algoritmos 2 - Introdução Prof. Alex Kutzke (http://alex.kutzke.com.br/courses) 19 de Agosto de 2015 Slides adaptados do material produzido pelo Prof. Rodrigo Minetto
Leia maisCritérios de divisibilidade Para alguns números como o dois, o três, o cinco e outros, existem regras que permitem verificar a divisibilidade sem se
Critérios de divisibilidade Para alguns números como o dois, o três, o cinco e outros, existem regras que permitem verificar a divisibilidade sem se efetuar a divisão. Essas regras são chamadas de critérios
Leia maisCAPÍTULO 3 INSTRUÇÕES BÁSICAS
CAPÍTULO 3 INSTRUÇÕES BÁSICAS Guilherme da Cunha Fonseca FEPI Centro Universitário de Itajubá Curso de Tecnologia em Fabricação Mecânica 1 INTRODUÇÃO As instruções ou comandos básicos são o conjunto de
Leia maisBacharelado em Ciência da Computação Matemática Discreta
Bacharelado em Ciência da Computação Matemática Discreta Prof. Diego Mello da Silva Instituto Federal de Minas Gerais - Campus Formiga 27 de fevereiro de 2013 diego.silva@ifmg.edu.br (IFMG) Matemática
Leia maisLÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À PROGRAMAÇÃO DE COMPUTADORES
LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À PROGRAMAÇÃO DE COMPUTADORES 1. Introdução à Lógica de Programação 1.1. Lógica? Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo.
Leia mais1. Avaliação de impacto de programas sociais: por que, para que e quando fazer? (Cap. 1 do livro) 2. Estatística e Planilhas Eletrônicas 3.
1 1. Avaliação de impacto de programas sociais: por que, para que e quando fazer? (Cap. 1 do livro) 2. Estatística e Planilhas Eletrônicas 3. Modelo de Resultados Potenciais e Aleatorização (Cap. 2 e 3
Leia maisProf. Dr. Marco Antonio Leonel Caetano
Forecasting e Otimização de Carteiras com Matlab Prof. Dr. Marco Antonio Matlab O que é? Como funciona? Fundamentos - Ambiente de programação avançada - Ambiente de execução de programas - Permite utilização
Leia maisTécnicas Básicas de Compressão de Vídeo
Aula 11 Técnicas Básicas de Compressão de Vídeo Diogo Pinheiro Fernandes Pedrosa Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais Curso de Ciência da Computação Introdução
Leia maisMATEMÁTICA PARA CEF PROFESSOR: GUILHERME NEVES
Aula 4 Parte 2 1 Análise de Investimentos... 2 1.1 Conceito... 2 1.2 Valor Presente Líquido (VPL)... 3 1.3 Taxa Interna de Retorno (TIR)... 3 1.4 Payback Descontado... 3 1.5 Exercícios Resolvidos... 4
Leia maisMATEMÁTICA PLANEJAMENTO 2º BIMESTRE º B - 11 Anos
PREFEITURA MUNICIPAL DE IPATINGA ESTADO DE MINAS GERAIS SECRETARIA MUNICIPAL DE EDUCAÇÃO DEPARTAMENTO PEDAGÓGICO/ SEÇÃO DE ENSINO FORMAL Centro de Formação Pedagógica CENFOP MATEMÁTICA PLANEJAMENTO 2º
Leia maisPROGRAMADOR JAVA. Aula 0X31 Semanas - 0b Instrutor : Léo Billi
Aula 0X31 Semanas - 0b110001 Instrutor : Léo Billi Email : leo.billi@gmail.com ALGORITMOS Podemos dizer que algoritmo é uma receita de bolo! Na verdade é uma sequência finita e lógica de instruções de
Leia maisInstituto de Computação Bacharelado em Ciência da Computação Disciplina: Computação Gráfica Primeira lista de exercícios
Instituto de Computação Bacharelado em Ciência da Computação Disciplina: Computação Gráfica Primeira lista de exercícios - 2013.1 Conceitos fundamentais 1) A Computação Gráfica é dividida em diversas sub-áreas.
Leia maisIntrodução à Teoria dos Grafos
Capítulo 1 Introdução à Teoria dos Grafos 1.1 História O primeiro problema cuja solução envolveu conceitos do que viria a ser teoria dos grafos, denominado "problema das pontes de Königsberg", foi resolvido
Leia maisPesquisa Operacional. Evanivaldo Castro Silva Júnior
Evanivaldo Castro Silva Júnior Conteúdo Fundamentos da Pesquisa Operacional. Modelos Lineares. Métodos de solução gráfica e algoritmo simplex. Aplicações de Programação Linear. Análise de Sensibilidade.
Leia mais1 bases numéricas. capítulo
capítulo 1 bases numéricas Os números são representados no sistema decimal, mas os computadores utilizam o sistema binário. Embora empreguem símbolos distintos, os dois sistemas formam números a partir
Leia maisConcurso Público Conteúdo
Concurso Público 2016 Conteúdo 1ª parte Números inteiros e racionais: operações (adição, subtração, multiplicação, divisão, potenciação); expressões numéricas; múltiplos e divisores de números naturais;
Leia maisAjuste de mínimos quadrados
Capítulo 5 Ajuste de mínimos quadrados 5 Ajuste de mínimos quadrados polinomial No capítulo anterior estudamos como encontrar um polinômio de grau m que interpola um conjunto de n pontos {{x i, f i }}
Leia maisFACULDADE CAMPO LIMPO PAULISTA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto a Análise de Algoritmos I Lista de Exercícios 1
FACULDADE CAMPO LIMPO PAULISTA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Projeto a Análise de Algoritmos I Lista de Exercícios 1 Prof. Osvaldo. 1. Descreva alguns problemas associados ao emprego de metodologias
Leia maisCÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano
CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aulas 5 e 6 03/2014 Erros Aritmética no Computador A aritmética executada por uma calculadora ou computador é diferente daquela
Leia maisSistemas de numeração e conversão de bases Decimal e binário
Sistemas de numeração e conversão de bases Decimal e binário Cálculo de conversão de bases para responder às questões pertinentes à execução das especificações nas configurações de sistemas, comunicação
Leia maisPPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009
PPM PROGRAMAÇÃO PARA MANUFATURA CONTEÚDO Lógica de programação Programação para manufatura Sistemas supervisorios 1 LÓGICA DE PROGRAMAÇÃO Abrangência Introduzir os conceitos básicos relacionados à lógica
Leia maisExperimentos e Resultados
6 Experimentos e Resultados Neste capítulo apresentamos os experimentos realizados e os resultados obtidos pelas heurísticas apresentadas. A primeira parte do capítulo aborda os experimentos e resultados
Leia maisModelo de Programação Paralela
Modelo de Programação Paralela As arquiteturas paralelas e distribuídas possuem muitos detalhes Como especificar uma solução paralela pensando em todos esses detalhes? O que queremos? Eecutar a solução
Leia maisArquivos Sequenciais Ordenados Fisicamente
Arquivos Sequenciais Ordenados Fisicamente Estrutura de Dados II Aula 05 UFS - DComp Adaptados a partir do material da Profa. Kenia Kodel Cox Arquivos Sequenciais Podem ser: 1. Desordenados 2. Ordenados,
Leia mais# $ % & ' ( ) * ' ( ) *! " " Orientador +, -
#$ %&'()* '()*!"" Orientador +,- ."%&/0#12 3"/%'0)/))&/ )4506 7" %/0)/))&/ 8906 8)) :"'/0)/))&/ '% '); Um roteador recebe em alguma de suas interfaces um pacote vindo da rede local ou da rede externa.
Leia maisExcel - Funções Estatísticas
Excel - Funções Estatísticas DEPARTAMENTO DE CIÊNCIAS E TECNOLOGIAS DA INFORMAÇÃO 1 Descrição geral: Utilizar funções e fórmulas estatísticas Obtenha informações sobre como utilizar funções e fórmulas
Leia maisAlgoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto
Algoritmo Genético Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Introdução 2. Conceitos Básicos 3. Aplicações 4. Algoritmo 5. Exemplo Introdução São técnicas de busca
Leia maisANÁLISE DE ALGORITMOS (INF 1721)
PUC-Rio Departamento de Informática Prof. Marcus Vinicius S. Poggi de Aragão (3WA) Lorenza Moreno e David Sotelo (3WB) Horário: 2as. e 4as. 15-17hs (3WA), 3as. e 5as. 19-21 (3WB) 5 de abril de 2010 Período:
Leia maisFACULDADE PITÁGORAS PRONATEC
FACULDADE PITÁGORAS PRONATEC DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br Objetivos Ao final desta apostila,
Leia maisMATRIZES DE REFERÊNCIA COMPETÊNCIAS E HABILIDADES QUE SERÃO AVALIADAS: ENSINO FUNDAMENTAL I ANOS INICIAIS
MATRIZES DE REFERÊNCIA COMPETÊNCIAS E HABILIDADES QUE SERÃO AVALIADAS: ENSINO FUNDAMENTAL I ANOS INICIAIS II. Implicações do Suporte, do Gênero e /ou do Enunciador na Compreensão do Texto Estabelecer relação
Leia maisPESQUISA OPERACIONAL I
PESQUISA OPERACIONAL I Professor: Dr. Edwin B. Mitacc Meza edwin.professor@gmail.com www.engenharia-puro.com.br/edwin Objetivos A disciplina busca possibilitar ao Aluno: Fornecer conhecimentos de Pesquisa
Leia maisCADERNO DE EXERCÍCIOS ALGORITMOS
J. EXERCÍCIOS SOBRE MODULARIZAÇÃO 77. Faça uma função que recebe um número inteiro por parâmetro e retorna verdadeiro se ele for par e falso se for ímpar. 78. Escreva um programa que leia o raio de um
Leia maisVERSÃO RESPOSTAS PROVA DE MÉTODOS QUANTITATIVOS
UNIVERSIDADE DE SÃO PAULO FACULDADE DE ECONOMIA, ADMINISTRAÇÃO E CONTABILIDADE DE RIBEIRÃO PRETO PROGRAMA DE PÓS-GRADUAÇÃO EM ADMINISTRAÇÃO DE ORGANIZAÇÕES PROCESSO SELETIVO DOUTORADO - TURMA 20 VERSÃO
Leia mais7. Introdução à Complexidade de Algoritmos
7. Introdução à Complexidade de Algoritmos Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 7. Introdução à Complexidade de Algoritmos Estruturas de Dados 1 / 1 Análise de Algoritmos
Leia maisTEMA 2 PROPRIEDADES DE ORDEM NO CONJUNTO DOS NÚMEROS REAIS
TEMA 2 PROPRIEDADES DE ORDEM NO CONJUNTO DOS NÚMEROS REAIS O conjunto dos números reais,, que possui as seguintes propriedades:, possui uma relação menor ou igual, denotada por O1: Propriedade Reflexiva:
Leia maisLista de exercícios sobre contagem de operações Prof. João B. Oliveira
Lista de exercícios sobre contagem de operações Prof. João B. Oliveira 1. metodo m ( Vetor V ) int i, res = 0; para i de 1 a V.size res = res + V[i]; return res; Soma de elementos de um vetor, O( ). 2.
Leia mais