• Martes 13 de Mayo de 2025, 23:14

Mostrar Mensajes

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 - Enko

Páginas: 1 ... 51 52 [53] 54 55 ... 77
1301
Pascal / Re: Problemas A La Hora De Imprimir Una Cadena
« en: Jueves 7 de Julio de 2005, 02:02 »
Citar
writeln('*');

WriteLn: Write Line, lo que hace es escribir y hacer un salto de linea, es decir, pasar al reglon de abajo.
Usa Write();
Código: Text
  1.  
  2. for i:=1 to Length(cad) do
  3.   Write('*');
  4.  
  5.  

1302
La taberna del BIT / Re: Pregunta, Respuesta
« en: Miércoles 6 de Julio de 2005, 01:31 »
Cita de: "RadicalEd"
Cita de: "Enko"
Citar
A QUE LE TIENEN MIEDO????
A JuanK :ph34r:

¿A quién odian? (ya me veo que responde JuanK :devil:  :smartass:  :lol: )
Si yo lo odio igual que me odia a mi, pero lo respeto mucho por que sabe como un berraco, Te Admiro JuanK y sin embargo te odio por malo conmigo.
cuando dije: YA VEO QUE RESPONDE JUANK.
no me refería a que la respuesta iba a ser JUANK, sino que Juank iba a responder uqe me odia por la broma del a quien le tengo miedo

1303
La taberna del BIT / Re: Hacker
« en: Martes 5 de Julio de 2005, 20:41 »
Ni que fueran monos en una jaula ;)

1304
La taberna del BIT / Re: Pregunta, Respuesta
« en: Martes 5 de Julio de 2005, 20:08 »
Citar
A QUE LE TIENEN MIEDO????
A JuanK :ph34r:

¿A quién odian? (ya me veo que responde JuanK :devil:  :smartass:  :lol: )

1305
La taberna del BIT / Re: Calcula Tu Ci
« en: Martes 5 de Julio de 2005, 00:20 »
Cita de: "Blag"
:(  Creo que todos son más inteligentes que yo  :lol:

Mi IC es de 119  :alien:



Ni modo  :hitcomp:

Saludos,

Blag  :devil:
No creo que la precisión del test sea Perfecta.
Debe tener un marjen de error.
Solo te queda esperar que en tu caso el error sea hacia abajo y no arriba.
¿Mirá si se equivocaron y te dieron de más?
A no perdon, eso debió pasar con RadicalED :devil:

1306
La taberna del BIT / Re: Calcula Tu Ci
« en: Sábado 2 de Julio de 2005, 17:56 »
Tuve un par de interupciones como siempre,
Respndí 37 bien por lo que el IC dió 124.

1307
Trucos / Personalizar Eventos
« en: Viernes 1 de Julio de 2005, 16:27 »
Esto permite asignarle un mismo Evento propio  a cualquir evento de un componente.

Se puede usar por ejemplo para una calculadora, en vez de modificar uno por uno los eventos de onClick de cada boton para que añadan un nuemero al Edit (la pantalla de la calculadora) se podría hacer un Evento universal para el proposito y asignarlo a todos los botones necesarios.

NECESARIO en la form:
Button1, Button2, Button3, Label1.

En los campos publicos o privados de la clase, añadir la cláusula:
Código: Text
  1.  
  2. procedure myButtonClick(Sender: TObject);
  3.  
  4.  
Recuerde que los TNotifyEvents son metodos con el parametro Sender.

Código: Text
  1.  
  2. type
  3.   TForm1 = class(TForm)
  4.     Button1: TButton;
  5.     Button2: TButton;
  6.     Button3: TButton;
  7.     Label1: TLabel;
  8.     procedure FormCreate(Sender: TObject);
  9.   private
  10.     { Private declarations }
  11.   public
  12.     {Public declarations}      
  13.     procedure myButtonClick(Sender: TObject); //<<<<<----------------------------
  14.   end;
  15.  
  16.  

Definimos el procedimiento que en realidad es un Evento
Código: Text
  1.  
  2. procedure TForm1.myButtonClick(Sender: TObject);
  3. var
  4.    msg: string;
  5. begin
  6.    if Sender is TButton then  
  7.     msg := TButton(Sender).Caption      
  8.    else msg := 'No es un boton';
  9.    ShowMessage('Pulsaste el boton: ' + msg);
  10. end;
  11.  
  12.  
En el codigo de arriba verificamos que el Sender, quien envia el Evento, es un Buton, luego si lo llegara a ser, hacemos el casting del Sender que es un TObject y lo usamos como TButton para sacarle el Caption.
Por si no es un Botton, añadimos una cláusula en el ELSE.

finalmente en el FormCreate agregamos......
Código: Text
  1.  
  2. procedure TForm1.FormCreate(Sender: TObject);
  3. begin
  4.   Button1.OnClick := myButtonClick;
  5.   Button2.OnClick := myButtonClick;
  6.   Button3.OnClick := myButtonClick;
  7.   Label1.OnClick := myButtonClick;
  8. end;
  9.  
  10.  

1308
Pascal / Re: Nesecito De Su Ayuda
« en: Viernes 1 de Julio de 2005, 16:03 »
Aqui no se les hace la terea a nadie ;)
¿Tienes dudas puntuales?

