Visitas

jueves, 1 de mayo de 2014

Bucle (programación)

Un bucle o ciclo, en programación, es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse. Generalmente, un bucle es utilizado para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código más claro y facilita su modificación en el futuro. El bucle y los condicionales representan la base de la programación estructurada. Es una evolución del código ensamblador, donde la única posibilidad de iterar un código era establecer una sentencia jump (que en los lenguajes de programación fue sustituida por el "ir a" o GOTO).

Los tres bucles más utilizados en programación son el bucle while, el bucle for y el bucle repetir.

Bucle While

El Bucle while o bucle mientras es una estructura de la mayoría de los lenguajes de programación estructurados cuyo propósito es repetir un bloque de código mientras una condición se mantenga verdadera.

La sintaxis en pseudocódigo es la siguiente:


·         Condición

La condición ha de ser una sentencia que devuelva un valor booleano, y esta puede ser el valor booleano en 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.

o    Sentencias Comparativas
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: ==, !=, <=, >=, <, >.

o    Particularidades de lenguajes
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.


Bucle For

El bucle for o ciclo for es una estructura de control en la que la pc nos muestra el cómo programar si es que nosotros queremos programar un robot B-bot , en este se puede indicar el modo en la que se puede indicar el número minimo de iteraciones. Está disponible en casi todos los lenguajes de programación imperativos. 

Elementos del bucle 


·         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 := ValorInicial), 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 ValorFinal). 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 = ValorPaso cualquier número entero (léase bien entero, o sea que técnicamente podemos decrementar). 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.

Bucle repetir

El bucle repetir comprueba la condición de finalización al final del cuerpo del bucle, y si ésta es cierta continua con el resto del programa, a veces esto resulta más adecuado.

La sintaxis en pseudocódigo es la siguiente:



El cuerpo del bucle es el fragmento de programa que será repetido en cada iteración.
La condición es una variable o una función reducible a valor booleano.

En lenguajes de programación

En la mayoría de los lenguajes de programación seria:


Esta estructura de control siempre permite la ejecución del cuerpo del bucle cuando menos una vez, 
y lo finaliza cuando la condición es cierta.

Ejemplos

Una situación típica en la que resulta cómoda el empleo de esta sentencia es la que se produce cuando al finalizar cada iteración se pregunta al operador si desea continua con otra nueva. En estos casos, el programa siempre realiza la primera iteración y según la condición de salida la repite. Otro caso también típico son los filtros de entrada de datos, donde se comprueba si el valor de la entrada está en un rango de valores. Admite un número del 3 al 7, si no pregunta de nuevo.


Reemplazable en casi todos los casos

Dentro de la programación estructurada, el bucle repetir puede ser sustituido por un bucle mientrasdel siguiente modo:

 

Puede escribirse:



Estos dos fragmentos de código son equivalentes, porque ambos presentan el mismo resultado en 
la mayoría de los casos. De todos modos, el bucle repetir es útil cuando se desean realizar las acciones que están dentro al menos en una ocasión.

No hay comentarios:

Publicar un comentario