Análise de programas imperativos
|
|
|
- Manoela Fraga Azenha
- 9 Há anos
- Visualizações:
Transcrição
1 Análise de programas imperativos AMC 2011/12 ì Paulo Mateus Departamento de Matemática IST 2012
2 Objectivos ì Noção de invariante e variante de um ciclo ì Prova (informal) da correção de algoritmos imperativos ì Algoritmos de ordenação ì Análise da complexidade dos algoritmos de ordenação ì Análise do pior caso ì Análise de caso médio suposições probabilísticas
3 Invariante ì Invariante na Lógica de Hoare: ì Def (informal): Uma asserção I diz-se um invariante para um ciclo while(g){ corpo se, quando for verificada no início do ciclo, também é verificada no fim de cada iterada do ciclo. ì ì Para tornar esta definição rigorosa era necessário definir: ì Estado do programa (valores das variáveis + estado do controlo) ì Sintaxe da lógica para os invariantes (primeira-ordem com predicados relevantes) ì Semântica Nesta disciplina opta-se, como é comum na literatura, por utilizar linguagem matemática informal para analisar os algoritmos imperativos.
4 Invariante - factorial #include <stdio.h> /* Exemplo: factorial com contador a decrescer*/ int main() { int i, r, n; scanf( %d,&n); r=1; i=n; n /* Invariante r = k i >=1 */ k=i while(i>=2) { r=r*i; i--; printf( O factorial de %d é %d.\n, n, r); return 0; Prop: O programa Exemplo2, se terminar, calcula o factorial.
5 void insertionsort(int V[], int n) { int i=1, j, aux; while(i < n){ aux=v[i]; j = i-1; while(j>=0 && V[j] >aux) { V[j+1] = V[j]; j--; V[j + 1] = aux; i++; return; Algoritmo da Inserção
6 Invariante - Inserção void insertionsort(int V[], int n) { int i=1, j, aux; /* Invariante 1: Os valores V[0]...V[i-1] estão ordenados e i<=n */ while(i < n){ aux=v[i]; j = i-1; /* Invariante 2: Os valores V[j+1],..,V[i]>= aux e j>=-1*/ while(j>=0 && V[j] >aux) { V[j+1] = V[j]; j--; V[j + 1] = aux; i++; return; Prop: A função insertionsort ordena por ordem crescente o vector V.
7 Variante ì Def. Uma relação (A,<) é bem fundada se qualquer subconjunto não vazio B de A tem elemento minimal. ì Def. Um variante de um ciclo while(g){c e invariante I é um mapa dos estados que satisfazem I para o suporte A de uma relação bem fundada (A,<) cujo valor decresce estritamente em relação a < por cada iterada do ciclo.
8 Variante ì Regra da correção total do cálculo de Hoare Teo: Dado um invariante I, um ciclo while termina sse existe um variante para esse ciclo e I. Def: Um variante diz-se natural se o suporte da relação bemfundada for um subconjunto dos números naturais. Teo: Ciclos while com variantes naturais não são universais no que diz respeito a algoritmos computáveis à Turing.
9 Variante- factorial #include <stdio.h> /* Exemplo: factorial com contador decrescente*/ int main() { int i, r, n; scanf( %d,&n); r=1; i=n; /* Variante ({1...n,<) e f: {σ:σ[i]<=nè {1...n tq f(σ)=σ[i] */ while(i>=2) { r=r*i; i--; printf( O factorial de %d é %d.\n, n, r); return 0; Prop: O programa factorial termina para todo o input. Exer: Encontre variantes para os ciclos do insertionsort.
10 void insertionsort(int V[], int n) { int i=1, j, aux; while(i < n){ aux=v[i]; j = i-1; while(j>=0 && V[j] >aux) { V[j+1] = V[j]; j--; V[j + 1] = aux; i++; return; Algoritmo da Inserção
11 Análise no pior caso - inserção void insertionsort(int V[], int n) { int i=1, j, aux; while(i < n){ aux=v[i]; j = i-1; while(j>=0 && V[j] >aux) { V[j+1] = V[j]; j--; V[j + 1] = aux; i++; return; Análise do pior caso: Time(insertionSort(V,n)= # n 1 i 1 & O % 1 ( = O # n 1 i & # % ( = O 1 & % n(n 1) ( = O(n 2 ) $ i=1 j=0 ' $ i=1 ' $ 2 ' Análise do melhor caso: BTime(insertionSort(V,n)= # n 1 & O% 1( = O n 1 $ ' i=1 ( ) = O(n)
12 Análise no caso médio - inserção ì Para proceder a análise do caso médio é necessário fazer suposições probabilísticas sobre a entrada de dados. ì Diferentes suposições probabilísticas podem levar a diferentes comportamentos médios. ì A análise corresponde a calcular o valor esperado da complexidade temporal tendo em linha de conta a distribuição de probabilidades das entradas
13 Análise no caso médio - inserção void insertionsort(int V[], int n) { int i=1, j, aux; while(i < n){ aux=v[i]; j = i-1; while(j>=0 && V[j] >aux) { V[j+1] = V[j]; j--; V[j + 1] = aux; i++; return; Análise do caso médio: - Assume que no segundo ciclo poderá terminar com j=-1,0,.,i-1 equiprovavelmente. - O segundo ciclo é iterado i i j j p( j) = = i j=0 j=0 i ATime(insertionsort(V,n))= # O% $ n 1 i=1 i & # ( = O% 2 ' $ n 1 i=1 i & # ( = O 1 & % n(n 1) ( = O(n 2 ) 2 ' $ 4 '
14 void BubbleSort(int V[], int n) { int i=1, j, aux; while(i < n){ j = 0; while(j<n-i) { if(v[j+1] < V[j]) { aux=v[j]; V[j]=V[j+1]; V[j+1]=aux; ; j++; i++; return; Algoritmo Bubblesort
15 Algoritmo Bubblesort void BubbleSort(int V[], int n){ int i=1, j, aux; /* I1: V[n-i+1]...V[n-1] está ordenado e tem os maiores elementos de V e i<=n+1 */ while(i <= n){ j = 0; /* I2: V[j]é o maior valor de V[0]...V[j] de V e j<=n-i*/ while(j<n-i) { if(v[j+1] < V[j]) { aux=v[j]; V[j]=V[j+1]; V[j+1]=aux; j--; i++; return;
16 Algoritmo Bubblesort void BubbleSort(int V[], int n){ int i=1, j, aux; /* I1: V[n-i+1]...V[n-1] está ordenado e tem os maiores elementos de V e i<=n+1 */ while(i <= n){ j = 0; i++; return; /* I2: V[j]é o maior valor de V[0]...V[j] de V e j<=n-i*/ while(j<n-i) { if(v[j+1] < V[j]) { j--; aux=v[j]; V[j]=V[j+1]; V[j+1]=aux; Pior, melhor e caso médio? O(n^2)
17 Algoritmo QuickSort void quicksort(int vec[], int left, int right) { int r; if (right > left) { r = partition(vec, left, right); /* pivot */ quicksort(vec, left, r - 1); quicksort(vec, r + 1, right);
18 int partition(int vec[], int left, int right) { int i, j; i = left; j = left + 1; while( j <= right) { if (vec[j] < vec[left]) { ++i; swap(vec,i,j); j++; swap(vec,left, i); return i; Algoritmo QuickSort
19 void swap(int vec[] a, b) { int tmp; tmp = vec[a]; vec[a] = vec[b]; vec[b] = tmp; Algoritmo QuickSort
20 Algoritmo QuickSort void quicksort(int vec[], int left, int right) { int r; if (right > left) { r = partition(vec, left, right); /* pivot */ quicksort(vec, left, r - 1); quicksort(vec, r + 1, right);
21 Algoritmo QuickSort Correção por indução! Análise de complexidade por resolução de recurrências?
Ordenação e Pesquisa de Dados. Aula 07 Insertion Sort e Bubble Sort
Ordenação e Pesquisa de Dados Aula 07 Insertion Sort e Bubble Sort Felipe S. L. G. Duarte [email protected] Algoritmos de Ordenação A partir de agora iremos estudar os seguintes algoritmos
PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C
PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C 1 Implementações básicas : a) Implementar a função LerValorValido que verifica se um valor introduzido pelo utilizador pertence ao conjunto limitado por dois dados valores
Algoritmos e Modelação Computacional. Paulo Mateus MEBiom LMAC 2018
Algoritmos e Modelação Computacional Paulo Mateus MEBiom LMAC 2018 Objetivos Edição e compilação de programas Tipos e expressões Declaração de variáveis Atribuição, composição sequencial, iterativa e alternativa
Ordenação de Vectores
4. Vectores: Algoritmos de Ordenação João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) Luís Paulo Reis (versão 2005/2006) FEUP - MIEEC Prog 2-2006/2007 Ordenação de Vectores Problema
PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C
PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C 1 Enunciado: a)implementar a função maior que devolve o maior de dois números inteiros passados como parâmetro; b)construir um programa em C que determine o maior de
Aulas de. Algoritmos e Modelação Matemática
Aulas de Algoritmos e Modelação Matemática Paulo Mateus André Souto 2013 ii À guardiã Precaução dirigida aos alunos Os temas apresentados neste trabalho são uma versão muito preliminar da sebenta da cadeira
BCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 14: Ordenação: QuickSort Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Website: www.decom.ufop.br/reifortes Email: [email protected]
Algoritmos Paralelos - ordenação
Algoritmos Paralelos - ordenação Fernando Silva DCC-FCUP (Alguns dos slides são baseados nos do livro Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers, 2nd
Linguagem C: Algoritmos de Ordenação
Introdução Prof. Paulo R. S. L. Coelho [email protected] Faculdade de Computação Universidade Federal de Uberlândia GEQ007 Organização Introdução 1 Introdução 2 3 Organização Introdução 1 Introdução 2
Departamento de Informática - PUC-Rio INF 1005 Programação I P1 22/09/2010 Nota
P1 22/09/2010 Matrícula: Turma: Questão 1) (3,5 pontos) O Índice de Desenvolvimento Humano (IDH) é uma medida do bemestar de uma população. Engloba três dimensões: educação (E), longevidade (L) e a riqueza
Algoritmos de Pesquisa e Ordenação em Vectores
Algoritmos de Pesquisa e Ordenação em Vectores FEUP - MIEEC Programação 2-2008/2009 Pesquisa Sequencial Problema (pesquisa de valor em vector): Verificar se um valor existe no vector e, no caso de existir,
Capítulo 5: Repetições
Capítulo 5: Repetições INF1004 e INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Construção de Laços Repetição: Diversos problemas de difícil solução podem ser resolvidos
Algoritmos de Ordenação Eficiência de Algoritmos
AlgoritmosdeOrdenação EficiênciadeAlgoritmos Antes de abordarmos os algoritmo de ordenac ão iremos falar umpoucosobreaeficiênciadealgoritmos UniversidadedeSãoPaulo InstitutodeCiênciasMatemáticasedeComputação
Algoritmos de ordenação Ordenação rápida ( Quicksort )
Ordenação rápida ( Quicksort ) Baseia-se num princípio muito simples que, quando aplicado recursivamente, acaba por ordenar o vector. Este princípio é composto por 2 passos essenciais: 1. Escolher um elemento
Isomorfismos de Grafos, Grafos Planares e Árvores
p. 1/25 Isomorfismos de Grafos, Grafos Planares e Árvores Esdras Medeiros p. 2/25 Isomorfismo de Grafos Os isomorfismos preservam adjacências entre vértices. p. 3/25 Isomorfismo de Grafos Definição 1 Dois
Algoritmos de Ordenação: QuickSort
Algoritmos de Ordenação: QuickSort 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 [email protected] 10/2008 Material
AULA 3 Alocação dinâmica de memória: Ponteiros
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 3 Alocação dinâmica de memória: Ponteiros Estrutura de Dados 1 Variáveis X Ponteiros VARIÁVEL - Estrutura para armazenamento
PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C
PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C 1 2 Repetição 1 Enquanto 'C' é verdadeira Fazer? 3 Repetição 1 Enquanto 'C' é verdadeira Fazer? while (C)?; 4 Enunciado: Construa um algoritmo para mostrar os 100
ALGORITMOS DE ORDENAÇÃO RECURSIVOS
1/14 ALGORITMOS DE ORDENAÇÃO RECURSIVOS Ordenação rápida ( Quicksort ) 2/14 Ordenação rápida ( Quicksort ) Ideia - Baseia-se num princípio muito simples que, quando aplicado recursivamente, acaba por ordenar
Algoritmos e Estrutura de Dados
Algoritmos e Estrutura de Dados Ricardo Terra rterrabh [at] gmail.com Ricardo Terra (rterrabh [at] gmail.com) Algoritmos e Estrutura de Dados Outubro, 2013 1 / 136 CV Nome: Ricardo Terra Email: rterrabh
Conjuntos Finitos e Infinitos
Conjuntos Finitos e Infinitos p. 1/1 Conjuntos Finitos e Infinitos Gláucio Terra [email protected] Departamento de Matemática IME - USP Axiomas de Peano Conjuntos Finitos e Infinitos p. 2/1 Conjuntos
Estruturas de repetição. Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C.
capa Estruturas de repetição Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C. - Aprender a implementar algoritmos em C com laços de repetições. Estruturas de
Métodos Formais. Agenda. Relações Binárias Relações e Banco de Dados Operações nas Relações Resumo Relações Funções. Relações e Funções
Métodos Formais Relações e Funções por Mauro Silva Agenda Relações Binárias Relações e Banco de Dados Operações nas Relações Resumo Relações Funções MF - Relações e Funções 2 1 Relações Binárias Definição
ESTRUTURAS DE DADOS E ALGORITMOS ALGORITMOS DE ORDENAÇÃO POR COMPARAÇÃO - II
ESTRUTURAS DE DADOS E ALGORITMOS ALGORITMOS DE ORDENAÇÃO POR COMPARAÇÃO - II Adalberto Cajueiro Departamento de Sistemas e Computação Universidade Federal de Campina Grande ALGORITMOS VISTOS ANTERIORMENTE
Simulado de Linguagem de Programação Java
Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as
Relatório das Provas da 2ª. Fase - Vestibular 2016
Relatório das Provas da 2ª. Fase - Vestibular 2016 Resumo Executivo O presente relatório apresenta os resultados da segunda fase do Vestibular UNICAMP 2016 constituída por três provas. Esta etapa do vestibular
ATENÇÃO!!! 12-01-2005 Rui Morgado - TLP 2
Ciclos Exercícios ATENÇÃO!!! Depois de executar o exercício no editor da linguagem de programação C, copie o código para o bloco de notas (dê como nome ao ficheiro o n.º do exercício e o seu nome) e guarde
Método de ordenação - objetivos:
Método de ordenação - objetivos: Corresponde ao processo de rearranjar um conjunto de objetos em uma ordem ascendente ou descendente. Facilitar a recuperação posterior de itens do conjunto ordenado. São
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 2 PERÍODO MÓDULO 3 AVALIAÇÃO MP2 DATA 2/10/2008 ESTRUTURAS DE DADOS 2008/2
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 2 PERÍODO MÓDULO 3 AVALIAÇÃO MP2 DATA 2/10/2008 ESTRUTURAS DE DADOS 2008/2 Dados de identificação do Acadêmico: Nome: Login: CA: Cidade:
PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C
PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C 1 Implementações básicas: a) Implementar o procedimento LerMatriz que preenche uma matriz de L linhas por C colunas de inteiros (L, C 1); b) Implementar o procedimento
INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS
INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS Material da Prof. Ana Eliza Dados e comandos, para serem processados, devem estar na memória do computador. Memória Definição:
Estrutura de Dados. Algoritmos de Ordenação. Prof. Othon M. N. Batista Mestre em Informática
Estrutura de Dados Algoritmos de Ordenação Prof. Othon M. N. Batista Mestre em Informática Roteiro Introdução Ordenação por Inserção Insertion Sort Ordenação por Seleção Selection Sort Ordenação por Bolha
1. Estrutura de Dados
1. Estrutura de Dados Não existe vitória sem sacrifício! Filme Transformers Um computador é uma máquina que manipula informações. O estudo da ciência da computação inclui o exame da organização, manipulação
Matemática - Módulo 1
1. Considerações iniciais Matemática - Módulo 1 TEORIA DOS CONJUNTOS O capítulo que se inicia trata de um assunto que, via-de-regra, é abordado em um plano secundário dentro dos temas que norteiam o ensino
Vectores: Algoritmos de Ordenação. Algoritmos e Estruturas de Dados 2008/2009
Vectores: Algoritmos de Ordenação Algoritmos e Estruturas de Dados 2008/2009 Ordenação Problema (ordenação de vector) rearranjar os n elementos de um vector (v) por ordem crescente, ou melhor, por ordem
APC1 Prof. Eduardo Exercícios (Lista 4 T3)
APC1 Lista 4 de exercícios 1 APC1 Prof. Eduar Exercícios (Lista 4 T3) 18 - Faça um programa que preencha is vetores com cinco elementos numéricos cada um e depois ordeneos de maneira crescente. Deverá
Análise de Algoritmos
Análise de Algoritmos Profa. Sheila Morais de Almeida DAINF-UTFPR-PG março - 2016 A invariante de laço pode ser definida como uma relação entre as variáveis de um algoritmo que é verdadeira em um determinado
UNIVERSIDADE DA BEIRA INTERIOR
UNIVERSIDADE DA BEIRA INTERIOR Programação II 1º Semestre Frequência 2 Resolução 07/01/2019 1. [1,25 val] - Análise de Complexidade dos Algoritmos Considere o seguinte bloco de código em linguagem C: for
Métodos de Ordenação: Selection, Insertion, Bubble, Merge (Sort)
Métodos de Ordenação: Selection, Insertion, Bubble, Merge (Sort) Hebert Coelho e Nádia Félix Ordenação É a operação de rearranjar os dados em uma determinada ordem. Problema da ordenação - Definição formal
PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C
PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C 1 2 Condicional 1 Se 'C' é verdadeira Então?; 3 Condicional 1 Se 'C' é verdadeira Então? if (C)?; 4 Condicional 2 Se 'C' é verdadeira Então? Senão?? 5 Condicional
PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C
PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C 1 Instruções de Entrada Entrada/Leitura de dados Introduzir um valor inteiro/real para X 2 Instruções de Entrada Entrada/Leitura de dados Introduzir um valor inteiro/real
9.1.2 Laços Controlados por Entrada: Contador
9.1.2 Laços Controlados por Entrada: Contador Exemplo 2- Escreva um algoritmo e um programa em C que dado um Número qualquer, seja calculado e impresso a tabuada desse número. Algoritmo tabuada Variáveis:
OBSERVAÇÕES: EXERCÍCIOS
OBSERVAÇÕES: 1. Esta lista de exercícios poderá ser resolvida individualmente ou em grupos de 2 pessoas. 2. A lista possui 25 exercícios, destes você deve responder os 5 primeiros exercícios e os outros
Prof. Vania Gimenez.Notas de aula Lógica de programação- Este material não substitui os livros indicados no site no link bibliografia.
Prof. Vania Gimenez.Notas de aula Lógica de programação- Este material não substitui os livros indicados no site no link bibliografia. ---------------------------------------------------------------- Comandos
Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão
MC3305 Algoritmos e Estruturas de Dados II Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão Prof. Jesús P. Mena-Chalco [email protected] 2Q-2015 1 Custo de um algoritmo
ANÁLISE DE FALHAS DE COMPUTADORES
UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE CIÊNCIAS EXATAS DANIELE APARECIDA DE OLIVEIRA VERANICE POLATO ANÁLISE DE FALHAS DE COMPUTADORES LINHA DE PESQUISA: Projeto de Pesquisa apresentado à disciplina de
Analise o código abaixo:
Recursão - introdução Analise o código abaixo: 1 # include 2 # include 3 int Fatorial ( int x) 4 int k, s =1; for (k =0;k
Equação e Inequação do 2 Grau Teoria
Equação e Inequação do Grau Teoria Candidato segue um resumo sobre resolução e discussão de equações e inequações do grau. Bons Estudos! Equação do Grau Onde Uma Equação do Grau é sentença aberta do tipo
Introdução a Funções
Introdução a Funções Funções Matemáticas função é uma relação de um ou vários valores de argumentos de entrada em um ÚNICO resultado de saída. y z Fig I f(x) = x 2 x = 2 f(x) = 4 x z = f(x,y) = x 2 +y
float vantagem(float candidato[], float concorrente[], int n);
Questão 1 [Valor: 3,0 pontos] O candidato a um cargo eletivo contratou um instituto de pesquisa de opinião para acompanhar seu desempenho durante a campanha eleitoral. Esse instituto realizou n pesquisas
Capacitação em Linguagem C Parte 2
Capacitação em Linguagem C Parte 2 Andrey Souto Maior Giuseppe Portolese Universidade Estadual de Maringá - Centro de Tecnologia Departamento de Informática 22 de outubro de 2015 Sumário I Tipos abstratos
Lista de Exercícios 5: Soluções Teoria dos Conjuntos
UFMG/ICEx/DCC DCC Matemática Discreta Lista de Exercícios 5: Soluções Teoria dos Conjuntos Ciências Exatas & Engenharias 2 o Semestre de 206. Escreva uma negação para a seguinte afirmação: conjuntos A,
Controle de Fluxo Comandos de repetição: while e do-while
BCC 201 - Introdução à Programação Controle de Fluxo Comandos de repetição: while e do-while Guillermo Cámara-Chávez UFOP 1/1 Comandos de Repetição (Laços) I São muito comuns as situações em que se deseja
03. [Sebesta, 2000] Descreva a operação de um gerador de linguagem geral.
01. [Sebesta, 2000] Defina sintaxe e semântica. 02. [Sebesta, 2000] A quem se destinam as descrições de linguagem? 03. [Sebesta, 2000] Descreva a operação de um gerador de linguagem geral. 04. [Sebesta,
3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C
3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C 3.1. Compilação de um Programa C O compilador C realiza a compilação do código-fonte de um programa em cinco etapas: edição, pré-processamento, compilação,
Estruturas de Dados Aula 9: Listas (parte 1) 05/04/2011
Estruturas de Dados Aula 9: Listas (parte 1) 05/04/2011 Fontes Bibliográficas Livros: Projeto de Algoritmos (Nivio Ziviani): Capítulo 3; Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo
ALGORITMOS E ESTRUTURAS DE DADOS CES-11 Prof. Paulo André Castro Sala 110 Prédio da Computação IECE - ITA
ALGORITMOS E ESTRUTURAS DE DADOS CES-11 Prof. Paulo André Castro [email protected] Sala 110 Prédio da Computação www.comp.ita.br/~pauloac IECE - ITA MÉTODOS MAIS EFICIENTES QUE O(N 2 ) Método Quicksort Método
Prova Escrita de MATEMÁTICA A - 12o Ano 2015-2 a Fase
Prova Escrita de MATEMÁTICA A - o Ano 205-2 a Fase Proposta de resolução GRUPO I. O valor médio da variável aleatória X é: µ a + 2 2a + 0, Como, numa distribuição de probabilidades de uma variável aleatória,
I. Introdução à Análise de Algoritmos
I. Introdução à Análise de Algoritmos Estudo de diferentes características que permitem classificar e comparar os algoritmos A correcção de um algoritmo é fundamental. algoritmos será a primeira que abordaremos.
Algoritmos de Ordenação
Algoritmos de Ordenação Leandro Tonietto Unisinos [email protected] http://professor.unisinos.br/ltonietto Atualizado em 7-Jun-12 http://professor.unisinos.br/ltonietto/inf/lb2/sort.pdf ! Objetivos!
Referências. Programação de Computadores II. Cap. 7 Cadeias de Caracteres. Caracteres. Tópicos
Referências Programação de Computadores II Cap. 7 Cadeias de Caracteres Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004) Capítulo 7 Livro: Waldemar
Projeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 09 Algoritmos de Ordenação Edirlei Soares de Lima Ordenação Problema: Entrada: conjunto de itens a 1, a 2,..., a n ; Saída: conjunto de itens
UNIVERSIDADE DA BEIRA INTERIOR
UNIVERSIDADE DA BEIRA INTERIOR Programação MIEA 1º Semestre Frequência Resolução 13/12/2016 1. Escreva uma expressão lógica em linguagem C para cada uma das seguintes condições: (a) o valor da variável
5. Análise de Complexidade de Algoritmos. João Pascoal Faria (versão original) Ana Paula Rocha (versão 2003/2004) Luís Paulo Reis (versão 2005/2006)
5. Análise de Complexidade de Algoritmos João Pascoal Faria (versão original) Ana Paula Rocha (versão 2003/2004) Luís Paulo Reis (versão 2005/2006) FEUP - MIEEC Prog 2-2006/2007 Introdução Algoritmo: conjunto
Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores 12/03/2011 VARIÁVEIS E TIPOS DE DADOS
Linguagem C Introdução à Programação C Introdução à Ciência da Computação I Prof. Denis F. Wolf Origem de C está associada ao sistema Unix Histórico: 1970: Ken Thompson desenvolve B, baseada em BCPL, para
Q1 Q2 Q3 Nota. Departamento de Informática - PUC-Rio INF 1005 Programação I P2 20/10/2010. Aluno: Exemplo (apenas um exemplo!):
Matrícula: Departamento de Informática - PUC-Rio Turma: Q1 Q2 Q3 Questão 1) (3.0 pontos) Uma empresa permite que seus funcionários façam chamadas internacionais a partir de seus ramais, mas mantém um registro
Tabela ASCII de caracteres de controle
Caracteres Estruturas de Dados Aula 6: Cadeias de Caracteres 31/03/2010 Caracteres são representados internamente por códigos numéricos Tipo char (inteiro pequeno ) 1 byte (8 bits) 256 caracteres possíveis
Matemática para a Economia I - 1 a lista de exercícios Prof. - Juliana Coelho
Matemática para a Economia I - 1 a lista de exercícios Prof. - Juliana Coelho 1 - Para cada função abaixo, calcule os valores pedidos, quando for possível: (a) f(x) = x 3 3x + 3x 1, calcule f(0), f( 1)
Programação. MEAer. Bertinho Andrade da Costa. Instituto Superior Técnico. Introdução ao Pré-Processador. 2011/2012 1º Semestre
Programação MEAer Bertinho Andrade da Costa 2011/2012 1º Semestre Instituto Superior Técnico Introdução ao Pré-Processador Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 1 Sumário Introdução
Conversão Visualg à C++ Prof. Paulo Cesar F. de Oliveira, BSc, PhD
Conversão Visualg à C++ Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1 Unidade 01-a Algoritmos e Programação Seção 1.1 Visualg 2 Formato do Visualg algoritmo nome do algoritmo // Função: // Autor: // Data:
BCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Website: www.decom.ufop.br/reifortes
Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução
Métodos de Programação I 2. 27 Ciclo com Contador : instrução for identificador downto for de variável := expressão to expressão do instrução UMA INSTRUÇÃO (SIMPLES OU COMPOSTA) Neste caso o ciclo é repetido
Introdução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores
Introdução à Programação Armazenamento de Grande Quantidade de Informação Usando Vetores Armazenando Grande Quantidade de Informação Como armazenar tanta informação? Vetores! 2 Tópicos da Aula Hoje, aprenderemos
COMPUTAÇÃO. O estudante deve ser capaz de apontar algumas vantagens dentre as seguintes, quanto à modalidade EaD:
COMPUTAÇÃO QUESTÃO DISCURSIVA 1 O estudante deve ser capaz de apontar algumas vantagens dentre as seguintes, quanto à modalidade EaD: (i) flexibilidade de horário e de local, pois o aluno estabelece o
Computadores Digitais 2. Prof. Rodrigo de Souza Couto
Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Aula de Hoje Cadeias de caracteres (strings) Caracteres Definição e manipulação de strings Vetor de strings Parâmetros
Elementos de programação em C
Elementos de programação em C Estruturas condicionais Francisco A. C. Pinheiro, Elementos de Programação em C, Bookman, 2012. Visite os sítios do livro para obter material adicional: www.bookman.com.br
/*(Atenção: Em se tratando de uma lista estaticamente alocada, temos utilizado a estratégia de passa o tamanho máximo do vetor.)*/
========================TDA.H #include "info.h" #define TRUE 1 #define FALSE 0 #define INI_LISTA 1 #define OK 1; #define NOK -1; typedef struct nolista{ info dados; struct nolista *prox; struct nolista
1 Cálculo do valor à vista
MAC-5 Introdução à Computação para Ciências Exatas e Tecnologia IO Segundo Exercício Programa Entregar até 7/0/2007 Comprar à vista ou comprar à prazo? Várias lojas já possuem alguns planos de crediário
Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo
Algoritmos e Estruturas de Dados I Variáveis Indexadas Pedro O.S. Vaz de Melo Por que índices são importantes? Como uma loja de sapatos artesanais deve guardar os seus produtos? 1 2 3 4 Tamanhos entre
INF 1010 Estruturas de Dados Avançadas
11.2 INF 1010 Estruturas de Dados Avançadas Listas de Prioridades e Heaps 1 Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada
