Resolução Computacional de Problemas de Contagem:

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

Download "Resolução Computacional de Problemas de Contagem:"

Transcrição

1 Resolução Computacional de Problemas de Contagem: Como o computador pode nos ajudar a resolver problemas de contagem? Lucio S. Fassarella DMA/CEUNES/UFES October 1, 01 Abstract Breve discussão e exemplos de resolução de problemas de contagem na forma de algoritmo. Introdução Eu realmente acredito que os problemas são o coração da Matemática. P.R. Halmos [7]. Aqui discuto a resolução computacional ou algorítmica de problemas de contagem, i.e., na forma de algoritmos que podem ser programados num computador. Como alternativa para resolver problemas de contagem, sua principal vantagem está em nos permitir focalizar o trabalho na compreensão e no desenvolvimento de estratégias para resolver os problemas sem preocupação com a realização de cálculos tediosos, ao preço da necessidade de elaborar um algoritmo e posteriormente programá-lo no computador. Uma classe ampla de problemas de contagem pode ser naturalmente resolvida pela estratégia da função característica, que possui um algoritmo-solução com estrutura genérica bastante simples. Antes de apresentar a estratégia da função característica, vamos ilustrar a ideia geral abordando alguns problemas típicos de contagem mediante outras estratégias. 3 Exemplos Gerais 3.1 Um problema de anagramas Problema: Quantos anagramas possui a palavra estrela? Pelo signi cado de anagrama, interpretamos que o problema pergunta pelo número de sequências distintas que podem ser construidas pela permutação dos termos da sequência (e; s; t; r; e; l; a). Considerando que a palavra possui sete letras, segue que cada permutação p de f1; ; 3; ; 5; ; 7g de ne um anagrama A (p) de estrela através da correspondência e s t r e l a l l l l l l l posição posição posição posição posição p () p (3) p () p (5) p () posição p (1) posição p (7) : Por exemplo, se p é a permutação p (1) = ; p () = 3; p (3) = ; p () = 5; p (5) = ; p () = 7; p (7) = 1; então A (p) = aestrel. 1

