Está en la página 1de 8

Estructura de Datos

ESD-243
UNIDAD IV: Notación Algorítmica

CONTENIDO

1. Condiciones al utilizar ciclos iterativos y diferencias entre


ellos

Una de las características importantes que se pueden aprovechar


de las computadoras es precisamente su capacidad de repetir la
ejecución de secuencias de instrucciones a una gran velocidad y
con alto grado de confiabilidad. Para estos fines, precisamente se
definen en los lenguajes de programación las estructuras de control
iterativas. El objetivo de estas estructuras es permitir la expresión
de la repetición de una secuencia de instrucciones, a estas
estructuras se les denomina ciclo, lazo o bucle.

Estructuras de Control Iterativas

En la vida diaria existen situaciones que frecuentemente se


resuelven realizando una determinada secuencia de pasos que
puede repetirse muchas veces, ejemplo:

 El proceso que seguimos para comer, mientras no se termine


la comida.
 El proceso de insertar monedas, hasta que se abone la
cantidad necesaria.
 Las operaciones que realizamos para llamar por teléfono,
mientras no se logre la comunicación.

Como se puede observar estos son algoritmos que se hacen


cotidianamente, pero tienen la particularidad de que la ejecución de
alguno de sus pasos puede repetirse muchas veces, mientras no se
logre la meta trazada. A este tipo de algoritmo se le conoce como
algoritmos iterativos o repetitivos. En C#, las instrucciones while,
do/while, y for, permiten ejecutar iteraciones, bucles o ciclos. En
cada caso se ejecuta un bloque de instrucciones mientras la
condición que se evalúa tome valor verdadero. Se resalta que
cualquiera de las 3 instrucciones cumple con el mismo objetivo que
es el de ejecutar una secuencia de pasos, más de una vez.
Diferencias entre ellos:

Ciclo while y ciclo do/while

La diferencia principal entre Mientras que y Repetir Mientras que, es


la condición de verificación del ciclo antes de la iteración del ciclo,
mientras que el ciclo Repetir Mientras que, verifica la condición
después de la ejecución de las declaraciones dentro del ciclo.

Ciclo while y ciclo for

Es normal que dudemos entre si debemos usar un while o un for.


Se trata de dos estructuras iterativas muy parecidas pero tienen sus
diferencias como:

Resolución mediante un while

El while contiene los mismos elementos que el for salvo que en


distinto orden.

La variable de iteración se debe declarar e inicializar antes de entrar


en el while.

En el paréntesis encontraremos la condición de salida de las


iteraciones.

Dentro de las llaves {} en algún momento se debe actualizar el valor


de la variable de iteración.

Resolución mediante un for


El for se caracteriza por ser una estructura muy paquetizada.

En el mismo paréntesis se encierra por este orden la declaración de


la variable que permite las iteraciones, la condición de salida de las
iteraciones y la condición de actualización de la variable de iteración
entre cada nueva iteración.

Como se puede observar las instrucciones de código son


prácticamente las mismas para el for y el while.

La diferencia está en que se escriben en diferente orden y lugar.

Ciclo do/while y ciclo for

La principal diferencia entre ambas es que do/while permite ejecutar


una o varias líneas de código de forma repetitiva. Mientras que el
ciclo for, permite ejecutar una o varias líneas de código en forma
iterativa. Para que este proceso se dé a cabo, previamente se tiene
que asignar un valor de inicio, un valor final y el tamaño de paso

3. Ciclo iterativo MIENTRAS

Estructura de while:

<Condición>. Está representada por una expresión booleana y


mientras se cumpla se ejecutará el ciclo.

[Bloque de Instrucciones] El bloque de instrucciones puede estar


formado por una o varias instrucciones y es el conjunto de pasos
que se van ejecutar en cada iteración del ciclo.
Para una mayor comprensión se muestra su representación en un
diagrama de actividad.

Esta estructura de control permite repetir o iterar el [Bloque de


Instrucciones] mientras la condición sea verdadera o dicho de otra
manera, estas iteraciones terminarán cuando la condición sea falsa
y entonces se podrá ejecutar la siguiente instrucción después del
while.

Es válido señalar que en esta instrucción la condición se evalúa al


inicio del ciclo por lo que si la primera vez que se evalúa la
condición esta es falsa, el ciclo no llegará a realizarse.

