ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Muestra en pantalla el uso de todas las funciones matemáticas de prolog


Enviado por   •  20 de Mayo de 2012  •  Tarea  •  1.758 Palabras (8 Páginas)  •  911 Visitas

Página 1 de 8

PROBLEMA 1

Muestra en pantalla el uso de todas las funciones matemáticas de prolog.

SOLUCION

goal

Y1 = sin(90*3.141516/180), % Seno 90 = 0.9999999993

writef("Seno 90 = %f",Y1),

Y2 = cos(90*3.141516/180),nl,

writef("Cos 90 = %f",Y2),nl, % Cos 90 = 0.0000383268

Y3 = arctan(1)*180/3.141516,

writef("ArcoTangente de 1 = %f",Y3),nl, % ArcoTangente de 1 = 45.0010980086

Y4 = ln(2.718281),/*logaritmo natural de e en base e*/

writef("Ln 2.718281 = %f",Y4),/*1*/nl,

Y5 = log(10),/*logaritmo en base 10 de 10*/

writef("log 10 = %f",Y5),/*1*/nl,

Y6 = exp(1),/*e elevado a 1*/

writef("Exp 1 = %f",Y6),/*1*/nl,

Y7 = sqrt(2),

writef("Raiz cuadrado de 2 = %f",Y7),/*1.414213*/nl,

Y8 = round(16.5),

writef("Redondear al entero 16.5 = %f",Y8),/*17*/nl,

Y9 = trunc(16.5),

writef("Truncar 16.5 a la parte entera = %f",Y9),/*16*/nl,

Y10 = abs(-15),

writef("Valor absoluto de -15 = %d",Y10),/*15*/nl,

readln(_).

PROBLEMA 2

Convertir una coordenada cartesiana a coordenada polar.

SOLUCION

domains

r=real

predicates

convertir(r,r)

clauses

convertir(X,Y):- W=Y/X, A=arctan(W),

Z=X*X+Y*Y, R=sqrt(Z),

write(R),nl, write(A).

goal

write("ingrese X="),

readreal(X),

write("Ingrese Y="),

readreal(Y),

convertir(X,Y),

readln(_).

domains

r = real

predicates

regla(r,r)

clauses

regla(X,Y):- X <> 0,

D = X * X + Y * Y,

R = round(sqrt(D)),

A = round(arctan(Y/X) * 180 / 3.141516),

write("RADIO = ",R),nl,

write("ANGULO = ",A),!.

regla(_,_):- write("X TIENE QUE SER DIFERENTE CERO"),!.

goal

write("INGRESE X = "), readreal(X),

write("INGRESE Y = "), readreal(Y),

regla(X,Y),

readln(_).

PROBLEMA 3

Hallar la potencia Y = X N donde X = 2, N = 5.

SOLUCION

goal

X = 2,

N = 5,

A = N * ln(X),

Y = exp(A),

write("Potencia = ",Y),

readln(_).

domains

r = real

predicates

regla(r,r)

clauses

regla(B,N):- B >= 0,

Y = exp(N * ln(B)),

write("Y = ",Y),!.

regla(_,_):- write("LA BASE TIENE QUE SER POSITIVOS MAYORES QUE CERO"),!.

goal

write("INGRESE BASE = "), readreal(B),

write("INGRESE EXPONENTE = "), readreal(N),

regla(B,N),

readln(_).

PROBLEMA 4

N

Hallar la potencia Y = X donde X = 2 , N = 0.5.

SOLUCION

goal

X = 2,

N = 0.5,

A = N * ln(X),

Y = exp(A),

write("Potencia = ",Y),

readln(_).

PROBLEMA 5

Hacer una regla que halle la potencia de un numero real cualquiera elevado a un exponente también real cualquiera. La regla tendrá 3 argumentos en 2 de ellos recibe la base y el exponente y en el tercer argumento regresa la potencia.

SOLUCION

domains

r = real

predicates

potencia(r,r,r)

clauses

potencia(P,X,N):- Z = N * ln(X),

P = exp(Z).

goal

write("Ingrese X = "),readreal(X),

write("Ingrese N = "),readreal(N),

potencia(P,X,N),

write("Potencia = ",P),

readln(_).

PROBLEMA 6

Hacer la deducción de la formula para obtener la potencia de cualquier numero.

SOLUCION

Y = X N

LN(Y) = LN(X N )

LN(Y) = N * LN(X)

Y = E N * LN(X)

ENTONCES Y = EXP(N*LN(X))

PROBLEMA 7

Hacer un programa que dado un X. Hallar

|X| + log(10)

Y = ---------------

3 ___

\/ X

SOLUCION

domains

r = real

predicates

funcion(r)

calculo(r,r)

potencia(r,r,r)

clauses

funcion(X):- X<>0,X>0, % La intersección es X>0

calculo(X,Y),

write("Y

...

Descargar como (para miembros actualizados) txt (7 Kb)
Leer 7 páginas más »
Disponible sólo en Clubensayos.com