2 Deve estar claro que a correspondência entre as permutações de f1; ; 3; ; 5; ; 7g e os anagramas de estrela é uma função sobrejetiva mas não é injetiva, pelo fato da primeira e quinta letras da palavra serem iguais a e. Mais precisamente, denote por a permutação que troca os números 1 e 5 de posição, mantendo os demais números invariantes, (1) = 5; () = ; (3) = 3; () = ; (5) = 1; () = ; (7) = 7; então, duas permutações p e q de f1; ; 3; ; 5; ; 7g produzem o mesmo anagrama de estrela se, e somente se, uma é igual a outra composta com : Por exemplo, a permutação q dada por A (q) = A (p) () q = p: q (1) = ; q () = 3; q (3) = ; q () = 5; q (5) = ; q () = 7; q (7) = 1; cumpre q = p (p dada acima) e de ne o mesmo anagrama que p, como se pode veri car. A ideia fundamental do nosso algoritmo para resolver o problema está em comparar as permutações de f1; ; 3; ; 5; ; 7g entre si, contando uma, e somente uma, para cada anagrama distinto da palavra estrela. Para tanto, vamos assumir que conhecemos uma enumeração do conjunto das permutações de f1; ; 3; ; 5; ; 7g, digamos U = fp 1 ; :::; p n! g: começando com p 1 contamos uma permutação; se p é diferente de p 1, então contamos mais uma permutação, senão continuamos com o número anterior; se p 3 é diferente tanto de p 1 quanto de p, então contamos mais uma permutação, senão continuamos com o número anterior; e assim por diante... Formalizamos o algoritmo do seguinte modo: Algoritmo Entrada: U = fp 1 ; :::; p n! g ; n 1 R = 1; De k = até k = n! faça: c = 1; De j = 1 até j = k 1 faça: [Se p k = p j então c = c senão c = 0; Retorne c; R = R + c; Retorne R; Saída: R Para testar o algoritmo, podemos executá-lo e comparar os resultados com aqueles obtidos por enumeração explícita, nos casos de pequenos valores de n: N () = 1, N (3) =, N () = Uma problema com solução na forma de recorrência Consideramos como caso especial de resolução computacional as soluções de problemas de contagem dadas na forma de fórmulas de recorrência, porque elas possuem a forma de algoritmos. Problema: Dados números reais x 1 ; :::; x n (n ), determine o número a (n) de modos de dispor parênteses para indicar a ordem em que deve ser feita a adição x 1 + :::: + x n. Exemplos: n a (n) modos de dispor os parênteses 1 (x 1 + x ) ; 3 ((x 1 + x ) + x 3 ) ; (x 1 + (x + x 3 )) ; 5 (((x 1 + x ) + x 3 ) + x ) ; ((x 1 + (x + x 3 )) + x ) ; (x 1 + ((x + x 3 ) + x )) ; (x 1 + (x + (x 3 + x ))) ; ((x 1 + x ) + (x 3 + x )) :

3 Uma alternativa para resolver o problema é agrupar a soma dos n números em duas partes: a primeira envolvendo as primeiras r parcelas e a segunda envolvendo as n r parcelas seguintes, com r variando de 1 a n 1. Para cada r xado entre 1 e n 1, os números de modos de dispor os parênteses na primeira e na segunda partes são independentes, implicando que o total é dado pelo produto de a (r) a (n r). Os agrupamentos determinam uma partição do conjunto dos modos de dispor os parênteses; portanto, o número total desses modos é a soma dos números de modos de correspondentes a cada agrupamento: Algoritmo Entrada: n a (1) = 1; De h k = até k = n faça: a (k) = P k 1 r=1 a (r) a (r 1) ; Retorne a (n) ; Saída: a (n) nx 1 a (n) = a (r) a (n r) : r=1 Para testar o algoritmo, podemos executá-lo e comparar os resultados com aqueles obtidos por enumeração explícita, nos casos de pequenos valores de n: a () = 1, a (3) =, a () = 5. Estratégia da Função Característica Aqui apresento a estratégia da função característica, um modo simples e direto para resolver problemas de contagem na forma de algoritmo. Ela pode ser aplicada de modo imediato quando a solução do problema é dada pelo número de elementos de um conjunto E caracterizado como subconjunto de um conjunto nito e conhecido U por um número nito de propriedades em U, de nidas matematicamente como funções de U em f0; 1g; nesse caso, chamamos U de conjunto universo e E de conjunto objetivo e a função característica de E é de nida por 1; u E; : U! f0; 1g ; (u) = 0; u = E: Observação 1 Informalmente, uma propriedade num conjunto U é uma qualidade que pode ser testada nos elementos de U. Formalmente, dizemos que uma propriedade P em U é uma função (qualquer) P : U! V, de modo que P (u) = v signi ca u possui valor v para a propriedade P. 1 Nesse caso, dizer que E é o subconjunto de U caracterizado pelos valores v 1 ; :::; v m das propriedades P k, respectivamente signi ca que u E se, e somente se, u U e P k (u) = v k para todo k f1; :::; mg, ou seja E = fu U = P k (u) = v k ; 8k = 1; :::; mg : Nesse caso, a função característica de E é dada por 1; Pk (u) = v : U! f0; 1g ; (u) = k ; 8k = 1; :::; m; 0; no caso contrário. Por exemplo, se U é o conjunto dos números inteiros positivos menores do que 015, o conjunto E dos números inteiros positivos menores do que 015 que são primos ímpares é o subconjunto de U constituido 1 Dizemos que P é uma propriedade binária em U quando seu contra domínio é um conjunto com apenas dois elementos, ff; V g. Nesse caso, podemos convencionar que P (u) = V signi ca u U possui a propriedade P ou P (u) é verdadeira, enquanto P (u) = F signi ca u U não possui a propriedade P ou P (u) é falsa. Naturalmente, toda propriedade cujo contra-domínio é nito pode ser decomposta como conjunção de propriedades binárias. 3

4 por aqueles elementos que possuem as propriedades P 1 de ser primo e P de ser ímpar, simultaneamente: U = f1; ; :::; 015g ; 1; se u é primo, P 1 : U! f0; 1g ; P 1 (u) = 0; se u não é primo, 1; se u é ímpar, P : U! f0; 1g ; P (u) = : 0; se u par, E = fu U = P 1 (u) = 1; P (u) = 1g : Suponha que num problema de contagem deduzimos que sua resposta é igual ao número de elementos de um subconjunto E de um conjunto U tais que i) U é um conjunto nito com enumeração conhecida, digamos U = fu 1 ; :::; u n g; ii) E é um subconjunto de U caracterizado por um conjunto nito de propriedades, digamos P 1 ; :::; P m. Então, para obter a solução do problema basta contar o número de elementos de E, tarefa que podemos descrever forma de um algoritmo usando função característica de E. Então, as condições bastam para que possamos resolver o problema de contagem e aplicar a estratégia da função característica: Estratégia da Função Característica Com base na interpretação do problema de contagem, i) de na e enumere o conjunto universo U, identi cando o conjunto objetivo E; ii) de na as propriedades e os valores que juntas caracterizam E; iii) escreva o Algoritmo de Contagem Entrada: U = fu 1 ; :::; u w g ; (* conjunto universo *) P k : U! V k ; k = 1; :::; m; (* propriedades características de E *) : U! f0; 1g ; se P k (u) = v k ; 8k = 1; :::; m, então (x) = 1, senão (x) = 0; R = 0; (* inicialização da contagem *) De j = 1 até j = w faça: [Se (u j ) = 1 então R = R + 1, senão R = R; Retorne R; Saída: R: iv) programe o Algoritmo de Contagem no computador; v) execute o algoritmo. Observação No algoritmo, destacamos que (u) = 1 se, e somente se, o seguinte algoritmo retorna 1: c = 1; De j = 1 até j = m faça: [Se P j (u) = 1 então c = c senão c = 0; Retorne c. Naturalmente, o Algoritmo de Contagem e sua programação no computador devem ser validados para garantir que o resultado da execução do programa seja realmente a resposta do problema; se não for possível demonstrar que a programação do algoritmo está correta, pode ser su ciente aplicar alguns testes ao programa para nos convencer de sua correção []. Aqui, a notação (*... *) indica um comentário.

5 .1 Problemas & Soluções.1.1 O problema das permutações caóticas Problema: Dado n N, qual é o número de permutações do conjunto de números naturais f1; :::; ng nas quais todos os números mudam de posição? Este problema pode ser naturalmente resolvido pela estratégia da função característica. O conjunto universo é o conjunto das permutações de f1; :::; ng, o conjunto objetivo é constituido pelas permutações de f1; :::; ng que não possuem ponto xo e a função característica pode ser de nida por 1; se p (j) = j 8j f1; :::; ng ; (p) = 0; caso contrário. O algoritmo de contagem: Entrada: U = fp 1 ; :::; p n! g : U! f0; 1g ; se p (j) = j 8j f1; :::; ng então (x) = 1, senão (x) = 0; R = 0; De k = 1 até k = n faça: [Se (p k ) = 1 então R = R + 1, senão R = R Retorne R; Saída: R: Para testar um programa do algoritmo, podemos comparar seus resultados com aqueles obtidos por enumeração explícita das permutações caóticas, nos casos de pequenos valores de n: R (1) = 0, R () = 1, R (3) =, R () = 9. No Apêndice A.3 apresentamos um código de programação no Mathemática veri cado por esse teste.. Um problema com ladrilhos Problema: Dado n N, determine o número de maneiras de dispor ladrilhos dos tipos 1 1 e 1 numa faixa de comprimento 1 n. Vamos aplicar a estratégia da função característica. 3 O conjunto universo é o conjunto das sequências de ladrilhos dos tipos 1 1 e 1 com número de termos variando de dn=e a n, o conjunto objetivo é constituido pelas sequências cujo comprimento é igual a n e a função característica é dada por ((a 1 ; :::; a k )) = 1; se a1 + ::: + a k = n; 0; caso contrário; k = dn=e ; :::; n: O número variável de termos da sequência di culta a programação, por isso particionamos o conjunto universo e o subconjunto objetivo em subconjuntos nos quais as sequências possuem número xo de termos: para k variando de dn=e a n, U k é o conjunto das sequências de k ladrilhos dos tipos 1 1 e 1, E k é o subconjunto das sequências de U k cujo comprimento é igual a n e a correspondente função característica é dada por 1; se a1 + ::: + a k ((a 1 ; :::; a k )) = k = n; 0; caso contrário. O algoritmo de contagem: 3 Para uma resolução usando recorrência, vide []. Para x R, a notação dxe indica o menor inteiro maior ou igual a x. 5

6 Entrada: n; De k = 1 até k = n faça: U k = fs 1 ; :::; s kg ( lista das sequências com k termos iguais a 1 ou *); De k = 1 até k = n faça: R = 0; k : U k! f0; 1g ; se P k i=1 s (i) = 1 então k (s) = 1 senão k (s) = 0; De k = 1 até k = n faça: De j = 1 até j = k faça: [Se k (s j ) = 1 então R = R + 1, senão R = R; Retorne R; Retorne R; Saída: R Uma das di culdades para programar este algoritmo é a criação do conjunto universo e sua enumeração. Isso pode ser realizado considerando que o número de sequências com k termos iguais a 1 ou é igual a quantidade de números que se escrevem na base com k dígitos! Utilizamos essa ideia para programar o algoritmo no Mathematica, conforme Apêndice A.. 5 Conclusão De nimos e apresentamos exemplos de resoluções computacionais de problemas de contagem. Defendemos também a tese de que o método pode repercutir positivamente no ensino do tema tanto no nível da Educação Básica quanto no nível do Ensino Superior. Naturalmente, são necessárias pesquisas de campo para compreendermos como o método deve ser ensinado para garantirmos um melhor aproveitamento, bem como para comprovar nossas espectativas. Esperamos que este artigo motive trabalhos nessa direção. A resolução computacional não elimina a necessidade de compreendemos e de criarmos estratégias de resolução para os problemas de contagem, embora nos permita contornar a necessidade de usar o Princípio Multiplicativo. Na estratégia da função característica, a interpretação do problema e sua resolução se resumem a escolher o conjunto universo e de nir a função característica, o que signi ca deduzir as expressões matemáticas das propriedades que caracterizam o conjunto objetivo. Essa estratégia funciona como uma estrutura que organiza e orienta o pensamento, reduzindo a sensação comum de não sabermos o que fazer, mas não se aplica naturalmente a todos os problema (e.g., o problema de contar anagramas da seção 3.1). Aqui, não discutimos a questão dos recursos computacionais requeridos para o computador executar o Algoritmo de Contagem programado em tempo hábil. Na prática esse ponto é importante porque muitos problemas de contagem que podem ser teoricamente resolvidos pela estratégia da função característica requerem um volume tão grande de memória ou uma quantidade tão grande cálculos que não pode ser executado pelos computadores atuais em tempo hábil. No ensino de Combinatória, a proposta constitui aplicação profícua do computador, além de ser uma alternativa notável às práticas do ensino tradicional vigentes [1, p.5]; como bônus, ela oferece uma ilustração adequada do que é computação cientí ca, um elemento importante da ciência e tecnologia atuais com potencial de despertar o interesse de muitos estudantes. A proposta pode reduzir signi cativamente as di culdades de aprendizagem constatadas na Educação Básica e no Ensino Superior [], compensando o trabalho e o tempo dispendidos para discutir e praticar o método. En m, esse tipo de abordagem para o ensino de Matemática é uma tendência em desenvolvimento [] [3] e que não pode ser ignorada: Graças à abundância de computadores de baixo custo, agora temos a oportunidade de melhorar o ensino de matemática em uma frente vastamente mais ampla e interessante, que irá melhorar a importância da matemática aprendida pelos alunos. Por exemplo, com a ajuda do método de Monte Carlo, e programas como o Mathematica, a Probabilidade pode assumir um lugar proeminente na Matemática Escolar. [Nesse caso,] eliminamos a opressora di culdade com os

7 cálculos combinatórios. [Além disso,] medidas importantes relacionadas com a distribuição normal (de Gauss) e outras distribuições exponenciais [também] podem ser abordadas pelo método de Monte Carlo, tornando essa parte da matemática não mais complicada do que [mera] contagem. J.J. Uhl, D. Woods [8]. References [1] M. de C. Borba, M.G. Penteado: Informática e Educação Matemática. Belo Horizonte: Autêntica Editora, 01. [] F. Le Calvez, H. Giroire, G. Tisseau: Design of a Learning Environment in Combinatorics based on Problem Solving: Modeling Activities, Problems and Errors. International Journal of Arti cial Intelligence in Education Vol.18, No.1 (008): [3] F. Le Calvez, H. Giroire: Solving Combinatorics Problems: from the Design of a Solving Method to a Training System. In: L. Gómez Chova, D. Martí Belenguer, I. Candel Torres (eds): International Conference of Education, Research and Innovation ICERI, 008, IATED. [] Maurício Fabbri: Brincando com Ladrilhos. Revista do Professor de Matemática, no.8, pp.11-17, 01. [5] A. C. de O. Morgado, et.al.: Análise Combinatória e Probabilidade. Rio de Janeiro: SBM, 005. [] L. S. Fassarella (009): A resposta é plausível? Comentários baseados em um cálculo de probabilidades. Revista do Professor de Matemática no.70: p.1-5. [7] P. R. Halmos: The Heart of Mathematics. The American Mathematical Monthly, Vol. 87, No. 7 (1980): pp [8] J.J. Uhl, D. Woods: The crisis we face and how to try to deal with it. In: S. Li, D. Wang, J.-Z. Zhang: Symbolic Computation and Education. World Scienti c, 007: pp

8 A Códigos Para designar comentários no programa são usados parênteses e asteriscos: (*...*). A.1 Um problema de anagramas... A. Uma problema com solução na forma de recorrência (* Programa para cálculo do número de modos de dispor parênteses na soma x 1 + ::: + x n *) n= A=Table[1,{i,1,n}] For[k=, k n, k++, A[[k]] = P k 1 i=1 A[[i]]*A[[k-i]] ] Print[ A[[n]] ] A.3 O problema das permutações caóticas (* Programa para cálculo do número de permutações caóticas de {1,...,n} *) n = U = Permute[Table[k, {k, 1, n}], SymmetricGroup[n]]; ny [J_ ] = (If[ J[[i]] = i, 1, 0]); i=1 Nc = 0; For[k = 1, k <= n!, k++, If[[U[[k]]] == 1, Nc = Nc + 1, Nc = Nc]] Print[ Nc ] A. Um problema com ladrilhos... 8

Resolução Computacional de Problemas de Probabilidade

Resolução Computacional de Problemas de Probabilidade Trabalho apresentado no III CMAC - SE, Vitória-ES, 2015. Proceeding Series of the Brazilian Society of Computational and Applied Mathematics Resolução Computacional de Problemas de Probabilidade Lúcio

Leia mais

Resolução Computacional de Problemas Matemáticos

Resolução Computacional de Problemas Matemáticos Resolução Computacional de Problemas Matemáticos Semana da Matemática 2016 CEUNES/UFES Novembro de 2016 Lúcio S. Fassarella (DMA & PPGEEB/UFES) & Géssica Martins (PPGEEB/UFES) 0 Preâmbulo Este minicurso

Leia mais

Problema de Combinatória. Prof. Lúcio Fassarella

Problema de Combinatória. Prof. Lúcio Fassarella Problema de Combinatória Prof. Lúcio Fassarella DM A /CEUNES/UFES Problema: Alguém escreve n cartas para destinatários diferentes e escreve os respectivos endereços em n envelopes. Quantas maneiras diferentes

Leia mais

Resolução Computacional de Problemas de Probabilidade

Resolução Computacional de Problemas de Probabilidade Resolução Computacional de Problemas de Probabilidade Lúcio Fassarella Universidade Federal do Espírito Santo lucio.fassarella@ufes.br 26 de maio de 2015 Lúcio Fassarella (UFES) Probabilidade 26 de maio

Leia mais

Problemas de Contagem Problemas de contagem elementares

Problemas de Contagem Problemas de contagem elementares Problemas de Contagem Problemas de contagem elementares Lúcio. Fassarella MA/CEUNE/UFE Outubro de 2014 escrição: Aqui apresentamos alguns problemas de contagem e algoritmos-solução. 2 Um problema com anagramas

Leia mais

Análise de Algoritmos Estrutura de Dados II

Análise de Algoritmos Estrutura de Dados II Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Análise de Algoritmos Estrutura de Dados II COM10078 - Estrutura de Dados II Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br

Leia mais

Otimização Combinatória - Parte 4

Otimização Combinatória - Parte 4 Graduação em Matemática Industrial Otimização Combinatória - Parte 4 Prof. Thiago Alves de Queiroz Departamento de Matemática - CAC/UFG 2/2014 Thiago Queiroz (DM) Parte 4 2/2014 1 / 33 Complexidade Computacional

Leia mais

Notas sobre primitivas

Notas sobre primitivas Matemática - 8/9 - Notas sobre primitivas 57 Notas sobre primitivas Seja f uma função real de variável real de nida num intervalo real I: Chama-se primitiva de f no intervalo I a uma função F cuja derivada

Leia mais

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini Apresentação do Professor Professor: José Carlos Perini E-mail: jose.perini@metrocamp.edu.br Blog: http://profperini.com Formação

Leia mais

Oficina de Python Prof. Me. José Carlos Perini

Oficina de Python Prof. Me. José Carlos Perini Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação

Leia mais

Algoritmo. Exemplo. Definição. Programação de Computadores Comparando Algoritmos. Alan de Freitas

Algoritmo. Exemplo. Definição. Programação de Computadores Comparando Algoritmos. Alan de Freitas Algoritmos Programação de Computadores Comparando Algoritmos Um algoritmo é um procedimento de passos para cálculos. Este procedimento é composto de instruções que definem uma função Até o momento, vimos

Leia mais

Universidade Federal do Espírito Santo Prova de Álgebra II Prof. Lúcio Fassarella DMA/CEUNES/UFES Data: 07/05/2015

Universidade Federal do Espírito Santo Prova de Álgebra II Prof. Lúcio Fassarella DMA/CEUNES/UFES Data: 07/05/2015 Universidade Federal do Espírito Santo Prova de Álgebra II Prof. Lúcio Fassarella DMA/CEUNES/UFES Data: 07/05/2015 Aluno: Matrícula. Nota: : :.Observações: I A prova tem duração de 100 min; não é permitido

Leia mais

Sumário. 2 Índice Remissivo 9

Sumário. 2 Índice Remissivo 9 i Sumário 1 Teoria dos Conjuntos e Contagem 1 1.1 Teoria dos Conjuntos.................................. 1 1.1.1 Comparação entre conjuntos.......................... 2 1.1.2 União de conjuntos...............................

Leia mais

Espaços vectoriais reais

Espaços vectoriais reais ALGA - 00/0 - Espaços Vectoriais 49 Introdução Espaços vectoriais reais O que é que têm em comum o conjunto dos pares ordenados de números reais, o conjunto dos vectores livres no espaço, o conjunto das

Leia mais

Oficina de Python Prof. Me. José Carlos Perini

Oficina de Python Prof. Me. José Carlos Perini Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação

Leia mais

Números Naturais. MA12 - Unidade 1. Os Axiomas de Peano. O Axioma da Indução. Exemplo: uma demonstração por indução

Números Naturais. MA12 - Unidade 1. Os Axiomas de Peano. O Axioma da Indução. Exemplo: uma demonstração por indução Os Números Naturais MA1 - Unidade 1 Números Naturais Paulo Cezar Pinto Carvalho PROFMAT - SBM January 7, 014 Números Naturais: modelo abstrato para contagem. N = {1,,3,...} Uma descrição precisa e concisa

Leia mais

Referências e materiais complementares desse tópico

Referências e materiais complementares desse tópico Notas de aula: Análise de Algoritmos Centro de Matemática, Computação e Cognição Universidade Federal do ABC Profa. Carla Negri Lintzmayer Conceitos matemáticos e técnicas de prova (Última atualização:

Leia mais

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS 1/18 ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS Algoritmos 2/18 Algoritmos Algoritmo - sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador)

Leia mais

MA14 - Aritmética Unidade 22 Resumo. Aritmética das Classes Residuais

MA14 - Aritmética Unidade 22 Resumo. Aritmética das Classes Residuais MA14 - Aritmética Unidade 22 Resumo Aritmética das Classes Residuais Abramo Hefez PROFMAT - SBM Aviso Este material é apenas um resumo de parte do conteúdo da disciplina e o seu estudo não garante o domínio

Leia mais

Desenho e Análise de Algoritmos CC /2018. Folha 1 - Revisão: Escrita de algoritmos em pseudo-código e verificação de correção

Desenho e Análise de Algoritmos CC /2018. Folha 1 - Revisão: Escrita de algoritmos em pseudo-código e verificação de correção Departamento de Ciência de Computadores FCUP Desenho e Análise de Algoritmos CC2001 2017/2018 Folha 1 - Revisão: Escrita de algoritmos em pseudo-código e verificação de correção Descrição da linguagem

Leia mais

ANÁLISE DE ALGORITMOS: PARTE 1. Prof. André Backes. Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa

ANÁLISE DE ALGORITMOS: PARTE 1. Prof. André Backes. Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa ANÁLISE DE ALGORITMOS: PARTE 1 Prof. André Backes Algoritmos 2 Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa Precisamos escrever o seu algoritmo Um algoritmo

Leia mais

1) Seja o conjunto A = (0;1). Quantas relações binárias distintas podem ser definidas sobre o conjunto A?

1) Seja o conjunto A = (0;1). Quantas relações binárias distintas podem ser definidas sobre o conjunto A? RESUMO A relação binária é uma relação entre dois elementos, sendo um conjunto de pares ordenados. As relações binárias são comuns em muitas áreas da matemática. Um par ordenado consiste de dois termos,

Leia mais

RESOLUÇÃO DCC-UFRJ MATEMÁTICA COMBINATÓRIA 2006/2 PROVA Considere a soma. S n = n 2 n 1

RESOLUÇÃO DCC-UFRJ MATEMÁTICA COMBINATÓRIA 2006/2 PROVA Considere a soma. S n = n 2 n 1 DCC-UFRJ MATEMÁTICA COMBINATÓRIA 2006/2 PROVA 1 1. Considere a soma S n = 1 2 0 + 2 2 1 + 3 2 2 + + n 2 n 1. Mostre, por indução finita, que S n = (n 1)2 n + 1. Indique claramente a base da indução, a

Leia mais

Probabilidade combinatória

Probabilidade combinatória Capítulo 5 Probabilidade combinatória 51 Eventos e probabilidades A teoria da probabilidade é uma das áreas mais importantes da matemática do ponto de vista de aplicações Neste livro, não tentamos introduzir

Leia mais

ALGA - Eng.Civil e Eng.Topográ ca-ise-2011/2012- Determinantes 32. Determinantes

ALGA - Eng.Civil e Eng.Topográ ca-ise-2011/2012- Determinantes 32. Determinantes ALGA - Eng.Civil e Eng.Topográ ca-ise-0/0- Determinantes Permutações Determinantes Seja n N. Uma permutação p (p ; p ; : : : ; p n ) dos elementos do conjunto f; ; ; ng é um arranjo dos n números em alguma

Leia mais

Análise e Projeto de Algoritmos

Análise e Projeto de Algoritmos Análise e Projeto de Algoritmos Mestrado em Ciência da Computação Prof. Dr. Aparecido Nilceu Marana Faculdade de Ciências I think the design of efficient algorithms is somehow the core of computer science.

Leia mais

Um Estudo Sobre a Enuberabilidade do Conjunto Q dos Números Racionais

Um Estudo Sobre a Enuberabilidade do Conjunto Q dos Números Racionais UNIVERSIDADE FEDERAL DE RONDÔNIA CENTRO DE CIÊNCIAS EXATAS E DA TERRA DEPARTAMENTO DE MATEMÁTICA Relatório de Pesquisa Um Estudo Sobre a Enuberabilidade do Conjunto Q dos Números Racionais Laís Ribeiro

Leia mais

Aula 11: Laços e exercícios

Aula 11: Laços e exercícios Aula 11: Laços e exercícios Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Manipulação de laços Exercício 2 /

Leia mais

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Classes de Comportamento Assintótico Se f é uma função de complexidade para um algoritmo F, então

Leia mais

Introdução a programação Comandos de repetição

Introdução a programação Comandos de repetição Instituto Federal de Minas Gerais Campus Ponte Nova Introdução a programação Comandos de repetição Professor: Saulo Henrique Cabral Silva Laços de repetição 2 Vamos começar com um exercício Imprimir os

Leia mais

Matemática II /06 - Determinantes 25. Determinantes

Matemática II /06 - Determinantes 25. Determinantes Matemática II - 00/0 - Determinantes Permutações Determinantes Seja n N. Uma permutação p (p ; p ; : : : ; p n ) do conjunto f; ; ; ng é um arranjo dos n números em alguma ordem, sem repetições ou omissões.

Leia mais

PROBABILIDADE. Prof. Patricia Caldana

PROBABILIDADE. Prof. Patricia Caldana PROBABILIDADE Prof. Patricia Caldana Estudamos probabilidade com a intenção de prevermos as possibilidades de ocorrência de uma determinada situação ou fato. Para determinarmos a razão de probabilidade,

Leia mais

Introdução ao Curso. Área de Teoria DCC/UFMG 2019/01. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG /01 1 / 22

Introdução ao Curso. Área de Teoria DCC/UFMG 2019/01. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG /01 1 / 22 Introdução ao Curso Área de Teoria DCC/UFMG Introdução à Lógica Computacional 2019/01 Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 1 / 22 Introdução: O que é

Leia mais

Aula 1: Introdução ao curso

Aula 1: Introdução ao curso Aula 1: Introdução ao curso MCTA027-17 - Teoria dos Grafos Profa. Carla Negri Lintzmayer carla.negri@ufabc.edu.br Centro de Matemática, Computação e Cognição Universidade Federal do ABC 1 Grafos Grafos

Leia mais

Modelagem com relações de recorrência. Exemplo: Determinada população dobra a cada ano; população inicial = 5 a n = população depois de n anos

Modelagem com relações de recorrência. Exemplo: Determinada população dobra a cada ano; população inicial = 5 a n = população depois de n anos Relações de recorrência 8. RELAÇÕES DE RECORRÊNCIA Introdução a relações de recorrência Modelagem com relações de recorrência Solução de relações de recorrência Exemplos e aplicações Relações de recorrência

Leia mais

LINGUAGEM ALGORÍTMICA

LINGUAGEM ALGORÍTMICA LINGUAGEM ALGORÍTMICA Adriano Mauro Cansian André Proto UNESP - São José do Rio Preto Linguagem Computacional Introdução! Para uma melhor padronização de nosso estudos, vamos agora definir uma linguagem

Leia mais

15/03/2018. Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções. Prof. Ariel da Silva Dias -

15/03/2018. Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções. Prof. Ariel da Silva Dias - Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções 1 Um algoritmo pode ser visto como uma sequência de ações executáveis para a obtenção de uma solução para um determinado tipo de problema.

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos A. G. Silva Baseado nos materiais de Souza, Silva, Lee, Rezende, Miyazawa Unicamp Ribeiro FCUP 18 de agosto de 2017 Conteúdo programático Introdução (4 horas/aula) Notação

Leia mais

> Princípios de Contagem e Enumeração Computacional 0/19

> Princípios de Contagem e Enumeração Computacional 0/19 Conteúdo 1 Princípios de Contagem e Enumeração Computacional Permutações Combinações > Princípios de Contagem e Enumeração Computacional 0/19 Permutações Utilizamos P(n, r) para denotar o número de sequências

Leia mais

Notas sobre primitivas

Notas sobre primitivas Análise Matemática I - Engenharia Topográ ca - 9/- Notas sobre primitivas Notas sobre primitivas Seja f uma função real de variável real de nida num intervalo real I: Chama-se primitiva de f no intervalo

Leia mais

AKS: um algoritmo para identificar números primos

AKS: um algoritmo para identificar números primos AKS: um algoritmo para identificar números primos IM-UFBA 08 de novembro de 2016 Índice 1 Preliminares 2 3 4 5 Introdução Números primos Comprovar a primalidade de um número natural significa comprovar

Leia mais

> Princípios de Contagem e Enumeração Computacional 1/10

> Princípios de Contagem e Enumeração Computacional 1/10 Princípios de Contagem e Enumeração Computacional > Princípios de Contagem e Enumeração Computacional 1/10 De quantas maneiras podemos selecionar um subconjunto de r objetos de um conjunto de n objetos?

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br Grafos e Algoritmos Preparado a partir do texto: Rangel, Socorro.

Leia mais

Juliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação

Juliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação Universidade Federal de Santa Maria Disciplina de Teoria da Computação Quais são as capacidades e limitações fundamentais dos computadores? Funções Computáveis Algoritmo: descrição finitade uma computação

Leia mais

MATRIZES - PARTE Mais exemplos Multiplicação de duas matrizes AULA 26

MATRIZES - PARTE Mais exemplos Multiplicação de duas matrizes AULA 26 AULA 26 MATRIZES - PARTE 2 26. Mais exemplos Nesta aula, veremos mais dois algoritmos envolvendo matrizes. O primeiro deles calcula a matriz resultante da multiplicação de duas matrizes e utiliza três

Leia mais

Conhecer um pouco mais de perto as propriedades do grupo das permutações de nível.

Conhecer um pouco mais de perto as propriedades do grupo das permutações de nível. Aula 07 MAIS SOBRE O GRUPO SIMÉTRICO META Conhecer um pouco mais de perto as propriedades do grupo das permutações de nível. OBJETIVOS Reconhecer elementos de Reconhecer os subgrupos e de Aplicar propriedades

Leia mais

8 ANÁLISE COMBINATÓRIA E

8 ANÁLISE COMBINATÓRIA E MATEMATICA 8 ANÁLISE COMBINATÓRIA E PROBABILIDADE NOME ESCOLA EQUIPE SÉRIE PERÍODO DATA PERMUTAÇÕES SIMPLES EXEMPLO QUANTOS NÚMEROS, DE 3 ALGARISMOS DISTINTOS, PODEMOS FORMAR COM OS DÍGITOS 7, 8 E 9? Temos

Leia mais

AULA 24. Algoritmos p.856/905

AULA 24. Algoritmos p.856/905 AULA 24 Algoritmos p.856/905 Máximo divisor comum CLRS 31.1 e 31.2 Algoritmos p.857/905 Divisibilidade Suponha que a, b e d são números inteiros. Dizemos que d divide a se a = k d para algum número inteiro

Leia mais

Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação. Combinatória

Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação. Combinatória Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Combinatória Tópicos Especiais em Programação Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Leia mais

Exercícios Repetição

Exercícios Repetição Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que

Leia mais

LINGUAGEM C: COMANDOS DE REPETIÇÃO

LINGUAGEM C: COMANDOS DE REPETIÇÃO LINGUAGEM C: COMANDOS DE REPETIÇÃO Prof. André Backes ESTRUTURAS DE REPETIÇÃO Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, enquanto determinadas condições

Leia mais

BCC 701 Programação de Computadores I

BCC 701 Programação de Computadores I BCC 701 Programação de Computadores I Professor: Anderson Almeida Ferreira anderson.ferreira@gmail.com http://www.decom.ufop.br/anderson Sala: 44 DECOM - UFOP Programa da disciplina Ementa: Introdução

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 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/20 4 - INTROD. À ANÁLISE COMBINATÓRIA 4.1) Arranjos

