Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I
|
|
- Arthur Diegues Azeredo
- 7 Há anos
- Visualizações:
Transcrição
1 Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I
2 Algoritmos de busca Basicamente podem ser citadas duas estratégias para procurar (ou buscar) algo em uma coleção de dados: Busca Sequencial Busca Binária O resultado de um algoritmo de busca, depende da finalidade da aplicação: Mostrar a posição, o valor (etc) Opcionalmente: Informar que não encontrou. A mais simples
3 Busca sequencial (ou busca linear) Pesquisa uma lista de valores de forma sequencial, i. e., elemento por elemento: Percorrer cada posição da lista verificando se o valor procurado está naquela posição: Caso encontrar: Mostrar a posição (etc) Caso chegar ao fim sem encontrar: Informar que não encontrou.
4 Busca sequencial Notação diagramática Fonte:<
5 Busca sequencial (ou busca linear) A seguir, serão apresentados trechos de código em pascal que realizam a busca sequencial de um valor em uma variável composta homogênea unidimensional com n elementos e índices variando entre 1 e n.
6 Busca sequencial Pascal usando while {Busca sequencial} {...} i := 1; achou := false; {variável para controle da busca, para o valor falso, indica que o valor buscado ainda não foi encontrado, para o valor verdadeiro, a busca obteve uma igualdade, isto é, o valor buscado foi localizado em alguma posição do array} while ( (i <= n) and (not achou) ) do begin if ( v[i] = valor_buscado ) then {se valor na posição i igual ao valor buscado} achou := true {a variável de controle da busca torna-se verdadeira} else {caso contrário, a variável de índice, i, passa para a próxima posição } i := i + 1; end; {impressão do resultado da busca} If ( achou ) then {após a busca, se a variável achou é verdadeira, pode-se afirmar que o valor buscado é igual a um elemento no array e que a variável i armazena a posição em que ocorreu essa igualdade} writeln( valor_buscado, ' encontrado na posição: ', i ); else {caso contrário, o valor não foi encontrado} writeln( 'Valor não encontrado' ); end.
7 Busca sequencial Pascal, usando For {Busca sequencial} {...} pos := 0; {em vez de uma variável lógica, será utilizada uma variável numérica que, inicialmente recebe um valor fora da faixa de índices do array} for i := 1 to n do {a variável i faz o controle do loop e é usada para percorrer o array} if ( v[i] = valor_buscado ) then { se ocorreu uma igualdade, a variável pos recebe a posição em que o valor foi encontrado no array} begin pos := i; break; end; {impressão do resultado da busca} If ( pos <> 0 ) then writeln(valor_buscado, ' encontrado na posição: ', pos); else writeln( 'Valor não encontrado ' ); end.
8 Busca sequencial (ou busca linear) A função do tempo em relação ao tamanho da lista é linear, ou seja, cresce de forma diretamente proporcional.
9 Busca sequencial Esforço computacional Número de comparações: Melhor caso: 1 Pior caso: n Caso médio: (n+1) 2 = θ(n)
10 Algoritmos de classificação Consiste na ordenação do array O array armazena os valores na ordem em que eles foram obtidos como entrada. Entretanto, você precisa ordená-lo de forma que os maiores ou os menores valores apareçam primeiro. As caixas no array estão armazenadas em uma ordem aleatória Examinando o array, você pode classificá-lo, organizando as caixas na ordem da maior para a menor.
11 Algoritmos de classificação Existem diversos métodos para classificar (ou ordenar) uma estrutura de dados. Os mais conhecidos são o Método da Bolha (ou ordenação por flutuação), o Método da Seleção Direta e o Método Quick Sort, porém o mais comum desses é o Método da bolha (Bubble Sort).
12 Método da bolha A ideia é percorrer a lista de elementos (um array, por exemplo) diversas vezes, a cada passagem fazendo flutuar para o topo o maior (ou menor) elemento da sequência.
13 Método da bolha Essa movimentação dos dados lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo. Invertidos Aleatoriamente dispostos Quase ordenados Poucos valores
14 Método da bolha Para entender, considere um array com n elementos indexados de 1 a n. A ideia consiste em: (passo 1) percorrer da posição 1 até a posição n 1 do array comparando o elemento da posição atual com o próximo e trocando de posição os elementos comparados sempre que o atual for maior (ou menor) que o próximo. {após isto, o maior (ou menor) elemento já estará no fim do array, logo, na próxima etapa não precisaremos verificar mais a última posição, os próximos passos seguem esta ideia} (passo 2) percorrer da posição 1 até a posição n 2 do array comparando o elemento da posição atual com o próximo e trocando de posição os elementos comparados sempre que o atual for maior (ou menor) que o próximo. (passo 3) percorrer da posição 1 até a posição n 3 comparando o elemento da posição atual com o próximo e trocando de posição os elementos comparados sempre que o atual for maior (ou menor) que o próximo.... { Este processo se repete n 1 vezes, que é quando o primeiro elemento é comparado apenas com o segundo} (passo n 1) percorrer da posição 1 até a posição n (n 1) do array comparando o elemento da posição atual com o próximo e trocando de posição os elementos comparados sempre que o atual for maior (ou menor) que o próximo. {este último passo se resume em comparar o elemento de índice 1 com o elemento de índice 2}
15 Método da bolha Notação diagramática i n Este algoritmo classifica a variável vetor em ordem decrescente. i>1? i i-1 J 1 j j + 1 vetor[j]<vetor[j+1]?
16 Método da bolha Pascal {Cabeçalho e inicialização das variáveis} program bolha; uses crt; const n=5; b: array [1..n] of integer = (6,4,5,1,3); var aux,i,j:integer; v:array[1..n] of integer; begin {inicialização do array} for i:=1 to n do begin v[i]:= b[i]; write(' ',v[i]); end; writeln; {...continua à esquerda} Classificação em ordem decrescente {Ordenação Bubble Sort} for i := n downto 2 do for j := 1 to i-1 do if (v[j] < v [j+1]) then {troca} begin aux := v[j]; v[j] := v[j+1]; v[j+1] := aux; end; {impressão do array ordenado} for i := 1 to n do begin write(' ',v[i]); end; writeln; end. Como classificar em ordem crescente?
17 Método da bolha Posição: Valor: Valores armazenados no array: Passo i j v[j] > v[j+1] aux V V V V F 5 6 Posição: Valor: {Ordenação Bubble Sort} for i := n downto 2 do for j := 1 to i-1 do if (v[j] > v [j+1]) then {troca} begin aux := v[j]; v[j] := v[j+1]; v[j+1] := aux; end; Este exemplo classifica em ordem crescente!!! Situação da variável array no passo 6:
18 Método da bolha Esforço computacional Número de comparações: = (n 1) + (n 2) + (n 3) = n(n 1) 2 = n2 2 n 2 = θ(n2 )
19 Algoritmos de classificação Após ordenar os dados no array (ordem decrescente) pode-se imprimir os três primeiros elementos: Imprima os três primeiros elementos do array writeln(notas[1]); writeln(notas[2]); writeln(notas[3]);
20 Busca binária Agora que você já consegue ordenar seus arrays, você pode experimentar outra forma de fazer buscas. Em um array ordenado, a pesquisa sequencial não é a maneira mais rápida de se obter um resultado.
21 Busca sequencial (ou busca linear) A função do tempo em relação ao tamanho da lista é linear, ou seja, cresce de forma diretamente proporcional. A pesquisa (ou busca) binária, por exemplo, é um tipo de pesquisa com o gráfico de tempo logaritmo.
22 Busca binária A pesquisa ou busca binária (em inglês binary search algorithm ou binary chop) é um algoritmo de busca que requer acesso indexado aos elementos da lista a ser pesquisada. Ela parte do pressuposto de que os elementos estão ordenados e realiza sucessivas divisões do espaço de busca (divisão e conquista) comparando o elemento buscado (chave) com o elemento no central da partição atual da lista. Inicialmente, a partição é a lista completa.
23 Busca binária Se o elemento do meio do conjunto for o valor procurado, a busca termina com sucesso. Caso contrário, se o elemento do meio for menor que o valor procurado, então a busca continua na metade da direita da lista de elementos. E finalmente, se o elemento do meio for maior que o valor procurado, a busca continua na metade da esquerda da lista de elementos.
24 Busca binária Pascal Para este trecho de código, o array considerado deve possuir n elementos e os índices devem variar de 1 a n. {Busca Binária} {...} inicio := 1; {o valor do primeiro índice do array} fim := n; {n deve coincidir com valor do último índice do array} buscabinaria := -1; {Retorna o valor (-1) se a informação nao for encontrada.} repeat meio := (inicio + fim) div 2; A variável buscabinaria retorna a posição em que a informação foi encontrada, ou -1 caso não tenha sido encontrada. if (valorbuscado = vetor[meio]) then buscabinaria := meio; if (valorbuscado < vetor[meio]) then fim := (meio - 1); Usando a estrutura repeat if (valorbuscado > vetor[meio]) then inicio := (meio + 1); until (buscabinaria <> -1) or (inicio > fim); {procura até encontrar ou terminar sem sucesso: início > fim} end.
25 Busca binária Pascal Para este trecho de código, o array considerado deve possuir n elementos e os índices devem variar de 1 a n. {Busca Binária} {...} inicio := 1; {o valor do primeiro índice do array} fim := n; {n deve coincidir com valor do último índice do array} buscabinaria := -1; {Retorna o valor (-1) se a informação nao for encontrada.} while (buscabinaria = -1) and (inicio <= fim) do {procura até encontrar ou terminar sem sucesso: início > fim} begin meio := (inicio + fim) div 2; A variável buscabinaria retorna a posição em que a informação foi encontrada, ou -1 caso não tenha sido encontrada. if (valorbuscado = vetor[meio]) then buscabinaria := meio; Usando a estrutura while if (valorbuscado < vetor[meio]) then fim := (meio - 1); if (valorbuscado > vetor[meio]) then inicio := (meio + 1); end; {fim enquanto} end.
26 Busca binária Pascal Para este trecho de código, o array considerado deve possuir n elementos e os índices devem variar de 1 a n. {Busca Binária} {...} inicio := 1; {o valor do primeiro índice do array} A variável achou retorna true caso a busca encontre o valor procurado ou false caso não tenha sido encontrado. A variável meio retorna a posição localizada caso a busca encontre o valor. fim := n; {n deve coincidir com valor do último índice do array} achou := false ; {Retorna o valor ( false ) se a informação nao for encontrada.} while (not achou ) and (inicio <= fim) do {procura até encontrar ou terminar sem sucesso: início > fim} begin meio := (inicio + fim) div 2; if (valorbuscado = vetor[meio]) then achou := true else if (valorbuscado < vetor[meio]) then fim := (meio - 1); else inicio := (meio + 1); end; {fim enquanto} if (achou ) then writeln( 'valor encontrado na posicao ',meio) else writeln( 'valor nao encontrado' ); end. Variação mais simples
27 Busca binária Esforço computacional A complexidade desse algoritmo é da ordem de Θ(log 2 n), em que n é o tamanho do array de busca. Apresenta-se mais eficiente que a Busca linear cuja ordem é O(n).
28 Referências FARRER, H.; BECKER, C. G.; FARIA, E. C.; MATOS, H. F.; et al. Algoritmos estruturados. 3ed, Ed. LTC, ISBN: GUIMARÃES, A. M.; LAGES, N. A. C.; Algoritmos e estruturas de dados. 1ed, Ed. LTC, ISBN: FARRER, H.; BECKER, C. G.; FARIA, E. C.; MATOS, H. F.; et al. Pascal estruturado. 3ed, Ed. LTC, ISBN: Velloso, F. C.; Informática: Conceitos Básicos. 7ed, Ed. Campus, ISBN: BARRY, P.; GRIFFITHS, D. Head First Programming: A Learner's Guide to Programming Using the Python Language. 1ed, O'Reilly Media, ISBN-10:
29 Referências Vídeos - Ordenação pelo Método da bolha - Busca Sequencial e Busca Binária
Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Variáveis compostas Os arrays também são conhecidos como variáveis compostas. Variáveis compostas Correspondem a um certo número
Leia maisDepartamento de Engenharia Rural Centro de Ciências Agrárias. Programação I
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Técnicas de verificação de algoritmos Um tipo de teste de algoritmo, denominado Teste de Mesa (ou Teste Exaustivo) pode ser feito
Leia maisAlgoritmia e Programação
Algoritmia e Programação Conteúdo Pesquisa em Vectores Apresentação e discussão de vários algoritmos de pesquisa. Pesquisa linear ou sequencial Pesquisa binária Ordenação de Vectores Exemplos de aplicação
Leia maisInformática Parte 17 Prof. Márcio Hunecke
Escriturário Informática Parte 17 Prof. Márcio Hunecke Informática BUSCA SEQUENCIAL E BUSCA BINÁRIA SOBRE ARRAYS Busca sequencial em vetores não ordenados O termo busca sequencial (ou busca linear) expressa
Leia maisAula 3 Listas Lineares Sequenciais Ordenadas. prof Leticia Winkler
Aula 3 Listas Lineares Sequenciais Ordenadas prof Leticia Winkler 1 Listas Lineares Sequenciais Ordenadas Elementos da lista estão dispostos num vetor (contíguos na memória) e ordenado de acordo com alguma
Leia maisDepartamento de Engenharia Rural Centro de Ciências Agrárias. Programação I
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Variáveis compostas homogêneas Multidimensionais (o uso de arrays para a representação de matrizes e outras abstrações) Matrizes
Leia maisPascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string
Pascal -Cabeçalho do programa Áreas do programa -Área de declarações -Corpo do programa - label - const - type - var - procedure - function - integer - real - byte - boolean - char - string Program
Leia maisArquivos Sequenciais. Estruturas de Dados II Vanessa Braganholo
Arquivos Sequenciais Estruturas de Dados II Vanessa Braganholo Arquivos Sequenciais } Pq arquivos sequenciais? Relembrando } Relembrando: uma tabela ou arquivo é um conjunto de registros que possuem a
Leia maisDepartamento de Engenharia Rural Centro de Ciências Agrárias. Programação I
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Exercícios Variáveis compostas homogêneas Multidimensionais (matrizes e outras abstrações) Manipulação de Strings e caracteres
Leia maisPesquisa: operação elementar
Pesquisa: operação elementar uma das operações mais usadas em programação pesquisas em: vectores, matrizes, tabelas de registos, ficheiros, tipos de dados estruturados (hierarquicos),... necessidade de
Leia maisMC102 - Algoritmos e programação de computadores. Aula 16: Busca e Ordenação em vetores
MC102 - Algoritmos e programação de computadores Aula 16: Busca e Ordenação em vetores Busca Dada uma coleção de n elementos, pretende-se saber se um determinado elemento valor está presente nessa coleção.
Leia maisUnidade VI. Técnicas de Teste de Software Teste Estrutural. Profa. Dra. Sandra Fabbri
Unidade VI Técnicas de Teste de Software Profa. Dra. Sandra Fabbri Os requisitos de teste são extraídos de uma implementação em particular Teste dos detalhes procedimentais A maioria dos critérios dessa
Leia maisBUSCA EM ARRAYS. Prof. André Backes. Ato de procurar por um elemento em um conjunto de dados
BUSCA EM ARRAYS Prof. André Backes Definição 2 Ato de procurar por um elemento em um conjunto de dados Recuperação de dados armazenados em um repositório ou base de dados A operação de busca visa responder
Leia maisLISTA DE EXERCÍCIOS 15 ( Matrizes (7Cs))
LISTA DE EXERCÍCIOS 15 ( Matrizes (7Cs)) 1) Faça um programa que gere a seguinte matriz: 1 1 1 1 1 1 1 2 2 2 2 1 1 2 3 3 2 1 1 2 3 3 2 1 1 2 2 2 2 1 1 1 1 1 1 1 Com base no comando, complete o algoritmo
Leia maisDepartamento de Engenharia Rural Centro de Ciências Agrárias. Programação I
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Tipos pré-definidos Unidades Funções pré-definidas Tipos do Turbo Pascal Inteiros (Integer) Representam o conjunto dos números
Leia maisDepartamento de Engenharia Rural Centro de Ciências Agrárias. Programação I
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Tipos definidos pelo programador Variáveis compostas heterogêneas Tipos definidos pelo usuário Os tipos integer, real, boolean,
Leia maisSumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 10. Algoritmos e Programação. Enquanto (Teste no início) Repeat (Teste no final)
Algoritmos e Programação Informática II Ciência da Computação Prof. Dr. Leandro Alves Neves Aula 10 1 Sumário Estruturas de Controle de Fluxo q Repetição Enquanto (Teste no início) Repeat (Teste no final)
Leia maisAnálise e Complexidade de Algoritmos
Análise e Complexidade de Algoritmos Métodos de busca - seqüêncial - binária Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Onde Estamos Ementa Revisão: Estrutura de dados;crescimento
Leia maisClassificação e Pesquisa
Classificação e Pesquisa Pesquisa de Dados - Seqüencial - Binária Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Onde Estamos Ementa Pesquisa de Dados Seqüencial Binária
Leia maisRadix Sorting. Várias aplicações têm chaves que são inteiros, definidos dentro de um intervalo
Radix Sorting Os registros a serem ordenados podem ter chaves bastante complexas, como por exemplo sequências de caracteres (lista telefônica) o Ordenação via comparação de chaves Várias aplicações têm
Leia mais6) ESTRUTURA DE UM PROGRAMA
Página 1 de 16 6) ESTRUTURA DE UM PROGRAMA = = program ; = uses
Leia maisMé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
Leia maisAula Anterior. Decomposição algorítmica (continuação)
Aula Anterior Decomposição algorítmica (continuação) Degenerescência da decomposição básica da solução em três etapas Método de decomposição modificado à entrada Associação de diferentes valores de entrada
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 maisESTRUTURAS DE DADOS E ALGORITMOS ALGORITMOS DE ORDENAÇÃO POR COMPARAÇÃO - I
ESTRUTURAS DE DADOS E ALGORITMOS 1 ALGORITMOS DE ORDENAÇÃO POR COMPARAÇÃO - I Adalberto Cajueiro Departamento de Sistemas e Computação Universidade Federal de Campina Grande CONTEXTO 2 ORDENACAO Uma das
Leia maisComputação Eletrônica. Vetores e Matrizes. Prof: Luciano Barbosa. CIn.ufpe.br
Computação Eletrônica Vetores e Matrizes Prof: Luciano Barbosa Recapitulando: Funções 2 Recapitulando: Função Void 3 Recapitulando: Escopo das Variáveis Referência à variável global A variável de escopo
Leia maisORDENAÇÃO E BUSCA 1. MÉTODOS DE ORDENAÇÃO
ORDENAÇÃO E BUSCA Em computação, freqüentemente, armazenamos dados que, mais tarde, precisam ser recuperados. Como veremos, a eficiência na busca de informações depende, essencialmente, da ordem em que
Leia maisAula 18 Algoritmos básicos de busca e classificação
Aula 18 Algoritmos básicos de busca e classificação Dentre os vários algoritmos fundamentais, os algoritmos de busca em tabelas e classificação de tabelas estão entre os mais usados. Considere por exemplo
Leia maisAlgoritmos de Busca em Vetores
Algoritmos de Busca em Vetores INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 busca em vetores tópicos busca linear (sequencial) busca binária referência Capítulo 17 do livro
Leia maisLinguagem Pascal. Prof. Antonio Almeida de Barros Junior
Linguagem Pascal Prof. Antonio Almeida de Barros Junior 1 Linguagem Pascal Criada para ser uma ferramenta educacional (Década de 70); Prof. Niklaus Wirth (Universidade de Zurique); Blaise Pascal (Matemático
Leia maisAulas Anteriores. Detalhes da linguagem de programação
Aulas Anteriores Detalhes da linguagem de programação Elementos básicos (identificadores, constantes, símbolos gráficos) Estrutura básica de um programa (cabeçalho, parte declarativa, parte de execução)
Leia maisRefinamentos sucessivos
Refinamentos sucessivos Objetivos: Estudar a técnica de refinamentos sucessivos Jogo: 2048 Implementaremos o jogo 2048, com o objetivo de estudar a manipulação dos elementos de uma matriz Utilizaremos
Leia maisBubble Sort. Tempo total O(n 2 )
Bubble Sort Considere uma seqüência de n elementos que se deseja ordenar. O método da bolha resolve esse problema através de várias passagens sobre a seqüência Não é um algoritmo eficiente, é estudado
Leia maisCapítulo V : A Linguagem Pascal Um Tipo Estruturado de Dados: o array 18. Para limite de n até 2 (* passagens de 1 até (n-1) *)
Capítulo V : A Linguagem Pascal Um Tipo Estruturado de Dados: o array 18 _ Métodos de Ordenamentos: Borbulhamento (BubbleSort) Estratégia: Os elementos de um vector a[1..n] estão dispostos por ordem não
Leia maisFACCAT Sistemas de Informação. Estruturas de Dados
FACCAT Sistemas de Informação Estruturas de Dados Aula 1 http://professores.faccat.br/azambuja (Estrutura de Dados) Definição de variáveis Podemos imaginar uma variável como o local onde se pode colocar
Leia maisCurso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante
14 - Vetores Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante Vetores, Matrizes e Strings 1 14.1 Vetor Problemas
Leia maisINF1007: Programação 2 6 Ordenação de Vetores. 01/10/2015 (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 6 Ordenação de Vetores 01/10/2015 (c) Dept. Informática - PUC-Rio 1 Tópicos Introdução Ordenação bolha (bubble sort) Ordenação por seleção (selection sort) 01/10/2015 (c) Dept. Informática
Leia maisDepartamento de Engenharia Rural Centro de Ciências Agrárias. Programação I
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Variáveis compostas heterogêneas Conjunto de registros Conjunto de registros Muitas vezes você precisará armazenar várias informações
Leia maisBusca. Prof. Alneu de Andrade Lopes. ICMC - USP - São Carlos
Busca Prof. Alneu de Andrade Lopes ICMC - USP - São Carlos Algoritmo de Procura Algoritmo de Procura O problema de procurar, pesquisar alguma informação numa tabela ou num catálogo é muito comum Exemplo:
Leia maisProgramação II. Busca em Vetor (search) Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Busca em Vetor (search) Bruno Feijó Dept. de Informática, PUC-Rio Busca em Vetor Problema: Entrada: vetor v com n elementos elemento d a procurar Saída m se o elemento procurado está em
Leia maisEstrutura 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
Leia maisLista 13. Program Pzim ; var dez : array [ ] of real; i:integer; Begin //lê 10 valores for i:= 1 to 10 do readln(dez[i]); //calcula
Lista 13 1) Desenvolva um programa em Pascal que receba do usuário um vetor de 10 posições, multiplique os valores em índice ímpar por 10 e divida os valores em índice par por 10. Depois apresente ao usuário
Leia maisESTRUTURA DE DADOS I AULA I
ESTRUTURA DE DADOS I AULA I PROF. ME. HÉLIO ESPERIDIÃO O que é um dado? Dado pode ser definido como a matéria-prima originalmente obtida de uma ou mais fontes (etapa de coleta). o que é a informação A
Leia maisPesquisa e Ordenação
Pesquisa e Ordenação SC121 - Introdução à Programação ICMC - USP - São Carlos Maio de 2009 Algoritmo de Procura Algoritmo de Procura O problema de procurar, pesquisar alguma informação numa tabela ou num
Leia maisAlgoritmos e Estruturas de Dados I1 Prof. Eduardo 1
Algoritmos e Estruturas de Dados I1 Prof. Eduardo 1 ORDENAÇÃO E BUSCA Ordenação: Bublesort, seleção direta e inserção direta. Busca: linear e binária 1 - ORDENAÇÃO (CLASSIFICAÇÃO) DE DADOS Em diversas
Leia maisAnalista de Sistemas S. J. Rio Preto SP 2009
INTRODUÇÃO Algumas tarefas de programação são tão comuns, que, com o passar dos anos, foram desenvolvidos algoritmos altamente eficientes e padronizados para se encarregar dessas tarefas. Ordenação é uma
Leia maisMÉTODOS DE CLASSIFICAÇÃO EM MEMÓRIA PRIMÁRIA. George Gomes Cabral
MÉTODOS DE CLASSIFICAÇÃO EM MEMÓRIA PRIMÁRIA George Gomes Cabral MÉTODOS DE CLASSIFICAÇÃO EM MEMÓRIA PRIMÁRIA Métodos Elementares Classificação por Trocas Método da Bolha Bubblesort Método de Partição
Leia maisMÉTODOS DE PESQUISA DE DADOS EM MEMÓRIA PRIMÁRIA. Material da Prof. Ana Eliza
MÉTODOS DE PESQUISA DE DADOS EM MEMÓRIA PRIMÁRIA Material da Prof. Ana Eliza Métodos de Pesquisa em Memória Primária Pesquisa Seqüencial Bases ordenadas e não-ordenadas Pesquisa Seqüencial Melhorada Bases
Leia maisALGORITMOS E ESTRUTURAS DE DADOS CES-11
ALGORITMOS E ESTRUTURAS DE DADOS CES-11 Prof. Paulo André Castro pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac IECE - ITA CAP. 5. TÉCNICAS DE ORDENAÇÃO 5.1. Introdução 5.2. Métodos
Leia maisCapítulo V : Um Tipo Estruturado de Dados: o array
Capítulo V : A Linguagem Pascal Um Tipo Estruturado de Dados: o array 1 _ Capítulo V : Um Tipo Estruturado de Dados: o array Ex1: Vector, Variável com um índice, Tabela unidimensional. var x : array [0..7]
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Apresentação da Disciplina Edirlei Soares de Lima Por que Estudar Algoritmos? Razões Práticas e Teóricas: Devemos conhecer um conjunto de algoritmos
Leia maisALGORITMOS DE ORDENAÇÃO
ALGORITMOS DE ORDENAÇÃO Prof. André Backes Conceitos básicos 2 Ordenação Ato de colocar um conjunto de dados em uma determinada ordem predefinida Fora de ordem 5, 2, 1, 3, 4 Ordenado 1, 2, 3, 4, 5 OU 5,
Leia maisAlgoritmos de Ordenação em LISP
Algoritmos de Ordenação em LISP Léo Willian Kölln 8 de Agosto de 2006 Curso de Ciências da Computação Programação Funcional - INE5363 INE - Departamento de Informática e Estatística CTC - Centro Tecnológico
Leia maisSintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida)
Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida) Não-terminais são nomes mnemônicos colocados entre parênteses angulares. Vocabulário terminal formado por
Leia maisProgramação de Computadores II. Cap. 17 Busca
Programação de Computadores II Cap. 17 Busca Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais dos profs.:
Leia maisCIC 110 Análise e Projeto de Algoritmos I
CIC 110 Análise e Projeto de Algoritmos I Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá sort AULA 02 Ordenação A classificação é um problema de design de algoritmo fundamental.
Leia maisALGORITMOS 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 pauloac@ita.br 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
Leia maisTrabalho: Algoritmos de Busca e Ordenação. 1 Introdução. Prof. Bruno Emerson Gurgel Gomes IFRN - Câmpus Currais Novos. 31 de outubro de 2012
Trabalho: Algoritmos de Busca e Ordenação Prof. Bruno Emerson Gurgel Gomes IFRN - Câmpus Currais Novos 31 de outubro de 2012 1 Introdução Os algoritmos de busca e de ordenação compreendem um conjunto de
Leia maisPesquisa e Ordenação. SCE121- Introdução a Programação. ICMC - USP - São Carlos 2009
Pesquisa e Ordenação SCE121- Introdução a Programação ICMC - USP - São Carlos 2009 Algoritmo de Procura Algoritmo de Procura O problema de procurar, pesquisar alguma informação numa tabela ou num catálogo
Leia maisConteúdo. Busca Seqüencial. Busca Binária. Algoritmos de Ordenação e Busca e sua Análise de Complexidade. Alneu de Andrade Lopes Rosane Minghim
Algoritmos de Ordenação e Busca e sua Análise de Complexidade Alneu de Andrade Lopes Rosane Minghim Introdução Busca seqüencial Busca binária Notação O(f(n)) Hierarquia de funções Selection sort Insertion
Leia maisENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO
ENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO 1. INTRODUÇÃO O que é um programa? Programa constitui uma seqüência lógica de passos para solução de um problema. Um programa pode ser codificado em
Leia maisUniversidade Federal do ABC Avaliação Disciplina Turma Professor Data Instruções para a prova (leia antes de começar): SelectionSort selectonsortrec
Universidade Federal do ABC Avaliação: Prova 02 Disciplina: BC1424 - Algoritmos e Estruturas de Dados I Turma: Noturno Professor: Jesús P. Mena-Chalco Data: 03/05/2016 Nome completo: RA: Instruções para
Leia maisAlgoritmos de Ordena??o e Busca
Algoritmos de Ordena??o e Busca September 6, 2018 In [2]: from IPython.display import HTML from IPython.display import Image 1 Algoritmos de Ordenação e Busca Nessa aula termos uma introdução aos algoritmos
Leia maisDAINF - Departamento de Informática
DAINF - Departamento de Informática Algoritmos 2 - Árvore binária de busca Prof. Alex Kutzke ( http://alex.kutzke.com.br/courses ) 30 de Novembro de 2015 Slides adaptados do material produzido pelo Prof.
Leia maisProgramação I. Departamento de Engenharia Rural Centro de Ciências Agrárias
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Prof. Bruno Vilela Oliveira bruno@cca.ufes.br http://www.brunovilela.webnode.com.br Aula 08 Programação em pascal Pascal Pascal
Leia maisAlgoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva
Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br Introdução Uma das aplicações mais estudadas e realizadas sobre arranjos
Leia maisINF111 Programação II Aulas 11, 12, 13 Ordenação
INF Programação II Aulas,, Ordenação Departamento de Informática UFV Ordenação A ordenação é o processo de organizar um conunto (vetor) de n obetos ou registros segundo uma determinada ordem crescente
Leia maisElementos básicos das linguagens de programação
Elementos básicos das linguagens de programação Objetivos: Apresentar os últimos elementos básicos das linguagens de programação Elementos básicos já estudados Entrada (read, readln) Saída (write, writeln)
Leia maisMétodos de Ordenação
Métodos de Ordenação Conceitos básicos sobre ordenação Ordenar corresponde ao processo de rearranjar um conjunto de objetos em uma ordem específica. Objetivo da ordenação: facilitar a recuperação posterior
Leia maistermo Para resolver o problema, basta construir um Módulo (procedimento) para cada uma das definições: factor termo enquanto '+' ou '-'
Capítulo VII : A Recorrência 17 _ Para resolver o problema, basta construir um Módulo (procedimento) para cada uma das definições: expressão termo termo enquanto '+' ou '-' termo escrever operador factor
Leia maisLinguagem de programação: Pascal
Aula 04 Linguagem de programação: Pascal Prof. Tecgº Flávio Murilo 26/03/2013 1 Pascal Introdução Pascal é uma linguagem de programação estruturada, criada em 1970 pelo suíço Niklaus Wirth, dando este
Leia maisEstrutura de Dados. Diego Silveira Costa Nascimento
Estrutura de Dados Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte diego.nascimento@ifrn.edu.br 31 de agosto de 2017 Ementa do Curso 1 Introdução
Leia maisLinguagem Computacional. Estruturas de Controle: Estruturas de Repetição. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves
Informática II Linguagem Computacional Estruturas de Controle: Estruturas de Repetição Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves 1 Sumário q Estruturas de Controle de Fluxo Repetição Enquanto
Leia maisEstruturas de Dados. Módulo 17 - Busca. 2/6/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 17 - Busca 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Leia maisMÉTODOS DE ORDENAÇÃO DE DADOS EM MEMÓRIA PRIMÁRIA. Material da Prof. Ana Eliza
MÉTODOS DE ORDENAÇÃO DE DADOS EM MEMÓRIA PRIMÁRIA Material da Prof. Ana Eliza Métodos de Ordenação em Memória Primária Métodos Elementares Classificação por Inserção Método da Inserção Direta Classificação
Leia maisINF1007: Programação 2 7 Busca em Vetores. 01/04/2014 (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 7 Busca em Vetores 01/04/2014 (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Busca em vetor Busca linear Busca binária 01/04/2014 (c) Dept. Informática - PUC-Rio 2 Busca em
Leia maisPesquisa. Pesquisa. Pesquisa. O problema de procurar(pesquisar) alguma informação numa tabela ou num catálogo é muito comum Exemplo:
Pesquisa Pesquisa em Vetor SSC300- Linguagens de Programação e Aplicações O problema de procurar(pesquisar) alguma informação numa tabela ou num catálogo é muito comum Exemplo: procurar o telefone de uma
Leia maisComputação I. Prof. Miguel Elias Mitre Campista.
Computação I Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Linguagens de Programação DEL-Poli/UFRJ Introdução ao Pascal Níveis de Linguagens de Programação Linguagens declarativas Linguagens
Leia maisAula 03: Análise de algoritmos melhor caso, pior caso e caso médio
Aula 03: Análise de algoritmos melhor caso, pior caso e caso médio David Déharbe Programa de Pós-graduação em Sistemas e Computação Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas
Leia maisBCC202 - 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
Leia maisProgramação de Computadores II
Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para
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 maisUNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed. 2006. Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8
unesp UNIVERSIDADE ESTADUAL PAULISTA Apostila Pascal Ed 2006 Prof Dr Galeno José de Sena DMA/FEG CAPÍTULO 8 ARQUIVOS DE DADOS EM PASCAL: ARQUIVOS SEQUENCIAIS - UMA INTRODUÇÃO 81 ARQUIVOS SEQUENCIAL E DIRETO
Leia maisUNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática
Programação 1 Prof. Osório Aula 03 Pag.: 1 UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática PROGRAMAÇÃO I AULA 03 Disciplina: Linguagem
Leia maisMé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
Leia maisTeoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.
Teoria da Computação e Algoritmos Introdução à Linguagem Pascal 1 Estrutura de um programa INÍCIO FIM. PROGRAM END.
Leia maisLinguagens de Programação
Linguagens de Programação Paradigma Imperativo Matheus Hafner Tiago Xavier CET 087 - Conceitos de Linguagens de Programação (CLP) 10 de novembro de 2011 Sumário 1 Introdução 2 Paradigma imperativo Modelo
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 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 maisMÉTODOS DE ORDENAÇÃO. Introdução à Programação SI2
MÉTODOS DE ORDENAÇÃO Introdução à Programação SI2 2 Conteúdo Conceitos básicos Classificação por troca Classificação por inserção Classificação por seleção 3 Conceitos Básicos Ordenar: processo de rearranjar
Leia maisProf. A. G. Silva. 25 de abril de Prof. A. G. Silva INE5231 Computação Científica I 25 de abril de / 68
INE5231 Computação Científica I Prof. A. G. Silva 25 de abril de 2017 Prof. A. G. Silva INE5231 Computação Científica I 25 de abril de 2017 1 / 68 Conteúdo programático O computador - [3 horas-aula] Representação
Leia maisAlgoritmos de Ordenação. Profº Carlos Alberto T. Batista
Algoritmos de Ordenação Profº Carlos Alberto T. Batista E-mail: carlos.batista@facape.br carlos36_batista@yahoo.com.br Por que ordenar os dados? Encontrar elementos em uma lista torna-se algo simples e
Leia maisComplexidade de Algoritmos
Complexidade de Algoritmos Complexidade de Algoritmos Definição A Complexidade de um Algoritmo consiste na quantidade de trabalho necessária para a sua execução, expressa em função das operações fundamentais,
Leia maisMódulo 16 - Ordenação
Estruturas de Dados Módulo 16 - Ordenação 15/05/2013 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus
Leia maisMÉTODOS DE ORDENAÇÃO. Introdução à Programação SI1
MÉTODOS DE ORDENAÇÃO Introdução à Programação SI1 2 Conteúdo Conceitos básicos Classificação por troca Classificação por inserção Classificação por seleção 3 Conceitos Básicos Ordenar: processo de rearranjar
Leia maisb) Quantos bits são necessários para o registrador de instruções?
Prova de Conhecimentos Específicos a QUESTÃO: (, ponto) Formato de Instruções Considere um microprocessador hipotético de 2 bits com instruções de 2 bits compostas por dois campos: o primeiro byte contém
Leia mais5. 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
Leia maisMarcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia
Introdução à Análise de Algoritmos Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia Aula de hoje Nesta aula veremos: Sobre a disciplina Exemplo: ordenação Sobre a disciplina
Leia maisAula 19: Métodos eficientes de ordenação
Algoritmos e Estruturas de Dados I Aula 19: Métodos eficientes de ordenação (Merge sort e Quick sort) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2019 1 Intercalando 2 vetores ordenados 2 Intercalando
Leia mais