Você está na página 1de 3

INSTITUTO SUPERIOR DE ENGENHARIA DO PORTO

DEPARTAMENTO DE ENGª INFORMÁTICA

Trabalho Prático da Disciplina de Estruturas de Informação


1º Semestre Ano Lectivo 2010/2011
_______________________________________________________________________

Pretende-se com este trabalho especificar e modelar uma rede de distribuição. De um modo
geral, as redes de distribuição são constituídas por:
1. Um conjunto de armazéns que fazem a armazenagem e expedição de mercadorias;
2. Um conjunto de lojas que solicitam mercadorias;
3. Um conjunto de rotas que ligam os diferentes armazéns e lojas;
4. Um conjunto de camiões que permitem o transporte das mercadorias dos armazéns para as
lojas, através das rotas.

Cada loja é identificada por uma chave, tem uma designação e coloca requisições de mercadoria
em Kgs. Os armazéns são também identificados por uma chave, possuem uma designação e são
detentores de vários camiões, cada qual com uma capacidade limitada. A capacidade de
expedição dos armazéns está limitada ao número de camiões do mesmo. As rotas ligam as lojas e
os armazéns entre si, sendo conhecidas todas as distâncias em kms entre as mesmas.

Aproveitando as facilidades oferecidas pelo paradigma da orientação aos objectos, o trabalho


deverá ser realizado de forma incremental — começando com as classes mais simples até se
chegar ao sistema final. É importante testarem as diferentes classes à medida que as
desenvolvem. Serão assim estabelecidos os seguintes objectivos intermédios a alcançar.

1ª Parte Cotação: 40%

1. Desenvolva as classes necessárias que lhe permitam gerir a rede de distribuição acima
descrita. Para cada classe deverão ser desenvolvidos os construtores, o destrutor, os métodos
para actualização/acesso aos membros de dados privados, a sobrecarga dos operadores
igualdade (==), maior (>) atribuição (=) e stream out (<<).

2. Elabore um método externo às classes para inserir toda a informação necessária ao projecto, a
partir de vários ficheiros de texto, em várias estruturas dinâmicas. Assim pretende-se que as
lojas e os armazéns sejam carregados para uma lista ligada e as distâncias entre lojas e
armazéns sejam armazenados numa matriz dinâmica. A informação nos ficheiros encontra-se
estruturada do seguinte modo:
Fx1:
KeyLoja1,DescrLoja1,Qnt_enc
KeyLoja2,DescrLoja2,Qnt_enc
KeyLoja3,DescrLoja3,Qnt_enc

1
INSTITUTO SUPERIOR DE ENGENHARIA DO PORTO
DEPARTAMENTO DE ENGª INFORMÁTICA

Trabalho Prático da Disciplina de Estruturas de Informação


1º Semestre Ano Lectivo 2010/2011
_______________________________________________________________________
KeyLojan,DescrLojan,Qnt_enc

Fx2:
KeyArmaz1,DescrArmaz1,Camião1,capac1,Camião2,capac2,…,Camiãon,capacn
KeyArmaz2,DescrArmaz2,Camião1,capac1,Camião2,capac2,…,Camiãon,capacn

KeyArmazn,DescrArmazn,Camião1,capac1,Camião2,capac2,…,Camiãon,capacn

Fx3:
KeyArmaz1,KeyLoja1,distKm
KeyArmaz2,KeyLoja4,distKm
KeyLoja2,KeyLoja3,distKm

KeyArmaz3,KeyLoja7,distKm
Não existem espaços.

Data Entrega até 31-Out-2010

2ª Parte Cotação: 60%

1. Pretende-se que implementem a rede de distribuição através de um grafo usando a classe Lista
de Adjacências. Relativamente à organização da informação que mapeia a rede de distribuição
entre os armazéns e as lojas, é objectivo que a interacção ocorra indistintamente ao nível dos
armazéns e lojas. Crie na sua aplicação funcionalidades para:
− Construir o grafo a partir das estruturas dinâmicas criadas na 1ª parte.
− Validar o grafo carregado, de tal modo que todas as lojas têm de ser alcançáveis a partir de
pelo menos um armazém, e a procura total das várias lojas não pode ser superior à
capacidade dos armazéns que as fornecem.
− Para o grafo carregado e validado definir o número de camiões e respectivas capacidades,
que cada armazém deve expedir, de modo a fornecer todas as lojas, à menor distância
percorrida pelos camiões. O Plano de fornecimento deve indicar para cada armazém, as lojas
que forneceu, número de camiões usados e respectivas cargas. Admita que cada loja é
fornecida na totalidade por um único armazém.
− Criar uma árvore binária de pesquisa com todas as lojas da rede de distribuição e
apresentá-las por ordem decrescente das suas necessidades de mercadorias.
− Faça a análise da complexidade temporal (notação Big-Oh) do método anterior

A aplicação deve possuir uma interface que permita invocar as funcionalidades elaboradas.

Data Entrega até 12-Dez-2010

2
INSTITUTO SUPERIOR DE ENGENHARIA DO PORTO
DEPARTAMENTO DE ENGª INFORMÁTICA

Trabalho Prático da Disciplina de Estruturas de Informação


1º Semestre Ano Lectivo 2010/2011
_______________________________________________________________________

Normas
• A avaliação do trabalho será feita principalmente em função da solução arquitectural proposta,
nomeadamente em termos da sua conformidade com o Paradigma da Programação por
Objectos e não em função da qualidade da interface com o utilizador.
• O relatório deverá servir de ferramenta de avaliação posterior à apresentação, nele devem
apresentar as classes definidas, algoritmos dos principais métodos, análise de complexidade
do algoritmo solicitado, melhoramentos possíveis,....
• O trabalho deverá ser realizado em grupos de dois alunos.
• Cada grupo de trabalho deverá trazer os ficheiros de texto prontos a carregar de forma a
facilitar a apresentação do trabalho.
• Cada Parte do trabalho deverá ser enviada por email, para o docente das aulas práticas, até às
24 horas do dia indicado. A partir das datas indicadas, a nota do trabalho será penalizada
10% por cada dia de atraso e não se aceitam trabalhos após dois dias das datas indicadas.
• A apresentação/avaliação do trabalho final será individual, em datas a fixar com o professor
das aulas práticas, na semana de 13-18 Dezembro.

Você também pode gostar