Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Humberto Filho32

Trabalho de Estruturas de Dados

Recommended Posts

Preciso de alguém para fazer um trabalho de Estruturas de Dados na linguagem C, pago bem para o interessado. 

Segue o enunciado do trabalho:

1.Introdução

Este trabalho consiste em criar um sistema para gerenciar o controle de trafego de avioes do Aeroporto Internacional Marechal Rondon, denominado Sistema de Controle de Trafego Aereo (SCTA). O SCTA deve realizar o controle de decolagens e aterrissagens em tres pistas, onde uma é reservada para decolagens e outras duas para aterrissagens. O objetivo do SCTA é gerenciar o trafego aereo de modo a evitar que aconteçam acidentes e minimizar atrasos. Para isso, por meio de simulaçoes, voce deve definir um algoritmo que gerencie as filas de espera e determinar um criterio para uma aeronave ser considerada em situaçao crıtica.

2.Cenário

O objetivo deste trabalho é simular os padrões de aterrissagem e decolagem no Aeroporto Internacional Marechal Rondon. Suponha que esse aeroporto possua tres pistas, numeradas como 1, 2 e 3. Existem duas filas de espera, uma para aterrissagem e outra para decolagem. Aeronaves que se aproximam do aeroporto solicitam autorização para aterrissagem e aguardam autorizaçao. O mesmo se aplica as decolagens. O tempo necessário para uma decolagem ou aterrissagem é de quinze minutos. As pistas 1 e 2 são reservadas para aterrissagem, enquanto que a pista 3 é dedicada exclusivamente para decolagem, salvo em situaçoes de urgencia. As pistas 1 e 2 devem ser utilizadas de forma balanceada. Assim que um aviao entra em uma fila, de aterrissagem ou decolagem, ele recebe um numero de identificaçao (ID) e o horario previsto em que sua aterrissagem ou decolagem acontecera. Ao solicitar autorizaçao para aterrissagem, o piloto informa a quantidade de combustıvel disponiıvel no aviao e, caso ele esteja em situaçao crıtica, ele deve ter prioridade na aterrissagem, do contrario, seu combustıvel termina e ele cai, causando um acidente. Acidentes devem ser fortemente evitados. Atrasos devem ser evitados, mas sao tolerados. Considere que o Aeroporto Internacional Marechal Rondon realiza voos com destino e origem: • Rondonopolis (RON) • Sinop (SIN) • Alta floresta (ALF) • Lucas do Rio Verde (LRV) • Brasılia (BRS) • Belo Horizonte (BH) • Sao Paulo (SP) • Rio de Janeiro (RJ) • Santa Cruz de La Sierra (SCLS) • Buenos Aires (BA) e • Assunçao (ASS).

3.Desenvolvimento

Para todas as partes do trabalho, voce deve utilizar os TADs apresentados em sala de aula (pilhas, filas ou listas), de forma que apresente melhor desempenho para a aplicaçao em questao. Caso ache necessario, voce pode modificar os TADs. Qualquer que seja sua escolha, o TAD utilizado deve ser implementado por apontadores, com alocaçao dinamica de memoria. Os detalhes relacionadas a simula¸cao sao apresentados a seguir.

3.1 Simulação

