[C con Clase] Ejemplo 6.5 Sentencia

Davidson, Steven srd4121 en njit.edu
Mar Abr 21 16:46:14 CEST 2015


Hola Alejandro,

La sentencia 'continue' sirve para obligar al bucle, en este caso, a
regresar inmediatamente al comienzo (del bucle). En el ejemplo, el bucle
controla dos sentencias 'if':

while( numero >= factor*factor )
{
  if( !(numero % factor) )
  {...}

  if( factor == 2 )
  {...}
}

Si el primer 'if' es verdadero, entonces se ejecutará la sentencia
'continue', regresándonos al comienzo del bucle 'while', lo cual implica
que nos saltamos el segundo 'if'. Si no, entonces pasamos al segundo 'if',
que obviamente al terminar volveremos al comienzo del bucle 'while'. Es
mejor que sigas la lógica con algún ejemplo, para ver claramente cómo
funciona el algoritmo.

Quiero aclarar que no es recomendable usar 'continue', 'break', ni por
supuesto 'goto'. Siempre se puede reescribir las sentencias para no tener
que usar estos vocablos. A veces, no hay una forma elegante de implementar
el comportamiento, que quieres, sin usar estas sentencias, pero no hay
muchos casos de tal falta de elegancia.


Espero que esto te oriente.

Steven


2015-04-21 10:22 GMT-04:00 Alejandro D. <druikeltoi en gmail.com>:

> Hola Steven,
> el caso es que he quitado la sentencia "continue" y el programa parece que
> se ejecuta igual. Puedes explicarme por qué es necesaria para el algoritmo?
> Creo que se me escapa algo.
>
> Gracias y un saludo
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20150421/6a0b01ce/attachment-0001.html>


Más información sobre la lista de distribución Cconclase