Escolar Documentos
Profissional Documentos
Cultura Documentos
IA Relatorio
IA Relatorio
AGENTE TERMÓSTATO.......................................................................................................2
1.1 – CARACTERIZAÇÃO DO AGENTE (AGENTE, AMBIENTE)..............................2
Considere um agente termóstato. Por cada percepção, o agente recebe o valor da temperatura
ambiente pretendida. A acção devolvida poderá ser AQUECER ou ARREFECER em função
da temperatura ambiente actual.
TIPOS DE AMBIENTES
PERCEPÇÃO
- Temperatura
ACÇÃO
- Aquecer
-Arrefecer
// *******************************************************
funcao percep (v:inteiro): inteiro
inicio
retorne v
fimfuncao
// *******************************************************
funcao act (a:inteiro):caracter
inicio
se percep(a)>25 entao
retorne "Arrefecer"
senao se percep(b)<25 entao
retorne "Aquecer"
fimse
fimfuncao
// *******************************************************
var
valor: inteiro
inicio
escreval("********** AGENTE TERMOSTATO *************")
obtervalor ()
escreva(act(percep(valor)))
fimalgoritmo
Prolog
perc:-
write('********* Agente Termostato ***********'),
nl,write('Digite a temperatura.: '),
nl, read(X),act(X).
act(X):-
max(X>=25,arrefecer,
max(X<25,aquecer)).
aquecer:-
write('***************************\n'),
write('Aquecer'),nl,
write('***************************').
arrefecer:-
write('***************************\n'),
write('Arrefecer'),nl,
write('***************************').
TIPOS DE AMBIENTES
PERCEPÇÃO
- Temperatura
ACÇÃO
- Aquecer
-Arrefecer
*************************************************************************
algoritmo "ParkEstacionamento"
// Função :
// Autor :
// Data : 28/05/2011
// Seção de Declarações
//****************************************************
// Procedimento Obterdados
//****************************************************
procedimento obterdados ()
var b : caracter
inicio
escreva("Digite a percepção: ")
leia(b)
percp <- b
fimprocedimento
//****************************************************
// Função Percepção
//****************************************************
funcao percep(per:caracter):caracter
inicio
retorne per;
fimfuncao
//****************************************************
// Função Actuador (Acção)
//****************************************************
caso "b"
se (cont >= MIN) entao
cont<-cont-1
retorne "Levantar_Saida"
senao se(cont = 0) entao
retorne "Não faz nada"
fimse
caso "c"
retorne "Levantar_Entrada_Saida"
fimescolha
fimfuncao
//****************************************************
// Procedimento Menu
//****************************************************
procedimento menu()
inicio
escreval("----------------------------------------")
escreval("--------- Menu de Percepções ----------")
escreval("--------- a. entra_carro ----------")
escreval("--------- b. sai_carro ----------")
escreval("--------- c. entra_sai ----------")
escreval("----------------------------------------")
escreval("--------- digite 'x' para sair ---------")
escreval("")
fimprocedimento
//****************************************************
var
sair,percp: caracter
cont: inteiro
inicio
// Seção de Comandos
cont <- 0
escreval("********** AGENTE PARQUE DE ESTACIONAMENTO *************")
repita
menu()
obterdados ()
escreval(act(percep(percp)))
ate(percp="x")
fimrepita
fimalgoritmo
nada:-
write('-------------------------'),
nl,write(' Nao faz nada '),
nl,write('-------------------------').
entra:-
write('-------------------------'),
nl,write(' Levanta Entrada '),
nl,write('-------------------------').
saida:-
write('-------------------------'),
nl,write(' Levanta Saida '),
nl,write('-------------------------').
entraIsaida:-
write('----------------------------------'),
nl,write(' Levanta Entrada e Saida '),
nl,write('----------------------------------').
menuP:-
nl,write(' ----------------------------------------------------------------- '),
nl,write(' MENU DE PERCEPÇÕES - P.E '),
nl,write(' 1- entra_carro '),
nl,write(' 2- sai_carro '),
nl,write(' 3- entra_sai '),
nl,write(' ----------------------------------------------------------------- '),opcc.
opcc:-
nl,write(' digite uma opçao: '),
readln(X),
if_then_else(X == 1,entra,
if_then_else(X == 2,saida,
if_then_else(X == 3,entraIsaida,
if_then_else(X == 4,nada)))),menuP.
BIBLIOGRAFIA
Apostila de Inteligência Artificial elaborado pelo Dr. Vicente docente de UAN
faculdade de ciências
Introdução a Programação Prolog – Editora da Universidade Católica de Pelotas,
Luis A. M. Palazzo