Atps

Disponível somente no TrabalhosFeitos
  • Páginas : 6 (1327 palavras )
  • Download(s) : 0
  • Publicado : 14 de abril de 2013
Ler documento completo
Amostra do texto
ATPS: Etapa 1

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ãolistar 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

usingSystem;
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 = newList();
        }

        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;
usingSystem.Text;

namespace ATPS_IA_Etapa_1
{
    class Grafo
    {
        public List Cidades;
        #region(Cidades)
        Cidade Arad;
        Cidade Bucharest;
        Cidade Fagaras;
        Cidade Giurgiu;
        Cidade Lugoj;
        Cidade Mehadia;
        Cidade Oradea;
        Cidade Pitesti;
        Cidade RimnicuVilcea;
        Cidade Sibiu;
        Cidade Timisoara;
       Cidade Zerind;
        #endregion

        public Grafo()
        {
            // Cria a lista das cidades do grafo
            this.Cidades = new List();

            // Alimenta o grafo adicionando as cidades
            addCidades();

            // Alimenta as cidades do grafo com suas respectivas cidades visinhas
            addVizinhosDasCidades();
        }

        privatevoid addCidades()
        {
            Arad = new Cidade("Arad");
            this.Cidades.Add(Arad);

            Bucharest = new Cidade("Bucharest");
            this.Cidades.Add(Bucharest);

            Fagaras = new Cidade("Fagaras");
            this.Cidades.Add(Fagaras);

            Giurgiu = new Cidade("Giurgiu");
            this.Cidades.Add(Giurgiu);

            Lugoj =new Cidade("Lugoj");
            this.Cidades.Add(Lugoj);

            Mehadia = new Cidade("Mehadia");
            this.Cidades.Add(Mehadia);

            Oradea = new Cidade("Oradea");
            this.Cidades.Add(Oradea);

            Pitesti = new Cidade("Pitesti");
            this.Cidades.Add(Pitesti);

            RimnicuVilcea = new Cidade("Rimnicu Vilcea");
           this.Cidades.Add(RimnicuVilcea);

            Sibiu = new Cidade("Sibiu");
            this.Cidades.Add(Sibiu);

            Timisoara = new Cidade("Timosoara");
            this.Cidades.Add(Timisoara);

            Zerind = new Cidade("Zerind");
            this.Cidades.Add(Zerind);
        }

        private void addVizinhosDasCidades()
        {
            foreach (Cidade cidade in...
tracking img