Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Highlighting de código dentro de tag [code] - 23/01/2012
Autor Mensaje
brunodiaz Sin conexión
The Dark Knight
Bla
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 7.707
Agradecimientos dados: 92
Agradecimientos: 384 en 135 posts
Registro en: May 2008
Mensaje: #31
RE: Highlighting de código dentro de tag [code] - 23/01/2012
Bueno, hice un par de mejoras en esto.
Principalmente si se pone un codigo que no tiene colores definidios no tira un cartel de error horrible sino que lo transforma a "Sin resaltado".

Agregue Assembler y Ruby.

Quiero agregar Latex, Smalltalk, Prolog y Haskell, pero los brushes (archivos odnde se define como pintar) que hay ya hehcos no estan buenos.

Voy a ver si puedo hacerlos yo, pero no me acuerdo nada de la sintaxis de esos lenguajes.

Si hay voluntarios para hacer cualquiera de estos, seria un golazo.

global _start

section .data
buffer dw "lol"

section .text

_start:
push "lol"
push "fraj"
mov ecx, buffer
mov edx, 2h
call write
jmp exit

write:
mov eax, 04h ; write()
mov ebx, 01h ; stdout
int 80h
ret

exit:
mov eax, 01h ; exit()
xor ebx, ebx ; errno
int 80h


Ok, el de ASM no restal un carajo.
Agregamos ese a la lista de lenguajes que hay que rehacer =P
(Este mensaje fue modificado por última vez en: 28-04-2012 16:14 por brunodiaz.)
28-04-2012 16:07
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
leandrodg Sin conexión
Il Capo Cannoniere
Lost Admin
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.421
Agradecimientos dados: 11
Agradecimientos: 52 en 20 posts
Registro en: Mar 2008
Facebook Twitter YouTube
Mensaje: #32
RE: Highlighting de código dentro de tag [code] - 23/01/2012
Comentario aparte, qué horrible es Assembler y qué poco lo entiendo XD

LeandroDG

Mi blog: http://www.logue.com.ar/blog
Ingeniero en Sistemas
29-04-2012 01:38
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nanuiit Ausente
♫ I'm Blue ...
... Da ba dee, da ba da ♫
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 8.871
Agradecimientos dados: 216
Agradecimientos: 627 en 211 posts
Registro en: Aug 2010
Mensaje: #33
RE: Highlighting de código dentro de tag [code] - 23/01/2012
Ah, me olvidé de decirte

Tiré un MOV AX,BX y no me lo resaltó, pero creí que era porque no sé un pomo de ASM Yaoming

ALGORITMOS

Apuntes: Mem. Dinámica - Mem. Estática - Proc. y Funciones || Guías: Módulos + 83 Ejercicios || Finales: 2004-2013


[Imagen: digitalizartransparent.png]

[Imagen: firmananiv2.png]
29-04-2012 12:58
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
LeaTex Sin conexión
Presidente del CEIT
.
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 4.848
Agradecimientos dados: 56
Agradecimientos: 267 en 55 posts
Registro en: Apr 2008
BlogSpot Facebook Google+ Last.fm LinkedIn Twitter
YouTube
Mensaje: #34
RE: Highlighting de código dentro de tag [code] - 23/01/2012
(28-04-2012 16:07)brunodiaz escribió:  Quiero agregar Latex, Smalltalk, Prolog y Haskell, pero los brushes (archivos odnde se define como pintar) que hay ya hehcos no estan buenos.
Voy a ver si puedo hacerlos yo, pero no me acuerdo nada de la sintaxis de esos lenguajes.
Si hay voluntarios para hacer cualquiera de estos, seria un golazo.
me sumo con ST si no me lleva mucho tiempo, decime cómo tengo que hacer.

29-04-2012 19:24
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
brunodiaz Sin conexión
The Dark Knight
Bla
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 7.707
Agradecimientos dados: 92
Agradecimientos: 384 en 135 posts
Registro en: May 2008
Mensaje: #35
RE: Highlighting de código dentro de tag [code] - 23/01/2012
Dale, dejame verlo bien y te digo.
30-04-2012 18:56
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
brunodiaz Sin conexión
The Dark Knight
Bla
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 7.707
Agradecimientos dados: 92
Agradecimientos: 384 en 135 posts
Registro en: May 2008
Mensaje: #36
RE: Highlighting de código dentro de tag [code] - 23/01/2012