La idea sería hacer un ciclo while o for hasta N  y y leyendo el nuemero y luego hacer una condicion, si es positivo,negativo y dado el caso sumarle un 1 a cada acomulador que necesitarias dos. Positivos yNegativos. Otro acomulador más donde irás sumando cada nuemro.

1309
Pascal / Re: Archivos
« en: Viernes 1 de Julio de 2005, 00:44 »
Sería un poco mejor si tratas de aislar el código donde tira el error. ;) porque tienes muchas rutinas de Lectura/Escritura de archivos distintos.

Citar
Repeat
        {$i-}
         reset(libros);
         resultado:=IOresult;
        {SI+}
        if resultado<>0 then
          writeln('El archivo de Libros no se ha encontrado.')
       until (resultado=0);
¿Y qué pasa si el archivo no existe o tiene un error? No acabaría nunca de escribir que el archivo no existe.  :rolleyes:

1310
C++ Builder / Re: Desactivar Un Timer
« en: Jueves 30 de Junio de 2005, 03:53 »

1311
Pascal / Re: Ordenación Alfabética De Un Archivo
« en: Miércoles 29 de Junio de 2005, 03:52 »
Cita de: "ferchum"
para el tema de ordenacion creo que te convendria un quick sort es muy rapido y eficente que el burbuja ya que el burbuja tiene una velocidad me parece no recuerdo de On2 encuanto al quick sort es de o nlog n, ademas e  quick sort es recursivo
Muy Sierto.

Tambien cabe anotar que por ser recursiva, es más lenta de lo que podría ser. Hay versiones iterativas que usan listas enlasadas lo que la acelera mucho mas.

La velocidad de burbuja es:  n*n
Citar
Ventajas:

    * Fácil implementación.
    * No requiere memoria adicional.
Desventajas:
    * Muy lento.
    * Realiza numerosas comparaciones.
    * Realiza numerosos intercambios

La de Quiksort es: n log2n

Citar
Ventajas:
    * Muy rápido
    * No requiere memoria adicional.
Desventajas:
    * Implementación un poco más complicada.
    * Recursividad (utiliza muchos recursos).
    * Mucha diferencia entre el peor y el mejor caso.


Lo que si, es que la "ordenacion rápida" es un algoritmo bastante complicado para entender, o mucho más complejo que el de burbuja.

1312
Pascal / Re: Ordenación Alfabética De Un Archivo
« en: Miércoles 29 de Junio de 2005, 00:59 »
Vamos por pasos  :rolleyes:
No se la complejidad con la que tienes que trabajar. ;)
 
Lo que pasa es que los Arrays tienen que tener una cantidad de elementos estático, es decir, no pueden variar el tamaño de sus elementos. Así se defines un array con 100 elementos, si el archivo llega a tener 101, fuiste, el programa tirará error.  Para esos casos se usan listas enlazadas (punteros) pero supongo que no llegaste ahí todavía y que tienes que usar Arrays.

Te tiraré estos ejemplos con uso de arrays:

DIFINIENDO VECTORES:
----------------------------
Código: Text
  1.  
  2. const
  3.   Max = 10;
  4.   Min = 1;
  5.   Intervalo = Max..Min;
  6.   elMismoIntervalo = 1..10;
  7.  
  8. type
  9.   MiVector = array[1..10] of String;
  10.   MiSegundoVetor = array[Intervalo] of Integer;
  11.   MiTercerVetor = array[Min..Max] of Boolean;
  12.  
  13. var
  14.   UnVector: MiVetor;
  15.   LoMismo: array[1..10] of string;
  16.   OtroMas: MiTercerVetor;
  17.   OtroVector: array[Intervalo] of Char;
  18.  
  19.  

ASIGNANDO VALORES:
--------------------------
Código: Text
  1.  
  2. {iniciando el vetor}
  3. for i:=Min to Max do
  4.   Vector[i] := 0;
  5.  
  6. {Dando un valor a la posicion N}
  7. Vector[N] := 43;
  8. Vector[4] := 43;
  9.  
  10. {leyendo del teclado assignando en vector}
  11. ReadLn(VectorCadena[1]);
  12. ReadLn(VectorNumero[X]);
  13.  
  14.  

