Prog: Cómo interrumpir bucles

Prog: Cómo interrumpir bucles

hemos visto ya los bucles fort y while ahora vamos a ver un par de comandos para controlar estos bucles desde dentro es decir para interrumpir o saltarnos pasos dentro de un bucle esto es útil en ocasiones para este objetivo tenemos dos comandos los comandos break y continuo el comando break hace que termine el bucle en ese mismo momento y el comando continuo lo que hace es la iteración actual el resto de comandos que queden por ejecutarse la salta y pasa a la siguiente vamos a ver en qué tipo de situaciones puede ser esto útil y cómo se usa entonces primero vamos a ver el comando break por ejemplo el comando break que es tenemos un conjunto de elementos si queremos buscar un elemento con unas características particulares sabemos cuántos elementos tenemos hacemos un bucle for para recorrer todos los elementos y después cuando hayamos encontrado el elemento en cuestión pues ya no tenemos que seguir después ejecutando el bucle en ese caso pues usamos break cuando hayamos encontrado el elemento que queremos aquí tenemos un ejemplo tenemos un bucle por una variable contador y que se va a repetir 20 veces va a tomar la variable valores de una mente que va a pasar cuando el valor 11 cuando el valor de y valga 11 se va a ejecutar break y si no se va a ejecutar este comando de aquí entonces vamos a verlo en octavo voy a crear un nuevo ejemplo aquí entonces hemos dicho un bucle for con una variable que va desde 1 hasta 20 como aquí el en del bucle fort y si el valor de y vale 11 recordad que este doble igual es para comparar valores igualdad no podríamos poner un único igual porque eso sería una asignación así como se expresa si pasa esto ejecutamos break y aquí mostramos el valor de y entonces este vamos a llamarle ejemplo 3 bueno voy a borrar aquí los resultados del ejemplo anterior que va a ocurrir cuando puse el play bueno pues vamos a verlo se han mostrado solo los diez primeros números entonces como se ha ejecutado el bucle bueno vamos a ver lo vamos a hacer aquí un clear vamos a ejecutarlo paso a paso entonces en cada paso va a ir la variable y tomando valores del 1 al 20 y en el momento en el que valga 11 se va a ejecutar break significa va a terminar el bucle y si no vale 11 pues se va a ejecutar el resto de los comandos que están dentro del bucle en este caso mostrar el valor de y vamos a ver vamos a ir viendo lo paso a paso estamos ahora dentro del bucle fijaos y vale 1 entonces la condición igual a 11 va a ser falsa no sea ejecutar ese comando qué es lo que ocurre se ejecuta la línea 6 y se muestra el valor 1 es este uno que acaba de salir aquí en la pantalla no salen más cosas porque estamos depurando entonces aquí a lo mejor no se ve claramente pero hay que fijarse en el código y aquí en el espacio trabajo y vale 2 pues tampoco se va a ejecutar y se va a mostrar valor 2 fijaos cómo va ya estoy cambiando el valor de ahí el valor de iu se va incrementando y cuando valga 11 que va a pasar se ejecutó el break y termina el programa es decir cuando hoy valga 11 termina el bucle totalmente imaginaos que quisiéramos buscar del 1 al 20 el número 11 pues este es el algoritmo que podríamos usar para buscar ese número dentro del conjunto de números del 1 al 20 es un ejemplo muy sencillo para buscar el 11 pero igual que ponemos aquí esta condición de igualdad podríamos poner cualquiera cualquier otra condición entonces eso lo vamos a ver a continuación en otro ejemplo por ejemplo este de aquí tenemos aquí una lista de números que son 7 5 4 1 2 3 no hemos visto cómo especificar todavía listas de números notables entonces se hacen poniendo corchetes a los lados y separando por espacios entonces lo único que tenemos que saber es que esto es una lista de números entonces vamos a ir recorriendo esta lista y vamos a encontrar el primer número para el primer número par es el 4 nos vamos a ver qué posición está es el número entonces vamos a hacer aquí un nuevo ejemplo buscar número par y los números hemos dicho cuáles eran 75 41 23 habrá un corchete 7 5 4 123 cierra un corchete se resalta al presentar cerrando y este es el ejemplo 4 muy bien entonces voy a ir recorriendo todos los números que están en esta lista la variable y cuántos números hay en la lista seis números pues tengo que repetir el comando seis veces en el comando de búsqueda y si encuentro un número par veo en qué posición está como sabía si el número de spar pues recordar la función re entonces pues la función red me dice si un número es par pues si al dividirlo por dos el resto la división entera va de cero qué número tengo poner aquí pues el número que esté la posición y en la lista números esto se hace así este me da el primer elemento pues si me da el 7 lo ve al segundo elemento luego el tercer elemento así porque la variable y va cambiando la variable ya la posición y esto me da el número está en esa posición entonces si ese número es par si ese número es par lo que tenemos que hacer es mostrar un mensaje está en la posición pues que diga la variable ya hemos encontrado el primer número par ya no tenemos que seguir ejecutando el bucle pues ejecutamos break donde fijaos este break está dentro del live pero el break sólo funciona con bucles entonces este break se refiere al for qué es lo que va a hacer este programa pues va a ir recorriendo la lista números va a ir cogiendo los números que están en esa lista poniendo la variable n y en el momento que encuentre un número que hace que el resto la división entera al divido por 2 a 0 desde el primer número par cuando cuente un número para no decir en qué posición está y va a terminar ya el bucle bueno vamos a ejecutarlo entonces en este caso no tiene no tiene que decir que está en la posición 3 obviamente es el 4 está en la posición 3 bueno vemos que aquí como siempre se me olvidado el salto de línea si yo introduzco aquí ahora por ejemplo el 7 se lo cambió por un 6 el primer número par está en la posición 1 y está en la posición 1 ahora voy a poner aquí un 7 y un 4 otro 5 entonces el primer número par donde está es el 2 y está la posición 5 pues vamos a ver ejecutó ahora y ahora me dice está en la posición 5 vemos como cuando ha encontrado ya un número que cumple la condición que estamos buscando se ejecuta break y ya nos sigue buscando ya no sigue buscando más números a veces se la encontraba por 6 del 1 a veces en la 3 a veces en la 5 para esto vale el comando break no es excesivamente habitual usar el comando break pero en ocasiones puede ser bastante útil como en este caso buscar dentro de un conjunto un elemento que cumpla una determinada condición en este caso un número par vamos a ver el siguiente comando comando continuo entonces este comando es similar al break pero en vez de terminar el bucle lo que hace es terminar la iteración actual el paso actual y pasar al siguiente esto puede ser útil para ignorar elementos dentro de un bucle en un conjunto dentro de un bucle vamos a ver este código que viene aquí a continuación entonces tenemos un bucle for igual que antes desde 1 hasta 20 entonces este código cuando valga 11 para ejecutar continuo que es lo que va a pasar bueno vamos a verlo entonces vamos desde 1 hasta 20 y hemos dicho si vale 11 ejecutamos 11 11 11 perdón ejecutamos continuo y aquí hacemos el dis mostramos el valor de y no se nos puede olvidar el en del ford ya tenemos aquí a este lo vamos a llamar ejemplo 5 vamos a ejecutar a ver qué pasa voy a borrar aquí las variables de antes borro la pantalla fijaos que ha pasado bueno estar aquí no se ve del todo pero nos ha mostrado una lista de números vamos a poner aquí un poco más grande esto que se vea todos los números que ha sacado ha sacado parece que todos los números del 1 al 20 pero fijaos entre el 10 y el 12 el 10 y el 12 el onceno está que es lo que ha hecho pues ha ido ejecutando el bucle con todos los valores desde 1 hasta 20 para ahí y en el momento que ha sido y 11 ha ejecutado continuo es decir le ha dicho pasa al 12 y no ejecuten lo que viene después como lo que viene después será el código que mostrado el valor de él el valor de it no se ha mostrado en ese caso lo que hubiera estado aquí en esta parte se hubiera ejecutado también para y 11 pero una vez que se ejecuta continuo todo lo que viene hacia abajo ya no se ejecuta bueno ahora fijaos esto que pone aquí tengo dar la tecla q porque he salido a la salida muy larga por eso me la página do entonces después a ocupar a salir para eso vale el comando continuo por ejemplo usando el ejemplo de antes podemos hacer que evitar los múltiplos de 3 es que puede mostrar todos los números excepto los múltiplos de tres vías aprovechar este que en éste este ejemplo voy a poner aquí un 6 y el 3 lo voy a poner aquí y para aquí un 2 entonces voy a recorrer estos números y entonces si es el resto la división entera parece mostrar que un mensaje evitó múltiplo de 3 y ejecutó continuo y aquí en nuestro valor de i qué voy a pasar con este comando pues va a ejecutar va a ir recorriendo toda la lista cuando encuentro un múltiplo de 3 va a mostrar este mensaje y va a pasar al siguiente es decir no se va a ejecutar esto de aquí no se va a mostrar los múltiplos de 3 entonces debería salir del 7 el 5 el 1 y el 2 vamos a ver bueno vamos a ver bueno pero no está saliendo no es 7 no los números sino las posiciones de los números perdón ahora aquí vamos a mostrar los números entonces ahora sí voy a borrar me estaba mostrando ahí que las posiciones donde no están los 3 ahí vamos a ver que estamos mostrando cada número en vez de ahí en nuestro el 7 muestro el 5 se ha encontrado el 6 es múltiplo de 3 si lo evita y fijaos que muestra el mensaje débito múltiplo de 3 cuando a mostraste mensaje ejecuta continuo ya no ejecuta esta línea no se muestra el número 6 ha pasado al siguiente el 1 se ha encontrado es pues un 3 también lo ha evitado y ha pasado al 2 entonces si queremos ignorar dentro de un conjunto pues elementos que cumplan una termina condición en este caso que sean múltiplos de 3 pues cálculo con un idh comprobamos si esa condición se cumple y después ejecutamos continuo para ignorar ese número bueno ahora en un vídeo siguiente vamos a ver un ejemplo más complicado para usar continuo y break con bucles while ah

Noticias relacionadas