Planejar uma Rota enunciado do exercício mapa (um caso de teste)

Slides:



Advertisements
Apresentações semelhantes
Algoritmos de Caminho Mínimo em Grafos
Advertisements

Algoritmos em Grafos.
Grafos - Caminhos Caminhos Máximo / Mínimo:
Fluxo em Redes Prof. Ricardo R. Santos.
Exercícios PAA- Grafos
Função afim: a função geral de 1º grau
Exercícios Extras 5 pontos
Busca em Profundidade Para encontrar um caminho de solução Sol, de um dado nó para algum nó objetivo Se N é um nó objetivo, então Sol=[N] Se há um nó N1.
Introdução à Lógica de Programação (cont.)
VELOCIDADE MÉDIA ACELARAÇÃO GRÁFICO V x t
THOBER CORADI DETOFENO, MSC. Aula 07
O que você deve saber sobre O MOVIMENTO RETILÍNEO UNIFORME (MRU)
Polinômios Prof. Marlon.
9º. ano 2011 Prof. Ynez Soledade
Algoritmos e Estruturas de Dados II
V E T O R E S a + b = c a b Prof. Cesário.
Física Geral e Experimental I Prof. Ms. Alysson Cristiano Beneti
Física Recuperação: Velocidade média Movimento Uniforme (MU)

O Portal do Estudante de Computação
Programação Linear.
Listas e algoritmos (em Scratch)
Técnicas de Tomada de Decisão
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL
Renata Miwa Tsuruda São Carlos, 07 de Dezembro de 2009
Planejamento da Produção / MPS Exercícios
Análise do Lugar das Raízes
Cinemática – Principais Conceitos.
Lógica e Técnicas de Programação
Os erros envolvidos nas medições de Eratóstenes
MOVIMENTO (1) Prof. Cesário.
Exercícios PAA- Grafos
Linguagem de Programação II Parte IX
Ordenação e Pesquisa de Dados Marco Antonio Montebello Júnior
EXERCÍCIOS PROPOSTOS MATEMÁTICA Prof. Manuel.
Movimento Retilíneo e Uniforme
Física Gráficos do MU.
INTRODUÇÃO À ANÁLISE COMBINATÓRIA
Linguagem de Programação JAVA
Lógica de Programação/ Algoritmos Engenharia Produção 2014
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery.
Revisão Cinemática Escalar e Vetorial. Cinemática Trajetória Referencial Repouso Movimento.
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Aula 05 Distribuição de freguência Prof. Diovani Milhorim
Algoritmos e Estrutura de Dados I
Margie Basso Física.
Mru S = so + vt Só damos importância as coisas difíceis porque são importantes.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 11) Prof. Alessandro Bernardo.
2.3 Experimentos Fatoriais 22 Efeitos das Interações
Resolução de Problemas de Busca
MATEMÁTICA Carlos Alessandro Nunes
Pseudocódigo e fluxograma
Fundamentos de linguagens de programação
Exercícios de Fixação PARTE 3
Introdução a Programação
Algoritmos em Grafos Celso C. Ribeiro Caroline T. Rocha.
Algoritmos Prof.: Carlos Alberto
Algoritmo Triângulo Problema: Precisa-se de um programa capaz de ler três valores para os lados de um triângulo e verificar se os lados fornecidos formam.
Prática de Ensino em Matemática II Aula 3
CINEMÁTICA (MRU) E (MRUV)
Linguagem de Programação I Parte IV
Felipe Nunes Flores – Programa de Educação Tutorial.
Problema de Transporte e Alocação
É EXERCÍCIO PARA O CÉREBRO
É EXERCÍCIO PARA O CÉREBRO
ENSINO FUNDAMENTAL RESOLUÇÃO DE EXERCÍCIOS
QUARTA SEMANA TÓPICOS ESPECIAIS DE CADEIA DE SUPRIMENTOS - A)QUALIDADE
Lição (configurando módulo) Autor: Skyup Informática.
Questionário (Básico) Autor: Skyup Informática. Atividade - Questionário O módulo permite criar uma série de questões, que deverão ser respondida pelos.
Transcrição da apresentação:

Planejar uma Rota enunciado do exercício mapa (um caso de teste) características do programa

Planejar Rotas Escrever programa que planeja uma rota entre duas cidades fornecendo horários de duração de viagem. O mapa deve incluir quilômetro, condições de estrada e disponibilidade de postos de combustível.

Rota no Mapa Ribeirão Preto São Carlos Araçatuba Bauru Assis São Carlos Presidente Prudente 120km 60min 200km 120min 170km 150km 90min 325km 180min 99km 50min 140km 70min Dados não-reais

