ATIVIDADE PRÁTICA SUPERVISIONADA CLASSIFICACÃO E PESQUISA
Por: Kleber.Oliveira • 6/3/2018 • 1.178 Palavras (5 Páginas) • 351 Visualizações
...
int k;
double d;
d = (double) rand () / ((double) RAND_MAX + 1);
k = d * (high - low + 1);
return low + k;
}
main(){
int i, MAX=1000;
int vetor[1000];
/* Inserir valores aleatórios de 1 a 1000 dentro do vetor*/
for(i=0;i
vetor[i]=RandomInteger (0,999);
}
/* Mostrar valores aleatórios de 1 a 1000 dentro do vetor*/
printf("\n\tBateria de Numeros Aleatorios\n\n");
for(i=0;i
printf("%d...", vetor[i]);
}
getch();
}
2.1.2- Demonstração de execução do programa
Programa feito para fazer uma bateria de mil números aleatórios. Ao ser aberto ele exibirá os números aleatórios gerados pela função RandomInteger conforme mostra a imagem a seguir:
[pic 3]
Construir a estrutura de dados que serão utilizados na pesquisa de dados. Para que seja possível testar os modos de pesquisa estudados na disciplina, sua equipe deve construir uma estrutura de dados que represente uma medição realizada em uma residência, conforme estrutura do algoritmo 2 apresentado a seguir. Em seguida modelar um vetor de estruturas que representará 1000 residências, utilizando como valores de medidas os valores gerados pelo Passo 2 desta atividade com o Algoritmo 1.
[pic 4]
2.2-Programa que implementa o algoritmo de busca sequencial
2.2.1-Código fonte programa busca sequencial:
#include
#include
/*BUSCA Sequencial*/
int MAX=1000, contador;
struct Residencia{
char rua[25];
int numCasa; numMedidor;
float medidaConsumo; }vetResidencias[1000];
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;
}
main(){ int i;
/* Inserir valores aleatórios de 1 a 1000 dentro do vetor*/
for(i=0;i
vetResidencias[i].numCasa = RandomInteger ('A','Z');
vetResidencias[i].numMedidor = RandomInteger (1000,9999);
vetResidencias[i].medidaConsumo = RandomInteger (1,10000);
}
printf("\nCadastro de casas");
for(i=0;i
printf("\n\n Numero medidor: %d", vetResidencias[i].numMedidor);
printf("\n Numero da casa: %d", vetResidencias[i].numCasa);
printf("\n Medida de Consumo: %.2f", vetResidencias[i].medidaConsumo);
printf("\n_____________________ _ _ _ __");
}
void buscaSequencial(){
int i=0, x, cont=0, aux=0;
printf("\n\n Digite o Codigo do medidor que deseja buscar:\n->");
scanf("%d",&x);
while(i
if(x==vetResidencias[i].numMedidor){system("cls");
printf("\n\n ENCONTRADO!");
printf("\n Numero medidor: %d", vetResidencias[i].numMedidor);
printf("\n Numero da casa: %d", vetResidencias[i].numCasa);
printf("\n Medida de Consumo: %.2f", vetResidencias[i].medidaConsumo);
cont++; aux=1; } i++;
}
if(cont==0){ system("cls") ;printf("\n\n\tRegistro nao encontrado!!!"); }}
buscaSequencial();
printf("\n\n Numero de comparacoes:%d", contador);
getch(); }
2.2.2-Demonstração de execução:
O programa exibirá na tela os cadastros das casas. Para este programa aderimos a informação do medidor para objeto da busca. O programa pedirá para que seja informado o código do medidor do qual se quer obter as informações como mostra a imagem a seguir:
[pic 5]
Depois de ter entrado com o dado de busca desejado, se achado o programa informará que o registro foi encontrado e mostrará as informações referentes ao número do medidor e o número de comparações que foram feitas pelo mecanismo de pesquisa sequencial conforme a imagem a seguir:
[pic 6]
Caso não exista o registro o programa informará que não foi encontrado, exibindo também o número de comparações feitas pelo mecanismo de pesquisa sequencial assim
...