Вы находитесь на странице: 1из 6

ETAPA 1

Relatrio 1 - Pesquisa de Dados


Passo 1
Foi realizada a leitura das bibliografias informadas para que o assunto fosse melhor
entendido.
Passo 2
Realizar, baseados nas leituras do Passo 1 e no algoritmo 1, uma bateria de 1000
nmeros inteiros
// Algoritmo 1 - Gerador de nmeros inteiros aleatrios
// A funo RandomInteger devolve um inteiro aleatrio entre low e high inclusive, ou
seja, //no intervalo fechado low..high.
#include"stdio.h"
#include"conio.h"
#include"stdlib.h"
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;
}

#define MIN 1 //definio de constante mnima


#define MAX 1000 //definio de constante mxima
int main(){
//declarao de variveis
int l=MIN,h=MAX; // Variveis de valor menor e maior,
int num; //Varivel do numero gerado

int i; //Varivel de controle de repetio;


printf("\n\n\t\t\tGERADOR DE NUMEROS ALEATORIOS\n\n\n\n");
for(i=0;i<h;i++){
num=RandomInteger(l,h); //Chama a funo RandomInteger
printf("Numero: %d \n", num);
}
printf("\n\n\n");
system("pause");
return 0;
}

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"

#define MIN 1 //definio de constante mnima

#define MAX 1000 //definio de constante mxima


#define VETOR 1000 //definio de constante do numero de vetor que totaliza o cadastro de
residncias
struct Residencia{
char rua[25];
int numCasa;
int numMedidor;
int medidaConsumo;
} vetResidencias[VETOR];
int RandomInteger (int low, int high);
int BuscaLinear(struct Residencia medidaConsumo, int tamanho, int elemento);
int main(){
//declarao de variveis
int l=MIN,h=MAX; // Variveis de valor menor e maior,
int i; //Varivel de controle de repetio;
int elemento=0; //Varivel de busca
int escolha=0;

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:

Mtodos de Ordenao por meio de seleo e troca.


Mtodos de Ordenao por distribuio.
Mtodos de Ordenao por insero.
Mtodos de Ordenao por intercalao

Passo 3

Вам также может понравиться