Ver la versión completa : Duda sobre protocolo de programación Java
Kurraudo
12/05/2009, 13:39
(Al no existir un subforo específico de programación ajena a GP32/2X/Wiz/Pandora posteo esto aquí. Sentíos libres de mover el hilo si lo véis conveniente ;))
Bueno, mi duda es esta. En mis apuntes de programación Java encuentro lo siguiente:
Métodos para obtener objetos del Iterable:
*Método buscar:
◦Entrada:
*Iterable con los datos a tratar
*Criterio que indica la propiedad a cumplir por el objeto buscado
◦Salida:
*objeto de tipo T que pertenece al Iterable y cumple la propiedad
Nota: se considera de mal gusto el uso de instrucciones “break”
public static<T> T buscar(Iterable<T> it, Criterio<? superT> propiedad){
...
}Conozco que entre programadores hay normas de protocolo (Si no me equivoco, el no uso del goto en C u otros lenguajes es una de ellas) para evitar líos al revisar el código, etc... ¿Es esta otra de esas normas? ¿Por qué motivo? Tengo bastante curiosidad :brindis:
JoJo_ReloadeD
12/05/2009, 13:44
Estais aprendiendo a programar en java??
Asi rompes el flujo del programa, lo ideal es que si quieres terminar la ejecucion, se salga del bucle principal 'por las buenas'.
PharaOnyx
12/05/2009, 13:44
Conozco que entre programadores hay normas de protocolo (Si no me equivoco, el no uso del goto en C u otros lenguajes es una de ellas) para evitar líos al revisar el código, etc... ¿Es esta otra de esas normas? ¿Por qué motivo? Tengo bastante curiosidad :brindis:
Porque un 'break' rompe lo que se considera el flujo normal de un programa. Si tienes que usar un 'break' dentro de un bucle/sentencia de selección probablemente no estés definiendo bien ese bucle o sentencia de selección. Creo que el único uso bien visto de 'break' está dentro de las sentencias 'switch' o 'case', según el lenguaje de programación que sea
Saludos, Alex
^MiSaTo^
12/05/2009, 13:48
Creo que el único uso bien visto de 'break' está dentro de las sentencias 'switch' o 'case', según el lenguaje de programación que sea
Saludos, Alex
Hombre que está bien visto, como que la sentencia es así :)
Kurraudo
12/05/2009, 13:49
Estais aprendiendo a programar en java??
Forma parte de lo que estoy dando en mi universidad en temas de programación ;) Aunque aparte de ese lenguaje y del ensamblador del 68000 que empezamos mañana no se nada más en cuanto a programación por el momento.
Ya sobre la pregunta, lo que ocurre entonces es que la instrucción break() no sólo sale del bucle de búsqueda del Iterable, sino que también interrumpe el resto del programa ¿No?
PharaOnyx
12/05/2009, 13:53
Forma parte de lo que estoy dando en mi universidad en temas de programación ;) Aunque aparte de ese lenguaje y del ensamblador del 68000 que empezamos mañana no se nada más en cuanto a programación por el momento.
Ya sobre la pregunta, lo que ocurre entonces es que la instrucción break() no sólo sale del bucle de búsqueda del Iterable, sino que también interrumpe el resto del programa ¿No?
Se sale del nivel en el que se encuentre, pudiendo pasarle como parámetro el número de niveles del que quieres que salga. Si tuvieras 2 bucles 'for' anidados, un 'break' se saldría del más interno, mientras que un 'break(2)' se saldría de ambos
Saludos, Alex
edito: en PHP, claro [wei5]
Kurraudo
12/05/2009, 13:58
Se sale del nivel en el que se encuentre, pudiendo pasarle como parámetro el número de niveles del que quieres que salga. Si tuvieras 2 bucles 'for' anidados, un 'break' se saldría del más interno, mientras que un 'break(2)' se saldría de ambos
Saludos, Alex
edito: en PHP, claro [wei5]
Ah, vale, ya decía yo que lo del Break(2) no me sonaba XD
¿Y a qué te refieres con bucles For anidados? Que yo sepa existen el For corriente y el extendido (T elemento:iterable)
PharaOnyx
12/05/2009, 14:00
Ah, vale, ya decía yo que lo del Break(2) no me sonaba XD
¿Y a qué te refieres con bucles For anidados? Que yo sepa existen el For corriente y el extendido (T elemento:iterable)
for ($i=0;$i<10;$i++) {
for ($j=0;$j<10;$j++) {
break(2);
} /* for */
} /* for */
Un 'for' dentro de otro 'for', vamos x'D
Saludos, Alex
Kurraudo
12/05/2009, 14:06
for ($i=0;$i<10;$i++) {
for ($j=0;$j<10;$j++) {
break(2);
} /* for */
} /* for */
Un 'for' dentro de otro 'for', vamos x'D
Saludos, Alex
Ah, entendido :)
Entonces en java sería algo como...
Vector<Integer> v1 = new Vector<Integer>;
for (Integer i : v1){
for (Integer i : v1){
break();
}
break();
}
...esto ¿Verdad? (No se si en Java es posible un break(2) como en PHP, por eso lo he puesto así)
PharaOnyx
12/05/2009, 14:09
Ah, entendido :)
Entonces en java sería algo como...
Vector<Integer> v1 = new Vector<Integer>;
for (Integer i : v1){
for (Integer i : v1){
break();
}
break();
}
...esto ¿Verdad? (No se si en Java es posible un break(2) como en PHP, por eso lo he puesto así)
No recuerdo si era 'break();' o simplemente 'break;' pero vamos, sí, en esencia es eso :)
Saludos, Alex
Kurraudo
12/05/2009, 14:11
No recuerdo si era 'break();' o simplemente 'break;' pero vamos, sí, en esencia es eso :)
Saludos, Alex
Yo tampoco lo recuerdo bien, no solemos usar break ni en prácticas ni en los ejercicios de clase. Bueno, gracias a todos entonces por aclararme la duda ;)
^MiSaTo^
12/05/2009, 14:12
Ah, entendido :)
Entonces en java sería algo como...
Vector<Integer> v1 = new Vector<Integer>;
for (Integer i : v1){
for (Integer i : v1){
break();
}
break();
}
...esto ¿Verdad? (No se si en Java es posible un break(2) como en PHP, por eso lo he puesto así)
Nop en java sería:
Iterator iterator = v1.iterator();
while (iterator.hasNext()){
...
}
y con versión sin Iterator:
for (int i = 0; i<v1.size;i++){
for(int j = 0; j<v1.size;j++){
break;
}
break;
}
PharaOnyx
12/05/2009, 14:14
Yo tampoco lo recuerdo bien, no solemos usar break ni en prácticas ni en los ejercicios de clase. Bueno, gracias a todos entonces por aclararme la duda ;)
Yo no lo usaba en la universidad porque era motivo de suspenso directo principalmente :lol:
Saludos, Alex
Kurraudo
12/05/2009, 14:15
Nop en java sería:
Iterator iterator = v1.iterator();
while (iterator.hasNext()){
...
}y con versión sin Iterator:
for (int i = 0; i<v1.size;i++){
for(int j = 0; j<v1.size;j++){
break;
}
break;
}
Eso sería si usásemos un bloque While en el primer caso (Con un Iterator a secas) y un bucle For normal en el segundo ¿Verdad? Es que yo he usado For extendido :p
^MiSaTo^
12/05/2009, 14:16
Eso sería si usásemos un bloque While en el primer caso (Con un Iterator a secas) y un bucle For normal en el segundo ¿Verdad? Es que yo he usado For extendido :p
Ah esque yo nunca he usado el For extendido sorry.
Para las colecciones, lo mejor los iterators ;)
PharaOnyx
12/05/2009, 14:17
Eso sería si usásemos un bloque While en el primer caso (Con un Iterator a secas) y un bucle For normal en el segundo ¿Verdad? Es que yo he usado For extendido :p
Cuánto daño han hecho las colecciones y el 'for' abreviado a la legibilidad de los programas, ainz x'D
Saludos, Alex
Kurraudo
12/05/2009, 14:20
Ah esque yo nunca he usado el For extendido sorry.
Para las colecciones, lo mejor los iterators ;)
No pasa nada, debe ser cosa de que a nosotros que somos nuevos se nos enseña a usar más el For extendido :)
< - >
Por cierto, aprovecho para preguntar una cosilla ¿Qué es lo que se programa normalmente en java a nivel semiprofesional (Que no sean lavadoras XD)?
^MiSaTo^
12/05/2009, 14:22
Cuánto daño han hecho las colecciones y el 'for' abreviado a la legibilidad de los programas, ainz x'D
Saludos, Alex
Oye que las colecciones son un inventazo ;)
Pero sí yo siempre prefiero poner el for de to la vida.
Por cierto, aprovecho para preguntar una cosilla ¿Qué es lo que se programa normalmente en java a nivel semiprofesional (Que no sean lavadoras XD)?
Yo casi todo lo que he hecho han sido aplicaciones de gestión web: para bancos, para la administración, etc. Vamos, un coñazo xD
Eso sí, Java tiene frameworks muy chulos (como spring por ejemplo)
Kurraudo
12/05/2009, 14:26
Yo casi todo lo que he hecho han sido aplicaciones de gestión web: para bancos, para la administración, etc. Vamos, un coñazo xD
Eso sí, Java tiene frameworks muy chulos (como spring por ejemplo)
¿Aplicaciones de gestión? Vale XD ¿Y no hay nada más?
Y otra cosa ¿Puede servirme Java para entrar medianamente con soltura en otros lenguajes de POO como C++ (He visto líneas de código C++ que, salvo en las palabras reservadas, son muy parecidas a Java en estructura, y después está C# que se parece aún más)?
enkonsierto
12/05/2009, 14:30
No pasa nada, debe ser cosa de que a nosotros que somos nuevos se nos enseña a usar más el For extendido :)
< - >
Por cierto, aprovecho para preguntar una cosilla ¿Qué es lo que se programa normalmente en java a nivel semiprofesional (Que no sean lavadoras XD)?
para más cosas de las que piensas...
^MiSaTo^
12/05/2009, 15:47
¿Aplicaciones de gestión? Vale XD ¿Y no hay nada más? Esto es España xDDD Aquí el 90% del software que se hace, es software de gestión. Ya lo verás cuando empieces a currar de esto xDDD
Yo porque he tenido suerte, y por fin he salido de ahí. :brindis:
Y otra cosa ¿Puede servirme Java para entrar medianamente con soltura en otros lenguajes de POO como C++ (He visto líneas de código C++ que, salvo en las palabras reservadas, son muy parecidas a Java en estructura, y después está C# que se parece aún más)?
Sí, el paradigma es el mismo. C# está basado en Java por ejemplo. Y bueno C++... tiene bastantes particularidades con respecto a Java.
Lo importante es que aprendas a programar bien, luego saltar de un lenguaje a otro no es tan complicado ;)
Como te dicen, en España solo se hace software de gestión, y eso es lo que hay con cualquier lenguaje :D Además Java es muy bueno para eso, y diría que malo para cualquier otra cosa (excepto juegos para móviles, claro, y solo porque es lo más "barato": el mismo código vale para casi todos los móviles)
Y como también te dicen, lo importante es aprender a programar. Luego estarás saltando de un lenguaje a otro con una facilidad increible y en una sola tarde, ya verás :D
^MiSaTo^
12/05/2009, 16:08
Como te dicen, en España solo se hace software de gestión, y eso es lo que hay con cualquier lenguaje :D Además Java es muy bueno para eso, y diría que malo para cualquier otra cosa (excepto juegos para móviles, claro, y solo porque es lo más "barato")
Y como también te dicen, lo importante es aprender a programar. Luego estarás saltando de un lenguaje a otro con una facilidad increible y en una sola tarde, ya verás :D
Hombre decir que Java es bueno para gestión y malo para el resto de cosas... Por ejemplo en campos de Inteligencia Artificial (Visión Artificial, Lenguaje Natural, etc) se usa mucho Java.
Java es muy versatil y vale para un huevo de cosas, pero vaya yo jamás haría un juego en Java (y menos en J2ME). Para eso mucho mejor otras cosas
Bah, eso del no uso del break/continue a mi me parece una tontería. xD
A ver, no estamos hablando de un goto que rompe el flujo del programa dificultando la depuración, provocando errores, etc, sino de salir un nivel de un bucle bien definido. En muchas situaciones, por no usar el break, la única solución es añadir cierta variable por ejemplo de tipo booleano, y añadirla a la condición del bucle o a cierta condición interna a este, y en cierto momento, cambiar su estado para que el bucle o bien termine, o bien continue sus iteraciones sin hacer nada.
Bien, quizá si hablamos de PCs no pase nada, pero si nos vamos al mundo empotrado, te pones a trabajar con un microcontrolador con 128 bytes, si, BYTES!, de RAM, pues como que definir una variable para eso es un lujo y una tontería, cuando puedes salir del bucle con un break y listo, ahorrando además posibles ciclos de iterar sin hacer nada, y no perjudicando la estructura o legibilidad del código.
Y hasta cierto punto diría que en el mundo PC/Server debería ser igual, un break/continue bien colocado, con salida a solo un nivel, y bien claro con su documentación... tiene su sitio.
^MiSaTo^
12/05/2009, 16:22
Bah, eso del no uso del break/continue a mi me parece una tontería. xD
A ver, no estamos hablando de un goto que rompe el flujo del programa dificultando la depuración, provocando errores, etc, sino de salir un nivel de un bucle bien definido. En muchas situaciones, por no usar el break, la única solución es añadir cierta variable por ejemplo de tipo booleano, y añadirla a la condición del bucle o a cierta condición interna a este, y en cierto momento, cambiar su estado para que el bucle o bien termine, o bien continue sus iteraciones sin hacer nada.
Bien, quizá si hablamos de PCs no pase nada, pero si nos vamos al mundo empotrado, te pones a trabajar con un microcontrolador con 128 bytes, si, BYTES!, de RAM, pues como que definir una variable para eso es un lujo y una tontería, cuando puedes salir del bucle con un break y listo, ahorrando además posibles ciclos de iterar sin hacer nada, y no perjudicando la estructura o legibilidad del código.
Y hasta cierto punto diría que en el mundo PC/Server debería ser igual, un break/continue bien colocado, con salida a solo un nivel, y bien claro con su documentación... tiene su sitio.
Hombre tío, lo que tú planteas es completamente lógico. Pero es un caso un poco "extremo" no?
PharaOnyx
12/05/2009, 16:27
Y para controlar el 'break' digo yo que tendrás que poner un 'if' para ver si se ejecuta o no, ¿no?. En ese caso... ¿no es lo mismo ponerlo como otra opción más de, por ejemplo, un 'while'?
Saludos, Alex
edito:
while (y) {
if (x) {
break;
} /* if */
} /* while */
while (!(x)) && (y) {
} /* while */
Y para controlar el 'break' digo yo que tendrás que poner un 'if' para ver si se ejecuta o no, ¿no?. En ese caso... ¿no es lo mismo ponerlo como otra opción más de, por ejemplo, un 'while'?
Saludos, Alex
Si, ese caso es muy claro y no añades peso, pero mira, dentro de ese bucle tienes que realizar varias comprobaciones muy diferentes (no vale un case), pero cuando una de ellas sea efectiva, entonces tienes que hacer algo y dejar de comprobar las restantes porque pierden sentido.
La solución es por ejemplo, usar una variable de estado, añadir en esas comprobaciones internas esa variable a las condiciones con un AND, ponerla a "1" al principio del bucle, y si una condicion se cumple, haces lo que tengas que hacer y pones esa variable a 0, para que en las siguientes comprobaciones no se entre gracias al AND.
Pues como digo, añades una variable, más condiciones, etc... y bueno, podriamos discutir si se mejora un poquito en legibilidad, pero como digo, en ciertos entornos gastar RAM porque si, es impensable. Las normas esas, muchas veces se dan como verdades universales, pero no siempre son lo mejor, o siquiera válidas.
De hecho estabamos hablando ahora del caso de las variables globales... hay veces que son (casi)absolutamente necesarias, que no os engañen con que son MALAS, que no os pegarán ni nada si un dia las usais (no hablo en POO, eh)
PharaOnyx
12/05/2009, 18:04
Hombre, creo que todo tiene su razón de ser. Una variable global, por ejemplo, está claro que no te va a morder x'D. Pero si me pongo me faltan dedos en las manos (y en los pies ya puestos) para contar la de veces que me han sucedido cosas extrañas en el trabajo porque alguien definía una variable global en vete-a-saber-qué-archivo y luego el problema me lo comía yo porque se pegaba con las mías x'D
Está claro que todas estas normas tienen su sitio de aplicación, que una variable global no es mala de por sí, que no te van a crucificar por poner un 'break' y tal. La cosa es que creo que hay cosas que no deberían hacerse por norma general, sino sólo aplicarse a casos concretos. No decir 'no uses nunca variables globales' pero tampoco 'usa siempre variables globales', sino más bien 'usa variables globales sólo si te es estrictamente necesario' :)
Saludos, Alex
Ahi está PharaOnyx, si es lo que estoy diciendo, de hecho por culpa de muchas de esas normas seguidas estrictamente, tenemos procesadores con dos o 4 nucleos y 4GB de RAM, y nos van lentos los programas... cuando un codigo está bien documentado, se puede optimizar saltándose algunas de estas normas en casos precisos, para obtener un rendimiento mucho mejor. Claro que no vamos a ponernos a usar gotos, porque eso normalmente hace al programa indepurable, pero bueno.
Bueno, pues nada, podemos pasar a usar LOLCode, que no tiene break (tiene GTFO) xDDDDDDD
HAI
CAN HAS STDIO?
I HAS A VAR
IM IN YR LOOP
UPZ VAR!!1
VISIBLE VAR
IZ VAR BIGR THAN 10? GTFO. KTHX
KTHX
KTHXBYE
Kurraudo
12/05/2009, 18:28
O sea, que eso de que solo se programe sólo cosas de gestión es más cosa de dónde estamos nosotros que del lenguaje en sí ¿Verdad? :D
Aunque sobre otros usos del Java, no sabía que se pudiese usar en el ambito de la inteligencia artificial, puede que esto me sea útil en próximos años de mi carrera que es cuando tengo que estudiar de esto. Y sobre los juegos de móvil ¿Algún gepero de por aquí ha hecho algo y me puede decir si en general es algo más o menos complicado que, por ejemplo, programar algo para GP2X? Es que el tema me llama la atención.
chemaris
12/05/2009, 18:29
una variable global mato a toda mi familia y violo a mi perro
lo siento tenia que decirlo [wei]
^MiSaTo^
12/05/2009, 18:35
O sea, que eso de que solo se programe sólo cosas de gestión es más cosa de dónde estamos nosotros que del lenguaje en sí ¿Verdad? :D
Aunque sobre otros usos del Java, no sabía que se pudiese usar en el ambito de la inteligencia artificial, puede que esto me sea útil en próximos años de mi carrera que es cuando tengo que estudiar de esto. Y sobre los juegos de móvil ¿Algún gepero de por aquí ha hecho algo y me puede decir si en general es algo más o menos complicado que, por ejemplo, programar algo para GP2X? Es que el tema me llama la atención.
J2ME es un **** cáncer. Eso sí, Android si es bastante completito.
Y para IA aprenderás LISP seguro xDDDD Pero ya te digo, mi novio trabaja con cosas de Visión Artificial sobre todo y ahora además haciendo bots con cosas de Lenguaje Natural y usa Java y tan ricamente xD
< - >
una variable global mato a toda mi familia y violo a mi perro
lo siento tenia que decirlo [wei]
Yo tengo una amiga que le borró todos los contactos del messenger y le rompió el disco duro. Tened cuidado con las variables globales:miedo::miedo::miedo:
Kurraudo
12/05/2009, 18:36
Y para IA aprenderás LISP seguro xDDDD
He oído que en mi carrera van a enseñar un lenguaje específico para IA, seguramente vaya a ser ese XDDD
J2ME es un **** cáncer. Eso sí, Android si es bastante completito.¿Y en qué se diferencia el java normal de su Micro Edition? ¿En que uno es cancerígeno y el otro no? :risas:
Otra preguntilla ¿Qué tal te está yendo con Android? ¿Es facil programar para él?
Yo tengo una amiga que le borró todos los contactos del messenger y le rompió el disco duro. Tened cuidado con las variables globales:miedo::miedo::miedo:
Aficionada, una variable declarada estática y constante es capaz de arrasar medio planeta en un segundo...
^MiSaTo^
12/05/2009, 18:37
He oído que en mi carrera van a enseñar un lenguaje específico para IA, seguramente vaya a ser ese XDDD
¿Y en qué se diferencia el java normal de su Micro Edition? ¿En que uno es cancerígeno y el otro no? :risas:
Otra preguntilla ¿Qué tal te está yendo con Android? ¿Es facil programar para él?
Pues que J2ME es muy limitado y que además cada teléfono es un mundo. Pero eso mejor te lo puede explicar por ejemplo Nuria que yo sólo vi un poco, hice un par de cosas y me parecía de lo peor.
A mi con Android bien, si sabes Java seguro que no tienes problemas en hacer cosas para Android ;)
Kurraudo
12/05/2009, 18:46
Pues que J2ME es muy limitado y que además cada teléfono es un mundo. Pero eso mejor te lo puede explicar por ejemplo Nuria que yo sólo vi un poco, hice un par de cosas y me parecía de lo peor.
Si es un java limitado ¿Qué funcionalidades se ven reducidas? ¿O se lo pregunto a Nuria si es ella la que sabe? XD
Si es un java limitado ¿Qué funcionalidades se ven reducidas? ¿O se lo pregunto a Nuria si es ella la que sabe? XD
En realidad el lenguaje es casi el mismo. Bueno, en los teléfonos más antiguos no puedes hacer operaciones en coma flotante (no tienes el tipo double ni el float, vamos), ni esas cosas de iteradores y bucles for reducidos. Pero el lenguaje es el mismo.
La gran diferencia son las librerías disponibles, que son muy pocas comparadas con el Java normal: solo tienes la mitad de las clases de java.utils o java.net, olvídate totalmente de awt o swing y cosas así.
También hay algunas diferencias en el bytecode, pero a menos que hagas cosas muy raras esto no lo notarás :D
^MiSaTo^
12/05/2009, 19:07
En realidad el lenguaje es casi el mismo. Bueno, en los teléfonos más antiguos no puedes hacer operaciones en coma flotante (no tienes el tipo double ni el float, vamos), ni esas cosas de iteradores y bucles for reducidos. Pero el lenguaje es el mismo.
La gran diferencia son las librerías disponibles, que son muy pocas comparadas con el Java normal: solo tienes la mitad de las clases de java.utils o java.net, olvídate totalmente de awt o swing y cosas así.
También hay algunas diferencias en el bytecode, pero a menos que hagas cosas muy raras esto no lo notarás :D
A eso me refería ;) Ya te ha contestado juanvc, Kurraudo.
Kurraudo
12/05/2009, 19:09
La gran diferencia son las librerías disponibles, que son muy pocas comparadas con el Java normal: solo tienes la mitad de las clases de java.utils o java.net, olvídate totalmente de awt o swing y cosas así.
También hay algunas diferencias en el bytecode, pero a menos que hagas cosas muy raras esto no lo notarás :D
Ah, entonces te refieres a que básicamente es un Java sin colecciones ni librerías, etc... Muchas gracias :)
Si, aunque también añade ciertas librerias específicas para dispositivos móviles, pero bueno, no son muchas :-)
Nathrezim
12/05/2009, 23:30
Hombre decir que Java es bueno para gestión y malo para el resto de cosas... Por ejemplo en campos de Inteligencia Artificial (Visión Artificial, Lenguaje Natural, etc) se usa mucho Java.
Entonces supongo que enlazarán con librerías C que usen instrucciones específicas del procesador, porque sinó con el caudal de datos que manejan las aplicaciones de visión artificial conseguir tiempo real tiene que ser chungo.
< - >
Ah, entonces te refieres a que básicamente es un Java sin colecciones ni librerías, etc... Muchas gracias :)
En cambio manejar multimedia esta chupao, tiene librerías especiales para ello y son bastante multiplataforma.
^MiSaTo^
13/05/2009, 00:02
Entonces supongo que enlazarán con librerías C que usen instrucciones específicas del procesador, porque sinó con el caudal de datos que manejan las aplicaciones de visión artificial conseguir tiempo real tiene que ser chungo.
Normalmente usan C++. Pero desde hace unos años han visto que con Java desarrollan prototipos más rápido. Imagino que también enlazarán con C++ pero eso ya no lo se, no trabajo con ellos XD
Primero, creo que te refieres a "normas de estilo", es decir, reglas que hay que seguir para que no te suspendan en tu universidad.
Y si, el break no se ha de usar mas que en los switch, para el resto de breaks siempre hay alternaticas, como bucles while, do while o condidionales complejas dentro de los for()
Saludos
< - >
una variable global mato a toda mi familia y violo a mi perro
lo siento tenia que decirlo [wei]
Riete, pero con ejemplos como ese consegui que varios compañeros mios aprobasen programacion en la universidad, y lo mejor es que creo que casi todos me los disteis en el foro cuando comence la carrera xDDD
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.