|
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 - gmantil
51
« en: Viernes 16 de Mayo de 2003, 15:00 »
Makea: En C/C++ tu no necesitas ninguna función para conocer el valor ascii de un caracter.
char tecla;
tecla=getche(); printf("nCaracter=%c, en Ascci=%d",tecla,tecla);
Así podrás ver tanto el caracter como su valor ascii.
gmantil
52
« en: Viernes 16 de Mayo de 2003, 14:53 »
Olvide también hacerte notar que los formatos con porcentaje, son utilizados como un parámetro en los printf, scanf, etc y no generan un resultado lógico luego no puedes preguntar por ellos en un if.
gmantil
53
« en: Viernes 16 de Mayo de 2003, 14:51 »
Hola makea: No entiendo que quieres decir con cual es el formato mas corto. ¿El que utiliza menos bytes? Si eso es lo que quieres puedes averiguarlo con "sizeof".
a=sizeof(float);
Dejará en la variable a el número de bytes que utiliza el tipo float.
gmantil
54
« en: Miércoles 14 de Mayo de 2003, 20:44 »
Hola cyber: Debes citar la estructura pues allí no hemos creado un nuevo tipo de dato, tan solo hemos declarado la estructura.
Si quieres evitar colocar el struct cada vez, debes hacer un nuevo tipo de dato con "typedef", en ese caso solo citarás el nuevo tipo de datos.
gmantil
55
« en: Miércoles 14 de Mayo de 2003, 15:02 »
Hola Cyber: No entiendo muy bien tu problema, pero creo haber entendido que el problema radica en crear la estructura.
Luego esto puede ser así:
struct estudiante { /* datos */ struct estudiante *sig; };
struct relacion_curso { /* datos */ struct relacion_curso *sig; struct estudiante *otro; }
struct curso { /* datos */ struct relacion_curso *otro_c; struct curso *sig; }
Esa seria mas o menos la declaración.
Si entendí mal, indicamelo y trataré de ayudarte mejor.
gmantil
56
« en: Miércoles 14 de Mayo de 2003, 14:50 »
Hola Lasombra: Estoy de acuerdo contigo, sinembargo no he visto tu voto en la propuesta en "Nuevos Foros".
Nos ayudarias mucho si apoyas esta propuesta allá, pues así motivamos a solocodigo para su creación.
Saludos,
gmantil
57
« en: Miércoles 14 de Mayo de 2003, 14:46 »
Hola reckba2:
Lamentablemente, en español no se consigue con la misma intensidad los ebooks y publicaciones. Sinembargo, cuando tengamos el foro de publicaciones, es posible que entre todos logremos hacer una colección de info en español.
De todas maneras, si necesitas algo puntual en español, dilo y te indicaré si lo poseo o alguién nos ayudará.
gmantil
58
« en: Miércoles 14 de Mayo de 2003, 14:37 »
Hola: Las teclas de función son teclas de las consideradas especiales, las cuales retornan 2 caracteres por cada pulsación.
El primer caracter retornado en una tecla especial es el valor numérico 0. La segunda pulsación es la correspondiente a la tecla en cuestión.
Tu puedes hacer un pequeño código para detectar estos valores:
do{ tecla = getch(); if (tecla == 0) { tecla = getch(); printf("nCaracter Especial"); } printf("En Dec = %d en Carac = %c", tecla,tecla); } while(tecla!=13);
Este pequeño programa pide pulsaciones y las imprime en decimal y caracter. Si el caracter es especial, dirá "Caracter Especial");
ASí podrás saber cuales son especiales y su valor ascii corrspondiente.
En tu programa podrás hacer la validación de igual manera.
Cualquier duda, no dudes en contactarnos.
gmantil
59
« en: Martes 6 de Mayo de 2003, 21:01 »
60
« en: Sábado 3 de Mayo de 2003, 02:37 »
Amigos del C# : Adjunto os dejo una dirección que os permitirá empezar a trabajar con el C#. http://guille.costasol.net/NET/cursoCSh ... /index.htmTambién quiero aprovechar para pedir la ayuda de todos Uds. En los nuevos foros propuestos, he pedido la creación de uno que nos permita tener por categorias los links a temas publicados sobre un tema específico. Donde cada que encontremos un ebook o material interesante, publiquemos el link para que cuando necesitemos no necesitemos horas de exploración en internet. Si mi idea te parece que funcionaria pido tu ayuda para que poyes mi pedido y podamos así lograr la creación de este foro. gmantil
61
« en: Sábado 3 de Mayo de 2003, 02:28 »
Hola Juank: Un lenguaje evaluado es aquel en que el código se convierte en lenguaje máquina al arranque del programa y se almacena en la memoria temporal. Los lenguajes interpretados convierten en lenguaje m'aquina las instrucciones en la medida que el programa se ejecuta. Los lenguajes compilados convierten en lenguaje máquina cuando el programa se compila y se genera un ejecutable. Hay quienes dicen que los programas evaluados, son mas lentos que los programas compilados como C y Pascal. Sinembargo, son mas rápidos que los lenguajes interpretados.
Uno de los lenguajes evaluados mas utilizados antes del C#, ha sido el AutoLISP. Y tu lo has dicho, están entre los compilados y los interpretados.
gmantil
63
« en: Sábado 3 de Mayo de 2003, 01:54 »
Hola amigos, de nuevo soy yo:
Se me ha ocurrido en estos dias una idea para la que quiero pedir el apoyo de todos ustedes.
A través de años de exploración en Internet he hecho una colección de materiales los cuales guardo catalogados por tema. Este ha sido un trabajo extenso y siempre cuando he necesitado conocer de algo nuevo para mí, han sido horas y horas de exploración para encontrar ese material. Dado lo anterior, se me ha ocurrido proponer un foro donde todos los integrantes de los foros coloquemos direcciones a publicaciones de interés en un tema en particular. De esa manera podremos empezar por buscar en nuestro foro cuando necesitamos algo. Esto podría hacernos ganar tiempo. Muchas veces no sabemos lo que ya existe publicado.
Si os agrada mi idea, ve a los nuevos foros y apoya mi propuesta. Recuerden que mientras mas personas la apoyen, mas posibilidad de exito alcanzaremos.
Muchas gracias,
gmentil
64
« en: Sábado 3 de Mayo de 2003, 01:42 »
Hola amigos de los foros:
Una de las cosas que nos toma muchísimo tiempo de internet es encontrar algún tema que estamos buscando. En eso nos ayuda mucho los foros pues podemos interactuar con otras personas que conocen la solución a ese algo desconocido para nosostros.
Yo quiero proponer un nuevo foro donde coloquemos direcciones de ebooks y publicaciones, donde en el tema podemos indicar la categoria y en el cuerpo del mensaje links que nos lleven al tema anunciado. Esto nos permitiría encontrar mas facilmente el tutorial, manual, e incluso la publicación que buscamos.
Quiero pedir el apoyo de todos Uds. para que esta idea se pueda llevar a cabo y nos publiquen un foro que nos permita hacer lo que les propongo. Todos ganaremos con esto.
Hasta pronto,
gmantil:ayuda:
65
« en: Viernes 2 de Mayo de 2003, 13:00 »
También, el uso de las condicionales del precompilador es para dar portabilidad a los programas. Por ejemplo, tu haces un programa de hace uso del juego de instrucciones del procesador Pentium 4, las cuales no correran en un procesador de menor caracteristica. Así cuando vayas a compilar en un procesador de menor carateristica no tienes que modificar nada. Esto es ideal para los programas que se ponen públicos donde cada quién debera compilarlo en máquinas distintas. Ese es uno de sus usos mas importantes.
Gmantil
67
« en: Viernes 25 de Abril de 2003, 14:56 »
Hola Jonathan: Apoyo tu propuesta.
gmantil
68
« en: Viernes 4 de Abril de 2003, 14:38 »
La recursividad es el mecanismo mediante el cual un módulo se invoca a si mismo. Hay operaciones que son recursivas por naturaleza, como el factorial:
5! = 5 * 4 * 3 * 2 * 1 4! = 4 * 3 * 2 * 1 3! = 3 * 2 * 1 2! = 2 * 1 1! = 1
Luego yo puedo decir que:
5! = 4! * 5 4! = 3! * 4 3! = 2! * 3 2! = 1! * 2 1! = 1
Entonces bajo ese criterio yo puedo expresar esto como la función:
factorial(5) = factorial(4) * 5 y así sucesivamente.
Observe que la función tiene dos comportamientos:
factorial(n) = factorial(n-1) * n Cuando n<>1 y factorial(n) = 1 Cuando n = 1
Luego la función sería:
factorial(int n) { if(n>1) return(n*factorial(n-1)); else if(n==1) return(1); }
Vea que la función factorial es llamada de nuevo desde la misma función factorial. Eso es la recursividad.
Sinembargo, le recomiendo usar la recursividad solo en los casos que no pueda usar operaciones cíclicas, pues el cambio de contexto consume mucho recurso.
gmantil
70
« en: Viernes 28 de Marzo de 2003, 17:33 »
Las sentencias TextTextbreakTextText y TextTextcontinueTextText se encuentran definidas en el C estandar por lo que su utilización es permitida.
En lo personal, considero que estas sentencias son heredadas de la tendencia de programación anterior a la programación estructurada. Yo en mis programas evito colocar sentencias que rompan el flujo normal del programa. Considero que la programación estructurada y modular será mas clara y manejable mientras siga correctamente una secuencialidad.
Yo a mis alumnos los encamino a no utilizar estas sentencias: goto, label, break (salvo en los switch) y continue. Pero eso es mas una cultura personal.
gmantil
71
« en: Viernes 28 de Marzo de 2003, 14:28 »
Hola, ahora no tengo mucho tiempo, pero tienes razón. Una pequeña luz no hace daño.
En Windows los puertos se utilizan igual que los archivos, luego investiga un poco por ese lado. He estado un poco atareado por lo que no puedo darte mucho apoyo ahora, pero el cuento va por allí.
gmantil
72
« en: Viernes 28 de Marzo de 2003, 14:16 »
Te voy a dar algunas luces:
Existe una función que te indica cuando una tecla fue pulsada ==> kbhit(). Esta función la puedes usar en un ciclo mientras no se haya pulsado ninguna tecla.
Puedes usar la función time() para consultar el tiempo en segundos.
Con estos TIPS, podrás hacer ese programa que tienes de tarea.
gmantil
73
« en: Viernes 28 de Marzo de 2003, 14:03 »
Hola Marta: El funcionamiento del QuickSort es el siguiente:
Se calcula un indice a la mitad del vector a ordenar.
Se comparan los elementos de la izquierda contra ese elemento medio hasta encontrar un elemento mayor al de la mitad.
Se comparan los elementos de la derecha contra el mismo elemento medio citado arriba hasta encontrar un elemento menor al de la mitad.
Cuando tenemos un mayor a la izquierda y un menor a la derecha, los intercambiamos entre sí.
Volvemos a mirar los de la izquierda restantes contra el de la mitad bajo el mismo criterio anterior, igual hacemos con los de la derecha y volvemos a intercambiar.
Esto se repite en un ciclo hasta que el indice por izquierda supere o sea igual al indice por derecha.
Saliendo de este ciclo el llamado se hace de nuevo recursivo, primero por izquierda considerando un subvector entre el inicio del vector y el indice por derecha.
Luego se hace un llamado recursivo por derecha considerando un subvector desde el indice por izquierda y el limite del vector por derecha.
Este es el funcionamiento de este algoritmo de naturaleza recursivo. Si quieres convertirlo por ciclos, debes entender primero bien su naturaleza pura.
gmantil
75
« en: Miércoles 19 de Marzo de 2003, 18:24 »
Desde Windows puedes usar las funciones del API: lpVolumeNameBuffer lpVolumeSerialNumber Desde DOS puedes usar la interrupción : Int 13/AH=25h Puedes ver está página para mas información: http://www.ctyme.com/intr/rb-0677.htmHasta pronto, gmantil
|
|
|