25
Carrera De Ingeniería Automotriz COMPUTACIÓN I Grupo N° 8 Integrantes: Rommel López Carlos Puente Said Guacho Escuela Superior Politécnica De Chimborazo

Estructuras repetitivas(while, for, repeat)

Embed Size (px)

Citation preview

Carrera De Ingeniería Automotriz

COMPUTACIÓN IGrupo N° 8

Integrantes:

Rommel López

Carlos Puente

Said Guacho

Escuela Superior Politécnica De Chimborazo

Ciclo Do While• Los ciclos do-while son una estructura de control cíclica, los cuales nos

permiten ejecutar una o varias líneas de código de forma repetitiva sin necesidad de tener un valor inicial e incluso a veces sin siquiera conocer cuando se va a dar el valor final, hasta aquí son similares a los ciclos while, sin embargo el ciclo do-while nos permite añadir cierta ventaja adicional y esta consiste que nos da la posibilidad de ejecutar primero el bloque de instrucciones antes de evaluar la condición.

¿Cómo funciona el ciclo Do while?

El ciclo do while se escribe de una manera similar

(promagrama C++), con la única diferencia que cambia la

posición del While y se antepone la palabra do, más adelante

se demostrará.

Diferencias entre While y Do while• CICLO WHILE

Ciclo Do while

Diferencias• Como podemos observar en las dos imágenes, la estructura es la misma, en los dos programas damos

a entender la misma acción que es mostrar un número hasta menor a 5, pero como ya se explicó antes

el programa while primero se concentra en su condición mientras que en Do while primero

ejecutamos la acción para luego comprobar con la condición escrita, podemos observar que en el

ciclo Do while ingresamos la palabra do donde antes tuvimos escrito el while, y ahora el while bajo

hacia la llave para expresar al programa que primero deseamos ejecutar la acción y luego analizar

nuestra condición.

En la siguiente imagen podemos analizar lo ya dicho con el

ciclo do while que la acción o las acciones tienen la prioridad.

Los resultados de las ejecuciones de ambos programas son:

• While

Do while

Estructura repetir ("repeat")

• Esta estructura se ejecuta hasta que se cumpla una condición determinada que se comprueba hasta el final del bucle.  Se ejecuta al menos una vez.

• La estructura repetir (repeat) se ejecuta hasta que se cumpla una condición determinada que se comprueba al final del bucle.

• El bucle repetir-hasta_que se repite mientras el valor de la expresión booleana de la condición sea falsa, justo la opuesta de la sentencia mientras.

• Se caracterizan porque la condición se sitúa al principio de la secuencia de instrucciones. Es decir que en una estructura Mientras...Fin-Mientras , el bucle continúa mientras que la condición es verdadera.

• La condición se comprueba antes de ejecutar la acción, si es falsa: la acción no se ejecuta, y el bucle se detiene cuando la condición es falsa.

Su representación en un diagrama de flujo sería:

Diferencias de las estructuras mientras y repetir

La estructura mientras termina cuando la condición es falsa, mientras que repetir termina cuando la condición es verdadera.

En la estructura repetir el cuerpo del bucle se ejecuta siempre al menos una vez; por el contrario, mientras es más general y permite la posibilidad de que el bucle pueda no ser ejecutado. Para usar la estructura repetir debe estar seguro de que el cuerpo del bucle —bajo cualquier circunstancia— se repetirá al menos una vez.

¿Cómo funcionan estas estructuras?• Primero se procede a la inicialización de las variables que involucran el test

de salida; luego se entra al bucle ejecutándose primeramente las instrucciones de actualización del bucle que involucran variables del test de salida, seguidamente de las instrucciones de proceso.

• Ambas partes se ejecutan hasta que la condición que involucra la evaluación del test de salida sea verdadera, continuando la ejecución del programa con la ejecución de las instrucciones que siguen a la estructura repetitiva.

• Esta estructura repetitiva exige que las instrucciones de proceso se realicen por lo monos una vez, pues primero se ejecutan las instrucciones de proceso y luego recién se verifica la validez de la condición en el test de salida.

Estructura desde/para ("for")

• La estructura desde ejecuta las acciones del cuerpo del bucle un número especificado de veces y de modo automático controla el número de iteraciones o pasos a través del cuerpo del bucle.