| rs a |
rs := ReadStream on: 'Mary had a little `laptop, its screen was white as snow'.
a := rs upTo: $`.
Transcript show: a printString



main = print . length . show $ prod 100000

prod n = p 1 1
where p start step
| start + step > n = start
| otherwise = let step' = 2 * step
in p start step' * p (start + step) step'



% ---------------------------------------------------------------- Movimientos posibles
% Invierte la direcciÛn del movimiento anterior
nuevomovimiento(oeste, este).

% Invierte la direcciÛn del movimiento anterior
nuevomovimiento(este, oeste).

% Se mueve el Granjero, pasando de X a Y con el Zorro
% Movido = Zorro
mover(Tipos, Estados1, Estados2, Movimiento) :-
comparar(Estados1, Estados2, 2), % Verifica que solamente se hayan movido dos elementos
buscar(Tipos, 1, B), % Busca la posicion B segun el tipo 1 (Zorro)
posicion(B, Estados1, X), % Busca el estado del elemento en B (Zorro)
posicion(B, Estados2, Y), % Busca el estado del elemento en B (Zorro)
buscar(Tipos, 4, C), % Busca la posicion C segun el tipo 4 (Granjero)
posicion(C, Estados1, X), % Busca el estado del elemento en C (Granjero)
posicion(C, Estados2, Y), % Busca el estado del elemento en C (Granjero)
nuevomovimiento(X, Y),
Movimiento = [zorro, Y].

% Se mueve el Granjero, pasando de X a Y con la Oca
% Movido = Oca
mover(Tipos, Estados1, Estados2, Movimiento):-
comparar(Estados1, Estados2, 2), % Verifica que solamente se hayan movido dos elementos
buscar(Tipos, 2, B), % Busca la posicion B segun el tipo 2 (Oca)
posicion(B, Estados1, X),% Busca el estado del elemento en B (Oca)
posicion(B, Estados2, Y),% Busca el estado del elemento en B (Oca)
buscar(Tipos, 4, C), % Busca la posicion C segun el tipo 4 (Granjero)
posicion(C, Estados1, X),% Busca el estado del elemento en C (Granjero)
posicion(C, Estados2, Y),% Busca el estado del elemento en C (Granjero)
nuevomovimiento(X, Y),
Movimiento = [oca, Y].

% Se mueve el Granjero, pasando de X a Y con el Grano
% Movido = Grano
mover(Tipos, Estados1, Estados2, Movimiento):-
comparar(Estados1, Estados2, 2), % Verifica que solamente se hayan movido dos elementos
buscar(Tipos, 3, B), % Busca la posicion B segun el tipo 3 (Grano)
posicion(B, Estados1, X),% Busca el estado del elemento en B (Grano)
posicion(B, Estados2, Y),% Busca el estado del elemento en B (Grano)
buscar(Tipos, 4, C), % Busca la posicion C segun el tipo 4 (Granjero)
posicion(C, Estados1, X),% Busca el estado del elemento en C (Granjero)
posicion(C, Estados2, Y),% Busca el estado del elemento en C (Granjero)
nuevomovimiento(X, Y),
Movimiento = [grano, Y].

% Se mueve el Granjero, pasando de X a Y solo sin nada
% Movido = Nada
mover(Tipos, Estados1, Estados2, Movimiento) :-
comparar(Estados1, Estados2, 1), % Verifica que solamente se haya movido un elemento
buscar(Tipos, 4, C), % Busca la posicion C segun el tipo 4 (Granjero)
posicion(C, Estados1, X),% Busca el estado del elemento en C (Granjero)
posicion(C, Estados2, Y),% Busca el estado del elemento en C (Granjero)
nuevomovimiento(X, Y),
Movimiento = [nada, Y].
/*
% Se mueve el Granjero, pasando de X a Y con otro Granjero
% Movido = Granjeros
mover(Tipos, Estados1, Estados2, Movimiento) :-
comparar(Estados1, Estados2, 2), % Verifica que solamente se hayan movido dos elementos
buscar(Tipos, 4, B), % Busca la posicion B segun el tipo 4 (Granjero)
posicion(B, Estados1, X), % Busca el estado del elemento en B (Granjero)
posicion(B, Estados2, Y), % Busca el estado del elemento en B (Granjero)
buscar(Tipos, 4, C), % Busca la posicion C segun el tipo 4 (Granjero)
posicion(C, Estados1, X), % Busca el estado del elemento en C (Granjero)
posicion(C, Estados2, Y), % Busca el estado del elemento en C (Granjero)
B \== C,
nuevomovimiento(X, Y),
Movimiento = [granjeroaux, Y].
*/
% ---------------------------------------------------------------- Estados inv·lidos
% Zorro 1, Oca 2, Grano 3, Granjero 4
% Es inv·lido que la Oca y la Bolsa se encuentren del mismo lado
% y que el Granjero se encuentre del otro lado
invalido(Tipos, Estados) :-
buscar(Tipos, 2, A), % Busca la posicion A segun el tipo 2 (Oca)
posicion(A, Estados, X), % Busca el estado del elemento en A (Oca)
buscar(Tipos, 3, B), % Busca la posicion B segun el tipo 3 (Grano)
posicion(B, Estados, X), % Busca el estado del elemento en B (Grano)
igualesportipo(Tipos,Estados,4, Y), % Busca si todos los granjeros est·n del lado Y
X \== Y.

% Es inv·lido que el Zorro y la Oca se encuentren del mismo lado
% y que el Granjero se encuentre del otro lado
invalido(Tipos, Estados) :-
buscar(Tipos, 1, A), % Busca la posicion A segun el tipo (Zorro)
posicion(A, Estados, X), % Busca el estado del elemento en A (Zorro)
buscar(Tipos, 2, B), % Busca la posicion B segun el tipo 2 (Oca)
posicion(B, Estados, X), % Busca el estado del elemento en B (Oca)
igualesportipo(Tipos,Estados,4, Y), % Busca si todos los granjeros est·n del lado Y
X \== Y.

% ---------------------------------------------------------------- Algoritmo de resolucion (recursivo)
% CondiciÛn de parada de la recursiÛn
% Todos las compras del granjero en el mismo lado destino
% Esto indica el fin del algoritmo y ya no se deben hacer movimientos adicionales
resolver(_, Estados, Dest, _, []) :-
iguales(Estados,Dest).

% Estado -> Estados actuales de los 4 elementos (Este u Oeste)
% Dest -> Lugar hacia donde tiene que llegar el movimiento
% N -> M·ximo de pasos restantes
% Recorrido -> Lista donde se van guardando los resultados
resolver(Tipos, Estados, Dest, N, Recorrido) :-
N > 0, % Todavia quedan pasos
mover(Tipos, Estados, NuevosEstados,[Animal, Direction]),% Se mueve del estado a NuevoEstado y el resultado queda en Animal y Direction
\+(invalido(Tipos, NuevosEstados)), % El NuevoEstado no es un estado inv·lido
resolver(Tipos, NuevosEstados, Dest, N-1, Cola), % NuevoEstado es el estado inicial del siguiente movimiento hacia el mismo destino
Recorrido = [pasar(Animal, Direction) | Cola]. % Recorrido une la respuesta del movimiento actual (Animal y Direction) con la respuesta de
% los siguientes movimientos

% X -> Todos empiezan en estado Oeste (obtenido con el temp)
% este -> Indica que tienen que moverse al Este
% 7 -> M·ximo de pasos a realizar
% R -> Guarda los pasos en la lista
iniciar(Tipos, Pasos, R) :-
maximo(N, Tipos),
inicializar(Estados, N, oeste),
resolver(Tipos, Estados, este, Pasos, R).

% ---------------------------------------------------------------- Otros predicados para el manejo de las listas y los estados
% Para saber la m·xima cantidad de items
maximo(0, []).
maximo(N, [_|Col]) :-
maximo(Nant,Col),
N is Nant + 1.

% Para inicializar los elementos en un valor
inicializar([], 0, _).
inicializar(Arreglo, Profundidad, Valor) :-
Profundidad > 0,
Arreglo = [Valor|Col],
ProfundidadAnt is Profundidad - 1,
inicializar(Col, ProfundidadAnt, Valor).


% Para saber si todos los elementos en la lista tienen el mismo valor
iguales([], _).
iguales([Cab|Col], Valor) :-
Cab == Valor,
iguales(Col, Valor).

% Para saber si todos los elementos con un tipo determinado tienen el mismo valor
tmpigualesportipo(Tipo,Valor,Tipo,Valor).
tmpigualesportipo(CabT,_,Tipo,_) :-
CabT \== Tipo.
igualesportipo([],[], _,_).
igualesportipo([CabT|ColT],[CabE|ColE], Tipo, Valor) :-
tmpigualesportipo(CabT,CabE,Tipo,Valor),
igualesportipo(ColT, ColE,Tipo,Valor).

% Para comparar dos n˙meros y dependiendo de si son iguales o no muestra un resultado.
evaluar(X, X, Entrada, Entrada).
evaluar(X, Y, Entrada, Salida) :-
X \== Y,
Salida is Entrada - 1.

% Para saber si existe un determinado n˙mero de cambios entre 2 listados
comparar([],[],MaxCambios) :-
MaxCambios >= 0.
comparar([Cab1|Col1],[Cab2|Col2],MaxCambios) :-
evaluar(Cab1, Cab2, MaxCambios, MaxCambiosSig),
comparar(Col1, Col2, MaxCambiosSig).

% Para encontrar el elemento en una posiciÛn epecifica
posicion(1,[Cab|_],Cab).
posicion(I,[_|Col],Elemento) :-
%posicion(I,[Cab|Col],Elemento) :-
%maximo(N,[Cab|Col]),
%I =< N,
Iant is I - 1,
posicion(Iant, Col, Elemento).

% Para buscar un elemento en la lista
buscar([Cab|_], Cab, 1).
buscar([_|Col], Elemento, I) :-
buscar(Col, Elemento, Iant),
I is Iant + 1.
% ---------------------------------------------------------------- Interfaz con el usuario

paso(I, Tipos, Pasos, Salida) :-
iniciar(Tipos, Pasos, R),
posicion(I, R, Salida).

listadopasos(Tipos, Pasos, Salida) :-
iniciar(Tipos, Pasos, Salida).



\sum_{3}^{2} \int \frac{1}{x}dx


Bueno finalmente encontre los brushes que decia.
Por favor revisen si tienen sentido o si se pueden mejorar los que tengan idea.
Gracias!
(Este mensaje fue modificado por última vez en: 01-05-2012 14:22 por brunodiaz.)
01-05-2012 14:03
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Sonic9 Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 124
Agradecimientos dados: 7
Agradecimientos: 5 en 2 posts
Registro en: Feb 2012
Mensaje: #37
RE: Highlighting de código dentro de tag [code] - 23/01/2012
Che que bueno lo del highlight, la verdad que me encanta y es muy útil.

En que lenguajes funciona actualmente?
(Este mensaje fue modificado por última vez en: 01-05-2012 14:44 por Sonic9.)
01-05-2012 14:43
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
brunodiaz Sin conexión
The Dark Knight
Bla
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 7.707
Agradecimientos dados: 92
Agradecimientos: 384 en 135 posts
Registro en: May 2008
Mensaje: #38
RE: Highlighting de código dentro de tag [code] - 23/01/2012
Al escribir un post tenes en la barra de herramientas un listado con "Código". Hay esta el listado de todos.
01-05-2012 14:56
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nanuiit Ausente
♫ I'm Blue ...
... Da ba dee, da ba da ♫
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 8.871
Agradecimientos dados: 216
Agradecimientos: 627 en 211 posts
Registro en: Aug 2010
Mensaje: #39
RE: Highlighting de código dentro de tag [code] - 23/01/2012
(01-05-2012 14:03)brunodiaz escribió:  

% ---------------------------------------------------------------- Movimientos posibles
% Invierte la direcciÛn del movimiento anterior
nuevomovimiento(oeste, este).

% Invierte la direcciÛn del movimiento anterior
nuevomovimiento(este, oeste).

% Se mueve el Granjero, pasando de X a Y con el Zorro
% Movido = Zorro
mover(Tipos, Estados1, Estados2, Movimiento) :-
comparar(Estados1, Estados2, 2), % Verifica que solamente se hayan movido dos elementos
buscar(Tipos, 1, B), % Busca la posicion B segun el tipo 1 (Zorro)
posicion(B, Estados1, X), % Busca el estado del elemento en B (Zorro)
posicion(B, Estados2, Y), % Busca el estado del elemento en B (Zorro)
buscar(Tipos, 4, C), % Busca la posicion C segun el tipo 4 (Granjero)
posicion(C, Estados1, X), % Busca el estado del elemento en C (Granjero)
posicion(C, Estados2, Y), % Busca el estado del elemento en C (Granjero)
nuevomovimiento(X, Y),
Movimiento = [zorro, Y].

% Se mueve el Granjero, pasando de X a Y con la Oca
% Movido = Oca
mover(Tipos, Estados1, Estados2, Movimiento):-
comparar(Estados1, Estados2, 2), % Verifica que solamente se hayan movido dos elementos
buscar(Tipos, 2, B), % Busca la posicion B segun el tipo 2 (Oca)
posicion(B, Estados1, X),% Busca el estado del elemento en B (Oca)
posicion(B, Estados2, Y),% Busca el estado del elemento en B (Oca)
buscar(Tipos, 4, C), % Busca la posicion C segun el tipo 4 (Granjero)
posicion(C, Estados1, X),% Busca el estado del elemento en C (Granjero)
posicion(C, Estados2, Y),% Busca el estado del elemento en C (Granjero)
nuevomovimiento(X, Y),
Movimiento = [oca, Y].

% Se mueve el Granjero, pasando de X a Y con el Grano
% Movido = Grano
mover(Tipos, Estados1, Estados2, Movimiento):-
comparar(Estados1, Estados2, 2), % Verifica que solamente se hayan movido dos elementos
buscar(Tipos, 3, B), % Busca la posicion B segun el tipo 3 (Grano)
posicion(B, Estados1, X),% Busca el estado del elemento en B (Grano)
posicion(B, Estados2, Y),% Busca el estado del elemento en B (Grano)
buscar(Tipos, 4, C), % Busca la posicion C segun el tipo 4 (Granjero)
posicion(C, Estados1, X),% Busca el estado del elemento en C (Granjero)
posicion(C, Estados2, Y),% Busca el estado del elemento en C (Granjero)
nuevomovimiento(X, Y),
Movimiento = [grano, Y].

% Se mueve el Granjero, pasando de X a Y solo sin nada
% Movido = Nada
mover(Tipos, Estados1, Estados2, Movimiento) :-
comparar(Estados1, Estados2, 1), % Verifica que solamente se haya movido un elemento
buscar(Tipos, 4, C), % Busca la posicion C segun el tipo 4 (Granjero)
posicion(C, Estados1, X),% Busca el estado del elemento en C (Granjero)
posicion(C, Estados2, Y),% Busca el estado del elemento en C (Granjero)
nuevomovimiento(X, Y),
Movimiento = [nada, Y].
/*
% Se mueve el Granjero, pasando de X a Y con otro Granjero
% Movido = Granjeros
mover(Tipos, Estados1, Estados2, Movimiento) :-
comparar(Estados1, Estados2, 2), % Verifica que solamente se hayan movido dos elementos
buscar(Tipos, 4, B), % Busca la posicion B segun el tipo 4 (Granjero)
posicion(B, Estados1, X), % Busca el estado del elemento en B (Granjero)
posicion(B, Estados2, Y), % Busca el estado del elemento en B (Granjero)
buscar(Tipos, 4, C), % Busca la posicion C segun el tipo 4 (Granjero)
posicion(C, Estados1, X), % Busca el estado del elemento en C (Granjero)
posicion(C, Estados2, Y), % Busca el estado del elemento en C (Granjero)
B \== C,
nuevomovimiento(X, Y),
Movimiento = [granjeroaux, Y].
*/
% ---------------------------------------------------------------- Estados inv·lidos
% Zorro 1, Oca 2, Grano 3, Granjero 4
% Es inv·lido que la Oca y la Bolsa se encuentren del mismo lado
% y que el Granjero se encuentre del otro lado
invalido(Tipos, Estados) :-
buscar(Tipos, 2, A), % Busca la posicion A segun el tipo 2 (Oca)
posicion(A, Estados, X), % Busca el estado del elemento en A (Oca)
buscar(Tipos, 3, B), % Busca la posicion B segun el tipo 3 (Grano)
posicion(B, Estados, X), % Busca el estado del elemento en B (Grano)
igualesportipo(Tipos,Estados,4, Y), % Busca si todos los granjeros est·n del lado Y
X \== Y.

% Es inv·lido que el Zorro y la Oca se encuentren del mismo lado
% y que el Granjero se encuentre del otro lado
invalido(Tipos, Estados) :-
buscar(Tipos, 1, A), % Busca la posicion A segun el tipo (Zorro)
posicion(A, Estados, X), % Busca el estado del elemento en A (Zorro)
buscar(Tipos, 2, B), % Busca la posicion B segun el tipo 2 (Oca)
posicion(B, Estados, X), % Busca el estado del elemento en B (Oca)
igualesportipo(Tipos,Estados,4, Y), % Busca si todos los granjeros est·n del lado Y
X \== Y.

% ---------------------------------------------------------------- Algoritmo de resolucion (recursivo)
% CondiciÛn de parada de la recursiÛn
% Todos las compras del granjero en el mismo lado destino
% Esto indica el fin del algoritmo y ya no se deben hacer movimientos adicionales
resolver(_, Estados, Dest, _, []) :-
iguales(Estados,Dest).

% Estado -> Estados actuales de los 4 elementos (Este u Oeste)
% Dest -> Lugar hacia donde tiene que llegar el movimiento
% N -> M·ximo de pasos restantes
% Recorrido -> Lista donde se van guardando los resultados
resolver(Tipos, Estados, Dest, N, Recorrido) :-
N > 0, % Todavia quedan pasos
mover(Tipos, Estados, NuevosEstados,[Animal, Direction]),% Se mueve del estado a NuevoEstado y el resultado queda en Animal y Direction
\+(invalido(Tipos, NuevosEstados)), % El NuevoEstado no es un estado inv·lido
resolver(Tipos, NuevosEstados, Dest, N-1, Cola), % NuevoEstado es el estado inicial del siguiente movimiento hacia el mismo destino
Recorrido = [pasar(Animal, Direction) | Cola]. % Recorrido une la respuesta del movimiento actual (Animal y Direction) con la respuesta de
% los siguientes movimientos

% X -> Todos empiezan en estado Oeste (obtenido con el temp)
% este -> Indica que tienen que moverse al Este
% 7 -> M·ximo de pasos a realizar
% R -> Guarda los pasos en la lista
iniciar(Tipos, Pasos, R) :-
maximo(N, Tipos),
inicializar(Estados, N, oeste),
resolver(Tipos, Estados, este, Pasos, R).

% ---------------------------------------------------------------- Otros predicados para el manejo de las listas y los estados
% Para saber la m·xima cantidad de items
maximo(0, []).
maximo(N, [_|Col]) :-
maximo(Nant,Col),
N is Nant + 1.

% Para inicializar los elementos en un valor
inicializar([], 0, _).
inicializar(Arreglo, Profundidad, Valor) :-
Profundidad > 0,
Arreglo = [Valor|Col],
ProfundidadAnt is Profundidad - 1,
inicializar(Col, ProfundidadAnt, Valor).


% Para saber si todos los elementos en la lista tienen el mismo valor
iguales([], _).
iguales([Cab|Col], Valor) :-
Cab == Valor,
iguales(Col, Valor).

% Para saber si todos los elementos con un tipo determinado tienen el mismo valor
tmpigualesportipo(Tipo,Valor,Tipo,Valor).
tmpigualesportipo(CabT,_,Tipo,_) :-
CabT \== Tipo.
igualesportipo([],[], _,_).
igualesportipo([CabT|ColT],[CabE|ColE], Tipo, Valor) :-
tmpigualesportipo(CabT,CabE,Tipo,Valor),
igualesportipo(ColT, ColE,Tipo,Valor).

% Para comparar dos n˙meros y dependiendo de si son iguales o no muestra un resultado.
evaluar(X, X, Entrada, Entrada).
evaluar(X, Y, Entrada, Salida) :-
X \== Y,
Salida is Entrada - 1.

% Para saber si existe un determinado n˙mero de cambios entre 2 listados
comparar([],[],MaxCambios) :-
MaxCambios >= 0.
comparar([Cab1|Col1],[Cab2|Col2],MaxCambios) :-
evaluar(Cab1, Cab2, MaxCambios, MaxCambiosSig),
comparar(Col1, Col2, MaxCambiosSig).

% Para encontrar el elemento en una posiciÛn epecifica
posicion(1,[Cab|_],Cab).
posicion(I,[_|Col],Elemento) :-
%posicion(I,[Cab|Col],Elemento) :-
%maximo(N,[Cab|Col]),
%I =< N,
Iant is I - 1,
posicion(Iant, Col, Elemento).

% Para buscar un elemento en la lista
buscar([Cab|_], Cab, 1).
buscar([_|Col], Elemento, I) :-
buscar(Col, Elemento, Iant),
I is Iant + 1.
% ---------------------------------------------------------------- Interfaz con el usuario

paso(I, Tipos, Pasos, Salida) :-
iniciar(Tipos, Pasos, R),
posicion(I, R, Salida).

listadopasos(Tipos, Pasos, Salida) :-
iniciar(Tipos, Pasos, Salida).



Fijate que cuando ponés Estados1 o Estados2, no te toma al número como parte del nombre del parámetro

ALGORITMOS

Apuntes: Mem. Dinámica - Mem. Estática - Proc. y Funciones || Guías: Módulos + 83 Ejercicios || Finales: 2004-2013


[Imagen: digitalizartransparent.png]

[Imagen: firmananiv2.png]
01-05-2012 15:27
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
brunodiaz Sin conexión
The Dark Knight
Bla
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 7.707
Agradecimientos dados: 92
Agradecimientos: 384 en 135 posts
Registro en: May 2008
Mensaje: #40
RE: Highlighting de código dentro de tag [code] - 23/01/2012
Bien.
Pucha, no queria meterme a tocar las expresiones regulares de algo que no hice yo.
Despues lo reviso.
01-05-2012 20:15
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
brunodiaz Sin conexión
The Dark Knight
Bla
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 7.707
Agradecimientos dados: 92
Agradecimientos: 384 en 135 posts
Registro en: May 2008
Mensaje: #41
RE: Highlighting de código dentro de tag [code] - 23/01/2012
Agregado VHDL
22-12-2012 12:36
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
leandrodg Sin conexión
Il Capo Cannoniere
Lost Admin
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.421
Agradecimientos dados: 11
Agradecimientos: 52 en 20 posts
Registro en: Mar 2008
Facebook Twitter YouTube
Mensaje: #42
RE: Highlighting de código dentro de tag [code] - 23/01/2012
Qué es eso? :O

LeandroDG

Mi blog: http://www.logue.com.ar/blog
Ingeniero en Sistemas
22-12-2012 16:21
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
brunodiaz Sin conexión
The Dark Knight
Bla
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 7.707
Agradecimientos dados: 92
Agradecimientos: 384 en 135 posts
Registro en: May 2008
Mensaje: #43
RE: Highlighting de código dentro de tag [code] - 23/01/2012
Algo de electronica. Si te soy sincero, ni me fije. Pero esta
22-12-2012 16:22
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)