Monitoria de Matemática Discreta

Slides:



Advertisements
Apresentações semelhantes
CES-10 INTRODUÇÃO À COMPUTAÇÃO
Advertisements

Principio da Casa dos Pombos
Marco Antonio Montebello Júnior
Algoritmo e Programação
Projeto Curso Informática Ronaldo dos Santos EEB Saad Antonio Sarquis.
OS ALGORITMOS DA ADIÇÃO E DA SUBTRAÇÃO
Engenharia de Computação.
Algoritmos e Programação Linguagens de Programação Teoria Aula (09/06)
Programação de Computadores - 3
O USO DA MATEMÁTICA NO COMPUTADOR
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
Automato de Pilha.
Pré-processamento e Pós-processamento dos Dados
UFPE - Centro de Ciências Exatas e da Natureza. Departamento de Informática Algoritmos e Estruturas de Dados - Turma if096B. SOMAS ADERVAL MENDONÇA MARIANO.
Programação para Engenharia I
Transformação de Imagens
Laboratório de Programação de Computadores II 2S/2009.
Laboratório de Programação de Computadores II Aula 1 2S/2009.
Trabalho de matemática
Algoritmos e Programação
Algoritmos Computacionais ( Programas )
Brincando com os números Cristiane Keller.
Aula 5 - Operadores, Expressões e Funções Matemáticas
Informática e Computação Estrutura de Repetição aula 13
Aula 04.
TRABALHO MATEMÁTICA DISCRETA
Linguagem de Programação I Parte III
Matemática Discreta I BCC101
ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL
Monitoria de Matemática Discreta
Campus de Caraguatatuba Licenciatura em Matemática Semestre de 2013
2. Lógica de Programação Definição de Lógica Definição de Algoritmo
Conceitos Básicos Luis Antonio Tavares
Algoritmos e Estruturas de Dados RECURSIVIDADE. O que é recursividade? Recursividade significa algo ser definido em termos de sí próprio. Em termos de.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 07) Prof. Alessandro Bernardo.
Introdução à Linguagem C
FRAÇÕES ADIÇÃO E SUBTRAÇÃO.
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
Algoritmos Comandos de repetição.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 11) Prof. Alessandro Bernardo.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 03) Prof. Alessandro Bernardo.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 06) Prof. Alessandro Bernardo.
FUNDAMENTOS DE COMPUTAÇÃO
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Como analisar um algoritmo
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 09) Prof. Alessandro Bernardo.
Tudo sobre o Processador
INE Fundamentos de Matemática Discreta para a Computação
Programação Lógica Introdução a Automação Definição de Lógica
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Sistemas em Tempo Real Jadsonlee da Silva Sá
Complexidade de Computação Katia Guimarães. Avaliando a Qualidade de um Algoritmo É preciso ter bem definido –O que é dado de entrada e –O que é esperado.
Métodos Numéricos Erros.
Linguagens de Programação MÓDULO 1- Introdução à Programação e Algoritmia Pedro Lopes.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 08) Prof. Alessandro Bernardo.
Algoritmo É uma descrição seqüencial ordenada dos passos que devem ser executados de forma lógica e clara, com a finalidade de facilitar a resolução de.
Trabalho Cálculo Numérico º Trabalho 1) Implementar um programa em linguagem C que converta números binários (inteiros e fracionários) para a.
Tipos de Dados, Variáveis, Expressões Lógicas e Aritméticas
QUESTÕES DO ENADE 2011 Comp. ENADE 2011 Prof. Ronaldo Barbosa –
MATEMÁTICA APLICADA Prof. Sérgio Mélega
ADIÇÃO EM.
Estrutura de Repetição
ALGORITMOS Profº Antonio Carlos Marcelino de Paula 1.
1 – Estudo dos Movimentos Parte I Site:
Conceitos básicos; Sistemas de informação; Partes de um sistema de computação. I.P.D.: Departamento de Ciência da Computação Professora - Rosane.
MATEMÁTICA 8º ANO DE ESCOLARIDADE Escola E. B. 2, 3 de Carregosa Ano Letivo 2012/2013 Professora Ana Paula Bastos.
Prof. Tertuliano Operadores Variáveis em C++.
Técnicas de Análise de Algoritmos Cristiano Arbex Valle Vinicius Fernandes dos Santos
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Big Integer. Introdução  Por que usar?  Computar o valor de 25!  28! é divisível por 8736?  Trabalhar com string.  Não tem limite.
Transcrição da apresentação:

Monitoria de Matemática Discreta 2008-1 Big - O Monitoria de Matemática Discreta 2008-1

Por que estudar big-O??? Conceitos fundamentais: Algoritmo: passos para se executar uma tarefa. Ex: algoritmo de adição, subtração... Programa: uma forma de representação do algoritmo. Ex: Calculadora

O que é importante para um programa rodar??? Será que um super – hiper – mega – power – computador executa um programa no mesmo intervalo de tempo que um micro computador??? Tempo

Tamanho e eficiência do programa Será que o programa 1 executa melhor ou pior que o programa 2? Loop: N é um número inteiro for(int i = 0; i <= N; i = i + 1){ /*aqui tem uma soma*/ } 2. Iteração sem loop’s int x = 1; Int y = 2; y = y + 2; Tamanho e eficiência do programa

Tudo bem, mas...O que isso tem a ver com big – O??? Forma de verificar que programa é melhor Verificando limite de funções Dependente do tamanho do programa Independente de tempo

Como vamos fazer... :s ??? Duas formas: Provas matemáticas Leis matemáticas É melhor...

Leis Matemáticas !!!! Retire todas as constantes (independente de tempo): Ex: f(x): 3x2 + 9 Fica assim: f(x): x2 O(x2)

2.Fica sendo o big-O aquele que possuir maior expoente (pior caso): Ex: g(x) = 3x2 + 70x5 Fica assim: g(x) = x2 + x5 (1ª lei) g(x) = x5 (2ª lei) O(x5 )

3. Se puder reduzir os expoentes, reduza (melhores comparações): Ex: h(x) = 3x2 + 70x5 + 10 x12/x4 Fica assim: h(x) = 3x2 + 70x5 + 10 x8 (3ª lei) h(x) = x2 + x5 + x8 (1ª lei) h(x) = x8 (2ª lei) O(x8)

4. Se puder ampliar os expoentes, amplie: Ex: r(x) = 3x2 + 70x5 + 5(x6 . x4) Fica assim: r(x) = 3x2 + 70x5 + 5(x10) (4ª lei) r(x) = x2 + x5 + x10 (1ª lei) r(x) = (x10) (2ª lei) O(x10)

E que Lei tem prioridade??? As leis por ordem de prioridades: 4ª e 3ª < 1ª < 2ª Obs: a 4ª e 3ª leis estão no mesmo nível.

E quando não for com potencias??? n log n n log n 1 1 <= log n <= n <= n log n <= n2 <= 2n <= n! O resto é derivada deles...

Vamos agora analisar enunciados... Quando for pedido “A melhor estimativa” ... Quando for pedido “O menor inteiro n”…

Exercícios de provas anteriores: Determine o menor inteiro n de forma que f(x) é O(xn) para cada uma das seguintes funções. Justifique: f(x) = (x5 + x2 + 1) / (x4 + 1) f(x) = 5x2 + x3logx + x f(x) = 3xlogx + (x2 + 3)logx

2. Dê a melhor estimativa O grande possível para as seguintes funções: a)(n3 + n2logn)(logn + 1) + (15logn + 30)(n3 + 2) b)(nlogn + 1)2 + (logn + 1)(n2 + 1) ÓTIMA SORTE !!!