Princípio da Multiplicação. > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 0/18
|
|
- Manoela Quintão
- 4 Há anos
- Visualizações:
Transcrição
1 Conteúdo 1 Corretude de Algoritmos 2 Princípios de Contagem e Enumeração Computacional Princípio da Multiplicação > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 0/18
2 Corretude de Algoritmos Exemplo (Calculando o fatorial) Consider o código abaixo. Fatorial input: n (inteiro positivo) Função Fat(n) Se n 1 Return n Senão Return n Fat(n 1) Fim Função. Mostre que a saída de Fat(n) é n!, para todo n 1. > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 1/18
3 Corretude de Algoritmos Prova: Caso Base. Para n = 1, Fat(1) = 1 = 1!. Hipotese Inductiva. P(k) : Fat(k) devolve k! Passo Indutivo. Pelo código temos que Fat(k + 1) devolve (k + 1) Fat(k). Entretanto, por hipótese de indução Fat(k) = k!. Segue que Fat(k + 1) devolve (k + 1) (k)! = (k + 1)! > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 2/18
4 Corretude de Algoritmos Exemplo (Quicksort) Quicksort(A,p,r) input: subvetor de A que começa na posição p e termina na posição r output: subvetor de A ordenado Se p < r então q Partition(A,p,r) Quicksort(A,p,q-1) Quicksort(A,q+1,r) Fim Se Partition(A,p,r) é uma rotina de pivoteamento que funciona da seguinte maneira: seja X = A[p] e seja j o número de elementos menores que x no subvetor A[p, r]. Partition coloca o elemento x na posição q = p + j, os elementos de A[p, r] menores que x nas posições A[p],..., A[q 1] e os maiores a x nas posições A[q + 1],..., A[r]. Assumindo que a rotina Partition funciona da maneira especificada, mostre que Quicksort(A,1,n) ordena o vetor A[1, n]. > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 3/18
5 Corretude de Algoritmos Solução. Base: Se o vetor tem tamanho 1 ou é vazio, ou seja, p r, o Quicksort não faz nada já que todo vetor de tamanho 1 é ordenado. Hipótese Indutiva (Forte). Assuma que P(r) é verdadeira para todo r {1,..., k}: P(r): Quicksort funciona corretamente para um vetor de tamanho r. > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 4/18
6 Corretude de Algoritmos Prova do Passo Indutivo Assuma que r p + 1 = k + 1. Primeiramente, Partition coloca o elemento x = A[p] na posição correta. Após, ele chama Quicksort(A,p,q-1) e Quicksort(A,q+1,r) para ordenar os subvetores A[p, q 1] e A[q + 1, r]. O funcionamento de Partition garante que A[p, q 1] contém os elementos de A[p, r] menores que x enquanto A[q + 1, r] contem os maiores ou iguais a x. Como os subvetores A[p, q 1] e A[q + 1, r] tem menos do que k + 1 elementos, a hipótese garante que o Quicksort ordena eles corretamente. Portanto, ao término da chamada Quicksort(A,p,r), x é colocado na posição correta em A[p, r] e os subvetores A[p, q 1] e A[q + 1, r] estão ordenados. Logo, podemos concluir que A[p, r] esta ordenado. > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 5/18
7 Corretude de Algoritmos Exemplo (Conversor Decimal-Binário) input: n (inteiro positivo) output: b (array de bits com a representação binária de n, começando com o byte menos significativo) Função Converte(n) t n k 0 zere todos os bits de b Enquanto t > 0 faça k k + 1 b[k] t mod 2 t t div 2 Fim Enquanto; Fim Função. Mostre que o algoritmo retorna a representação binária de um número natural n. > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 6/18
8 Corretude de Algoritmos Como exemplo, considere a execução do algoritmo quando n = 57 : t b k Início Loop Loop Loop Loop Loop Loop Table : Execução do Algoritmo para n=57. > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 7/18
9 Corretude de Algoritmos Para provar que o algoritmo funciona, considere a seguinte proposição: Proposição Sejam m k o inteiro representado pelo vetor binário b t k o valor de t ao final do k-ésimo loop Então, n = t k.2 k + m k, k Questão 1. Mostre que essa proposição implica na corretude do algoritmo Questão 2. Prove essa proposição. > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 8/18
10 Corretude de Algoritmos Base. k = 0, t = n m = 0 Hipótese Indutiva. P(k) : A proposição vale ao término do laço k. Prova do Passo Indutivo Caso 1) t k é par No final do loop k + 1, temos t k+1 = t k 2 m k+1 = m k. Logo, e t k+1.2 k+1 + m k+1 = t k.2 k + m }{{ k = n } hip indutiva Caso 2) t k é ímpar O valor de t k+1 é t k 1 2 e m k+1 = m k + 2 k, já que um bit 1 é acrescido na posição k + 1 de b. t k+1.2 k+1 + m k+1 = t k 1.2 k+1 + m k + 2 k = t k.2 k + m k = n 2 }{{} hip indutiva > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 9/18
11 Conteúdo 1 Corretude de Algoritmos 2 Princípios de Contagem e Enumeração Computacional Princípio da Multiplicação > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 9/18
12 Objetivos Contar/listar o número de elementos de conjuntos finitos Aplicações Determinar o número de operações realizadas por um algoritmo para determinar sua eficiência Ferramenta utilizada para resolver problemas estatísticos Desenvolver o raciocínio dos alunos de ED > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 10/18
13 Objetivos Por que estudar problemas do tipo: 1 De quantas maneiras é possível dispor os alunos de uma turma em fila, sem que alunos com nomes consecutivos na ordem alfabética fiquem juntos? 2 Quantas permutações distintas tem a palavra MISSISSIPI? Duas justificativas: 1 Estes problemas são fáceis de formular; 2 As técnicas envolvidas na solução destes problemas podem ser aplicadas na resolução de problemas práticos > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 11/18
14 Objetivos Em algumas situações estamos interessados em calcular o número de elementos de um conjunto, enquanto que em outras desejamos listar todos os elementos de um conjunto. Exemplo Seja S o conjunto de todos os números de três algarismos que satisfazem as seguintes propriedades (i) todo algarismo pertence ao conjunto {2, 3, 6} (ii) nenhum algarismo pode repetir no mesmo número P1) Quantos elementos possui S? P2) Quem são os elementos de S? > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 12/18
15 Objetivos Exemplo Considere um caminhão que necessita entregar mercadorias em 12 localidades {L 1,..., L 12 } ao longo de um dia. Sabe-se que o consumo médio para ir da localidade L i para localidade L j é c ij, e que o caminhão deve partir de sua garagem e retornar para mesma. Considere que L 0 identifica a garagem. P1) Quantos trajetos distintos o caminhão pode percorrer? P2) Qual o trajeto que minimiza o consumo do caminhão? > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 13/18
16 Princípio da Multiplicação Uma das técnicas mais elementares de contagem é conhecida como princípio da multiplicação. Sejam os eventos E 1, E 2,..., E k. Se o evento E i, i = 1,..., k, pode ocorrer de n i formas diferentes e a forma com que o evento E i ocorre não influencia no número de formas que o evento E j pode ocorrer, i j, então a sequência de eventos E 1 E 2 E 3... E k pode ocorrer de n 1 n 2 n 3... n k formas diferentes. Exemplo Em uma placa de carro, as três primeiras posições são letras e as quatro restantes são dígitos. Quantas placas distintas são possíveis? > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 14/18
17 Princípio da Multiplicação O evento E i, i = 1, 2, 3, consiste em atribuir uma letra a i-ésima posição, enquanto que os eventos E 4, E 5, E 6, E 7 consistem em atribuir dígitos as posições 4, 5, 6 e 7 respectivamente. Logo temos, E i = 26, para i = 1, 2, 3 e E i = 10, para i = 4,..., 7. Segue do princípio da multiplicação que o número de placas é > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 15/18
18 Princípio da Multiplicação Exemplo Quantas placas são possíveis de modo que nenhuma letra e nenhum dígito apareçam repetidos? > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 16/18
19 Princípio da Multiplicação Exemplo Seja S o conjunto dos números de telefone com as seguintes propriedades: (i) o número é formado de 8 dígitos (ii) o primeiro dígito pertence a {2,3,5,7} (iii) deve haver pelo menos um número repetido dentre os quatro últimos dígitos. Quantos elementos possui S? > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 17/18
20 Princípio da Multiplicação Exemplo Considere o trecho de código abaixo Para i=1,...l Para j=1,...m Para k=1,...n PRINT( OI ) Determine em função de m, n e l o número de vezes que o trecho de código imprime OI > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 18/18
2 Erro comum da indução. 3 Corretude de Algoritmos. > Indução Forte X Indução Fraca Erro comum da indução Corretude de Algoritmos 0/17
Conteúdo 1 Indução Forte X Indução Fraca 2 Erro comum da indução 3 Corretude de Algoritmos > Indução Forte X Indução Fraca Erro comum da indução Corretude de Algoritmos 0/17 Indução Forte X Indução Fraca
Leia maisPrincí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> Princípios de Contagem e Enumeração Computacional 1/13
Princípios de Contagem e Enumeração Computacional > Princípios de Contagem e Enumeração Computacional 1/13 Objetivos Contar/listar o número de elementos de conjuntos finitos Aplicações > Princípios de
Leia maisEstruturas Discretas
Estruturas Discretas 2017.2 Marco Molinaro > Indução Forte Corretude de Algoritmos 1/20 Indução Forte > Indução Forte Corretude de Algoritmos 2/20 Indução Forte X Indução Fraca Para provar Propriedade
Leia mais> 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 maisApostila de Estuturas Discretas Parte I. Eduardo Sany Laber
Apostila de Estuturas Discretas Parte I Eduardo Sany Laber 26 de novembro de 2012 Sumário 1 Técnicas de Demonstração 3 1.1 O que é uma demonstração................... 3 1.2 Conceitos Básicos.........................
Leia maisApostila de Estruturas Discretas Parte I. Eduardo Sany Laber
Apostila de Estruturas Discretas Parte I Eduardo Sany Laber 10 de junho de 2013 Sumário 1 Técnicas de Demonstração 3 1.1 O que é uma demonstração................... 3 1.2 Conceitos Básicos.........................
Leia maisOrdenação em Tempo Linear. Leitura: Cormen Capítulo 8
Ordenação em Tempo Linear Leitura: Cormen Capítulo 8 Revisão Insertion sort: Vantagens Fácil de implementar Rápido em entradas com menos de 50 elementos. Rápido em entradas aproximadamente ordenadas. Desvantagens
Leia maisMC102 Aula 26. Instituto de Computação Unicamp. 17 de Novembro de 2016
MC102 Aula 26 Recursão Instituto de Computação Unicamp 17 de Novembro de 2016 Roteiro 1 Recursão Indução 2 Recursão 3 Fatorial 4 O que acontece na memória 5 Recursão Iteração 6 Soma em um Vetor 7 Números
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 maisIntrodução à Ciência da Computação
Introdução à Ciência da Computação Estruturas de Controle Parte II Prof. Ricardo J. G. B. Campello Créditos Parte dos slides a seguir foram adaptados dos originais de A. L. V. Forbellone e H. F. Eberspächer
Leia maisLista 1 - PMR2300. Fabio G. Cozman 3 de abril de 2013
Lista 1 - PMR2300 Fabio G. Cozman 3 de abril de 2013 1. Qual String é impressa pelo programa: p u b l i c c l a s s What { p u b l i c s t a t i c void f ( i n t x ) { x = 2 ; p u b l i c s t a t i c void
Leia maisAULA 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> 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 maisDivisão e Conquista. Fernando Lobo. Algoritmos e Estrutura de Dados II. É uma técnica para resolver problemas (veremos outras técnicas mais adiante).
Divisão e Conquista Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 27 Divisão e Conquista É uma técnica para resolver problemas (veremos outras técnicas mais adiante). Consiste em 3 passos: Dividir
Leia maisBucketsort. CLRS sec 8.4. Algoritmos p. 1
Bucketsort CLRS sec 8.4 Algoritmos p. 1 Bucket Sort Recebe um inteiro n e um vetor A[1..n] onde cada elemento é um número no intervalo [0, 1). Algoritmos p. 2 Bucket Sort Recebe um inteiro n e um vetor
Leia mais11º ano - Indução matemática
1 O conjunto dos números racionais Q é enumerável, ou seja, é possível atribuir (associar) a cada número racional um número natural Abaixo, os números racionais positivos estão representados na forma de
Leia maisQuickSort CI/2015. Análise e Projeto de Algoritmos. - Prof. Lucídio A. F. Cabral
QuickSort 1 Quicksort A[p q] A[q+1 r] Ordena um vetor A[p r] Divisão Particiona um vetor A em 2 subvetores A[p..q] e A[q+1..r], de tal modo que cada elemento de A[p..q] seja menor ou igual a cada elemento
Leia maisAnálise e Complexidade de Algoritmos
Análise e Complexidade de Algoritmos Professor Ariel da Silva Dias Algoritmos Divisão e Conquista Construção incremental Resolver o problema para um sub-conjunto dos elementos de entrada; Então, adicionar
Leia maisLista 2 - PMR2300/3200
Lista 2 - PMR2300/3200 Fabio G. Cozman, Thiago Martins 8 de março de 2015 1. Qual String é impressa pelo programa: p u b l i c c l a s s What { p u b l i c s t a t i c void f ( i n t x ) { x = 2 ; p u
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 maisComplexidade de Algoritmos
Complexidade de Algoritmos O que é um algoritmo? Sequência bem definida e finita de cálculos que, para um dado valor de entrada, retorna uma saída desejada/esperada. Na computação: Uma descrição de como
Leia maisProjeto de Algoritmos e Indução Matemática
Capítulo 3 Projeto de Algoritmos e Indução Matemática Um algoritmo é uma descrição precisa de um método para a resolução de determinado problema. Este capítulo apresenta a relação entre a prova de teoremas
Leia maisCI811 Tópicos em Algoritmos
CI811 Tópicos em Algoritmos Problemas 15 de junho de 2016 Aqui segue uma lista com alguns problemas computacionais para serem trabalhados pelos alunos da disciplina de Tópicos em Algoritmos (CI811) do
Leia maisCONTEÚDOS DO PRIMEIRO PERÍODO EXERCÍCIOS DE RECUPERAÇÃO DO PRIMEIRO PERÍODO
Aluno(: Nº Comp. Curricular: Estatística Data: 16/04/2012 1º Período Ensino Médio Comércio Exterior Turma: 5 3MC1/ 2 Professor: José Manuel Análise Combinatória: CONTEÚDOS DO PRIMEIRO PERÍODO 1) Fatorial
Leia maisExercícios: Recursão
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Recursão 1. Faça uma função recursiva que calcule e retorne o fatorial
Leia maisDCC001 - Programação de Computadores. Lista de Exercícios 02 - Estruturas de Dados Homogêneas (Vetores).
DCC-UFMG 1 semestre de 2007 DCC001 - Programação de Computadores Prof. Martín Gómez Ravetti Lista de Exercícios 02 - Estruturas de Dados Homogêneas (Vetores). Valor: 5 pontos 1. Escreva um algoritmo em
Leia maisAná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 maisOi, Ficou curioso? Então conheça nosso universo.
Oi, Somos do curso de Matemática da Universidade Franciscana, e esse ebook é um produto exclusivo criado pra você. Nele, você pode ter um gostinho de como é uma das primeiras aulas do seu futuro curso.
Leia maisAlgoritmos e Estrutura de Dados Aula 02 Listas em Python
Algoritmos e Estrutura de Dados Aula 02 Listas em Python Profa. Alana Oliveira e Prof. Davi Viana alanaslz@gmail.com e davi.viana@lsdi.ufma.br Se não entender, pergunte! 2 1 Dados e Tipos de Dados Um dado
Leia maisModelagem 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 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 maisLuís Fernando Schultz Xavier da Silveira. 12 de maio de 2010
Monóides e o Algoritmo de Exponenciação Luís Fernando Schultz Xavier da Silveira Departamento de Informática e Estatística - INE - CTC - UFSC 12 de maio de 2010 Conteúdo 1 Monóides Definição Propriedades
Leia maisEstruturas de Dados 2
Estruturas de Dados 2 Algoritmos de Ordenação em Tempo Linear IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/38 Algoritmos de Ordenação em Tempo Linear Limite Assintótico
Leia maisTópico 5 Algoritmos de Ordenação. Parte II - métodos de ordenação: counting sort, radix sort e bucket sort.
Tópico 5 Algoritmos de Ordenação Parte II - métodos de ordenação: counting sort, radix sort e bucket sort. 1 Árvore de Decisão Todos os algoritmos descritos anteriormente utilizam comparações para determinar
Leia maisProgramação Estruturada
Programação Estruturada Recursão Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Recursão Recursão 1 Recursão 2
Leia maisAlgoritmos para Gerar Permutações e Combinações em Ordem Lexicográfica
Matemática Discreta ESTiG\IPB Cap3. Princípios Elementares de Contagem pg 76 Algoritmos para Gerar Permutações e Combinações em Ordem Lexicográfica Algoritmo: conjunto de instruções cuja execução, numa
Leia maisUniversidade Federal do ABC Programação Estruturada Fabrício Olivetti França Lista de Exercícios 01
1 Objetivos da lista Universidade Federal do ABC Programação Estruturada Fabrício Olivetti França Lista de Exercícios 01 Esta lista de exercícios tem como objetivo introduzir os conceitos básicos da linguagem
Leia maisRecursão. Aula 1. Liana Duenha. Faculdade de Computação Universidade Federal de Mato Grosso do Sul
Recursão Aula 1 Liana Duenha Faculdade de Computação Universidade Federal de Mato Grosso do Sul Algoritmos e Programação II, Análise de Sistemas, 2010 Martinez & Rubert (FACOM) Recursão APIIAS 1 / 25 Conteúdo
Leia maisAnálise de Problemas Recursivos. Algoritmos e Estruturas de Dados Flavio Figueiredo (
Análise de Problemas Recursivos Algoritmos e Estruturas de Dados 2 2017-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Lembrando de Recursividade Procedimento que chama a si mesmo Recursividade permite
Leia maisAlgoritmos e Estruturas de Dados II Lista de Exercícios de Listas Lineares
Algoritmos e Estruturas de Dados II Lista de Exercícios de Listas Lineares Bacharelado em Análise de Sistemas, DCT UFMS, 20/4/2005 1 Listas lineares em alocação seqüencial 1. Descreva os algoritmos de
Leia maisExercícios: Vetores e Matrizes
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Faça um programa que possua um vetor
Leia maisParadigmas de programação
Paradigmas de programação 1 Paradigma? Um paradigma é algo que serve de exemplo ou modelo. Sinônimos: Padrão Prototipo 2 Paradigma de programação? É uma proposta tecnológica. Fornece uma visão do programador
Leia maisO Problema da Ordenação Métodos de Ordenação Parte 1
Métodos de Ordenação Parte 1 SCC-201 Introdução à Ciência da Computação II Rosane Minghim 2010 Ordenação (ou classificação) é largamente utilizada Listas telefônicas e dicionários Grandes sistemas de BD
Leia maisAnálise Combinatória AULA 1. Métodos Simples de Contagem
Análise Combinatória AULA 1 Métodos Simples de Contagem Tales Augusto de Almeida 1. Introdução A primeira ideia que surge no imaginário de qualquer estudante quando ele ouve a palavra contagem seria exatamente
Leia maisTópicos em Algoritmos. André Guedes
Tópicos em Algoritmos André Guedes 31 de agosto de 2017 Sumário 1 Aulas 1 2 Introdução 2 3 Problemas Computacionais e Algoritmos 4 3.1 Definições............................. 4 3.2 Correção e eficiência.......................
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 Ordenação por bolha (bubble sort)
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS DISCIPLINA: Lab. de Programação PROF: MSc. Flávio Barros PERÍODO: 2 DATA: Aluno (s): 01 ATIVIDADE / / Revisão de Conteúdo
Leia maisESTRUTURAS DE REPETIÇÃO - PARTE 2
AULA 16 ESTRUTURAS DE REPETIÇÃO - PARTE 2 16.1 A seqüência de Fibonacci Um problema parecido, mas ligeiramente mais complicado do que o do cálculo do fatorial (veja as notas da Aula 14), é o do cálculo
Leia maisEstruturas de Dados. Revisão de Funções e Recursão. Agradecimentos
Estruturas de Dados Revisão de Funções e Recursão Prof. Ricardo J. G. B. Campello Agradecimentos Parte dos slides a seguir são adaptações dos originais em Pascal gentilmente cedidos pelo Prof. Rudinei
Leia maisRecursão. Definição. Características. Recursividade 31/08/2010
Recursão Introdução à Ciência da Computação II (009) Rosane Minghim Apoio na confecção: Rogério Eduardo Garcia Danilo Medeiros Eler Definição Um objeto é dito ser recursivo se ele é definido parcialmente
Leia maisUniversidade Federal do ABC Programação Estruturada Fabrício Olivetti França Lista de Exercícios 02
1 Objetivos da lista Universidade Federal do ABC Programação Estruturada Fabrício Olivetti França Lista de Exercícios 02 Esta lista de exercícios tem como objetivo introduzir funções na linguagem C. Como
Leia maisHeapSort. Estrutura de Dados II Jairo Francisco de Souza
HeapSort Estrutura de Dados II Jairo Francisco de Souza HeapSort Algoritmo criado por John Williams (1964) Complexidade O(NlogN) no pior e médio caso Mesmo tendo a mesma complexidade no caso médio que
Leia maisRecursão. Introdução à Ciência da Computação II(2009/2010) Rosane Minghim. Apoio na confecção: Rogério Eduardo Garcia Danilo Medeiros Eler
Recursão Introdução à Ciência da Computação II(2009/2010) Rosane Minghim Apoio na confecção: Rogério Eduardo Garcia Danilo Medeiros Eler Definição Um objeto é dito ser recursivo se ele é definido parcialmente
Leia maisCONTROLE DE FLUXO DE EXECUÇÃO
CONTROLE DE FLUXO DE EXECUÇÃO Controle de fluxo de execução É a sequência em que as instruções são executadas num algoritmo. Como podemos implementar o controle de fluxo Instrução composta É um conjunto
Leia maisAlgoritmos de Ordenação
Algoritmos de Ordenação! Problema: encontrar um número de telefone em uma lista telefônica! simplificado pelo fato dos nomes estarem em ordem alfabética! e se estivesse sem uma ordem?! Problema: busca
Leia maisÁrvores. SCC-214 Projeto de Algoritmos. Thiago A. S. Pardo. Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral
SCC-214 Projeto de Algoritmos Thiago A. S. Pardo Listas e árvores Listas lineares Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral Diversas aplicações necessitam de estruturas
Leia maisÁlgebra A - Aula 02 Teorema da fatoração única, Propriedade fundamental dos primos, números primos
Álgebra A - Aula 02 Teorema da fatoração única, Propriedade fundamental dos primos, números primos Elaine Pimentel Departamento de Matemática, UFMG, Brazil 2 o Semestre - 2010 Teorema da fatoração única
Leia maisAula 05: - Recursão (parte 1)
MCTA028 Programação Estruturada Aula 05: - Recursão (parte 1) Prof. João Henrique Kleinschmidt Material elaborado pelo prof. Jesús P. Mena-Chalco 3Q-20108 Recursão: Se você ainda não entendeu; Ver: "Recursão".
Leia maisAED2 - Aula 11 Problema da separação e quicksort
AED2 - Aula 11 Problema da separação e quicksort Projeto de algoritmos por divisão e conquista Dividir: o problema é dividido em subproblemas menores do mesmo tipo. Conquistar: os subproblemas são resolvidos
Leia maisBusca em Memória Primária Estrutura de Dados II
Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Busca em Memória Primária Estrutura de Dados II Estrutura de Dados II COM10078 2017-I Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br
Leia maisBusca em Memória Primária Estrutura de Dados II
Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Busca em Memória Primária Estrutura de Dados II COM10078 Estrutura de Dados II Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br
Leia maisAlgoritmos e Estruturas de Dados I Linguagem C
Algoritmos e Estruturas de Dados I (DCC/003) Algoritmos e Estruturas de Dados I Linguagem C Aula Tópico 11 Recursividade 1 Recursão Na linguagem C, uma função pode chamar outra função. A função main()
Leia maisMATRIZES - 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 maisElementos de Matemática
Elementos de Matemática Exercícios de Análise Combinatória - Atividades de 2007 Versão compilada no dia 11 de Setembro de 2007. Departamento de Matemática - UEL Prof. Ulysses Sodré: ulysses(a)uel(pt)br
Leia maisAlgoritmos I Edézio 1
Algoritmos I Edézio 1 Algoritmo Conjunto de regras e operações bem definidas e ordenadas, destinadas à solução de um problema, ou de uma classe de problemas, em um número finito de etapas. Exemplos: As
Leia maisMétodos de Ordenação Parte I
Estrutura de Dados II Métodos de Ordenação Parte I Prof a Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material baseado nos materiais da Prof a Ana Eliza e Prof. Robson Lins Rearranjar
Leia maisEncontro 5: Permutação e resolução de exercícios de contagem
Encontro 5: Permutação e resolução de exercícios de contagem Relembrando: Princípio Aditivo: Sejam e conjuntos disjuntos, isto é, conjuntos com interseção vazia. Se possui m elementos e se possui n elementos,
Leia maisAula 05: - Recursão (parte 1)
MCTA028 Programação Estruturada Aula 05: - Recursão (parte 1) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-20107 1 Recursão: Se você ainda não entendeu; Ver: "Recursão". Efeito Droste Anuncio
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/30 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)
Leia maisEstruturas de Dados 2
Estruturas de Dados 2 Técnicas de Projeto de Algoritmos Dividir e Conquistar IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/83 Projeto de Algoritmos por Divisão
Leia maisAULA 5 - Independência, Combinatória e
AULA 5 - Independência, Combinatória e permutações Susan Schommer Introdução à Estatística Econômica - IE/UFRJ Independência Um importante caso particular da probabilidade condicional surge quando a ocorrˆncia
Leia maisContagem e Combinatória Elementar
Contagem e Combinatória Elementar Matemática Discreta I Rodrigo Ribeiro Departamento de Ciências Exatas e Aplicadas Universidade de Federal de Ouro Preto 11 de janeiro de 2013 Motivação (I) Combinatória
Leia maisCurso: Ciência da Computação Turma: 4ª Série. Probabilidade e Estatística. Aula 2
Curso: Ciência da Computação Turma: 4ª Série Aula 2 Análise Combinatória: Arranjo, Permutação, Combinação Simples e com Repetição Motivação Quantas ordenações são possíveis fazer com um baralho de 52 cartas?
Leia maisAnálise de Algoritmos
Análise de Algoritmos CLRS 2.3, 3.2, 4.1 e 4.2 Essas transparências foram adaptadas das transparências do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 1 Número de inversões Problema:
Leia maisAlgoritmos de Ordenação: Tempo Linear
Algoritmos de Ordenação: Tempo Linear ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo dbeder@usp.br 10/2008 Material
Leia maisPedro Ribeiro 2014/2015
Ordenação Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Ordenação 2014/2015 1 / 35 Ordenação A ordenação é um passo inicial para muitos outros algoritmos Ex: encontrar a mediana Quando não
Leia maisProjeto e Análise de Algoritmos Análise de Complexidade. Prof. Luiz Chaimowicz
Projeto e Análise de Algoritmos Análise de Complexidade Prof. Luiz Chaimowicz AGENDA Modulo 1 Data Assunto Capítulos 05/03 Algoritmos / Invariantes / Intro Análise de Complexidade 07/03 Não Haverá Aula
Leia maisPolo Olímpico de Treinamento Intensivo UFPR Curso de Combinatória, Nível 3 1 o semestre de 2019
Polo Olímpico de Treinamento Intensivo UFPR Curso de Combinatória, Nível 3 1 o semestre de 2019 Marcel Thadeu de Abreu e Souza Vitor Emanuel Gulisz Análise Combinatória: Introdução Vamos buscar contar
Leia maisAlgoritmos e Lógica de Programação. 6ª Lista de Exercícios Comandos de Repetição
Algoritmos e Lógica de Programação 6ª Lista de Exercícios Comandos de Repetição 1. Qual a saída do programa abaixo? int i; for (i = 0; i < 10; i += 2) printf("%d\n", i / 2); 2. Qual a saída do programa
Leia maisAlgoritmos de ordenação Quicksort
Algoritmos de ordenação Quicksort Sumário Introdução Descrição do quicksort Desempenho do quicksort Pior caso Melhor caso Particionamento balanceado Versão aleatória do quicksort Análise do quicksort Pior
Leia maisMA21 (2015) - Teste - Gabarito comentado. Problema 1 (OBM 2005) Na sequência de números
MA21 (2015) - Teste - Gabarito comentado Problema 1 (OBM 2005) Na sequência de números 1, a, 2, b, c, d,... dizemos que o primeiro termo é 1, o segundo é a, o terceiro é 2, o quarto é b, o quinto é c e
Leia maisNoções de Probabilidade parte I
Noções de Probabilidade parte I 5 de Março de 2012 Site: http://ericaestatistica.webnode.com.br/ e-mail: ericaa_casti@yahoo.com.br Referências: Probabilidae Aplicações à Estatística - Mayer (Capítulo 1)
Leia maisa) Em quantas ordem quatro pessoas podem senta num sofá de 4 lugares?
ANÁLISE COMBINATÓRIA 1. PRINCIPIO FUNDAMENTAL DA CONTAGEM A análise combinatória é um ramo da matemática que tem por objetivo resolver problemas que consistem, basicamente em escolher e agrupar os elementos
Leia maisA única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..
Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Introdução aos Algoritmos A única diferença entre o difícil e o impossível é que o último demora um pouco mais de
Leia maisBCC201 Introdução à Programação ( ) Prof. Reinaldo Silva Fortes. Prática 04 Estruturas de Dados Homogêneas Vetores
Professor David Menotti (menottid@gmail.com) BCC0 Introdução à Programação (0-0) Prof. Reinaldo Silva Fortes Prática 0 Estruturas de Dados Homogêneas Vetores ) Escreva um programa que armazene em um vetor
Leia maisMétodos de Ordenação Parte 3
Estrutura de Dados II Métodos de Ordenação Parte 3 Prof a Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material baseado nos materiais do Prof. Robson Lins Classificação em Memória Primária
Leia maisLista de Exercícios de Algoritmos - 04 Para cada um dos exercícios abaixo, faça um programa (em laboratório) que teste a função.
Lista de Exercícios de Algoritmos - 04 Para cada um dos exercícios abaixo, faça um programa (em laboratório) que teste a função. Funções e estruturas básicas 1. Faça uma função que recebe a idade de uma
Leia maisFunções. Material Didático Unificado. BCC701 Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação
Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação www.decom.ufop.br/bcc701 Funções. Material Didático Unificado. 1 Propósitos do Uso de Funções Modularizar
Leia maisFunções. Material Didático Unificado. BCC701 Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação
Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação www.decom.ufop.br/bcc701 Funções. Material Didático Unificado. 1 Propósitos do Uso de Funções Modularizar
Leia maisAnálise Combinatória
Análise Combinatória PFC Princípio Fundamental da Contagem O princípio fundamental da contagem está diretamente ligado às situações que envolvem as possibilidades de um determinado evento ocorrer, por
Leia maisIndução Matemática. George Darmiton da Cunha Cavalcanti CIn - UFPE
Indução Matemática George Darmiton da Cunha Cavalcanti CIn - UFPE Introdução Qual é a fórmula para a soma dos primeiros n inteiros ímpares positivos? Observando os resultados para um n pequeno, encontra-se
Leia maisTécnicas de projeto de algoritmos: Indução
Técnicas de projeto de algoritmos: Indução ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo dbeder@usp.br 08/2008
Leia maisProf. A. G. Silva. 25 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de / 35
INE5603 Introdução à POO Prof. A. G. Silva 25 de setembro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de 2017 1 / 35 Baseado em materiais da Recursividade Unisinos, Cesar Tacla (UTFPR),
Leia maisProgramação de Computadores II TCC
Programação de Computadores II TCC-00.174 Profs.: Leandro A. F. Fernandes (Turma A1) & Marcos Lage (Turma B1) (Turma A1) www.ic.uff.br/~laffernandes (Turma B1) www.ic.uff.br/~mlage Conteúdo: Material elaborado
Leia maisCélia Borlido 07/09/2007 Encontro Nacional dos Novos Talentos em Matemática
Sistemas de Numeração Célia Borlido 7/9/27 Encontro Nacional dos Novos Talentos em Matemática Alguma notação para começar Є representa a palavra vazia. Se é um alfabeto, isto é, um conjunto não vazio de
Leia mais