You are on page 1of 3

LISTAS

domains lista=string*. class predicates imprimir_lista:(lista). clauses imprimir_lista([]):-!. imprimir_lista([Cabeza|Cola]):-write(Cabeza), write("\n"), imprimir_lista(Cola). class predicates numero_elementos:(lista, integer Elementos) procedure(i,o). clauses numero_elementos([],0):-!. numero_elementos([Cabeza|Cola],Elementos):-numero_elementos(Cola,Elementos1), Elementos=Elementos1+1. clauses run():console::init(), write("Ingrese una lista de 5 elementos"), write("\n"), Lista=([read(),read(),read(),read(),read()]), write(Lista), write("\n"), imprimir_lista(Lista), write("\n"), write("Numero de elementos de la lista \n"), numero_elementos(Lista,Elementos), write(Elementos). end implement main

MULTIPLICACION DE LISTAS
domains lista=integer*. class predicates multiplicar:(lista,lista) procedure(i,o). clauses multiplicar([],[]):-!. multiplicar([Cabeza|Cola],[Cabeza1|Cola1]):- Cabeza1=Cabeza*2, multiplicar(Cola,Cola1). class predicates

elimina_negativos:(lista,lista) procedure(i,o). clauses elimina_negativos([],[]):-!. elimina_negativos([Cabeza|Cola],[Cabeza1|Cola1]):Cabeza<0,!,elimina_negativos(Cola,Cola1). clauses run():console::init(), Lista=([read(),read(),read(),read(),read()]), write(Lista), write("\n"), multiplicar(Lista, Lista1), write(Lista1). end implement main POTENCIA class predicates potencia:(real,real,real) procedure(i,i,o). clauses potencia(Base,0,1):-!. potencia(Base,Exponente,Resultado):Exponente1=Exponente -1, potencia(Base,Exponente1,Resultado1), Resultado=Resultado1*Base. clauses run():console::init(), potencia(read(),read(),Resultado),write(Resultado),nl. end implement main FUNCION SENO class predicates trigonometria:(real Angulo,real Resultado) procedure (i,o). %Para entradas% clauses trigonometria(Angulo, Resultado):- Resultado=math::sin((Angulo*3.1416)/180). clauses run():console::init(), write("\n Ingrese el valor del Angulo \n"), trigonometria(read(),Resultado), write(" El resultado es: \n",Resultado). end implement main

FIBONACCI class predicates fibonacci:(real X,real Y) procedure(i,o). clauses fibonacci(0,0):-!. fibonacci(1,1):-!. fibonacci(X,Y):- X1=X-1,fibonacci(X1,Y1),X2=X-2,fibonacci(X2,Y2),Y=Y1+Y2. clauses run():console::init(), fibonacci(read(),Y),write(Y),nl. end implement main FACTORIAL class predicates factorial:(integer,integer) procedure (i,o). clauses factorial(X,1):-X=0, !. factorial(X,X*Y):- factorial(X-1,Y). clauses run():console::init(), factorial(read(),Y),write(Y),nl. end implement main MULTIPLICACION class predicates multiplicar:(real,real,real) procedure(i,i,o). clauses multiplicar(X,0,0):-!. multiplicar(X,Y,R+X):-multiplicar(X,Y-1,R). clauses run():console::init(), multiplicar(read(),read(),R),write(R),nl. %succeed(). % place your own code here end implement main

You might also like