Sie sind auf Seite 1von 12

Talles de estructuras de control Bucles

1 Que es un bucle
Un bucle o ciclo, en programación, es una secuencia que ejecuta repetidas
veces un trozo de código, hasta que la condición asignada a dicho bucle deja
de cumplirse. Los tres bucles más utilizados en programación son el bucle
while, el bucle for y el bucle do-while.
2 Que es el ciclo while
El bucle while o bucle mientras es un ciclo repetitivo basado en los resultados
de una expresión lógica; se encuentra en la mayoría de los lenguajes de
programación estructurados. El propósito es repetir un bloque de
código mientras una condición se mantenga verdadera.
3 Cómo funciona la sentencia while
La condición ha de ser una sentencia que devuelva un valor booleano, y esta
puede ser el valor booleano sí, verdadero (true) si la condición se cumple,
o falso si esta no se cumple (false). También puede contener el nombre de
una variable booleana, y el valor de la expresión dependerá de su contenido.
Se debe tener en cuenta que además de las variables también puede haber
llamadas a funciones que devuelvan un valor.
Sentencias comparativas[editar]
La forma más obvia tal vez, y la más usada sin duda, son las sentencias
comparativas, que usan los operandos igual, diferente, menor o igual, mayor o
igual, menor y mayor. En el caso del lenguaje C, se utilizan los siguientes
símbolos para representar las comparaciones anteriores: ==, !=, <=, >=, <, >.
Particularidades de lenguajes[editar]
En algunos lenguajes, se pueden utilizar variables no booleanas en la
comparación. Por ejemplo, si la variable vale 0 será como si la condición no se
cumpliera, y siempre que sea diferente de 0, se considerará que la condición se
cumple.
4 Repetición del ciclo do – while
Esta estructura de repetición es similar a la estructura while. En while la
condición para que se repita el bloque de instrucciones se evalúa desde el
principio del ciclo de repeticiones, en cambio, en la estructura do-while, al
principio se ejecuta el bloque y luego se evalúa la condición para ver si se
sigue ejecutando o no. Esto significa que el bloque se ejecutará por lo menos
una vez.
5 Cuál es la diferencia entre el bucle while for do while

For
Siempre se hace uso de una variable (contador) que incrementará su valor
automáticamente y ayudará a determinar si se continúa o finaliza el ciclo.
El contador deberá inicializarse con un valor, generalmente 0 o 1, dependiendo
de lo que se esté realizando.
Un ciclo puede contener otro ciclo dentro de sí (a esto se le denomina ciclo
anidado). Nunca se debe utilizar el mismo nombre de la variable (contador) en
ambos ciclos, pues el programa no podrá determinar cuándo se finaliza el ciclo.

6 Cuáles son las variables es de control de un bucle


El bucle for es una estructura de control en programación en la que se puede
indicar de antemano el número mínimo de iteraciones.1 Está disponible en casi
todos los lenguajes de programación imperativos.
Variable de control: prácticamente un mandato impuesto por el uso habitual es
utilizar la letra i Iterador como variable de control, o bien sus sucesoras en caso
de bucles anidados. El uso de esta letra críptica quizás a primera vista es sin
embargo una excelente forma de aportar agilidad de lectura al código por su
uso tan extensivo. Como raras veces los bucles anidados superan las tres
dimensiones (por una sencilla cuestión de explosión exponencial), las letras i, j
y k suelen ser las únicas relacionadas con este uso. En C se define en el
primer parámetro de la instrucción junto con la inicialización (opcional).
Inicialización de la variable de control: en pseudolenguaje se pide explicitarlo
(es la sección: = Valor Inicial), sin embargo, otros lenguajes más permisivos
como C no lo requieren de forma obligatoria. De todos modos, la práctica de
utilizar variables de control que no se inicializan en el bucle no es recomendada
para la legibilidad del código. En C se define en el primer parámetro del bucle
junto con la variable de control.
Condición de control: en pseudolenguaje se ve representado por el valor final
que puede tomar la variable de control (la sección A Valor Final). En C es el
segundo parámetro y puede ser cualquier condición (ni siquiera es obligación
que esté la variable de control, aunque una vez más, esto no se considera una
buena práctica).
Incremento: en pseudolenguaje se toma por defecto el valor 1, aunque puede
explicitarse por medio de la sentencia PASO = Valor Paso cualquier número
entero (léase bien entero, o sea que técnicamente podemos decremento). En C
es el último parámetro.
Cuerpo: es lo que se hará en cada iteración, pueden ser una o más
instrucciones. En pseudolenguaje pesa la restricción de no poder alterar el
valor de la variable de control; esto no es requerido en C, pero no se considera
una buena práctica.