ORDENANDO UN VECTOR NUMÉRICO:
-------------------------------------------
Código: Text
  1.  
  2. var
  3.   i,j,temp: integer;
  4.   v: array[1..10] of integer;
  5. begin
  6.   {se llena con valores aleatorios}
  7.   Randomize; {cambia la semilla del random}
  8.   for i:=1 to 10 do
  9.     v[i] := Random(10);
  10.  
  11.   {se ordena}
  12.   for i:=1 to 10 do
  13.     for j:=i+1 to 10 do
  14.     {puede ser: j:=1 to 10 do}
  15.     {pero seria desperdiciar recursos, creo :S}
  16.     {si el segundo elemento es mayor que el primero,
  17.     hay intercambiarlos cosa que se ordene}
  18.     if v[j] &#60; v[i] then
  19.       begin
  20.         temp := v[i];
  21.         v[i] := v[j];
  22.         v[j] := temp;
  23.       end;
  24.  
  25.     {se muestra el vector en la pantalla}
  26.     for i:=1 to 10 do
  27.       writeln(v[i]);
  28.     Readln;
  29. end.
  30.  
  31.  

FUNCIONAMIENTO DE LA ORDENACION BURBUJA:
---------------------------------------------------------
Mi explicacion es medio chapusera por eso te recomiendo leer en algun otro lado :ph34r:
La idea es ir comparando un elemento del vector con todos para saber si es el mayor, si llega a serlo tiene que estar al principio o al final según sea ascendente o descendente.
Simulemos una primera corrida del algoritmo:
Toma el elemento V que es V[1] y lo comparar con V[j] donde J es igual a I+1 por lo que estar'ia comparandolo con V[2], luego J aumenta en 1 unidad y lo comparar'ia con v[3], y asi hasta 10.  
Si el elemento V[2] o [v3] llegaran a ser mayores que v[1], tendrian que ser los priemero por lo que se intercambian.
Despues de comparar el v[1] con v[2..10], se termina la primera ejecucion del  for de J y se ejecuta ejecuta el for de I auementando la en 1 unidad.
Asi pues, estar'iamos comparando el V[2] con 3,4,5,6...10. Porque V[2] es V y los otros son v[j] donde J = i+1;   que se incrementa en el for de J.

 :hola:

1313
Pascal / Re: Ordenación Alfabética De Un Archivo
« en: Martes 28 de Junio de 2005, 03:09 »
El código era solo un ejemplo para dar una idea.
Yo no soy muy bueno en esto de algoritmos de ordenación y mucho menos en algoritmos :rolleyes:
Pero bueno, supongo que la idea sería esta:
*Primero deberías hacer una funcion que te indique cual de dos Strings es menor alpabeticamente que otro. Algo como:
Citar
function esMenor(s1,s2: string): boolean;
*Y otra uqe ordene el vector.

Ahorita no se me ocurre como hacer bien la funcion que diga cual de las dos palabras es mayor. Para ma;ana se me ocurrir'a algo :rolleyes:
La idea sería comparar letra por letra mientras sean iguales hasta que una sea diferente y bueno, saber cual de las dos letras es menor y a que palabra le corresponde. Al parecer, la recursividad encaje bien ahí.


Para ordenar supongo que con ordenación burbuja sobra...
Código: Text
  1.  
  2. for i:=1 to MAX_CANT do
  3.    for j:=i+1 to MAX_CANT do
  4.        if esMayor(Lista[j], Lista[i]) then Intercambiar(Lista[i], Lista[j]);
  5.  
  6.  

1314
Pascal / Re: Duda Sobre Recursividad
« en: Domingo 26 de Junio de 2005, 17:25 »
En realidad por lo general un código iterativo es más eficiente que uno recursivo. ;)

1315
Trucos / Leer Antes De Postear
« en: Jueves 23 de Junio de 2005, 02:36 »
* Pueden publicar aquí cualquier código hecho que les parezca interesante:
---*Puede ser un truco interesante, algo curioso...
---*Código que es frecuentemente preguntado en el foro
---*Algún metodo que les gusta

* En lo posible, en la descripcion de la discucion coloquen al subgrupo que pertenece como:
---*Gráficos
---*Bases de Datos
---*General
---*Formas
---*Componentes (que componente es)
---*Clases
---*Sistema operativo
---*Algun otro que les parezca correcto  o alguna breve descripción parecida.

* Tambien seríe bueno que en el mensaje coloquen:
---*Descripcion de lo que hace
---*Para que sirve
---*Que componentes hay que  tener en la Form, de ser necesario
---*El código en sí
---*El autor en lo posible (si no es suyo o algo así)

*En el código en lo posible tener los componentes con los nombres que les da Delphi, es decir, Form1, Button1, etc..

*No está permitido solicitar la realizacion de ninguna rutina, para eso tienen otras secciones.