Leia mais

Ciência da Computação

Ciência da Computação Algoritmos e Programação Informática II Ciência da Computação Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano M. Cansian 1 Sumário Estruturas de Controle de Fluxo. Ou: Estruturas de Decisão. Decide qual

Leia mais

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. 4 a Lista de Exercícios Gabarito de algumas questões.

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. 4 a Lista de Exercícios Gabarito de algumas questões. UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO MATEMÁTICA COMBINATÓRIA 4 a Lista de Exercícios Gabarito de algumas questões. Este gabarito foi feito direto no computador

Leia mais

Rumo Curso Pré Vestibular Assistencial - RCPVA Disciplina: Matemática Professor: Vinícius Nicolau 19 de Setembro de 2014

Rumo Curso Pré Vestibular Assistencial - RCPVA Disciplina: Matemática Professor: Vinícius Nicolau 19 de Setembro de 2014 Sumário 1 Análise Combinatória 1 1.1 Questões de Vestibular.............................. 1 1.1.1 IME-RJ, Adaptada............................ 1 1.1.2 ESPM-SP................................. 2 1.1.3 Mackenzie-SP,

Leia mais

ESTRUTURAS DE REPETIÇÃO - PARTE 1

ESTRUTURAS 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 mais

5. SEQUÊNCIAS E SOMAS