Este exercício é um exemplo de aplicação no PROLOG onde o usuário terá as informações sobre o horário de duração de viagem de uma cidade Origem (Ribeirão Preto) para uma cidade Destino (Assis). A informação sobre a distância, condições de estrada e disponibilidade de posto de combustível também podem ser obtidas como informações extras. Podendo mais tarde, a pesquisa ser incrementado a partir de critérios analisados sobre a disponibilidade de posto de gazolina e as condições da estrada obter o melhor caminho.

estrada(X) - informa as condicões da estrada de acordo A operação abaixo indica que existe um caminho único partindo de 'Origem’ até 'Destino', o qual leva 'Tempo' minutos para ser percorrido numa distância de 'Dist'. 'CondicaoDaEstrada' assumirá os valores mostrados acima conforme as condicões da estrada, e 'DisponibilidadeDePosto' assumira 0 (zero) caso existam postos de combustivel nesse trajeto, ou 1 (hum) caso contrário. estrada(X) - informa as condicões da estrada de acordo com o valor passado para X, onde X = 1...3. X = 1 - será mostrado na tela que a estrada é boa X = 2 - será mostrado na tela que a estrada é media X = 3 - será mostrado na tela que a estrada é ruim arco(Origem,Destino,Tempo,Dist,CondicaoDaEstrada,DisponibilidadeDePosto)

not( member(CidadeX,Historia)), member( ) - verifica se determinada cidade já faz parte da lista de cidades que compõem a rota até a cidade destino. not( ) - nega a existencia de uma cidade na lista de rota, caso a cidade jah tenha sido incluida, isto eh, as cidades jah adicionadas nao serao repetidas na rota.

Distancia is Distancia1 + Dist. Foi utilizado o operador matematico de adicao (+) para calcular a distancia total entre a cidade de origem e o destino. Analogamente, esse operador foi empregado para calcular o tempo total de viagem entre a cidade de origem e o destino. Tempo is Tempo1 + T, Distancia is Distancia1 + Dist. Nota-se que a sintaxe nesse caso deve ser, por exemplo, para o tempo : Tempo is Temp1 + T Onde a variavel Tempo recebera o conteudo da variavel Temp1 mais o conteudo de T. Uma sintaxe do tipo: Tempo = Temp1 + T causaria um erro, pois o PROLOG tentaria unificar Tempo com Temp1 + T, que visivelmente sao coisas distintas.

Utiliza-se o operador write( ) para produzir a saída dos resultados na tela, de forma que o usuário possa visualizá-los. Ao final da execucão, o programa mostra a distância total e o tempo total para percorrer de Origem até o Destino. escreve(Rota,CondcaoEstrada,Tempo,Distancia,Origem,Destino):- write('Para ir da cidade '),write(Origem),write(' ate a cidade '), write(Destino), nl, write('O tempo gasto eh '),write(Tempo), nl, write('A distancia total eh '), write(Distancia),nl, escreve(Rota,CE).

Para a resolucão deste problema, foi imprescíndivel o uso de listas para montar a rota das cidades que ligam a Origem ate o Destino. Isso foi feito devido a facilidade de expansão, pois a Base de Conhecimento dos arcos que ligam as cidades pode aumentar. As listas são uma ótima abordagem para o tratamento desse tipo de problema, podendo ser facilmente extraída da lista o primeiro elemento, ou mesmo verificar se determinada cidade já faz parte da lista de rotas.

arco(ribeirãoPreto,Araçatuba,180,325,3,1). A utilizacão das estrutura de arcos é importante como forma de diminuir o espaço ocupado pela Base de Conhecimento e diminuir a quantidade de interacões, favorecendo assim a rapidez na resposta. arco(ribeirãoPreto,Araçatuba,180,325,3,1). arco(ribeirãoPreto,sãoCarlos,50,99,1,0). arco(araçatuba,presidentePrudente,120,200,2,0). arco(araçatuba,bauru,90,150,2,1). arco(presidentePrudente,assis,60,120, 1,1). arco(assis,bauru,110,170,3,0).

dist(cidadeA, cidadeB, Km) duracao(cidadeA, cidadeB, Tempo) Poderiamos ter representada a base de conhecimento da seguinte maneira : dist(cidadeA, cidadeB, Km) informaria a distancia da cidadeA ateh a cidadeB em Km duracao(cidadeA, cidadeB, Tempo) informaria a duracao da viagem da cidadeA ateh a cidadeB em minutos

posto(cidadeA, cidadeB, S) informaria a disponibilidade de postos de combustivel entre a cidadeA e a cidadeB, onde S poderia se 1 caso houvessem postos, ou S seria 0 caso contrario estrada(cidadeA, cidadeB, Cond) informaria as condicoes da estrada entre a cidadeA e a cidadeB, onde: Cond = boa Cond = media Cond = ruim