Mario tarado9

Disponível somente no TrabalhosFeitos
  • Páginas : 9 (2018 palavras )
  • Download(s) : 0
  • Publicado : 16 de abril de 2012
Ler documento completo
Amostra do texto
ESCOLA SECUNDÁRIA DE LEAL DA CÂMARA
Curso Profissional
Técnico de Gestão e Programação de Sistemas Informáticos

Disciplina de
Programação e Sistemas de Informação

Algoritmo de Pesquisa e Ordenação em Vetores

Vinicius Andrade, Nº17 10ºP2
Mário Rodrigues, Nº 12 10ºP2

Professora : Natacha Gonçalves Pereira

Índice
Índice 2
Capítulo 1 2
Introdução 2
Capítulo 2 3
Pesquisa emVetores 3
Capitulo 3 6
Algoritmos de Ordenação em Vetores 6
Capitulo 6 14
Referências e Bibliografia 14

Capítulo 1
Introdução
O objectivo deste trabalho é enunciar os métodos de pesquisa e ordenação em vectores. São muito úteis em programas como a procura de um determinado dado, etc.
Existem uns mais eficientes, outros mais lentos, uns mais fáceis de escrever outros nem por isso.Capítulo 2
Pesquisa em Vetores

A pesquisa em vectores consiste na verificação da existência de um determinado valor dentro de um vector, e, em caso afirmativo, da posição da ocorrência. Veremos dois métodos de pesquisa bastante difundidos: Pesquisa Sequencial e Pesquisa Binária.
 
      Método de Pesquisa Sequencial:
            A pesquisa sequencial, ou linear, é o método utilizado paraencontrar um elemento particular num vector não classificado, isto é, cujos elementos não estão ordenados segundo qualquer critério.
            Esta técnica consiste em comparar, sequencialmente, cada índice do vector com um certo valor procurado, até que este seja encontrado, ou seja atingido o final do vector.
  

#include "stdafx.h"
#include <iostream>
using namespace std;

intprocura(char vetor[], int tamanho, char elementoProcurado) {
int i;
for (i = 0; i < tamanho; i++) {
if (vetor[i] == elementoProcurado) {
return i+1;
}
}

return -1;
}

int _tmain(int argc, _TCHAR* argv[])
{int tamanho,i; char v[100], ep;
cin>>tamanho;
cin>>ep;
for(i=0; i<tamanho; i++)
cin>>v[i];cout<< procura(v,tamanho, ep);
system ("pause");
return 0;
}

      Método de Pesquisa Binária:
           
            Quando os elementos de um vector estão previamente ordenados (classificados) segundo algum critério, então, técnicas mais eficientes de pesquisa podem ser empregadas.
Entre elas destaca-se o método de pesquisa binária.
            Seu funcionamento baseia-se noprincípio de reduzir à metade, sucessivamente, o “universo de busca”. Desse princípio resulta sua eficiência.
            Em detalhes:
 
      Determinar o elemento que está no meio do vector e compará-lo com o valor procurado (Val). Se o elemento central for igual a Val, a pesquisa termina;
      Se for menor que Val, a pesquisa continuará na metade superior (a inferior será descartada);      Já se o elemento central for maior que Val, continua-se a pesquisa somente na metade inferior do vector;
      E assim sucessivamente... 
#include "stdafx.h"
#include <iostream>
using namespace std;

int pesqbin ( int vector[], int chave , int n)
{
int inf = 0, sup = n-1, meio;


do
{
meio = inf + (sup-inf)/2;
if (chave == vec[meio])return meio;
else if (chave < vec[meio])
sup = meio-1;
else
inf = meio+1;
}
while (inf <= sup);

return -1;
}
int _tmain(int argc, _TCHAR* argv[])
{int vector[50], n, chave, i;
do
{
cout<<"INTRODUZA O NUMERO DE ELEMENTOS (DE 0 A 50)\n";
cin>>n;
if ((n>50)||(n<0))
{cout<<"\n"<<n<<" NAO E UM NUMERO VALIDO\n\n";
cout<<"LIMITE MAXIMO PERMITIDO: DE 0 A 50\n\n";
cout<<"TENTE NOVAMENTE\n";
fflush(stdin);
getchar();
system("cls");
}
}
while ((n>50)||(n<0));
cout<<"INTRODUZA O NUMERO QUE DESEJA PROCURAR\n";
cin>>chave;
for(i=0;i<n;i++)
cin>>vector[i];
cout<<pesqbin(vector,chave,n);...
tracking img