5. SEQUÊNCIAS E SOMAS Curso: Ciência da Computação Disciplina: Matemática Discreta 5. SEQUÊNCIAS E SOMAS Prof.: Marcelo Maraschin de Souza Marcelo.maraschin@ifsc.edu.br Sejam as sequências: 1. (36, 38, 40, 42,, 70); 2. (jan.,

Leia mais

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

Linguagem de Programação I Prof. Tiago Eugenio de Melo. Linguagem de Programação I Prof. Tiago Eugenio de Melo tmelo@uea.edu.br www.tiagodemelo.info 1 Sumário Introdução Conceitos preliminares Introdução Variáveis Comandos Condicionais 2 Por que aprender a

Leia mais

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

Variáveis e Entrada de Dados Marco André Lopes Mendes  marcoandre.googlepages. Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre@ifc-araquari.edu.br marcoandre@gmail.com marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma

Leia mais

Estruturas de Dados Algoritmos

Estruturas de Dados Algoritmos Estruturas de Dados Algoritmos Prof. Eduardo Alchieri Algoritmos (definição) Sequência finita de instruções para executar uma tarefa Bem definidas e não ambíguas Executáveis com uma quantidade de esforço

Leia mais

Análise Combinatória

Análise Combinatória Introdução Análise combinatória PROBLEMAS DE CONTAGEM Princípio Fundamental da Contagem Exemplo: Um número de telefone é uma seqüência de 8 dígitos, mas o primeiro dígito deve ser diferente de 0 ou 1.

Leia mais

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo Este guia irá lhe ajudar a entender o laço de repetição

Leia mais

Combinatória I. Sumário Introdução Princípios Básicos... 2

Combinatória I. Sumário Introdução Princípios Básicos... 2 11 Combinatória I Sumário 11.1 Introdução....................... 2 11.2 Princípios Básicos................... 2 1 Unidade 11 Introdução 11.1 Introdução Combinatória é um vasto e importante campo da matemática

Leia mais

4. COMBINATÓRIA BÁSICA. Combinatória: ramo da matemática que trata de arranjos de objetos (configurações satisfazendo propriedades específicas).

4. COMBINATÓRIA BÁSICA. Combinatória: ramo da matemática que trata de arranjos de objetos (configurações satisfazendo propriedades específicas). Combinatória básica Introdução INTRODUÇÃO 4. COMBINATÓRIA BÁSICA Introdução Regra da soma e do produto Modelo de amostragem Modelo de distribuição Modelo de equação Identidades combinatórias Coeficientes

Leia mais

a complexidade no desempenho de algoritmos

a complexidade no desempenho de algoritmos capítulo 1 introdução Os algoritmos são o cerne da computação. Este capítulo introdutório procura ressaltar a importância da complexidade e dos métodos de projeto e análise de algoritmos. Partindo da ideia

Leia mais

Teoria do Controle: fundamentos teóricos e técnicas numéricas

Teoria do Controle: fundamentos teóricos e técnicas numéricas Teoria do Controle: fundamentos teóricos e técnicas numéricas Identificação: Grande área do CNPq: Ciências Exatas e da Terra Área do CNPq: Matemática Título do Projeto: Teoria do Controle de Sistemas Quânticos

Leia mais

Capítulo 2: Procedimentos e algoritmos

Capítulo 2: Procedimentos e algoritmos Capítulo 2: Procedimentos e algoritmos Para estudar o processo de computação de um ponto de vista teórico, com a finalidade de caracterizar o que é ou não é computável, é necessário introduzir um modelo

Leia mais

Análise Combinatória e Probabilidade

Análise Combinatória e Probabilidade Análise Combinatória e Probabilidade Exemplo: NOME ESCOLA EQUIPE SÉRIE PERÍODO DATA PERMUTAÇÕES SIMPLES -Roteiro do aluno- QUANTOS NÚMEROS, DE 3 ALGARISMOS DISTINTOS, PODEMOS FORMAR COM OS DÍGITOS 7, 8

Leia mais

Princípio da Multiplicação Gerando todas as palavras de um alfabeto. > Princípios de Contagem e Enumeração Computacional 0/18

Princípio da Multiplicação Gerando todas as palavras de um alfabeto. > Princípios de Contagem e Enumeração Computacional 0/18 Conteúdo 1 Princípios de Contagem e Enumeração Computacional Princípio da Multiplicação Gerando todas as palavras de um alfabeto Permutações > Princípios de Contagem e Enumeração Computacional 0/18 Objetivos

Leia mais

Caminhos de Amizades pelo Facebook:

Caminhos de Amizades pelo Facebook: Caminhos de Amizades pelo Facebook: Dualidade Computacional entre Curto e Longo Introdução a ECI Aula 2 Daniel R. Figueiredo LAND PESC/COPPE/UFRJ Problemas da Computação Objetivo: como resolver problemas

Leia mais

notas de aula versão 1 - Jerônimo C. Pellegrini notas de aula versão 1 11 de fevereiro de 2011

notas de aula versão 1 - Jerônimo C. Pellegrini notas de aula versão 1 11 de fevereiro de 2011 Introdução à Programação notas de aula versão 1 11 de fevereiro de 2011 1 Variáveis, entrada e saída Suponha que queiramos escrever um programa que calcule a área de um retânglo. É algo trivial e pode

Leia mais

Aula 2: Algoritmos: Intuição

Aula 2: Algoritmos: Intuição Aula 2: Algoritmos: Intuição Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 1 / 27 Agenda 1 Revisão

Leia mais

Caminhos de Amizades pelo Facebook: Dualidade Computacional entre Curto e Longo

Caminhos de Amizades pelo Facebook: Dualidade Computacional entre Curto e Longo Caminhos de Amizades pelo Facebook: Dualidade Computacional entre Curto e Longo ieci 2019 Daniel Ratton Figueiredo PESC/COPPE/UFRJ Problemas da Computação Objetivo: como resolver problemas ᴏ calcular zeros

Leia mais

Material Teórico - Módulo Números Naturais: Contagem, Divisibilidade e o Teorema da Divisão Euclidiana

Material Teórico - Módulo Números Naturais: Contagem, Divisibilidade e o Teorema da Divisão Euclidiana Material Teórico - Módulo Números Naturais: Contagem, Divisibilidade e o Teorema da Divisão Euclidiana Números Naturais e Problemas de Contagem Parte Oitavo Ano Autor: Prof Ulisses Lima Parente Revisor:

Leia mais

Módulo de Princípios Básicos de Contagem. Segundo ano

Módulo de Princípios Básicos de Contagem. Segundo ano Módulo de Princípios Básicos de Contagem Permutação simples Segundo ano Permutação Simples 1 Exercícios Introdutórios Exercício 1. De quantas formas se pode dispor quatro pessoas em fila indiana? Exercício

Leia mais

BCC 701 Programação de Computadores I

BCC 701 Programação de Computadores I BCC 701 Programação de Computadores I Professor: Anderson Almeida Ferreira anderson.decom@gmail.com http://www.decom.ufop.br/anderson Sala: COM 10 DECOM - UFOP Programa da disciplina Ementa: Conceitos

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 9 Subalgoritmos, funções e passagem de parâmetros Profa. Marina Gomes marinagomes@unipampa.edu.br 22/06/2017 Engenharia de Computação - Unipampa 1 Modularização Facilita a

Leia mais

2 Resolução Computacional de Problemas de Probabilidade 6

2 Resolução Computacional de Problemas de Probabilidade 6 Resolução Computacional de Problemas de Probabilidade Lucio S. Fassarella DMA/CEUNES/UFES 26 de maio de 2015 Resumo Notas de aula sobre o uso do computador na resolução de problemas de probabilidade. Aqui,

Leia mais

Análise e Complexidade de Algoritmos

Análise e Complexidade de Algoritmos Análise e Complexidade de Algoritmos Professor Ariel da Silva Dias Introdução Apresentação Professor Professor Ariel Dias Apresentação Disciplina O que veremos? www.arieldias.com BlackBoard Apresentação

Leia mais

Algoritmos e Programação - Engenharia da Computação -

Algoritmos e Programação - Engenharia da Computação - Algoritmos e Programação - Engenharia da Computação - Prof. Alessandro Zimmer Pseudo Linguagem de Programação - PORTUGOL - Pseudo-Linguagem Linguagem de Programação? Notação formal servindo para: - Expressar

Leia mais

Patrícia de Siqueira Ramos. UNIFAL-MG, campus Varginha. 21 de Março de 2018

Patrícia de Siqueira Ramos. UNIFAL-MG, campus Varginha. 21 de Março de 2018 Introdução UNIFAL-MG, campus Varginha 21 de Março de 2018 Não existe, em geral, uma única solução para um problema Algumas soluções são melhores do que outras, sob algum critério Alguns problemas são casos

Leia mais

Análise de Complexidade de Algoritmos. mario alexandre gazziro

Análise de Complexidade de Algoritmos. mario alexandre gazziro Análise de Complexidade de Algoritmos mario alexandre gazziro Definição A complexidade de um algoritmo consiste na quantidade de esforço computacional necessária para sua execução. Esse esforço é expresso

Leia mais

Contagem 2: permutação e resolução de exercícios de contagem. - Assuntos a serem abordados: Contagem permutação e resolução de exercícios de contagem

Contagem 2: permutação e resolução de exercícios de contagem. - Assuntos a serem abordados: Contagem permutação e resolução de exercícios de contagem Contagem 2: permutação e resolução de exercícios de contagem - Assuntos a serem abordados: Contagem permutação e resolução de exercícios de contagem - Textos: Apresentado neste roteiro da aula Apostila

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 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/18 4 - INTROD. À ANÁLISE COMBINATÓRIA 4.1) Arranjos

