Академический Документы
Профессиональный Документы
Культура Документы
OBS:ORamosburroFDPnoobcopioutodososexerciciosdessalistadeumaoutralistade
umoutroprofessorquetbmtemunstutoriaisbonsqueajudamaresolvelos
link>http://www.inf.ufsc.br/~func/lisp3.html
Aserentreguedia16/04/2014,emduplas,emfolhadepapelalmaoecdigosimpressos.
1.ImplementeoalgoritmoA*pararesolveroproblemadas8rainhas.
public class NQueens {
private static int[] b = new int[8];
private static int s = 0;
static boolean unsafe(int y) {
int x = b[y];
for (int i = 1; i <= y; i++) {
int t = b[y - i];
if (t == x ||
t == x - i ||
t == x + i) {
return true;
}
}
return false;
}
public static void putboard() {
System.out.println("\n\nSolution " + (++s));
for (int y = 0; y < 8; y++) {
for (int x = 0; x < 8; x++) {
System.out.print((b[y] == x) ? "|Q" : "|_");
}
System.out.println("|");
}
}
public static void main(String[] args) {
int y = 0;
b[0] = -1;
while (y >= 0) {
do {
b[y]++;
} while ((b[y] < 8) && unsafe(y));
if (b[y] < 8) {
if (y < 7) {
b[++y] = -1;
} else {
putboard();
}
} else {
y--;
}
}
}
}
2.ExpresseatravsdefatoseregrasPrologasinformaescontidasnaseguintefrase:
Cassiabonita.Marcosricoebonito.Anaricaeforte.Fabianoforteebonito.Silvio
amveleforte.Todososhomensgostamdemulheresbonitas.Todososhomensricosso
felizes.Qualquerhomemquegostadeumamulherquegostadelefeliz.Qualquermulherque
gostadeumhomemquegostadelafeliz.Anagostadequalquerhomemquegostadela.
Cassiagostadequalquerhomemquegostadela,desdequeelesejarico,amveloubonito,e
forte.
domains
nome=symbol
carac=symbol
predicates
pessoa(nome,carac)
homem(nome)
mulher(nome)
gostade(nome,nome)
clauses
mulher(cassia).
mulher(ana).
homem(marcos).
homem(fabiano).
homem(silvio).
pessoa(marcos,rico).
pessoa(marcos,bonito).
pessoa(cassia,bonita).
pessoa(ana,rica).
pessoa(fabiano,forte).
pessoa(fabiano,bonito).
pessoa(silvio,amavel).
pessoa(silvio,forte).
pessoa(ana,forte).
pessoa(X,feliz):homem(X),pessoa(X,rico).
pessoa(X,feliz):homem(X),mulher(Y),gostade(X,Y),gostade(Y,X).
pessoa(Y,feliz):mulher(Y),homem(X),gostade(Y,X),gostade(X,Y).
gostade(ana,X):homem(X),gostade(X,ana).
gostade(X,Y):homem(X),mulher(Y),pessoa(Y,bonita).
gostade(cassia,X):homem(X),gostade(X,cassia),pessoa(X,rico),pessoa(X,amavel)
ORpessoa(X,bonito),pessoa(X,forte).
++++++++++++++++++++++++++++
3.Suponhaosseguintesfatos:
nota(joao,5.0).
nota(maria,6.0).
nota(joana,8.0).
nota(mariana,9.0).
nota(cleuza,8.5).
nota(jose,6.5).
nota(jaoquim,4.5).
nota(mara,4.0).
nota(mary,10.0).
Considerandoque:
Notade7.010.0=Aprovado.
Notade5.06.9=Recuperao.
Notade0.04.9=Reprovado.
Escrevaumaregraparaidentificarasituaodeumdeterminadoaluno.
**CODIGODA3***********************************************
domains
name=symbol
ponto=real
predicates
nota(name,ponto)
verifica(name)
clauses
nota(joao,5.0).
nota(maria,6.0).
nota(joana,8.0).
nota(mariana,9.0).
nota(cleuza,8.5).
nota(jose,6.5).
nota(jaoquim,4.5).
nota(mara,4.0).
nota(mary,10.0).
verifica(X):
nota(X,Y),Y>=0.0,Y<=4.9,
write("Reprovado").
verifica(X):
nota(X,Y),Y>=5.0,Y<=6.9,
write("Recuperacao").
verifica(X):
nota(X,Y),Y>=7.0,Y<=10.0,
write("Aprovado").
*************************************************************
4.EscrevaregrasgenricasemPrologquepossamresponderasseguintesperguntas:
Quemdirigiuofilme"Oreileo"?
Quaissoosfilmesdesuspense?
QuaisosfilmesdirigidosporHectorBabenco?
EmqueanofoilanadoofilmeCrepusculo?
Quaisosfilmescomduraoinferiora100min?
Quaisosfilmeslanadosentre2000e2015?
*****inventareiregras***************
domains
nome,diretor,categ=symbol
ano,duracao=integer
predicates
diretor(nome,diretor)
dura(nome,duracao)
lanca(nome,ano)
categoria(nome,categ)
clauses
diretor("Oreileao","Juquinha").
diretor("Oiluminado","Zezinho").
diretor("Ababadoboi","HectorBabenco").
diretor("Avaquinhamumu","HectorBabenco").
diretor("Crepusculo","Tonico").
diretor("Umaaventuradapesada","JoaoSilvaSauro").
dura("Oreileao",120).
dura("Oiluminado",114).
dura("Ababadoboi",99).
dura("Avaquinhamumu",85).
dura("Crepusculo",101).
dura("Umaaventuradapesada",100).
lanca("Oreileao",1994).
lanca("Oiluminado",2005).
lanca("Ababadoboi",2008).
lanca("Avaquinhamumu",2014).
lanca("Crepusculo",2006).
lanca("Umaaventuradapesada",2000).
categoria("Oreileao",infantil).
categoria("Oiluminado",suspense).
categoria("Ababadoboi",juvenil).
categoria("Avaquinhamumu",juvenil).
categoria("Crepusculo",aventura).
categoria("Umaaventuradapesada",gordura).
5.Usandoasregrascriadasanteriormenteconstruaopredicadoclssico,queretornao
ttulodosfilmeslanadosantesde1980.
domains
nome,diretor,categ=symbol
ano,duracao=integer
predicates
diretor(nome,diretor)
dura(nome,duracao)
lanca(nome,ano)
categoria(nome,categ)
classico(nome)
clauses
diretor("Oreileao","Juquinha").
diretor("Oiluminado","Zezinho").
diretor("Ababadoboi","HectorBabenco").
diretor("Avaquinhamumu","HectorBabenco").
diretor("Crepusculo","Tonico").
diretor("Umaaventuradapesada","JoaoSilvaSauro").
diretor("Primeiraveznopassado","Ispilber").
dura("Oreileao",120).
dura("Oiluminado",114).
dura("Ababadoboi",99).
dura("Avaquinhamumu",85).
dura("Crepusculo",101).
dura("Umaaventuradapesada",100).
dura("Primeiraveznopassado",125).
lanca("Oreileao",1994).
lanca("Oiluminado",2005).
lanca("Ababadoboi",2008).
lanca("Avaquinhamumu",2014).
lanca("Crepusculo",2006).
lanca("Umaaventuradapesada",2000).
lanca("Primeiraveznopassado",1977).
categoria("Oreileao",infantil).
categoria("Oiluminado",suspense).
categoria("Ababadoboi",juvenil).
categoria("Avaquinhamumu",juvenil).
categoria("Crepusculo",aventura).
categoria("Umaaventuradapesada",gordura).
categoria("Primeiraveznopassado",aventura).
classico(X):lanca(X,Y),Y<1980.
6.Usandoasregrascriadasanteriormenteconstruaopredicadognero,queretornao
ttulodosfilmesdeumgneroespecfico.
domains
nome,diretor,categ=symbol
ano,duracao=integer
predicates
diretor(nome,diretor)
dura(nome,duracao)
lanca(nome,ano)
categoria(nome,categ)
classico(nome)
genero(nome,categ)
clauses
diretor("Oreileao","Juquinha").
diretor("Oiluminado","Zezinho").
diretor("Ababadoboi","HectorBabenco").
diretor("Avaquinhamumu","HectorBabenco").
diretor("Crepusculo","Tonico").
diretor("Umaaventuradapesada","JoaoSilvaSauro").
diretor("Primeiraveznopassado","Ispilber").
dura("Oreileao",120).
dura("Oiluminado",114).
dura("Ababadoboi",99).
dura("Avaquinhamumu",85).
dura("Crepusculo",101).
dura("Umaaventuradapesada",100).
dura("Primeiraveznopassado",125).
lanca("Oreileao",1994).
lanca("Oiluminado",2005).
lanca("Ababadoboi",2008).
lanca("Avaquinhamumu",2014).
lanca("Crepusculo",2006).
lanca("Umaaventuradapesada",2000).
lanca("Primeiraveznopassado",1977).
categoria("Oreileao",infantil).
categoria("Oiluminado",suspense).
categoria("Ababadoboi",juvenil).
categoria("Avaquinhamumu",juvenil).
categoria("Crepusculo",aventura).
categoria("Umaaventuradapesada",gordura).
categoria("Primeiraveznopassado",aventura).
classico(X):lanca(X,Y),Y<1980.
genero(X,Y):categoria(X,Y).
7.Usandoospredicadosclssicoegnerofaaumaconsultapararecuperaros
ttulosdefilmesclssicosdesuspense.
domains
nome,diretor,categ=symbol
ano,duracao=integer
predicates
diretor(nome,diretor)
dura(nome,duracao)
lanca(nome,ano)
categoria(nome,categ)
classico(nome)
genero(nome,categ)
clauses
diretor("Oreileao","Juquinha").
diretor("Oiluminado","Zezinho").
diretor("Ababadoboi","HectorBabenco").
diretor("Avaquinhamumu","HectorBabenco").
diretor("Crepusculo","Tonico").
diretor("Umaaventuradapesada","JoaoSilvaSauro").
diretor("Primeiraveznopassado","Ispilber").
diretor("Amigodesoculto","Xuasnega").
dura("Oreileao",120).
dura("Oiluminado",114).
dura("Ababadoboi",99).
dura("Avaquinhamumu",85).
dura("Crepusculo",101).
dura("Umaaventuradapesada",100).
dura("Primeiraveznopassado",125).
dura("Amigodesoculto",140).
lanca("Oreileao",1994).
lanca("Oiluminado",2005).
lanca("Ababadoboi",2008).
lanca("Avaquinhamumu",2014).
lanca("Crepusculo",2006).
lanca("Umaaventuradapesada",2000).
lanca("Primeiraveznopassado",1977).
lanca("Amigodesoculto",1960).
categoria("Oreileao",infantil).
categoria("Oiluminado",suspense).
categoria("Ababadoboi",juvenil).
categoria("Avaquinhamumu",juvenil).
categoria("Crepusculo",aventura).
categoria("Umaaventuradapesada",gordura).
categoria("Primeiraveznopassado",aventura).
categoria("Amigodesoculto",suspense).
classico(X):categoria(X,suspense),lanca(X,Y),Y<1980.
genero(X,Y):categoria(X,Y).
8.Desenheasrepresentaesinternasdedadosparaaslistasseguintes:
(A173)
((A5C)%)
((A5C)(%))
(NIL6A)
((AB))
(*(+15(64))3)
QualoCARdecadaumadaslistasdoexerccioanterior?
A
(A5C)
(A5C)
NIL
(AB)
*
QualoCDRdecadaumadaslistasdoexerccioanterior?
(173)
%
(%)
(6A)
NIL
NIL
9.EscrevaumadeclaraoemLISPparaexecutarcadaumadasoperaesabaixo:
Lerdoisnmeros,imprimirsuasomaeacrescentar3aoresultado.Assim5e11devem
produzir16e19natela.
(defunler(xy)
(print(+xy))
(+xy3)))
Lerumnicovaloreimprimlocomoumalista.Assimovalor6deveproduzir(6).
(defunlista(x)
(listx))
Lerdoisvaloreseimprimirsuasomacomoumalista.Destemodo6e7devemproduzira
lista(13).
(defunslista(xy)
(list(+xy)))
Lertrsnmeroseimprimloscomoumalista.
(defunlista3(xyz)
(listxyz))
Lertrsnmeroseimprimirasomadosdoisprimeiroseoprodutodestapeloterceirocomo
umalista.
(defunli(xyz)
(setqx(list(+xy)(*(+xy)z)))
//AGORAESTCURETO
10.Escrevaumafunoqueleiadousurioumalistadeprodutoseseusrespectivospreos,
colocandoosemumalistaorganizadaporparesprodutopreo.Aentradadedadosfinalizada
digitandoseapalavrafimaoinvsdeumnomedeproduto.
Utilizeocomandoloopparaimplementarolaodeleituraedefinaumavarivelglobalondea
listaficararmazenadaaofimdaleitura.
Osparesprodutopreovocpodeorganizartantocomoumcons,umasublistaouuma
estruturacomcamposprodutoepreo.Alisttemavantagemdeserextremamenteflexvel:
vocpodeextenderasuaestruturadedadossemnecessitarentrarcomosdadosdenovo.O
consaformamaiseconmicaemtermosdememria.Aestruturapermiteumamodelagem
elegante.Ficaaseucritrio.
//Tentativafromhellderesolvera10//
>Tdandoerroeeunotenhoamenorideiadecomofazessaporra
(loopwithx='(Lista)
do(
progn(print"Entrecomonomedoprodutoeseupreco(Parasairentrecomfimfim):")
(setfproduto(read))(setfpreco(read))
)
(setqx(cons(listx)(consprodutopreco)))
(printx)
until(equalproduto'fim)
)