2. Ciclo iterativos REPETIR

Estructura do/while

Su semántica es la misma que la de la instrucción while y su


representación en un diagrama de actividad es la siguiente:
En esta estructura repetitiva el bloque de instrucciones siempre se
ejecuta al menos una vez pues la condición se evalúa al final. Una
vez realizada la evaluación si el resultado es true, se vuelve a
ejecutar el [Bloque de Instrucciones], en caso contrario se ejecutan
las instrucciones que sigan a continuación saliendo del ciclo. La
funcionalidad de este método será la misma que en el ejemplo con
while. La única diferencia es la forma en que se controla el bucle.
En la práctica, verá que la instrucción while se utiliza más a menudo
que la instrucción do – while. El elegir una instrucción en lugar de la
otra es una elección personal. Un aspecto muy importante a tener
presente en los ciclos condicionales es la necesidad de contemplar
dentro del bloque de instrucciones al menos una, que de alguna
manera, altere –en algún momento- el resultado de la expresión
booleana. La explicación sencillamente está dada por el hecho que
de no existir esta instrucción una vez entrada al ciclo este nunca
terminaría por lo que se caería en un ciclo infinito.

4. Ciclo iterativo PARA

La Estructura for

Los procesos iterativos que se han visto hasta ahora terminan por
una condición. En muchas situaciones las iteraciones se realizan un
número determinado de veces, muchos autores les llaman ciclos
por conteo pues se conoce de antemano cuántas veces se hará el
proceso que se repite. En este tipo de iteración, siempre se necesita
una variable que lleve el control de las veces que se repite el
proceso por esto se les conoce también como ciclos con variable de
control. Uno de los ciclos más conocidos y usados en la mayoría de
los lenguajes de programación es el de la instrucción for que suele
estar controlado por un contador o variable de control y tiene la
siguiente sintaxis:

El bucle PARA se ha convertido en el bucle más ampliamente


utilizado en la programación, ya que con la evolución de los
lenguajes la mayoría de las condiciones de fin

MIENTRAS NoFinDeTabla(tabla) HACER

PróximoRegistro(tabla)

HacerAlgo(ElementoActual(tabla))

FIN MIENTRAS

Es lo mismo decir:
PARA i=0 a CantidadRegistros(tabla) - 1, PASO = 1

PróximoRegistro(tabla)

HacerAlgo(ElementoActual(tabla))

FIN PARA

Otro uso común es utilizar los bucles PARA para recorrer vectores
de dos o más dimensiones, en cuyo caso se anidan estas
iteraciones.

La semántica de la instrucción es la siguiente:

<instrucciones 1>. Se ejecutará una sola vez al inicio del ciclo,


generalmente se realizan inicializaciones y declaraciones de
variables puesto que como se dijo con anterioridad, esta solo se
ejecuta una vez. En caso de que se quiera realizar o ejecutar más
de una instrucción en este momento, dichas instrucciones se deben
separar por comas (“,”).
<expresión>. Es evaluada en cada iteración y en dependencia del
valor que devuelva, dependerá que el ciclo continúe ejecutándose
(valor de la expresión true) o no (false). Destacar que de no
colocarse nada en esta parte, el ciclo tomará como true el valor de
la expresión por lo que en principio, el ciclo puede estar
repitiéndose infinitamente.

<instrucciones 2>. Es ejecutado siempre en cada ciclo al terminar


de ejecutar todas las instrucciones que pertenecen al bucle for en
cuestión. Por lo general puede contener alguna actualización para
las variables de control. Análogamente a <instrucciones 1> en caso
de querer ejecutar en este momento más de una instrucción se
deben separar por comas.

Observe que es obligatorio para separar cada término que compone


la instrucción for utilizar un punto y coma (;) de lo contrario el
compilador mostrará un error de tipo semántico. Reiterar que la
<instrucción 1> se ejecuta una sola vez al comienzo, que la
<instrucción 2> es la que generalmente se utiliza para modificar la
variable de control aunque en el ciclo esta puede modificarse
también, y que <expresión>, es la que garantiza la finitud del ciclo,
el for se estará ejecutando siempre y cuando <expresión> sea
evaluada y tome valor true.

También podría gustarte