Estrutura de dados
Por: Nicolik • 6/6/2015 • Projeto de pesquisa • 6.272 Palavras (26 Páginas) • 300 Visualizações
SUMÁRIO
Introdução...................................................................................................................2
Relatórios:
1 Estrutura de dados..................................................................................................3
2 Lista Ligadas............................................................................................................4
3 Filas e Pilhas............................................................................................................5
Código do sistemas...................................................................................................6
[pic 1]
INTRODUÇÃO
O desafio proposto é apresentar uma solução computacional baseada em Estrutura de Dados. Essa empresa necessita de um sistema que permita controlar a lista de voo diários e de passageiros por voos, realize a reserva de assentos e liberação para taxiamento das aeronaves. Para solucionar esse desafio foi criado um código onde há implementações de estruturas, e criações de funções onde permite cadastro de voos, de modo dinâmico e permite também a inserção de valores.
RELATORIO 1 – ESTRUTURA DE DADOS
Estrutura de dados em é a organização de dados e algoritmo de forma racional de modo a melhorar o seu uso. O modo como um conjunto de dados está organizado e como as operações são efetuadas pode-se solucionar os problemas de forma simples.
Há inúmeros modelos de estruturas de dados, os modelos variam de acordo com a evolução dos algoritmos e das linguagens de programação. Para ter noção sobre o conceito devemos entender o conceito de algoritmos, pois algoritmo manipulam dados.
Os dados quando organizados de forma coerente representam uma estrutura de dados. Às vezes é difícil escolher uma estrutura de dados para determinada solução. As pesquisas sobre estruturas de dados estão em constante desenvolvimento, além disso, existem estruturas que tem se mostrado padrão.
RELATORIO 2 – LISTA LIGADAS (LISTA ENCADEADA)
É uma estrutura de dados linear e dinâmica. Ela é feita por variáveis que apontam para o próximo elemento da lista. Para formar uma lista ligada, basta seu primeiro elemento, e seu elemento aponta para uma variável nula.
Para inserir ou remover dados é necessário ter um ponteiro que aponte para o 1° elemento e outro que aponte para o fim, para podemos alterar rapidamente os dados.
RELATORIO 3 – FILAS E PILHAS
O funcionamento de uma pilha consiste uma estratégia chamada “último a entrar, primeiro a sair”. Além disso, o único elemento que pode acessar na pilha é o elemento do topo dela (o último a ser empilhado), podemos implementar uma pilha utilizando vetores, aonde os elemento serão armazenados, ocupando as primeiras posições do vetor. Dessa forma, se temos n elementos armazenados na pilha, o elemento vet [n-1] representa o do topo. A função que cria a pilha aloca dinamicamente e inicializa a pilha como sendo vazia, ou seja, com o número de elementos igual a zero. A função de remoção retira um elemento e retorna esse elemento.
O que diferencia a fila da pilha é a ordem de saída dos elementos. Na pilha o elemento retirado é sempre o último a entrar, na fila é retirado o primeiro elemento a entrar. É como uma fila de banco por exemplo, o atendimento é por ordem de chegada, a primeira a ser atendida é a primeira a chegar. Mais uma vez, para simplificar, implementa se uma fila a partir de um vetor.
Com a ideia central da fila, ao usarmos um vetor para implementação da fila, percebemos que, quando retiramos elementos dela, a fila “anda” no vetor, pois ao retirar elemento da fila, o índice do vetor que representa o topo da fila se altera.
CÓDIGO DO SISTEMA
#include
#include
#include
struct aviao{
char modelo[40];
char fabricante[40];
int passageiros;
char comprimento[20];
char altura[20];
int velocidade;
float altitude;
char motor[40];
};
typedef struct aviao aviao;
//////////////////////////////////////////////////////////////
struct voo{
int num_voo;
char date_voo[30];
char hora_voo[10];
char aero_Saida[40];
char aero_Chegada[40];
char rota[200];
float time_esti_voo;
int passag_bordo;
struct voo *prox;
};
struct voo *vooa_ini,*vooa_final; // VARIAVEL PONTEIRO PARA A STRUCT VOO
//////////////////////////////////////////////////////////////
struct passagem{
int num_Passagem;
int num_voo;
char data_Emb[30];
char hora_Embarque[30];
int portao_Embarque;
struct passagem *prox;
};
struct passagem *psg_ini,*psg_final; // VARIAVEL PONTEIRO PARA A STRUCT PASSAGEM
//////////////////////////////////////////////////////////////
typedef struct taxiamento{
int num_voo;
char modelo_aeronave[40];
char empresa[30];
char hor_Saida[20];
struct taxiamento *prox;
} Taxiamento;
Taxiamento *ini = NULL;
Taxiamento *final = NULL;// VARIAVEL PONTEIRO PARA A STRUCT TAXIAMENTO
//////////////////////////////////////////////////////////////
typedef struct bagagem
{
int cod_Bagagem;
int num_Passagem;
int num_voo;
char data_Ebq[20];
char hor_Ebq[20];
int prt_Ebq;
struct bagagem *prox;
}Bagagem;
Bagagem *atual = NULL; // VARIAVEL PONTEIRO PARA A STRUCT BAGAGEM
...