![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Esto es un problema que piden en algunas ocasiones las empresas que buscan programadores, se trata de ver cómo lo hacen, el tiempo que necesitan para hacerlo, la optimización, "los detalles", etc.
Por ejemplo, está más optimizado para el bucle usar un smallint que un integer, incluso mejor todavía un byte, si fuese posible. No son necesarios decimales, así que se pueden usar tipos de datos acorde a eso. Si el programa hace lo mismo pero con muchas menos líneas, es otro buen punto a favor. También dicen que si se tarda al menos 10 minutos es que ese programador no es válido, sin embargo, tiempos de menos de 3 minutos es un programador muy recomendable. No quiere decir que porque tenga menos líneas va a ser mejor, puede ser un código muy ofuscado y no convenga a la empresa, puede ser más recomendable algo intermedio. En fin, que depende de para qué empresa, puede ser más interesante uno u otro. Desde luego que newtron, para no ser programador, ha tardado muy poco ![]() Por poner un par de ejemplos: Programador 1: Código:
public class FizzBuzz
{
public static void main(String [] args)
{
int k;
for(int i=1; i=100; i++)
{
k = 0;
if(i%3==0)
{
k = 1;
}
if(i%5==0)
{
k = k + 2;
}
switch(k)
{
case 1:
System.out.println("Fizz");
break;
case 2:
System.out.println("Buzz");
break;
case 3:
System.out.println("FizzBuzz");
break;
default:
System.out.println(i);
}
}
}
}
Código:
for(int i=0;i<100;printf(i%3==0?i%5==0?"Fizzbuzz":"FIZZ":i%5==0?"BUZZ":"%i",i++));
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal Última edición por Casimiro Noteví fecha: 29-06-2012 a las 00:38:17. |
|
#2
|
||||
|
||||
|
Cita:
![]()
__________________
Be water my friend. |
|
#3
|
||||
|
||||
|
Si tu código está muy bien, y lo has hecho rapidísimo, está muy bien, la verdad.
El código ese en lenguaje c es como lo hubiese hecho yo, seguramente, pero queda demasiado "ofuscado" para uso normal, depende de para qué puesto de trabajo optara, habría hecho casi lo mismo que has escrito tú, en delphi.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
||||
|
||||
|
Cita:
En Delphi y a 32 bits, es mucho más efectivo hacer un for sobre un integer que sobre un Byte o un SmallInt. Internamente el byte como SmallInt trabajan sobre el tipo integer, dejando en cero lo bytes restantes, y cuando se utilizan estos tipos se hacen conversiones indirectas desde y hacia el tipo integer. El tamaño del integer corresponde justo al tamaño del registro de la CPU y las micro-operaciones para el for se valen de éstos registros... son bien aceleradas. Utilizar byte o smallint simplemente lo hace más lento ya que debe hacer estas conversiones que le malgastan unos ciclos, y por apenas un byte no vale la pena intentar ahorrarse memoria en tipos numéricos menores... ¡porque no te la ahorras! Cita:
Si no hay siquiera alguna pizca de referencia o indicio de que se requiera de números reales, ¿quien se pondría a agregar variables de estos tipos?Discúlpame por mi falta de tacto, pero creo que hasta un recién iniciado se da cuenta.... hay que ser muy bestia. ![]() Saludos, |
|
#5
|
||||
|
||||
|
Era sólo un ejemplo por darlo a entender
![]() Creo que necesitas otras vacaciones, amigo Delphius ![]() p.d.: aunque está bien la aclaración, por supuesto.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#6
|
||||
|
||||
|
Cita:
Esto me pasa por llevarme parte del trabajo conmigo... y a NewDelphius. Ese cuate me está llevando por mal camino ![]() Bueno, es que el ejercicio es muy elemental... mientras no te avientes retos como los de Al y de Roman, estamos bien. ![]() Saludos, |
|
#7
|
|||
|
|||
|
Hola.
Aún siendo de el grupo de los "bestias" sé que algo nuevo aprendí. ![]() ![]() |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|