Ciclos

12
Ciclos de los algoritmo Ciclos de los algoritmo Los Ciclos. Los Ciclos. Un algoritmo se comporta de una manera secuencial, cada Un algoritmo se comporta de una manera secuencial, cada instrucción se lee desde inicio hasta fin. Esto nos da pie a instrucción se lee desde inicio hasta fin. Esto nos da pie a pensar que para lograr repetir algo, será necesario copiarlo pensar que para lograr repetir algo, será necesario copiarlo muchas veces. En el mundo de los algoritmos encontramos la muchas veces. En el mundo de los algoritmos encontramos la forma de repetir las veces que deseamos una instrucción o un forma de repetir las veces que deseamos una instrucción o un bloque de ellas, a este elemento lo denominamos ciclo. En la bloque de ellas, a este elemento lo denominamos ciclo. En la naturaleza y en el mundo real la mayoría de cosas son cíclicas, naturaleza y en el mundo real la mayoría de cosas son cíclicas, comer, dormir, respirar, trabajar, estudiar, descansar.... son comer, dormir, respirar, trabajar, estudiar, descansar.... son cosas que se repiten con diferente periodicidad. cosas que se repiten con diferente periodicidad.

Transcript of Ciclos

Page 1: Ciclos

Ciclos de los algoritmoCiclos de los algoritmo

Los Ciclos.Los Ciclos.

Un algoritmo se comporta de una manera secuencial, cada Un algoritmo se comporta de una manera secuencial, cada instrucción se lee desde inicio hasta fin. Esto nos da pie a instrucción se lee desde inicio hasta fin. Esto nos da pie a pensar que para lograr repetir algo, será necesario copiarlo pensar que para lograr repetir algo, será necesario copiarlo muchas veces. En el mundo de los algoritmos encontramos la muchas veces. En el mundo de los algoritmos encontramos la forma de repetir las veces que deseamos una instrucción o un forma de repetir las veces que deseamos una instrucción o un bloque de ellas, a este elemento lo denominamos ciclo. En la bloque de ellas, a este elemento lo denominamos ciclo. En la naturaleza y en el mundo real la mayoría de cosas son cíclicas, naturaleza y en el mundo real la mayoría de cosas son cíclicas, comer, dormir, respirar, trabajar, estudiar, descansar.... son comer, dormir, respirar, trabajar, estudiar, descansar.... son cosas que se repiten con diferente periodicidad.cosas que se repiten con diferente periodicidad.

Page 2: Ciclos

Ciclos de los algoritmoCiclos de los algoritmo

Qué son los ciclos? Qué son los ciclos?

Son estructuras que permiten hacer n repeticiones de un Son estructuras que permiten hacer n repeticiones de un bloque de instrucciones.bloque de instrucciones.

El ciclo funciona de modo que: mientras la expresión de control El ciclo funciona de modo que: mientras la expresión de control sea verdadera se ejecuta todo el bloque que contienen y sea verdadera se ejecuta todo el bloque que contienen y cuando llega al final, se devuelve a la expresión de control y cuando llega al final, se devuelve a la expresión de control y nuevamente pregunta, de ser verdad, sigue repitiendo este nuevamente pregunta, de ser verdad, sigue repitiendo este proceso mientras sea verdad dicha expresión y cuando no, proceso mientras sea verdad dicha expresión y cuando no, termina saltando el bloque y continuando con las demás termina saltando el bloque y continuando con las demás acciones programadas en el algoritmo.acciones programadas en el algoritmo.

Page 3: Ciclos

Ejemplo de un CicloEjemplo de un Ciclo

inicio

Expresión

Instrucción 1…Instrucción 2…Instrucción 3…

Fin

Verdadero

Falso

Debe Ser Una Expresión Lógica o

Relacional

Page 4: Ciclos

Ciclos de los algoritmoCiclos de los algoritmo

El ciclo mientras (While).El ciclo mientras (While).

Ya conocemos que la finalidad de un ciclo es hacer un número Ya conocemos que la finalidad de un ciclo es hacer un número de repeticiones y en dichas repeticiones denominadas de repeticiones y en dichas repeticiones denominadas iteraciones realizar otras instrucciones que permitan dar iteraciones realizar otras instrucciones que permitan dar respuesta al problema originalmente planteado.respuesta al problema originalmente planteado.