1316
Pascal / Re: Error 160
« en: Jueves 23 de Junio de 2005, 00:06 »
Que estas tratando de hacer?

1317
Pascal / Re: Ubicaion De Robots Aleatoriamente
« en: Miércoles 22 de Junio de 2005, 01:27 »
Citar
type tablero=array[1..m,1..m] of char;
¿Cómo es que tiende a infinito si "m" debería ser una constante?
¿Tienes que usar arreglos o punteros (memoría dinámica)?

1318
La taberna del BIT / Re: Nuevo Virus
« en: Lunes 20 de Junio de 2005, 04:04 »
Citar
Y LO PEOR DE TODO... INCLUSO CATASTROFICO..... ES QUE AUTOMÁTICAMENTE EL MUY JOPUTA TE HACE SOCIO DEL BARCELONA!!
Eso último no me pasó, así que no estoy infectado :nosweat:

1319
La taberna del BIT / Re: Para Los Interesados
« en: Domingo 19 de Junio de 2005, 20:16 »
;)  :D  &lt;_&lt;  :)  :(

1320
La taberna del BIT / Re: Hoy Aprendi Algo Nuevo
« en: Sábado 18 de Junio de 2005, 02:12 »
Cita de: "Blag"
Citar
soy dedicando todo mi tiempo libre a tocar guitara, actividad física y descansar la mente despues de la schoole.   :devil:

Entonces tienes tiempo para diseñar la portada para Código Latino # 3 no?????  :lol:

Saludos,

Blag  :whistling:
SIIIIIIIIIIIIIIIIIII, TOTALMENTE.  :D  Ya estoy a punto de hacerlo. El fin de semana, que no tengo nada que hacer.... B)  Lo hago.

Eso no es programar. Es algo que relaja.  Al igual que programar en ActionScript, PHP y relacionados  menos Java.

Citar
estaba luciendo con mi proyecto ante un profesor y fallo algo que jamas habia fallado sad.gif blink.gif
:(  Eso pasa. ¿Que dice el famoso Morphie?

1321
La taberna del BIT / Re: Hoy Aprendi Algo Nuevo
« en: Viernes 17 de Junio de 2005, 03:47 »
Tambien aprendí que para dejar un vicio, por lo general, hay que crear otro. :(
Por lo menos por un rato, depspues, y solo por ahí, se pase. :unsure:

1322
La taberna del BIT / Re: Hoy Aprendi Algo Nuevo
« en: Viernes 17 de Junio de 2005, 03:46 »
Hoy aprendí que puedo vivir tranquilo sin tener  que estar programando algo grande o directamente programando. Ya llevo 5 semanas y yupiiiiiiiiiiiii :kicking:  
Esoy dedicando todo mi tiempo libre a tocar guitara, actividad física y descansar la mente despues de la schoole.  :devil:

PD: No es que no programé nada, simpre estoy dando vueltas por los foros pero no estoy aprendiendo nada nuevo ni tampoco realizando, terminando, sacando del freezer los proyectos grandes.

1323
Pascal / Re: Archivos
« en: Viernes 17 de Junio de 2005, 03:20 »
Creo que encontré el error. &lt;_&lt;  ;)
La rutina de Abrir Archivo parece que no se que cosa......
La cambié por
Código: Text
  1.  
  2. procedure AbreArchivo;
  3. var
  4.   CodError: integer;
  5. begin
  6.   Assign(Archivo,Ruta);
  7.   {&#036;I-}
  8.   Reset(Archivo);
  9.   CodError:= IOResult;
  10.   {&#036;I+}
  11.   if CodError &#60;&#62; 0 then ReWrite(Archivo);
  12.   {si hay algun error lo sobreescribe}
  13. end;
  14.  
  15.  
Y al parecer se arregló el problema.

Te adjunto al final el pas por si acaso porque le borre los GotosXY pensando que escribía fuera de la pantalla :o.

Citar
En éste foro, uno si se siente que forma parte de algo. Gracias por eso y por la ayuda (aunque sean repetitivas las gracias, un servidor siempre estará agradecido).
Cuando hab'ia descubierto este foro pensaba lo mismo, y lo sigo haciendo :)

1324
Pascal / Re: Diferencias
« en: Jueves 16 de Junio de 2005, 04:50 »
Mirate estos links:
Iteracion
Recursividad

De manera facil, la iteracion son los bucles, un bloque de instrucciones que se repite N veces.
La recursividad ocurre cuando una rutina se llama a sí misma hasta que se cumpla una condicion.

Igualmente lee los vinculos que están bien bonitas ahí las definiciones.

1325
C# / Re: Ahora Si Mi Proyecto
« en: Jueves 16 de Junio de 2005, 02:26 »
¿Que necesito para correrlo? :rolleyes:

Páginas: 1 ... 51 52 [53] 54 55 ... 77