Seu programa deve simular o controle de trafego aereo durante um determinado dia, que se inicia a meia noite e termina no maximo as 23:59. O tempo de simulaçao é medido em unidades e a quantidade limite de simulaçoes, denominada n, deve ser definida pelo usuario ao iniciar o programa. Cada unidade de tempo equivale a 15 (quinze) minutos no cenario simulado e 1 (um) segundo no mundo real. Dessa forma, uma simulaçao tem no maximo 96 unidades de tempo. Gere solicitações de aterrissagem e decolagem de forma aleatoria. A cada unidade de tempo, de zero a tres [0..3] aeronaves podem solicitar autorizaçao de decolagem e de zero a quatro [0..4] aeronaves podem solicitar autorizaçao de aterissagem. Uma aeronave gasta uma unidade de tempo para decolar ou aterrisar. A cada unidade de tempo, seu programa deve informar a hora atual e os horarios previstos de aterrissagem e decolagem e, caso houver atraso, o novo horario previsto. A hora atual a ser exibida na simulaçao se inicia a meia-noite e deve ser atualizada a cada unidade de tempo ate um determinado limite de simulaçoes. Ao solicitar autorizaçao para aterrissagem, a aeronave deve informar a quantidade de combustıvel, que é medido em unidades, e varia entre um e oito [1..8]. Esse valor é definido de forma aleatoria. Caso uma aeronave nao aterrisse e fique com nıvel de combustıvel igual a zero, havera um acidente. Voce deve determinar um valor α para que o estado de uma aeronave seja considerado crıtico, de forma a evitar acidentes e minimizar o atraso nos vˆoos. Ou seja, qualquer aeronave com nıvel de combustıvel abaixo de α ´e considerada em estado critico e deve ser tratada de forma diferenciada. Ao fim de todas as açoes, a cada unidade de tempo as aeronaves tem seu nıvel de combustıvel diminuıdo em 1 (uma) unidade. A pista 3 em geral só é usada para decolagens, a nao ser que um dos avioes apresente nıvel crıtico de combustıvel (menor que α), quando entao ela deve ser imediatamente usada para pouso. Com isso, os voos previstos para decolagem sao atrasados. Se apenas uma aeronave esta com falta de combustıvel, ela pousara na pista 3; se mais de um aviao estiver nessa situaçao, as outras pistas poderao ser utilizadas, atrasando os voos previstos para pouso. Voce deve propor um algoritmo que evite um acidente e minimize a quantidade de voos atrasados. A seguir, a ordem em que as açoes sao realizadas: 1. SCTA recebe as solicitaçoes de pousos e decolagens, que sao inseridas nas filas de espera; 2. SCTA autoriza pousos e decolagens das aeronaves, que sao retiradas das filas de espera; 3. Tempo é incrementado em uma unidade; 4. Combustıvel das aeronaves é decrementado em uma unidade (inclusive das aeronaves que pousaram); 5. SCTA imprime informaçoes sobre pousos e decolagens. Como ID de cada aeronave, utilize numeros inteiros pares para as aeronaves que solicitarem autorizaçao de aterrissagem e numeros ımpares para decolagem. Tente projetar um algoritmo que nao permita o crescimento excessivo das filas de aterrissagem ou decolagem e que evite atrasos e acidentes. Coloque as solicitaçoes de decolagem/aterrissagem sempre no final das filas, exceto em casos de situaçao critica. A cada unidade de tempo, o SCTA deve indicar as decolagens e aterrissagens, informando: • Origem (em caso de aterrissagem) ou destino (em caso de decolagem); • Horario previsto; • Situaçao (Confirmado, Previsto ou Atrasado); • Novo Horario (caso houver atraso). Determine tres valores de α e realize simulaçoes com 32, 48, 64 e 96 unidades de tempo. Mostre por meio dos resultados qual a melhor escolha de α. Para cada simulaçao, informe na documentaçao: • Numero de avioes que aterrisaram; • Numero de avioes que decolaram; • Tempo medio de espera para decolagem; • Tempo medio de espera para aterrissagem; • Numero de avioes que aterrissaram sem reserva de combustivel (nivel zero); • Numero de voos atrasados; e • Numero de acidentes. Ao atingir o limite n de simulaçoes, o SCTA para de receber solicitaçoes de decolagem e aterrissagem, mas continua a simulaçao ate esvaziar as listas de espera.

4. Documentacão

Obrigatoriamente a documentaçao deve conter: 1. Introduçao: descriçao do problema a ser resolvido e visao geral sobre o funcionamento do programa. 2. Desenvolvimento: descriçao do funcionamento das principais funçoes e procedimentos utilizados, o formato de entrada e saıda de dados, bem como decisoes tomadas relativas aos casos e detalhes de especificaçao dos algoritmos utilizados. 3. Compilaçao e Execuçao: descriçao de como como compilar o codigo-fonte, bem como a sua execuçao. 4. Testes: descriçao e resultados dos testes que foram executados. 5. Conclusao: comentarios gerais sobre o trabalho e as principais dificuldades encontradas em sua implementaçao. Comentarios sobre o algoritmo utilizado bem como o criterio α. 6. Bibliografia: bibliografia utilizada para o desenvolvimento do trabalho, incluindo livros e/ou sites da internet se for o caso, seguindo padrao ABNT.

5. Material a ser entregue

Documentação (50%)

Código fonte compilando no Linux em C.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.