Você está na página 1de 2

1) Avalie as seguintes expresses lambda usando reduo-beta: a) ((x . x + a)4) b) (( . ! (". " + b)b)a) #) ((x. x $ %)( . $ b)&) d) ((x.

(( . x' ) 4))() %) )ual a di*erena entre uma linguagem *un#ional pura de uma impura+ &) )ual a di*erena entre uma *uno total de uma parcial em programao *un#ional+ 4) )ual o resultado das #omputaes da *uno funcao no programa ,#-ema abaixo+ (de*ine x 1.) (de*ine (max a b)(i* (/ a b) a b)) (de*ine (*un#ao " 0) max( 1 x) + max("1 0) $ %) a) *un#ao((1 %1 1) b) *un#ao(%.1 41 2) #) *un#ao(1.1 1.1 1.) d) *un#ao(21 1%1 1.) () 3 4ue 5 resoluo e unificao no paradigma de programao l6gi#a+

7) 8ado o programa 9rolog abaixo: *un#ionario(ana). *un#ionario(:ose). *un#ionario(#laudia). *un#ionario(almir).

#argo(ana1 gerente). #argo(:ose1 vendedor). #argo(#laudia1 vendedor). #argo(almir1 suporte).

salario(gerente1 (...). salario(vendedor1 1(..). salario(suporte1 %...).

get,alario(;ome1 ,alario) :*un#ionario(;ome)1 #argo(;ome1 <argo)1 salario(<argo1 ,alario).

salario=aior)ue(;ome1 >alor) :get,alario(;ome1 ,)1 , / >alor. )ual o resultado das #onsultas abaixo+ a) #argo(ana1 ?). b) #argo(?1 vendedor). #) *un#ionario(:oa4uim). d) get,alario(@1 1(..). e) salario=aior)ue(:ose1 %...). *) salario=aior)ue(?1 12..).

Você também pode gostar