miércoles, 17 de agosto de 2011

Ejercicios de Prolog..

EJERCICIO 1


domains
lista=integer*
predicates
concatenar(lista,lista,lista)
elementos_pares(lista,lista)
elementos_impares(lista,lista)
mezclar(lista,lista,lista)
elemento_de(integer,lista,symbol)
elemento_de(integer,lista)
no_pertenece_a(integer,lista)
es_principio_de(lista,lista)
contenido_en(lista,lista)
clauses
concatenar([],L,L).
concatenar([XY],L,[XC]):-concatenar(Y,L,C).
elementos_pares([_,YU],[YL]):-
elementos_pares(U,L).
elementos_pares([_],[]).
elementos_pares([],[]).
elementos_impares([X,_U],[XL]):-
elementos_impares(U,L).
elementos_impares([_],[]).
elementos_impares([],[]).
mezclar([XY],[ST],[X,SL]):-mezclar(Y,T,L).
mezclar([],[],[]).
elemento_de(X,[X_],verdadero):-!.
elemento_de(X,[_L],R):-elemento_de(X,L,R).
elemento_de(_,[]):-FAIL.
elemento_de(X,[X_]):-!.
elemento_de(X,[_L]):-elemento_de(X,L).
no_pertenece_a(X,L):-NOT(elemento_de(X,L)).
es_principio_de([XY],[XL]):-es_principio_de(Y,L).
es_principio_de([],_).
contenido_en([XM],L):-elemento_de(X,L).
contenido_en(M,L).
contenido_en([],_).



EJERCICIO 2



domains
listamenu=symbol*
dia=symbol
predicates
menu(listamenu,dia)
clauses
menu
([menu,langostinos,mora,blanco,frijoles,churrasco,arroz,roja,helado],lunes).
menu([menu,mariscos,lulo,tinto,lentejas,mojarra,cebada,tomate,leche],martes).
menu([menu,caviar,tomate,gato,calabaza,lasa¤a,verduras,lechuga,arequipe],miercoles).
menu([menu,miel,uva,cafeinado,verdura,cerdo,lentejas,tomillo,brevas],jueves).
menu([menu,aceitunas,guayaba,manzana,platano,chatas,frijoles,laurel,helado],viernes).



GUIA 2



EJERCICIO 1



domains
nombre,sexo,interes=symbol
intereses=interes*
predicates
encuentrapares
persona(nombre,sexo,interes)
interes_comun(intereses,intereses,interes)
miembro(interes,intereses)
clauses
encuentrapares:-
persona(H,m,L1),
persona(M,f,L2),
interes_comun(L1,L2,_),v write(H, " Puede gustarle ",M),nl,fail.
encuentrapares:- write("fin de la lista").
interes_comun(L1,L2,X):-
miembro(X,L1),
miembro(X,L2),!.
persona(juan,m,[viajes,libros,bicicleta]).
persona(maria,f,[cine,libros,tenis]).
miembro(X,[X_]).
miembro(X,[_C]):-miembro(X,C).



EJERCICIO 2



domains
predicates
mul(integer,integer)
clauses
mul(X,Y) :- X<21,
F=X*Y,
write(X,"*",Y,"=",F,"\n"),NL,
N=X+1,
readchar(_),
mul(N,Y).




GUIA 3



EJERCICIO 1



predicates
nondeterm for(integer,integer,integer)
nondeterm repeat
continue
clauses
for(Cur,_,Cur).
for(Cur,Max,I):-Cur

EJERCICIO 2



