kripton2007 Posted April 30, 2009 at 08:32 PM Report #260379 Posted April 30, 2009 at 08:32 PM Boas pessoal, Estou aqui com dificuldades na forma como irei definir a estrutura de dados que melhor se adecue ao projecto que tenho que desenvolver. Uma vez que esta tem que ser robusta, e ao mesmo tempo tem que ser bastante eficiente. Não quero com isto, que ninguém faça o trabalho por mim, apenas coloquei aqui o enunciado para não haver dúvidas acerca daquilo que se trata realmente o projecto, e facilitar a sua compreensão. Sendo assim, deixo aqui a explicação do projecto: Neste projecto pretende-se implementar vários modelos de simulação. Os modelos são uma forma de simular situações reais com o intuito de as compreender melhor. Neste projecto pretende-se implementar no sistema operativo Linux utilizando a linguagem de programação C usando a plataforma gráfica OpenGL/GLUT vários modelos com um grau crescente de complexidade. Utilizando um processo semelhante ao anterior pretende-se simular o crescimento urbano de uma cidade. Neste caso, o programa lê de um ficheiro o mapa da cidade. Pretende-se que cada sector do mapa possa ter os seguintes valores possíveis: R residencial; C comercial; E estrada; A aquático; F forestal; G agrícola. O programa lê também de um ficheiro as regras de crescimento da cidade. Estas regras exprimem o novo estado de um sector em funçãoo do valor actual e dos valores dos sectores vizinhos. Este ficheiro explicita primeiro qual o tipo de vizinhança: cruz os 4 sectores ortogonais; quadrado os 8 sectores vizinhas (ortogonais e diagonais); círculo composto por 12 sectores (os 8 vizinhos mais os 4 ortogonais distantes de um sector). Cada regra é explicitada utilizando uma sintaxe simples. Essa sintaxe é da forma: antecedente : novo valor onde antecedente é uma conjunção de condições separadas por vírgulas sendo cada condição da forma valor op número onde valor pode ser um dos valores R, C, E, A, F, G ou s sendo s o sector actual e op é um operador de comparação =, >, <, >= ou <=. Nas condições da forma s = valores o campo valores pode ser um valor ou um conjunto de valores separado pelo operador |. Seguem-se alguns exemplos ilustrativos: s = C : C se o sector é comercial, continua a ser comercial s = F | G, C = 3 : C se o sector é florestal ou agrícola e 3 sectores vizinhos são comerciais, o sector passa a ser comercial No caso de várias regras se poderem aplicar, aplica-se a primeira regra. Assim, logo que uma regra se possa aplicar a um sector, não é necessário verificar as regras seguintes para esse sector. Aquilo que eu pretendo é descobrir a melhor estrutura de dados para desenvolver o projecto, tal como ja disse anteriormente, para este ser robusto e ao mesmo tempo eficiente. Já agora, convém salientar o facto de que posteriormente, este projecto terá de ser adaptado, ou seja, a partir de todo o código teremos que desenvolver um simulador genério que seja capaz de simular uma outra coisa qualquer com um diferente número de parâmetros. Deste modo, ao desenvolver o código correspondente a este projecto, devo já estar a pensar na fase seguinte do projecto. Se alguém puder sugerir uma forma para desenvolver o projecto, de modo a minimizar os problemas futuros, ficava muito agradecido! Cumprimentos, kripton2007
kripton2007 Posted May 1, 2009 at 06:31 PM Author Report #260603 Posted May 1, 2009 at 06:31 PM Peço desculpa pelo double post... Mas se fosse possível, precisava de algumas ajudas com uma certa urgência! Tenho apenas 2 semanas para desenvolver este projecto. Cumprimentos, kripton2007
TheDark Posted May 1, 2009 at 08:37 PM Report #260653 Posted May 1, 2009 at 08:37 PM Se já pensaste em alguma forma de o fazer, mesmo que penses que esteja errada, coloca aí. Falo por mim, não compreendo o que é pedido. Pode ser que vendo algo em concreto ajude a compreender. Desaparecido.
kripton2007 Posted May 3, 2009 at 02:33 PM Author Report #261003 Posted May 3, 2009 at 02:33 PM Pois... o problema está mesmo em começar a fazer, uma vez que não tenho ainda nenhuma ideia concreta. Entretanto, pedi ajuda a um colega meu e ele sugeriu isto: a estrutura ser uma lista ligada em que cada elemento contém uma Regra (cada regra é um conjunto de condições e um valor final, e corresponde a uma linha do ficheiro que é dado) cada Regra é uma estrutura com a Lista de Condições, e o Valor Final a Lista de Condições é outra lista ligada em que cada elemento é uma condição. uma condiçao é constituida pelo valor da esquerda, o valor da direita, e o operador. Guardar um operador com um int e usar um enum para corresponder cada int a um operador. Foi então esta a sugestão dele... o meu problema neste momento é mesmo começar... não sei o que tenho que fazer em 1º lugar. :s Se puderem ajudar, ficava muito agradecido! Cumprimentos kripton2007 😛
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now