Ver Mensaje Individual
  #5 (permalink)  
Antiguo 01/05/2006, 04:39
sarverok007
 
Fecha de Ingreso: enero-2005
Mensajes: 115
Antigüedad: 19 años, 4 meses
Puntos: 1
Es cierto, Caricatos tiene razon. Pero vamos a ver, que diferencia hay entre un for con llaves y un for sin llaves, pues ninguna, el parser, que analiza la estructura del lenguaje va formando arboles con lo que se va encontrando, si el programador que diseña el lenguaje de programacion dice: "bueno para agrupar un conjunto de sentencias dentro de un bucle hay que abrir y cerrar llaves, entre las sentencias, y si solo hay una sentencia se pueden abrir o cerrar llaves o no introducirlas", el arbol que se forma al leer el codigo es minimamente diferente, y el rendimiento es inapreciable, sea lo que sea lo que haya dentro del for, sea lo que sea lo que haga esa instruccion.
Donde si hay una diferencia del rendimiento es si utilizas un for en lugar de un while o viceversa, por ejemplo, si se quiere utilizar un for tipo C++ y se van a rellenar todos los campos, es decir:
for(int i=0;i< 20;i++), esto es mas eficiente que hacerlo asi:
int i=0;
while(i<20){
...
i++;
}
y tmb esto (en este caso utilizar un for es mas ineficiente que un while):
for ( ;i<20; ){
if(...)
i++;
else if( ...)
i++;
else
cout < "Nada de nada";
}
ahora con while:
while(i<20){
if(...)
i++;
else if( ...)
i++;
else
cout < "Nada de nada";
}
es mas ineficiente por que en el ultimo ejemplo el for tiene campos vacios, y empeora el rendimiento, en el caso anterior el while empeoraba el rendimento respecto al for, por que el for lo hace todo en una sola linea, mientras que el while necesitava 2 mas.
Vamos esto es lo que yo tengo entendido respecto al rendimiento de los algoritmos, el utilizar llaves o no, no implica un empeoramiento perceptible!!
__________________
SaRvErOk :ojotes: