TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

ATPS Classificação e Pesquisa

Por:   •  5/5/2015  •  Trabalho acadêmico  •  2.322 Palavras (10 Páginas)  •  474 Visualizações

Página 1 de 10

[pic 2][pic 3]


[pic 4][pic 5][pic 6]

Relatório 1 – Pesquisa de dados

Com base nos passos solicitados pela etapa 1 e 2 da ATPS da matéria de Classificação e Pesquisa, atividade proposta pela prof. Dra Rute Dias de Freitas Queiroz realizei o desenvolvimento do código em C devidamente comentado, estruturado e identado para facilitar o entendimento do leitor.

O arquivo .C do código pode ser baixado pelo endereço:  http://goo.gl/R0T2J8

O código abaixo foi estruturando dividindo todas as funcionalidades básicas descritas no cabeçalho do programa que segue:

/*

********************************************************************************

    Etapa 1 da ATPS de Classificação e Pesquisa

    Prof. Rute

    Aluno:                           RA:

   

   

    Descrição:

    Geração de números aleatórios e preenchimento em um vetor com esses números.

    Foi adicionado um menu a função principal(main) para que o usuário tenha

    mais facilidade para testes.

   

    O código foi devidamente identado e separado entre declarações e funções:

    - Declaração de bibliotecas primárias de input, output e a time, necessária

      para o uso de funções de geração de números aleatórios.

    - Constantes gerais, como qtdade de casas, min e max dos n.aleatorios.

    - Declaração da estrutura e variáveis.

    - Função geradora de números inteiros aleatórios

    - Função que ordena o vetor criado

    - Função preenchedora do vetor

    - Função que mostra apenas 1 vetor

    - Função que mostra todos vetores

    - Função que faz a busca binária

    - Função que faz a busca sequencial

    - Função principal

********************************************************************************

*/

//Declaração de bibliotecas primárias

#include

#include

#include

// Constantes

#define QTD_CASAS 1000

#define MIN 15

#define MAX 500

// Declaração da estrutura e variável vetor dessa estrutura;

typedef struct Residencia tipoResidencia;

struct Residencia{

    char rua[25];

    int numCasa;

    int numMedidor;

    float medidaConsumo;

};

tipoResidencia vetResidencias[QTD_CASAS];

// Função geradora de números inteiros aleatórios

int RandomInteger (int low, int high){

    int k;

    double d;

    d = (double) rand () / ((double) RAND_MAX + 1);

    k = d * (high - low + 1);

    return low + k;

 }

// Função que odena Vetor criado

void ordena_Vetor(){

   int i, j, min;

   tipoResidencia x;

   for (i = 0; i < QTD_CASAS-1; ++i) {

      min = i;

      for (j = i+1; j < QTD_CASAS-1; ++j)

         if (vetResidencias[j].numMedidor < vetResidencias[min].numMedidor)  min = j;

      x = vetResidencias[i]; vetResidencias[i] = vetResidencias[min]; vetResidencias[min] = x;

   }

}

// Função preenchedora do Vetor

void preencheVetor(){

  int i;

  for(i=0; i<=QTD_CASAS-1; ++i){

      sprintf(vetResidencias[i].rua, "Rua %d", i);

      vetResidencias[i].numCasa=i;

      vetResidencias[i].numMedidor=RandomInteger(MIN,MAX);

      vetResidencias[i].medidaConsumo = i;  

  }

  ordena_Vetor();

 }

 //Função que mostra apenas 1 vetor

 void visualiza_Vetor(int indice){

         printf("\n------------------------------------------");

         printf("\n Öndice Vetor:\t %d", indice);

         printf("\n Rua:\t\t         %s ",vetResidencias[indice].rua);

         printf("\n numCasa:\t      %d ",vetResidencias[indice].numCasa);

         printf("\n numMedidor:\t   %d ",vetResidencias[indice].numMedidor);    

         printf("\n medidaConsumo:\t %d ",vetResidencias[indice].medidaConsumo);        

         printf("\n------------------------------------------");

 }

// Função que mostra todos vetores

 void visualiza_todos_Vetores(){

  int i;    

  for (i=0; i<=QTD_CASAS-1; ++i){

      visualiza_Vetor(i);

  }

 }

// Função de busca binária

int buscaBinaria( int n_buscado) {

 int var_esquerda, pto_medio, var_direita, i;

     // define a esquerda e a direta como sendo as 'pontas' do vetor

     var_esquerda = 0;

     var_direita = QTD_CASAS-1;

       

     for(i=0; i=QTD_CASAS-1; i++) printf("[ %d ]", vetResidencias[i]);

     printf("\nValor buscado: %d \t Tamanho do vetor: %d",n_buscado,QTD_CASAS);  

      //repetira o procedimento até que a ponta da esquerda coincida com a da direita

         while (var_esquerda <= var_direita) {

               //encontra ponto medio

               pto_medio = (var_esquerda + var_direita)/2;

...

Baixar como (para membros premium)  txt (8.8 Kb)   pdf (172.1 Kb)   docx (335.8 Kb)  
Continuar por mais 9 páginas »
Disponível apenas no TrabalhosGratuitos.com