Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf ·...

40
PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci Primos Quadrados, Raizes e potencias... Ackermann Exerc´ ıcios Exercicios de Refor¸co Programa¸ aoL´ogica Aula 11 Ivan Sendin FACOM - Universidade Federal de Uberlˆ andia [email protected] 16 de setembro de 2019

Transcript of Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf ·...

Page 1: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Programacao Logica

Aula 11

Ivan Sendin

FACOM - Universidade Federal de [email protected]

16 de setembro de 2019

Page 2: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

not

not(). - antigo

\+

Page 3: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

not

consoante(L) :- \+vogal(L).

Page 4: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

not

Um pouco diferente de uma negacao logica

(complexidades do Prolog...)

consoante: eu(prolog) nao consegui provar que L euma vogal

(portanto e uma consoante...)

Page 5: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

contaConsoante - sem o not

vogal(a).

vogal(e).

vogal(i).

vogal(o).

vogal(u).

contaConsoante([],0).

contaConsoante([H|T],N) :- vogal(H), contaConsoante(T,N1),N is N1,!;

contaConsoante(T,N1), N is N1 +1.

Page 6: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

fail

forca uma falha

e executado o backtracking.

Page 7: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

vogal(a).

vogal(e).

vogal(b) :- fail.

Para alguem que tem um conhecimento parcial sobreletras...

Page 8: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Zero e par?

par(N) :- mod(N,2) =:= 0.

”par e um numero1 que dividido por 2 tem resto igual a0”(operador mod ....)

1natural

Page 9: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Zero e par?

Vamos considerar que zero nao e par...

Page 10: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Zero e par?

par(0) :- fail.

par(N) :- mod(N,2) =:= 0.

Page 11: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Ainda nao...lembre-se que o Prolog tenta resolver umapergunta...se esforca ao maximo para isso. Depois depar(0), o Prolog continua procurando!

Page 12: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Zero e par?

par(0) :- !,fail.

par(N) :- mod(N,2) =:= 0.

Pq o cut vem antes do fail??

Page 13: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

O cut indica ao prolog para paa de procurar em outrospredicados...

Page 14: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

ultimo

Como determinar o ultimo elemento do uma lista??* (2 minutos!)

Page 15: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

ultimo

Para uma lista com a apenas um elemento e facil

ultimo(N,[N]).

Page 16: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

ultimo

Agora resta fazer a lista chegar ate o ultimo, propagandoa variavel instanciada.

ultimo(N,[N]).

ultimo(N,[_|T]) :- ultimo(N1,T),N is N1.

Page 17: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

ultimo - last

?- last([1,2,3,4],U).

U=4

Page 18: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

length

length([a,b,c],L).

L=3

Page 19: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

reverse

reverse([a,b,c],R).

R=[c,b,a]

Page 20: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Alguns problema envolvendo numeros...

Page 21: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Fibonacci

A recursao....

fib(N,R) :- N1 is N-1,N2 is N-2, fib(N1,R1),fib(N2,R2), R is R1+R2.

Page 22: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Fibonacci

Completo(?)

fib(0,1) :- !.

fib(1,1) :- !.

fib(N,R) :- N1 is N-1,N2 is N-2, fib(N1,R1),fib(N2,R2), R is R1+R2.

Page 23: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Fibonacci

| ?- fib(5,X).

X = 8

yes

| ?- fib(6,X).

X = 13

yes

| ?- fib(-1,X).

Fatal Error: local stack overflow

(size: 8192 Kb, environment variable used: LOCALSZ)

Page 24: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

fib(N,_) :- N<0,!,fail.

fib(0,1) :- !.

fib(1,1) :- !.

fib(N,R) :- N1 is N-1,N2 is N-2, fib(N1,R1),fib(N2,R2), R is R1+R2.

Page 25: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Numeros Primos

Natural com apenas os divisores triviais...

p e divisıvel apenas p e por 1

Para saber se um numero e primo, responder apergunta ”tem fator”e mei caminho andado.

Page 26: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Para um determinado F vamos ver se F divide N comresto Zero:

tem_fator(N,F) :- N mod F =:= 0,!.

Page 27: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Agora precisamos alterar F ate chegar a N .

Page 28: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

tem_fator(N,F) :- N mod F =:= 0,!.

tem_fator(N,F) :- F < N, F2 is F+1, tem_fator(N,F2).

Ops!

Page 29: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

tem_fator(N,F) :- N mod F =:= 0,!.

tem_fator(N,F) :- F2 is F +1,F2<N, tem_fator(N,F2).

Page 30: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

tem_fator(N,F) :- N mod F =:= 0,!.

tem_fator(N,F) :- F*F < N, F2 is F+2, tem_fator(N,F2).

Mais rapido, porem ”mata”a semantica do nome tem fator.

Page 31: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

eh_primo(2).

eh_primo(3).

eh_primo(N) :- N>3, N mod 2 =\=0, \+ tem_fator(N,3).

Page 32: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Achar o ”primeiro”primo...

Dado um numero N , achar o menor primo maior que N .

Page 33: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

pp(X,N) :- P is X+1, eh_primo(P), N is P,!;

pp(X+1,N1), N is N1.

Page 34: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Potencia

Como calcular a potencia de um numero... com oexpoente inteiro e grande!!

x256

Como voce faria??

Page 35: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Potencia

pot(_,0,R) :- R is 1,!.

pot(B,1,R) :- R is B,!.

pot(B,E,R) :- par(E), M is E//2, pot(B,M,R1), R is R1*R1,!;

M is E//2, pot(B,M,R1), R is R1*R1*B,!.

Page 36: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Raiz quadrada em N

raiz(X,K,R) :- X*X =:=K, R is X.

raiz(X,K,R) :- X*X =<K, raiz(X+1,K,R1), R is R1.

Page 37: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Ackermann

A(m, n) =

n + 1, se m = 0,

A(m − 1, 1) se m > 0, n = 0

A(m − 1,A(m, n − 1)) cc.

Page 38: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Ackermann

ack(0, N, R) :- R is N+1.

ack(M, 0, R) :- M>0, X is M-1, ack(X, 1, R).

ack(M, N, R) :- M>0, N>0, X is M-1, Y is N-1, ack(M, Y, R2), ack(X, R2, R).

Page 39: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

1 Determinar o maior elemento de uma lista

2 Calcular o fatorial

3 Conjectura de GoldbachDado um numero par, determinar se ele pode serescrito como a soma de dois primos

4 Soma de parDada uma lista de inteiros e um inteiro k ,determinar se existe dois elementos da lista quesomam k .

5 Sub Set SumDada uma lista de inteiros e um inteiro k ,determinar se existe um subconjunto cuja soma sejak .

Page 40: Programa˘c~ao L ogica Aula 11 - Faculdade de Computaçãosendin/Cursos/PL/2S2019/aula11.pdf · 2019-09-16 · PL-11 Ivan Sendin Mais Prolog not fail last lenght reverse Numeros Fibonacci

PL-11

Ivan Sendin

Mais Prolog

not

fail

last

lenght

reverse

Numeros

Fibonacci

Primos

Quadrados, Raizese potencias...

Ackermann

Exercıcios

Exercicios deReforco

Exercicios de Reforco

1 Socrates e um homen, todos os homens sao mortaisdetermine se Socates e mortal.

2 Determinar se uma lista e um palindromo (usandoreverse).

3 Remover o k-esimo elemento de uma lista

4 Dado i e f , criar uma lista com os inteirosi , i + 1, . . . , f