|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Iluvatarm
1
« en: Lunes 4 de Septiembre de 2006, 12:40 »
Hola, creo que esta web está bastante bien para iniciarse un poco en este tema... quizá son necesarias unas pequeñas nociones básicas, ahí va, por si te es de ayuda: http://casa.ccp.servidores.net/genetico.htmlSaludos! _-Jordi-_
2
« en: Lunes 29 de Noviembre de 2004, 16:31 »
Hola, he probado el código para C++ y la verdad es que no me funciona: Efectivamente da un identificador de 128 bits (GUID), pero en cada ejecución da uno distinto... al menos en mi caso, VC++ 6.0... de todas maneras intentaré investigar si encuentro alguna cosilla. hasta luego! IluvatarM
3
« en: Martes 16 de Noviembre de 2004, 16:46 »
Hola,
seré escueto porque no tengo mucho tiempo:
Al abrir el fichero le pones "w", y eso significa que lo Abres para Escribir en él, si no existe lo crea y si ya existe lo sobreescribe. Por eso siempre pierdes lo que habias escrito antes.
Para solucionarlo abrelo con "a" (Append), que significa abrir en modo "añadir", es decir, si no existe lo crea y si ya existe se situa al final del fichero para escribir. (Con w se situa al inicio)
Espero que te haya servido de ayuda
Saludos
IluvatarM
4
« en: Miércoles 18 de Febrero de 2004, 01:03 »
Buenas, un diagrama de secuencias es un pequeño esquema "secuencial" de las acciones que se realizan, es una guia para los programadores que lo implementarán y/o para documentación. Los if no tienen una representación clara y fija; yo lo que hago es comentar las acciones, es decir, por ejemplo un if(x<5) accion1 else accion2
lo pongo así: si x<5.......[]<--accion1-->[] [] sino.........[]<-----------------accion2----->[] []
Por lo de la otra pregunta, ...segun tengo entendido un diagrama de casos de uso se puede llevar a diagrama de secuencias y viceversa pero como represento una actividad en el diagrama de secuencias. En los diagramas de casos de uso se representan actividades que el "especificador" piensa, es decir, cosas que se tendrán que hacer divididas en grandes pasos pero sin entrar en como se hacen. En un diagrama de secuencia se especifican las operaciones que se realizarán, pasamos de pensar en la cosa abstracta de "lo que tendria que hacer" a algo más concreto que es "como se podria hacer". Es decir, dividimos las actividades en acciones y/o funciones con sus parametros y sus resultados. Imaginen un usuario que solicita una informacion a un ejecutivo el cual tiene que evaluarla, guardarla, firmarla y de acuerdo a eso retornar informacion. Como agrego en el diagrama que el ejecutivo tiene que realizar todas esas actividades o no se ponen y solo pongo la respuesta. [Ejecutivo] solicitarInfo()------>[] [] [Cuentas] []---EstadoDeCuentas-------------->[] []<--------------------------------[] valido?.....[] [] []<--ActualizarDatos(...)--------->[] [] ... [] <----Informacion------[]
No se si me he explicado bien... Saludos.
5
« en: Martes 17 de Febrero de 2004, 17:16 »
Antes que nada tienes que saber que quieres hacer. Cuando lo sepas, y si no te quieres complicar demasiado (o quieres ver resultados en un tiempo razonable), usa el lenguaje que mas conozcas.
Hay cosas que son mas simples de hacer en lenguajes logicos, pero no hay nada que sea imposible en C, Java, Pascal y derivados.
Por ultimo, si estas dispuesto a aprender algo nuevo te recomiendo: Para implementar reglas logicas y predicados CLIPS, y para tratamiento del lenguaje natural PROLOG (aunque los dos son buenos para las dos cosas)
Saludos!
6
« en: Viernes 17 de Octubre de 2003, 20:50 »
Buenas, quizás sea un poco reticente con lo que es IA, pero a mi entender són "estructuras avanzadas de calculo". Hace bastante tiempo (unos 30 años) se abanzó muchisimo en el campo teórico del cálculo (supongo que debia ser la euforia de tener máquinas "rápidas" para la ciencia). Creo que por eso se avanzó también en la IA, pero en la parte teórica. Ahora, lo que manda es la pasta, así que la IA (y los métodos de cálculo en general) avanza, pero avanza en aspectos donde haya negocio: DataMining (extracción e interpretación de información de grandes BD), algo en Redes Neuronales (sobretodo por lo "predictivo" -> reconocimiento de patrones de comportamiento en Borsa, por ejemplo...), y creo que poca cosa más. Creo que hay aún muchos campos por investigar en la "IA" y poca cosa hecha hasta el momento en ciertos aspectos. Por ejemplo, a alguien le suenan los "Algoritmos genéticos"? Ese campo aún está muy retrasado (en teorias, métodos, usos...). Si alguien pregunta sobre la IA del futuro, le responderé: la neuronal y la conexionista (Redes neuronales), aunque la investigación en Redes Neuronales tenga casi 50 años (nació el 1956:o) bueno, me parece que me he pasado con la parrafada!  hasta luego Saludos
7
« en: Jueves 26 de Junio de 2003, 09:31 »
Hola,
me parece que no te puedo ayudar, y creo que mucha gente que pasa por este subforo tampoco.... Prueba de poner este post en el foro de VisualBasic, allí seguro que te ayudan mejor. Este foro es para un tipo de programación distinta, basada en predicados logicos...
Espero que tengas suerte!
Saludos:suerte:
8
« en: Jueves 22 de Mayo de 2003, 12:33 »
De nada.... "pa eso estamos"
9
« en: Jueves 22 de Mayo de 2003, 12:27 »
Buenas, os paso aqui el link de una serie de publicaciones de la Universidad de Navarra. Són manuales básicos de diferentes temáticas y son pedagogicamente buenos. http://www1.ceit.es/asignaturas/Informat1/AyudaInf/Index.htmTienen manuiales de: Windows 95, Linux Ansi C, C++ Visual Basic 4.0 y 6.0 Java, Servlets de Java Word, Excel, PowerPoint, Access, FrontPage Matlab, Maple V y Maple8 Suerte!
10
« en: Lunes 19 de Mayo de 2003, 14:58 »
Buenas de nuevo.
El ejemplo anterior es para tipos de variables simples. Si lo que deseas pasar es un puntero a un struct, su declaración es igual, pero su uso no:
MiFuncion2(miStruct *pRef) //pRef apunta a una variable del tipo miStruct { //El acceso a los campos del struct: pRef->campo1=10; pRef->campo2="prueba"; }
//En el prog pral.: miStruct miPrueba;
miPrueba.campo1=11;//Accedemos a los campos de la estructura miPrueba.campo2="";
MiFuncion2(&miPrueba);
//Ahora miPrueba tendra valor 10 y "Prueba" en sus campos
Recuerda: para acceder a los campos de una estructura es: variable.campo si la variable es del tipo estructura... si es un puntero a la estructura es: variablePuntero->campo
Espero que te haya aclarado algo
Suerte
11
« en: Lunes 19 de Mayo de 2003, 14:49 »
Buenas, Por si no he entendido mal, tu problema es que tienes una variable declarada en un sitio donde llamas a una funcion la cual modifica ese valor... y te interesa mantenerlo
Si pasas la variable de manera normal, al ejecutar la función, se copia esa variable, y una vez acabada la funcion se elimina: Eso no nos interesa porque se perderian las modificaciones.
Lo que tienes que hacer es pasarle la direccion de memoria de la variable (como suponias), y modificar el contenido de la variable cuya direccion de memoria le pasas. Parece lioso en texto, pero lo verás más claro con un ejemplo:
//Funcion: void MiFuncion(int porValor, int* porRef) //int* significa q es la posicion de memoria de un entero (puntero a entero) { int aux; aux=porValor; porValor=*porRef; //porValor tomara el valor de lo apuntado por el puntero *porRef=aux; //La variable apuntada porRef tomara el valor de aux; }
//En la llamada a la funcion: ... int numero1, numero2; numero1=32;numero2=10; MiFuncion(numero1,&numero2);//le pasamos el numero1 y la direccion de la variable numero2 //Ahora numero1 seguirá valiendo 32 (se ha modificado una copia de numero1 dentro de la funcion, pero se ha eliminado al salir) //numero2 valdrá 32 pq se ha modificado su contenido
Espero que te haya servido de ayuda, aunque me parece que he sido un poco lioso. Reconozco que al principio, los punteros en C son un poco 'dificiles'
Suerte
12
« en: Miércoles 14 de Mayo de 2003, 12:07 »
13
« en: Miércoles 14 de Mayo de 2003, 12:06 »
Creo que la solucion a estos algoritmos no es demasiado complicada como para no saber resolver ninguno... Recomiendo que primero los intentes hacer tu, y comentes en el foro las dudas o los problemas que has encontrado Suerte!
15
« en: Miércoles 7 de Mayo de 2003, 13:12 »
Gracias... lo probaré!!
16
« en: Miércoles 7 de Mayo de 2003, 13:08 »
Pues me temo que no... la verdad es que para aprender prolog me vi obligado a usar manuales y 'perder' tiempo buscando por internet... De todas maneras, si alguien conoce algun entorno bueno con un Help potente, puede ponerlo  Si usas Windows y no necesitas aprender prolog standard, te puedes submergir en Visual prolog 6.0. Tiene una ayuda potente pero... está orientado a objetos, y la verdad es que no he podido investigar como está la integración OO Suerte!
17
« en: Lunes 5 de Mayo de 2003, 15:16 »
Buenas,
no se si lo que buscas se puede hacer con una simple instruccion, pero puedes crear tu mismo una funcion que lo haga. Para ello tendrás que acceder al registro de windows, que es donde se guarda toda la informacion sobre todo lo relacionado con las extensiones de ficheros (hasta las opciones del popup especificas).
Al grano: en HKEY_CLASSES_ROOT tienes todas las extensiones definidas en la maquina. El valor predeterminado de cada una de esas claves te envia a otra clave del registro (HKEY_CLASSES_ROOT) donde estan definidas las propiedades de ese tipo de ficheros. por ejemplo, en mi maquina tengo HKEY_CLASSES_ROOT.bmp --> Paint.Picture.
En esa carpeta (HKEY_CLASSES_ROOTPaint.Picture) estan las subcarpetas: * DefaultIcon: la variable por defecto tiene la direccion de donde se saca el icono * Shell: la variable por defecto tiene la accion que se realiza por defecto (open). En esa subcarpeta, hay otra con el nombre command donde esta la linia de comando a hacer (%1 es el nombre del fichero sobre el que se hace doble click.)
Espero que te haya servido de ayuda.... aunque reconozco que parece un poco lioso. Por cierto: para ejecutar el registro haz: Menu Inicio->ejecutar->regedit
18
« en: Lunes 5 de Mayo de 2003, 14:57 »
estoy de acuerdo con la nueva propuesta!! La encuentro muy util, y siempre puede ser el camino rapido hacia un determinado tema. Os doy mi apoyo!!
19
« en: Lunes 5 de Mayo de 2003, 14:53 »
Estoy de acuerdo contigo... lo encuentro muy buena idea!
20
« en: Lunes 5 de Mayo de 2003, 14:51 »
Que problema tienes exactamente? a lo mejor te podemos ayudar
suerte!
21
« en: Lunes 5 de Mayo de 2003, 14:49 »
Buenas,
Yo tampoco te puedo ayudar, pero: has probado de buscar por internet??
Y por cierto, has probado de hacer tu mismo las practicas y preguntar solo dudas y problemas?
Saludos, y suerte!
22
« en: Lunes 5 de Mayo de 2003, 14:46 »
Estoy con vosotros. Se le podria sacar mucho jugo de las respuestas, pero pocas veces sabes si son buenas o que... Si el que tenia el problema contestase no pasaria.
23
« en: Lunes 5 de Mayo de 2003, 14:42 »
te recomiendaria que no dejases las cosas para el final.... puestos a pedir que no quede! Si tienes alguna duda la puedes poner, pero otra cosa es que quieras que los demas te hagan las practicas! de todas maneras, suerte!
24
« en: Lunes 5 de Mayo de 2003, 14:38 »
mmm parece chungo! ahora no tengo demasiado tiempo, pero prueba de empezar por aqui, quizas sea buena idea... //alternado: dice si es una lista alternada alternado([]). //lista vacia alternado([_]). //lista de un elemento alternado([_,_]). //lista de 2 elementos alternado([X,Y,Z|L]):-X<Y,X<Z,alternado([Y,Z|L]). alternado([X,Y,Z|L]:-X>Y,X>Z,alternado([Y,Z|L]). //formado: dice si L2 se puede formar con L1 (creo que hay un predicado ya hecho) alternar(L,LA):-alternado(LA),formado(L,LA). ... me lo miro
25
« en: Lunes 28 de Abril de 2003, 12:47 »
|
|
|