7 Cuales es la estructura del ciclo while


8 Cuales es la estructura del ciclo do while

9. Realizar un ejemplo de un ciclo while

En Python tiene una palabra reservada llamada while que nos permite ejecutar
ciclos, o bien secuencias periódicas que nos permiten ejecutar código múltiples
veces. El ciclo while nos permite realizar múltiples iteraciones basándonos en
el resultado de una expresión lógica que puede tener como resultado un
valor True o False.

Ejemplo
Suma, numero = 0, 1
while numero <= 10:
suma = numero + suma
Numero = numero + 1
print "La suma es " + str(suma)
10. Que es un ciclo FOR
Los ciclos for son lo que se conoce como estructuras de control de flujo cíclicas
o simplemente estructuras cíclicas, estos ciclos, como su nombre lo sugiere,
nos permiten ejecutar una o varias líneas de código de forma iterativa,
conociendo un valor especifico inicial y otro valor final, además nos permiten
determinar el tamaño del paso entre cada "giro" o iteración del ciclo.
En resumen, un ciclo for es una estructura de control iterativa, que nos permite
ejecutar de manera repetitiva un bloque de instrucciones, conociendo
previamente un valor de inicio, un tamaño de paso y un valor final para el ciclo.
11. Cuales es la estructura del ciclo FOR
EL funcionamiento de la estructura For es de la siguiente manera:
Se evalúa la expresión de inicialización.
Se evalúa la condición. Si es resultado es falso, termina la ejecución de
la estructura For. Si es verdadero, sigue `por el paso 3.
Se ejecuta el bloque de instrucciones dentro de la estructura.
Se evalúa la expresión final, que normalmente altera la variable de
control, y se vuelve al paso segundo.
Variando las tres expresiones de la estructura FOR, se pueden realizar
diferentes tipos de bucles.

12. Cuáles son los operadores de incremento


En lenguaje C, tanto el operador incremento (++) como el operador decremento (--
) actúan siempre sobre un solo operando, normalmente una variable. Por tanto,
son operadores notarios, y sirven para incrementar o decrementar en una unidad
el valor de dicho operando.

Ejemplo 1: Declaradas las variables:

int r = 8, s = 3;
13. Cuales son lo bucles controlados por centinela
Como herramienta para la programación, el uso de variables como señaleros
(centinelas) tiene diversas aplicaciones como aportación de información, apoyo a
la toma de decisiones, control de bucles, etc. Destaca la importancia del uso de
señaleros para el control de bucles. Hasta ahora habíamos visto:

Control de bucles conociendo de antemano el número de iteraciones, por ejemplo:


20 camiones diarios,
Control de bucles a través de una variable de control (contenida en un archivo,
proporcionada por el usuario, etc.), por ejemplo, número n de generaciones en una
sucesión familiar.
14. Cuales son lo bucles while con cero iteraciones:
Las sentencias de iteración permiten repetir una sentencia o conjunto de ellas. Es
lo que se denomina ejecutar un bucle. En C++ existen tres formas de iteraciones:
los bucles while; do…while y for.
Observe que en todos los casos el bucle puede estar constituido por una sola
sentencia o por varias. En cuyo caso se trata de un bloque de código delimitado
por un par de corchetes { } ( 3.2.6). Si se trata de una sola sentencia, los corchetes
no son necesarios.
Bucle while: La sentencia while permite ejecutar repetidamente un bloque de
código mientras se cumpla una determinada condición que es chequeada antes de
cada iteración.
15. Diseño de bucles
Hay tres tipos diferentes de bucles: for, while y do-while.
 Sentencia for. Es un bucle o sentencia repetitiva que. ...
 Sentencia while. Es un bucle o sentencia repetitiva con una condición al
principio. ...
 Sentencia do-while. Es un bucle o sentencia repetitiva con una condición al
final.

16. Terminación anormal de un ciclo


Sinopsis
C++ dispone en su Librería Estándar de algunas funciones específicamente
relacionadas con la terminación del programa y su vuelta al entorno de
ejecución. Aunque su descripción correspondería formalmente al capítulo
destinado a la Librería Estándar, por la razón ya señalada incluiremos aquí una
descripción de las mismas.
exit ()
Esta función de la Librería Estándar termina la ejecución del programa.
Sintaxis
#include <stdlib.h>
void exit(int status);
Descripción
La función exit termina el proceso que la ha invocado. Antes de la terminación se
cierran todos los ficheros, se escriben los flujos de salida con almacenamiento
temporal intermedio (buffer), y son llamadas las funciones de salida que se hayan
establecido con la función atexit.
Cuando se invoca exit desde un programa, no son invocados los destructores de
ninguna variable local del ámbito actual. Las variables globales son destruidas en
su orden normal.
El argumento status pasado por la función invocante se utiliza como estado de
salida del proceso. La costumbre es que 0 indica terminación normal y un valor
distinto indica algún tipo de error. A este respecto C++ proporciona algunas
constantes predefinidas:
EXIT_FAILURE Terminación anormal, señal al Sistema Operativo que el
programa ha terminado con error.
EXIT_SUCCESS Terminación normal.
Ejemplo:
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>

int main(void) {
int status;
puts("Introducir 1 o 2");
status = getch();
exit(status - '0'); // Sets DOS errorlevel (status - 48)
return 0;// Observación: esta línea nunca será ejecutada
}
17. Diseño eficiente de bucles
Medida del uso de los recursos computacionales requeridos por la ejecución de un
algoritmo en función del tamaño de las entradas. T(n) Tiempo empleado para
ejecutar el algoritmo con una entrada de tamaño n.
Tipos de análisis
Cómo medimos el tiempo de ejecución de un algoritmo.
o Mejor caso En condiciones óptimas (no se usa por ser demasiado
optimista).
o Peor caso En el peor escenario posible (nos permite acotar el tiempo de
ejecución).
o Caso promedio Caso difícil de caracterizar en la práctica.
o Análisis probabilístico Asume una distribución de probabilidad sobre las
posibles entradas.
o Análisis amortizado Tiempo medio de ejecución por operación sobre una
secuencia de ejecuciones sucesivas.
Ejemplo
Algoritmo 1: Algoritmo 1: T(n) = 10 T(n) = 10-4 2n segundos n = 38 datos T(n) =
1 año Algoritmo 2: Algoritmo 2: T(n) = 10 T(n) = 10-2 n3 segundos n = 1000
bits T(n) = 1 año

18. Bucles controlados por indicadores (banderas)


Se utiliza una variable "bandera" de tipo bool, de cuyo valor depende la
terminación del bucle.
bool continuar;
continuar = true; // Inicialización del indicador while (continuar)
{
...
if (condición para acabar) continuar = false;
}

19. Estructura de break


Dentro del cuerpo de cualquiera de las estructuras de bucle while, do-while, o for,
se puede controlar el flujo del bucle utilizando break y continue. break interrumpe
el bucle sin ejecutar el resto de las sentencias de esa iteración. continue detiene
la ejecución de la iteración actual, vuelve al principio del bucle y comienza la
siguiente iteración.
Ejemplo:
#include<iostream>
using namespace std;
int main()
{
int n, a;

a = 0;
do
{
printf( "Introduzca un numero entero: " );
scanf( "%d", &n );

if ( n == 0 )
{
printf( "ERROR: El cero no tiene opuesto.\n" );
break;
/* En el caso de que n sea un cero,
el bucle se interrumpe. */
}
printf( "El opuesto es: %d\n", -n );
a += n;
} while ( n >= -10 && n <= 10 );

printf( "Suma: %d", a );

return 0;
}

20. Bucles while (true)

Un bucle while permite repetir la ejecución de un grupo de instrucciones mientras


se cumpla una condición (es decir, mientras la condición tenga el valor True).
La sintaxis del bucle while es la siguiente:

while condicion:
cuerpo del bucle

La ejecución de esta estructura de control while es la siguiente:


 evalúa la condición:

o si el resultado es True se ejecuta el cuerpo del bucle. Una vez


ejecutado el cuerpo del bucle, se repite el proceso (se evalúa de nuevo
la condición y, si es cierta, se ejecuta de nuevo el cuerpo del bucle)
una y otra vez mientras la condición sea cierta.
o si el resultado es False, el cuerpo del bucle no se ejecuta y continúa
la ejecución del resto del programa.

La variable o las variables que aparezcan en la condición se suelen llamar variables


de control. Las variables de control deben definirse antes del bucle whiley
modificarse en el bucle while.

21. Cuáles son los bucles infinitos


Si la condición del bucle se cumple siempre, el bucle no terminará nunca de
ejecutarse y tendremos lo que se denomina un bucle infinito. Aunque a veces es
necesario utilizar bucles infinitos en un programa, normalmente se deben a errores
que se deben corregir.
Los bucles infinitos no intencionados deben evitarse pues significan perder el control
del programa. Para interrumpir un bucle infinito, hay que pulsar la combinación de
teclas Ctrl+C. Al interrumpir un programa se mostrará un mensaje de error similar a
éste:
Por desgracia, es fácil programar involuntariamente un bucle infinito, por lo que es
inevitable hacerlo de vez en cuando, sobre todo cuando se está aprendiendo a
programar.
Estos algunos ejemplos de bucles infinitos:
 El programador ha olvidado modificar la variable de control dentro del bucle
y el programa imprimirá números 1 indefinidamente:
 i=1
 while i <= 10:
 print(i, end=" ")
1 1 1 1 1 1 1 1 ...
 El programador ha escrito una condición que se cumplirá siempre y el
programa imprimirá números consecutivos indefinidamente:
 i=1
 while i > 0:
 print(i, end=" ")
 i += 1
1 2 3 4 5 6 7 8 9 10 11 ...
 Se aconseja expresar las condiciones como desigualdades en vez de
comparar valores. En el ejemplo siguiente, el programador ha escrito una
condición que se cumplirá siempre y el programa imprimirá números
consecutivos indefinidamente:
 i=1
 while i != 100:
 print(i, end=" ")
 i += 2
1 3 5 7 9 11 ... 97 99 101 ...

22. Los bucles for vacíos

Tenga cuidado de no situar un punto y coma después del paréntesis inicial del
bucle for. Es decir, el bucle

for(int i=1;i<=10;i++); problema

System.out.println(“Betty Rodriguez”);

no se ejecuta correctamente, ni se visualiza el nombre “Betty Rodriguez” 10 veces


como era de esperar, ni se produce un mensaje de error por parte del compilador.
En realidad lo que sucede es que se visualiza una vez el nombre “Betty
Rodriguez”, ya que la sentencia for es una sentencia vacía al terminar con un
punto y coma (;). Sucede que la sentencia for no hace absolutamente nada
durante 10 iteraciones y, por lo tanto, después de que el bucle for haya terminado,
se ejecuta la siguiente sentencia System.out.println y se escribe “Betty
Rodriguez”.

23. Sentencias nulas en bucle for

Cualquiera o todas las expresiones de un bucle for pueden ser nulas. Para
ejecutar esta acción, se utiliza el punto y coma (;) para marcar la expresión vacía.
Si se desea crear un bucle for que actúe exactamente como un bucle while, se
deben incluir las primeras y terceras expresiones vacías. El siguiente programa
contiene un bucle for con la expresión de inicialización y de incremento vacías.
int contador=0;
for(;contador<5;){
contador++;
System.out.println(“¡Bucle!”);
}
System.out.println(“Contador: ” + contador);
La sentencia for no inicializa ningún valor, pero incluye una prueba de contador<5.
No existe ninguna sentencia de incremento, de modo que el bucle se comporta
exactamente como la sentencia siguiente:
int contador=0;
while(contador<5)
{
contador++;
System.out.println(“¡Bucle!”);
}

24. Realizar un ejemplo

A continuación, se presenta un ejemplo del uso del bucle for con tipos de
estructuras de datos listas con la función range() y la función len():

animales = ['gato', 'perro', 'serpiente']

for animal in animales:

print "El animal es: {0}, tamaño de palabra es: {1}".format(

animal, len(animal))

Das könnte Ihnen auch gefallen