El ciclo mientras se fundamenta en un expresión relacional o El ciclo mientras se fundamenta en un expresión relacional o lógica al igual que lo hacen las decisiones.lógica al igual que lo hacen las decisiones.

El ciclo mientras funciona preguntado por una expresión lógica El ciclo mientras funciona preguntado por una expresión lógica o relacional si es verdad ingresa al ciclo y cuando es falsa salta o relacional si es verdad ingresa al ciclo y cuando es falsa salta el bloque y continua en la siguiente instrucción después del el bloque y continua en la siguiente instrucción después del bloque.bloque.

Page 5: Ciclos

Ciclos de los algoritmoCiclos de los algoritmo

CENTINELAS. CENTINELAS.

En un ciclo While controlado por tarea, la condición de While En un ciclo While controlado por tarea, la condición de While especifica que el cuerpo del ciclo debe continuar ejecutándose especifica que el cuerpo del ciclo debe continuar ejecutándose mientras la tarea no haya sido completada.mientras la tarea no haya sido completada.

En un ciclo controlado por centinela el usuario puede suspender En un ciclo controlado por centinela el usuario puede suspender la introducción de datos cuando lo desee, introduciendo una la introducción de datos cuando lo desee, introduciendo una señal adecuada llamada centinela. Un ciclo Repetir controlado señal adecuada llamada centinela. Un ciclo Repetir controlado por centinela es cuando el usuario digita una letra para salir por centinela es cuando el usuario digita una letra para salir como por ejemplo S o N para indicar si desea continuar o no. El como por ejemplo S o N para indicar si desea continuar o no. El bucle debe repetirse hasta que la respuesta del usuario sea "n" bucle debe repetirse hasta que la respuesta del usuario sea "n" o "N".o "N".

Page 6: Ciclos

Ciclos de los algoritmoCiclos de los algoritmo

CENTINELAS. CENTINELAS.

Por ejemplo, si se tienen las calificaciones de un test Por ejemplo, si se tienen las calificaciones de un test (comprendida entre 0 y 100); un valor centinela en esta lista (comprendida entre 0 y 100); un valor centinela en esta lista puede ser -999, ya que nunca será una calificación válida y puede ser -999, ya que nunca será una calificación válida y cuando aparezca este valor se terminará de ejecutar el bucle.cuando aparezca este valor se terminará de ejecutar el bucle.

Si la lista de datos son números positivos, un valor centinela Si la lista de datos son números positivos, un valor centinela puede ser un número negativo. Los centinelas solamente puede ser un número negativo. Los centinelas solamente pueden usarse con las estructuras Mientras y Repetir, no con pueden usarse con las estructuras Mientras y Repetir, no con estructuras Desde/Para.estructuras Desde/Para.

Page 7: Ciclos

Ciclos de los algoritmoCiclos de los algoritmo

CENTINELAS. CENTINELAS.

Suponga que debemos obtener la suma de los gastos que Suponga que debemos obtener la suma de los gastos que hicimos en nuestro último viaje, pero no sabemos exactamente hicimos en nuestro último viaje, pero no sabemos exactamente cuántos fueron.cuántos fueron.Si definimos gasto1, gasto2, gasto3, ...., -1 donde gastoi: real Si definimos gasto1, gasto2, gasto3, ...., -1 donde gastoi: real es el gasto número i y sumgas: real es el acumulador de gastos es el gasto número i y sumgas: real es el acumulador de gastos efectuados. -1 es el centinela de fin de datos.efectuados. -1 es el centinela de fin de datos.

Page 8: Ciclos

Ciclos de los algoritmoCiclos de los algoritmo

CENTINELAS. CENTINELAS.

Algoritmo:Algoritmo:

InicioInicioSumgas . 0Sumgas . 0Leer (gasto)Leer (gasto)

Mientras gasto <> -1 hacerMientras gasto <> -1 hacerSumgas . sumgas + gastoSumgas . sumgas + gasto