integerlist=integer*
Predicates
lee(integerlist)
impar(integerlist,integerlist)
clauses
impar([],[]) :-
impar([HT1],[HT2]) :-
1=H mod 2, ! ,
impar(T1,T2).
impar([_T1],T2) :-
impar(T1,T2).
lee([IntT) :-
write("Ingrese un entero: ") , readint(Int), ! , lee(T).
lee([]).
Goal
makewindow(1,2,3,"LISTA IMPAR",0,0,25,80),
write("Entre los enteros que hacen la lista.\n", "(ENTER para el fin de la lista.)\n\n"),
lee(List), impar(List,Odds),
write("\nLa lista completa es: ",List,"\List,"\nla lista impar es: ",Odds),write("\n\nPresione una tecla..."),
readchar(_).



GUIA 4



EJERCICIO 1



integerlist=integer*
Predicates
lee(integerlist)
impar(integerlist,integerlist)
clauses
impar([],[]) :-
impar([HT1],[HT2]) :-
1=H mod 2, ! ,
impar(T1,T2).
impar([_T1],T2) :-
impar(T1,T2).
lee([IntT) :-
write("Ingrese un entero: ") , readint(Int), ! , lee(T).
lee([]).
Goal
makewindow(1,2,3,"LISTA IMPAR",0,0,25,80),
write("Entre los enteros que hacen la lista.\n", "(ENTER para el fin de la lista.)\n\n"),
lee(List),
impar(List,Odds),
write("\nLa lista completa es: ",List,"\List,"\nla lista impar es: ",Odds),write("\n\nPresione una tecla..."),
readchar(_).



EJERCICIO 2



domains
reallist=real*
predicates
promedio(reallist,real)
longitud(reallist,real,real)
suma(reallist,real,real)
lee(reallist)
clauses
promedio(List,Pro) :-
longitud(List,0,Long),
suma(List,0,Suma),
Pro=Suma/Long.
longitud([],L,L) :- !.
longitud([_T],Temp_long,Long):-
Nuev_temp=Temp_long+1,
longitud(T,Nuev_temp,Long).
suma([],S,S) :-!.
suma([NumT],Temp_sum,Sum):-
Nuev_temp=Num+Temp_sum,
suma(T,Nuev_temp,Sum).
lee([HT]) :-
write("Entre un numero real: "),
readreal(H),
!,lee(T).
lee([]).
Goal
makewindow(1,2,3," PROMEDIO DE ELEMENTOS DE UNA LISTA",0,0,25,80),
write("Favor ingresar la lista de numeros reales","(ENTER para el fin de la lista):\n\n"),
lee(List),nl,nl,promedio(List,Pro),
write("La lista es: \n",List),
writef("\n\nEl promedio es: %.\n",Pro).



EJERCICIO 3



domains
integerlist=integer*
predicates
par(integer,integerlist)
lee(integerlist)
escribe(integerlist)
clauses
par(Head,[Head_]) :-
0=Head mod 2.
par(Element,[_Tail]) :-
par(Element,Tail).
lee([HT]) :-
write("Ingrese un numero: "),
readint(H),!,
lee(T).
lee([]).
escribe(L) :- par(E,L), write(E,"\n"),fail. escribe(_).
goal
makewindow(1,2,3,"NUMEROS PARES DE UNA LISTA ",0,0,25,80),
write("Por favor entre un entero que ", "quiere incluir a la lista.\n", "(ENTER y ningun entero para finalizar la lista.)\n\n"),
lee(List),
write("\Esta es la lista completa",List,":\n\n),
escribe(List),
write("\presione una tecla..."),
readchar(_).



EJERCICIO 4



domains
integerlist=integer*
predicates
suma(integerlist,integer)
lee(integerlist)
clauses
suma([],0) :- !.
suma([NumT],Sum) :- suma(T,Suma_cola), Sum=Num+Suma_cola.
lee([HT]) :-
write("Ingrese un entero: "),
readint(H), !,
lee(T).
lee([]).
goal
makewindow(1,2,3,"SUMA DE ENTEROS DE UNA LISTA",0,0,25,80),
write("Por favor ingrese los enteros de la lista a sumar.\n","(ENTER para el fin de la lista) \n"),
lee(List),
suma(List,Sum),
clearwindow,
write("\n\nLa lista ingresada es: ",List,"\n"),
write("La suma de los elementos de la lista es: ",Sum,"\n").




EJERCICIO 1



domains
lista=integer*
predicates
concatenar(lista,lista,lista)
elementos_pares(lista,lista)
elementos_impares(lista,lista)
mezclar(lista,lista,lista)
elemento_de(integer,lista,symbol)
elemento_de(integer,lista)
no_pertenece_a(integer,lista)
es_principio_de(lista,lista)
contenido_en(lista,lista)
clauses
concatenar([],L,L).
concatenar([XY],L,[XC]):-concatenar(Y,L,C).
elementos_pares([_,YU],[YL]):-
elementos_pares(U,L).
elementos_pares([_],[]).
elementos_pares([],[]).
elementos_impares([X,_U],[XL]):-
elementos_impares(U,L).
elementos_impares([_],[]).
elementos_impares([],[]).
mezclar([XY],[ST],[X,SL]):-mezclar(Y,T,L).
mezclar([],[],[]).
elemento_de(X,[X_],verdadero):-!.
elemento_de(X,[_L],R):-elemento_de(X,L,R).
elemento_de(_,[]):-FAIL.
elemento_de(X,[X_]):-!.
elemento_de(X,[_L]):-elemento_de(X,L).
no_pertenece_a(X,L):-NOT(elemento_de(X,L)).
es_principio_de([XY],[XL]):-es_principio_de(Y,L).
es_principio_de([],_).
contenido_en([XM],L):-elemento_de(X,L).
contenido_en(M,L).
contenido_en([],_).



EJERCICIO 2



domains
listamenu=symbol*
dia=symbol
predicates
menu(listamenu,dia)
clauses
menu
([menu,langostinos,mora,blanco,frijoles,churrasco,arroz,roja,helado],lunes).
menu([menu,mariscos,lulo,tinto,lentejas,mojarra,cebada,tomate,leche],martes).
menu([menu,caviar,tomate,gato,calabaza,lasa¤a,verduras,lechuga,arequipe],miercoles).
menu([menu,miel,uva,cafeinado,verdura,cerdo,lentejas,tomillo,brevas],jueves).
menu([menu,aceitunas,guayaba,manzana,platano,chatas,frijoles,laurel,helado],viernes).



GUIA 2



EJERCICIO 1



domains
nombre,sexo,interes=symbol
intereses=interes*
predicates
encuentrapares
persona(nombre,sexo,interes)
interes_comun(intereses,intereses,interes)
miembro(interes,intereses)
clauses
encuentrapares:-
persona(H,m,L1),
persona(M,f,L2),
interes_comun(L1,L2,_),v write(H, " Puede gustarle ",M),nl,fail.
encuentrapares:- write("fin de la lista").
interes_comun(L1,L2,X):-
miembro(X,L1),
miembro(X,L2),!.
persona(juan,m,[viajes,libros,bicicleta]).
persona(maria,f,[cine,libros,tenis]).
miembro(X,[X_]).
miembro(X,[_C]):-miembro(X,C).



EJERCICIO 2



domains
predicates
mul(integer,integer)
clauses
mul(X,Y) :- X<21,
F=X*Y,
write(X,"*",Y,"=",F,"\n"),NL,
N=X+1,
readchar(_),
mul(N,Y).




GUIA 3



EJERCICIO 1



predicates
nondeterm for(integer,integer,integer)
nondeterm repeat
continue
clauses
for(Cur,_,Cur).
for(Cur,Max,I):-Cur

EJERCICIO 2



integerlist=integer*
Predicates
lee(integerlist)
impar(integerlist,integerlist)
clauses
impar([],[]) :-
impar([HT1],[HT2]) :-
1=H mod 2, ! ,
impar(T1,T2).
impar([_T1],T2) :-
impar(T1,T2).
lee([IntT) :-
write("Ingrese un entero: ") , readint(Int), ! , lee(T).
lee([]).
Goal
makewindow(1,2,3,"LISTA IMPAR",0,0,25,80),
write("Entre los enteros que hacen la lista.\n", "(ENTER para el fin de la lista.)\n\n"),
lee(List), impar(List,Odds),
write("\nLa lista completa es: ",List,"\List,"\nla lista impar es: ",Odds),write("\n\nPresione una tecla..."),
readchar(_).



GUIA 4



EJERCICIO 1



integerlist=integer*
Predicates
lee(integerlist)
impar(integerlist,integerlist)
clauses
impar([],[]) :-
impar([HT1],[HT2]) :-
1=H mod 2, ! ,
impar(T1,T2).
impar([_T1],T2) :-
impar(T1,T2).
lee([IntT) :-
write("Ingrese un entero: ") , readint(Int), ! , lee(T).
lee([]).
Goal
makewindow(1,2,3,"LISTA IMPAR",0,0,25,80),
write("Entre los enteros que hacen la lista.\n", "(ENTER para el fin de la lista.)\n\n"),
lee(List),
impar(List,Odds),
write("\nLa lista completa es: ",List,"\List,"\nla lista impar es: ",Odds),write("\n\nPresione una tecla..."),
readchar(_).



EJERCICIO 2



domains
reallist=real*
predicates
promedio(reallist,real)
longitud(reallist,real,real)
suma(reallist,real,real)
lee(reallist)
clauses
promedio(List,Pro) :-
longitud(List,0,Long),
suma(List,0,Suma),
Pro=Suma/Long.
longitud([],L,L) :- !.
longitud([_T],Temp_long,Long):-
Nuev_temp=Temp_long+1,
longitud(T,Nuev_temp,Long).
suma([],S,S) :-!.
suma([NumT],Temp_sum,Sum):-
Nuev_temp=Num+Temp_sum,
suma(T,Nuev_temp,Sum).
lee([HT]) :-
write("Entre un numero real: "),
readreal(H),
!,lee(T).
lee([]).
Goal
makewindow(1,2,3," PROMEDIO DE ELEMENTOS DE UNA LISTA",0,0,25,80),
write("Favor ingresar la lista de numeros reales","(ENTER para el fin de la lista):\n\n"),
lee(List),nl,nl,promedio(List,Pro),
write("La lista es: \n",List),
writef("\n\nEl promedio es: %.\n",Pro).



EJERCICIO 3



domains
integerlist=integer*
predicates
par(integer,integerlist)
lee(integerlist)
escribe(integerlist)
clauses
par(Head,[Head_]) :-
0=Head mod 2.
par(Element,[_Tail]) :-
par(Element,Tail).
lee([HT]) :-
write("Ingrese un numero: "),
readint(H),!,
lee(T).
lee([]).
escribe(L) :- par(E,L), write(E,"\n"),fail. escribe(_).
goal
makewindow(1,2,3,"NUMEROS PARES DE UNA LISTA ",0,0,25,80),
write("Por favor entre un entero que ", "quiere incluir a la lista.\n", "(ENTER y ningun entero para finalizar la lista.)\n\n"),
lee(List),
write("\Esta es la lista completa",List,":\n\n),
escribe(List),
write("\presione una tecla..."),
readchar(_).



EJERCICIO 4



domains
integerlist=integer*
predicates
suma(integerlist,integer)
lee(integerlist)
clauses
suma([],0) :- !.
suma([NumT],Sum) :- suma(T,Suma_cola), Sum=Num+Suma_cola.
lee([HT]) :-
write("Ingrese un entero: "),
readint(H), !,
lee(T).
lee([]).
goal
makewindow(1,2,3,"SUMA DE ENTEROS DE UNA LISTA",0,0,25,80),
write("Por favor ingrese los enteros de la lista a sumar.\n","(ENTER para el fin de la lista) \n"),
lee(List),
suma(List,Sum),
clearwindow,
write("\n\nLa lista ingresada es: ",List,"\n"),
write("La suma de los elementos de la lista es: ",Sum,"\n").




viernes, 5 de agosto de 2011

ESTRUCTURA BÁSICA DE UN DOCUMENTO HTML


Un documento HTML comienza con la etiqueta <html>, y termina con </html>. Dentro del documento (entre las etiquetas de principio y fin de html), hay dos zonas bien diferenciadas: el encabezamiento, delimitado por <head> y </head>, que sirve para definir diversos valores válidos en todo el documento; y el cuerpo, delimitado por <body> y </body>, donde reside la información del documento.

QUÉ ES HTML


QUÉ ES HTML


HTML (HyperText Markup Language) es un lenguaje muy sencillo que permite describir hipertexto, es decir, texto presentado de forma estructurada y agradable, con enlaces (hyperlinks) que conducen a otros documentos o fuentes de información relacionadas, y con inserciones multimedia (gráficos, sonido...) La descripción se basa en especificar en el texto la estructura lógica del contenido (títulos, párrafos de texto normal, enumeraciones, definiciones, citas, etc) así como los diferentes efectos que se quieren dar (especificar los lugares del documento donde se debe poner cursiva, negrita, o un gráfico determinado) y dejar que luego la presentación final de dicho hipertexto se realice por un programa especializado (como Mosaic, o Netscape).

Introduccion

Este manual pretende ser una introducción básica al lenguaje HTML, que permite escribir páginas de WWW. Su orientación es más bien práctica, por lo que no se han tenido en cuenta cuestiones como las diferentes versiones de HTML a las que pertenece cada directiva (lo cual resulta a veces más importante de lo que parece, porque implica que algunas directivas sólo funcionen con los programas de WWW más modernos.