• En estas estructuras se repiten la acción desde un valor inicial hasta alcanzar el valor final. Si no se indica en contra con Paso, se supone que los incrementos son positivos de 1 en 1. En caso de querer variar el incremento sólo tendrá que indicarlo con Paso < expresión >. El incremento podrá ser positivo o negativo.

El Diagrama de Flujo de la estructura Desde...Hasta

• Se caracterizan porque se conoce a priori el número de repeticiones a realizar. En dicha condición es preferible utilizar las denominadas estructuras Desde (v. inicial) Hasta (v. final), Paso...Fin-Desde .

• En estas estructuras se repiten la acción desde un valor inicial hasta alcanzar el valor final. Si no se indica en contra con Paso, se supone que los incrementos son positivos de 1 en 1. En caso de querer variar el incremento sólo tendrá que indicarlo con Paso < expresión >. El incremento podrá ser positivo o negativo.

Otras representaciones de estructuras repetitivas desde/para (for)

Un bucle desde (for) se representa con los símbolos de proceso y de decisión mediante un contador.

La estructura repetitiva DESDE (For/Next)

Es un ciclo de repetición controlado por "contador" debido a que esta estructura se la emplea cuando se conoce de antemano la cantidad de iteraciones que realizar el bucle.

Realización de una estructura desde con estructura mientras

Es posible, como ya se ha mencionado en apartados anteriores, sustituir una estructura desde por una mientras; en las líneas siguientes se indican dos formas para ello: 1. Estructura desde con incrementos de la variable índice positivos.v ← vimientras v <= vf hacer<acciones>v ← v + incrementofin_mientras 2. Estructura desde con incrementos de la variable índice negativos.v ← vimientras v >= vf hacer<acciones>v ← v - decrementofin_mientras

La estructura desde puede realizarse con algoritmos basados en estructura mientras y repetir, por lo que pueden ser intercambiables cuando así lo desee. Las estructuras equivalentes a desde son las siguientes:

a) inicio

  i ← n

  mientras i > 0 hacer

  <acciones>

  i ← i – 1

  fin_mientras

  fin

b) inicio

  i ← n + 1

  repetir

  <acciones>

  i ← i - 1

  hasta_que i = 1

  fin

c) inicio

  i ← 0

  repetir

  <acciones>

  i ← i+1

  hasta_que i = n

  fin

CUESTIONARIO

1.La estructura do while hace referencia a:

a) Una estructura cíclica a.

b) Una estructura secuencial b.

c) Una estructura lineal c.

d) Una estructura repetitiva d.

2. En la estructura repetitiva Repetir-hasta la condición tiene que ser:

a) Falsa para que ingrese al bucle repetitivo. a.

b) Verdadera para que ingrese al bucle repetitivo. b.

c) Mayor a 1 para que ingrese al bucle repetitivo. c.

d) Repetirse n veces para que ingrese al bucle repetitivo. d.

3. La estructura ………… ejecuta las acciones del cuerpo del bucle un numero especificado de veces y de modo automático controla el numero de iteraciones o pasos a través del cuerpo del bucle.

a) Mientrasa.

b) Repetirb.

c) Desdec.

d) Hacer-mientrasd.

4. Un bucle desde se representa con los símbolos de …………, y de decisión mediante un …………...

a) Software 1) a, b. b) Proceso 2) a, c. c) Mensaje 3) b, d. d) Contador 4) b, c

5. La estructura desde puede realizarse con ………… basados en estructura mientras y repetir, por lo que pueden ser …………… cuando así lo desee.

a) Diagramas 1) a, c.

b) Algoritmos 2) b, d.

c) Salida 3) d, c.

d) Intercambiables 4) a, d.

BIBLIOGRAFÍA

Joyanes, l. (2008). Fundamentos de la programación. En L. JOYANES, FUNDAMENTOS DE LA PROGRAMACIÓN (págs. 165-175). ESPAÑA: McGraw-Hill/INTERAMERICANA DE ESPAÑA, S. A. U. Knuth, D. E. (13 de 01 de 2017). 

Gonzáles, Juan David Maza. 2014. Programar¡Ya! [En línea] 15 de Octubre de 2014. [Citado el: 13 de Enero de 2017.] https://www.programarya.com/Cursos/C++/Ciclos/Ciclo-Do-While.