Leer (gasto)Leer (gasto)Fin_mientrasFin_mientras

Escribir (sumgas)Escribir (sumgas)FinFin

Page 9: Ciclos

Ciclos de los algoritmoCiclos de los algoritmo

BANDERAS. BANDERAS.

Conocidas también como interruptores, switch, flags o Conocidas también como interruptores, switch, flags o conmutadores, son variables que pueden tomar solamente dos conmutadores, son variables que pueden tomar solamente dos valores durante la ejecución del programa, los cuales pueden valores durante la ejecución del programa, los cuales pueden ser 0 ó 1, o bien los valores booleanos True o False. Se les suele ser 0 ó 1, o bien los valores booleanos True o False. Se les suele llamar interruptores porque cuando toman los valores 0 ó 1 llamar interruptores porque cuando toman los valores 0 ó 1 están simulando un interruptor abierto/cerrado o están simulando un interruptor abierto/cerrado o encendido/apagado.encendido/apagado.

Page 10: Ciclos

Ciclos de los algoritmoCiclos de los algoritmo

BANDERAS. BANDERAS.

Un ejemplo de ello seria:Un ejemplo de ello seria:

Obtener suma de los términos de la serie: 2, 5, 7, 10, 12, 15, Obtener suma de los términos de la serie: 2, 5, 7, 10, 12, 15, 17, .... 1800.17, .... 1800.Sumser de tipo entero, es el acumulador de términos de la serieSumser de tipo entero, es el acumulador de términos de la serieBand de tipo carácter, es variable auxiliar que indica si al Band de tipo carácter, es variable auxiliar que indica si al siguiente término de la serie hay que sumarle 3 ó 2.siguiente término de la serie hay que sumarle 3 ó 2.

Page 11: Ciclos

Ciclos de los algoritmoCiclos de los algoritmo

BANDERAS. BANDERAS. Algoritmo:Algoritmo:

InicioInicioI ¬2I ¬2

Sumser ¬0Sumser ¬0 Band ¬T"Band ¬T"

Mientras (I <= 1800) hacerMientras (I <= 1800) hacerSumser ¬sumser + ISumser ¬sumser + I

Escribir (I)Escribir (I)Si band = "T" entoncesSi band = "T" entonces

I ¬I + 3I ¬I + 3Band ¬F"Band ¬F"

SinoSinoI ¬I + 2I ¬I + 2

Band ¬T"Band ¬T"Fin_siFin_si

Fin_mientrasFin_mientrasEscribir (sumser)Escribir (sumser)

FinFin

Page 12: Ciclos

Ciclos de los algoritmoCiclos de los algoritmoHemos estudiado en esta lección que la estructura Mientras Hemos estudiado en esta lección que la estructura Mientras tiene una pequeña variante a la estructura Desde en cuanto a la tiene una pequeña variante a la estructura Desde en cuanto a la representación algorítmica. Recuerda que la estructura Desde, representación algorítmica. Recuerda que la estructura Desde, se inicializa automáticamente en su sintaxis y el incremento se inicializa automáticamente en su sintaxis y el incremento también es automático. En cambio, la estructura Mientras usa también es automático. En cambio, la estructura Mientras usa un contador que es inicializado antes de entrar al ciclo y dentro un contador que es inicializado antes de entrar al ciclo y dentro del ciclo es incrementado. También estudiamos que los del ciclo es incrementado. También estudiamos que los centinelas son valores que le damos a la condición para forzar a centinelas son valores que le damos a la condición para forzar a que un ciclo pueda terminar. También decíamos que los que un ciclo pueda terminar. También decíamos que los centinelas solamente los podemos usar en estructuras Mientras centinelas solamente los podemos usar en estructuras Mientras y Repetir, ya que sirven para finalizar el ciclo cuando no y Repetir, ya que sirven para finalizar el ciclo cuando no sabemos las veces que lo vamos a realizar, y la estructura sabemos las veces que lo vamos a realizar, y la estructura Desde es usada cuando ya conocemos a priori el número de Desde es usada cuando ya conocemos a priori el número de veces que se va a realizar el cicloveces que se va a realizar el ciclo