|
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
« en: Jueves 7 de Julio de 2005, 02:02 »
writeln('*');
WriteLn: Write Line, lo que hace es escribir y hacer un salto de linea, es decir, pasar al reglon de abajo. Usa Write(); for i:=1 to Length(cad) do Write('*');
1302
« en: Miércoles 6 de Julio de 2005, 01:31 »
1303
« en: Martes 5 de Julio de 2005, 20:41 »
Ni que fueran monos en una jaula
1304
« en: Martes 5 de Julio de 2005, 20:08 »
A QUE LE TIENEN MIEDO????
A JuanK ¿A quién odian? (ya me veo que responde JuanK  )
1305
« en: Martes 5 de Julio de 2005, 00:20 »
Creo que todos son más inteligentes que yo
Mi IC es de 119

Ni modo
Saludos,
Blag 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
1306
« 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
« 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: procedure myButtonClick(Sender: TObject);
Recuerde que los TNotifyEvents son metodos con el parametro Sender. type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Label1: TLabel; procedure FormCreate(Sender: TObject); private { Private declarations } public {Public declarations} procedure myButtonClick(Sender: TObject); //<<<<<---------------------------- end;
Definimos el procedimiento que en realidad es un Evento procedure TForm1.myButtonClick(Sender: TObject); var msg: string; begin if Sender is TButton then msg := TButton(Sender).Caption else msg := 'No es un boton'; ShowMessage('Pulsaste el boton: ' + msg); end;
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...... procedure TForm1.FormCreate(Sender: TObject); begin Button1.OnClick := myButtonClick; Button2.OnClick := myButtonClick; Button3.OnClick := myButtonClick; Label1.OnClick := myButtonClick; end;
1308
« 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
« 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. 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.
1310
« en: Jueves 30 de Junio de 2005, 03:53 »
1311
« en: Miércoles 29 de Junio de 2005, 03:52 »
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 Ventajas:
* Fácil implementación. * No requiere memoria adicional. Desventajas: * Muy lento. * Realiza numerosas comparaciones. * Realiza numerosos intercambios
La de Quiksort es: n log2n 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
« en: Miércoles 29 de Junio de 2005, 00:59 »
Vamos por pasos 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: ---------------------------- const Max = 10; Min = 1; Intervalo = Max..Min; elMismoIntervalo = 1..10; type MiVector = array[1..10] of String; MiSegundoVetor = array[Intervalo] of Integer; MiTercerVetor = array[Min..Max] of Boolean; var UnVector: MiVetor; LoMismo: array[1..10] of string; OtroMas: MiTercerVetor; OtroVector: array[Intervalo] of Char;
ASIGNANDO VALORES: -------------------------- {iniciando el vetor} for i:=Min to Max do Vector[i] := 0; {Dando un valor a la posicion N} Vector[N] := 43; Vector[4] := 43; {leyendo del teclado assignando en vector} ReadLn(VectorCadena[1]); ReadLn(VectorNumero[X]);
ORDENANDO UN VECTOR NUMÉRICO: ------------------------------------------- var i,j,temp: integer; v: array[1..10] of integer; begin {se llena con valores aleatorios} Randomize; {cambia la semilla del random} for i:=1 to 10 do v[i] := Random(10); {se ordena} for i:=1 to 10 do for j:=i+1 to 10 do {puede ser: j:=1 to 10 do} {pero seria desperdiciar recursos, creo :S} {si el segundo elemento es mayor que el primero, hay intercambiarlos cosa que se ordene} if v[j] < v[i] then begin temp := v[i]; v[i] := v[j]; v[j] := temp; end; {se muestra el vector en la pantalla} for i:=1 to 10 do writeln(v[i]); Readln; end.
FUNCIONAMIENTO DE LA ORDENACION BURBUJA: --------------------------------------------------------- Mi explicacion es medio chapusera por eso te recomiendo leer en algun otro lado 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.
1313
« 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 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: 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 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... for i:=1 to MAX_CANT do for j:=i+1 to MAX_CANT do if esMayor(Lista[j], Lista[i]) then Intercambiar(Lista[i], Lista[j]);
1314
« 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
« 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
« en: Jueves 23 de Junio de 2005, 00:06 »
Que estas tratando de hacer?
1317
« en: Miércoles 22 de Junio de 2005, 01:27 »
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
« en: Lunes 20 de Junio de 2005, 04:04 »
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
1319
« en: Domingo 19 de Junio de 2005, 20:16 »
1320
« en: Sábado 18 de Junio de 2005, 02:12 »
soy dedicando todo mi tiempo libre a tocar guitara, actividad física y descansar la mente despues de la schoole.
Entonces tienes tiempo para diseñar la portada para Código Latino # 3 no?????
Saludos,
Blag SIIIIIIIIIIIIIIIIIII, TOTALMENTE.  Ya estoy a punto de hacerlo. El fin de semana, que no tengo nada que hacer....  Lo hago. Eso no es programar. Es algo que relaja. Al igual que programar en ActionScript, PHP y relacionados menos Java. 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
« 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.
1322
« 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 Esoy dedicando todo mi tiempo libre a tocar guitara, actividad física y descansar la mente despues de la schoole. 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
« en: Viernes 17 de Junio de 2005, 03:20 »
Creo que encontré el error. La rutina de Abrir Archivo parece que no se que cosa...... La cambié por procedure AbreArchivo; var CodError: integer; begin Assign(Archivo,Ruta); {$I-} Reset(Archivo); CodError:= IOResult; {$I+} if CodError <> 0 then ReWrite(Archivo); {si hay algun error lo sobreescribe} end;
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  . 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
« en: Jueves 16 de Junio de 2005, 04:50 »
Mirate estos links: IteracionRecursividadDe 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
« en: Jueves 16 de Junio de 2005, 02:26 »
¿Que necesito para correrlo?
Páginas: 1 ... 51 52 [53] 54 55 ... 77
|
|
|