Академический Документы
Профессиональный Документы
Культура Документы
Passo 3
Construir a estrutura de dados que sero utilizados na pesquisa de dados. Para que seja
possvel testar os modos de pesquisa estudados na disciplina, sua equipe deve construir uma
estrutura de dados que represente uma medio realizada em uma residncia, conforme
estrutura do algoritmo 2 apresentado a seguir. Em seguida modelar um vetor de estruturas que
representar 1000 residncias, utilizando como valores de medidas os valores gerados pelo
Passo 2 desta atividade com o Algoritmo 1.
Com a implementao da estrutura que representa a leitura de 1000 residncias, realizar um
conjunto de testes com os seguintes algoritmos de pesquisa de dados:
Busca de dados lineares - pesquisa de dados sequencial - disponvel na pgina 155 do
PLT da disciplina;
Busca de dados binrios - pesquisa de dados de forma binria - disponvel na pgina
157 do PLT da disciplina.
// Algoritmo 2 - Definio de uma struct que representa uma
// residncia (respectivamente, uma leitura de consumo).
#include"stdio.h"
#include"conio.h"
#include"stdlib.h"
printf("\n\n\t\t\tMEDIDOR DE CONSUMO\n\n\n\n");
//lao de repetio de preenchimento dos cadastros
for(i=1;i<=VETOR;i++){
printf("Digite Nome da Rua: ");
scanf("%s", vetResidencias[i].rua);
printf("Digite o Numero da casa: ");
scanf("%d", &vetResidencias[i].numCasa);
printf("Digite o Numero do medidor: ");
scanf("%d", &vetResidencias[i].numMedidor);
printf("\nCADASTRO EFETUADO.");
printf("\n\n");
}*/
printf("RELATORIO DE CADASTRO");
//Lao de repetio de impresso dos cadastros
for(i=1;i<=VETOR;i++){
vetResidencias[i].medidaConsumo=RandomInteger(l,h);
printf("\n\n\nCADASTRO %d\nRua: %s, Num.: %d - Medidor: %d\nValor Medido:
%d", i, vetResidencias[i].rua, vetResidencias[i].numCasa, vetResidencias[i].numMedidor,
vetResidencias[i].medidaConsumo);
printf("\n");
}
printf("\n\n\n\n");
do{
printf("Digite o valor a ser procurado: ");
scanf("%d", &elemento);
printf("\n\n\n\t\t\tMedida a ser procurada: %d", elemento);
BuscaLinear(vetResidencias[VETOR], VETOR, elemento);
printf("\n\n\n\n\nDeseja fazer outra busca?\n\t1 - SIM\n\t2 - NAO\n\nDigite a opcao
desejada: ");
scanf("%d", &escolha);
if (escolha!=1 && escolha !=2){
printf("Opcao invalida");
do{
printf("Opcao invalida");
printf("\n\n\n\n\nDeseja fazer outra busca?\n\t1 - SIM\n\t2 - NAO\n\nDigite a opcao
desejada: ");
scanf("%d", &escolha);
}while(escolha!=1 && escolha!=2);
}
} while (escolha==1);
printf("\n\n\n");
system("pause");
return 0;
}
//funo que gera nmeros aleatrios para o valor de medio
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;
}
//funo de busca
int BuscaLinear(struct Residencia medidaConsumo, int tamanho, int elemento){
int i;
for (i = 1; i <= tamanho; i++) {
if (vetResidencias[i].medidaConsumo == elemento) {
return printf("\n\n\nMedida existe no cadastro: %d\n\n\nCADASTRO %d\nRua: %s,
Num.: %d - Medidor: %d\nValor Medido: %d",
i, i,
vetResidencias[i].rua,vetResidencias[i].numCasa,vetResidencias[i].numMedidor,vetResidenci
as[i].medidaConsumo);
}
}
return printf("\n\n\nMedida nao existe");
}
ETAPA 2
Passo 1
Foi realizada a leitura das bibliografias informadas para que o assunto fosse melhor
entendido.
Passo 2
Foi feira uma discusso em equipe e tomamos nota dos principais diferenciais entre os
mtodos de ordenao apresentados na leitura realizada, focando nos seguintes mtodos de
ordenao:
Passo 3