Leia mais

AULA 13. Algoritmos p.526/582

AULA 13. Algoritmos p.526/582 AULA 13 Algoritmos p.526/582 Ordenação em tempo linear CLRS 8.2 8.3 Algoritmos p.527/582 Ordenação por contagem Recebe vetores A[1.. n] e B[1.. n] e devolve no vetor B[1.. n] os elementos de A[1.. n] em

Leia mais

Algoritmos e Estrutura de Dados. Algoritmos Prof. Tiago A. E. Ferreira

Algoritmos e Estrutura de Dados. Algoritmos Prof. Tiago A. E. Ferreira Algoritmos e Estrutura de Dados Aula 3 Conceitos Básicos de Algoritmos Prof. Tiago A. E. Ferreira Definição de Algoritmo Informalmente... Um Algoritmo é qualquer procedimento computacional bem definido

Leia mais

Notas sobre primitivas

Notas sobre primitivas MTDI I - 007/08 - Notas sobre primitivas Notas sobre primitivas Seja f uma função real de variável real de nida num intervalo real I: Chama-se primitiva de f no intervalo I a uma função F cuja derivada

Leia mais

MC102 Aula 27 Recursão II

MC102 Aula 27 Recursão II MC102 Aula 27 Recursão II Instituto de Computação Unicamp 17 de Novembro de 2016 Roteiro 1 Recursão Relembrando 2 Cálculo de Potências 3 Torres de Hanoi 4 Recursão e Backtracking 5 Exercício (Instituto

Leia mais

Análise de complexidade

Análise de complexidade Introdução Algoritmo: sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador) Estratégia: especificar (definir propriedades) arquitectura

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 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/17 4 - INTROD. À ANÁLISE COMBINATÓRIA 4.1) Arranjos

Leia mais

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

Aula 3: Algoritmos: Formalização e Construção Aula 3: Algoritmos: Formalização e Construção Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Algoritmos: Formalização e Pseudo-Código Programação de

Leia mais

SULIMAR GOMES SILVA INTRODUÇÃO À PROBABILIDADE

SULIMAR GOMES SILVA INTRODUÇÃO À PROBABILIDADE SULIMAR GOMES SILVA INTRODUÇÃO À PROBABILIDADE Trabalho apresentado ao curso de Formação Continuada da Fundação CECIERJ - Consórcio CEDERJ. Orientadora: Danubia de Araujo Machado (Tutora) Grupo 2 Série:

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 5 Estruturas de Repetição Profa. Marina Gomes marinagomes@unipampa.edu.br 26/04/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje Estrutura de repetição Comando for

Leia mais

CIC 111 Análise e Projeto de Algoritmos II

CIC 111 Análise e Projeto de Algoritmos II CIC 111 Análise e Projeto de Algoritmos II Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 22 Combinatorics Binomial coefficients Catalan numbers Inclusion-exclusion Burnside

Leia mais