Atps
Viajar da cidade inicial Arad até a cidade Bucharest, identificando o melhor caminho, ou seja, o caminhar de menor custo. O custo considerado pelo sistema é a distância entre uma cidade A até a outra B. Para solucionar o caso foi desenvolvido um software que já contem toda a estrutura do grafo pré-cadastrada e que permite escolher qual a cidade de Origem e Destino para então listar todas as rotas possíveis ordenando pela de menor custo/distância.
Estrutura das classes do sistema
Para a estrutura do grafo foi criado as seguintes classes:
➢ Graffo ➢ Cidade ➢ Vizinho
Para o uso do sistema foram criados as seguintes classes:
➢ Program ➢ Form1 ➢ Rota
Código fonte do sistema
Classe Cidade
using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace ATPS_IA_Etapa_1
{
class Cidade { private string nome; private List vizinhos;
public Cidade() { vizinhos = new List(); }
public Cidade(string nome) { this.Nome = nome; vizinhos = new List(); }
public string Nome { get { return nome; } set { nome = value; } }
public void addVizinho(Vizinho vizinho) { vizinhos.Add(vizinho); }
public Vizinho getVizinho(int indice) { return vizinhos[indice]; }
public int qtdVizinhos() { return vizinhos.Count; } }
}
Classe Vizinho
using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace ATPS_IA_Etapa_1
{
class Vizinho { public Cidade cidade; public int distancia; }
}
Classe Grafo
using System; using System.Collections.Generic; using System.Linq;
using