La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Fundamentos de Programación Iteraciones

Presentaciones similares


Presentación del tema: "Fundamentos de Programación Iteraciones"— Transcripción de la presentación:

1 Fundamentos de Programación Iteraciones

2 Sentecias de ciclo iterativo.
Los ciclos permiten que una o más sentencias de código se repitan hasta que una condición deje de cumplirse, es muy similar a lo que sucede con un conductor de la formula uno, el cual estará dando vueltas hasta que la cantidad de vueltas que ha dado deje de ser insuficientes para ganar la carrera, dicho en un lenguaje más informático si la cantidad de vueltas que debe dar el vehículo son diez, podremos expresarlo como mientras la cantidad de vueltas sea menor a 10, entonces debe seguir corriendo.

3 Sentecias de ciclo iterativo.
Veamos un ejemplo de uno de los ciclos más utilizados, el cual recibe como nombre el ciclo “mientras” al que de ahora en adelante lo conoceremos por su traducción al inglés while. While int vuelta = 0; while(vuelta < 10) { vuelta++; } tiempo++;

4 Sentecias de ciclo iterativo - While
Aquí la ejecución ocurrirá de la siguiente forma, lo primero que hará while será evaluar si el valor de la variable vuelta es o no menor a 10, si el valor fuese por ejemplo 11, la condición no se cumplirá y para este caso se comportará muy similar al if dejando de ejecutar todo lo que se encuentre entre el inicio y cierre de bloques, de manera que la variable vuelta no se incremente, sin embargo si el valor es 8, la condición será verdadera lo que provocará que si se ejecute todo lo que esta dentro de los bloques haciendo entonces el incremento de la variable.

5 Sentecias de ciclo iterativo - While
Cuando haya finalizado el incremento el while, a diferencia del if, no pasará directo a incrementar el tiempo, dado que cuando alcance el cierre de bloque volverá a preguntar por el valor de vuelta, el cual será 9 y dado que 9 aún es menor que 10 entonces while volverá a ejecutarse, incrementando el valor de vuelta en uno, al llegar al final de bloque nuevamente se va a evaluar si vuelta es menor a 10, esta vez la condición no se cumple y es entonces cuando el ciclo termina para dar paso al incremento del tiempo.

6 Sentecias de ciclo iterativo
For Existen varias estructuras que permiten iterar una o más líneas de código, el ciclo for es uno de ellos, pero antes de continuar, es importante aclarar que si bien entre ellos existen diferencias todos tienen el mismo objetivo, por ende no existirá nunca una limitante para uno u otro, pudiendo utilizar cualquiera de ellos cuando se necesite iterar, sin embargo cada uno tiene una estructura y sintaxis diferente, el criterio de selección estará dado principalmente por el que te acomode más y de las necesidades que tengas.

7 Sentecias de ciclo iterativo - for
Volvamos al ejemplo de las vueltas en una pista de carreras. En aquel ejemplo el while tiene por misión cerciorarse de que la variable vuelta llegue a 10, pero dentro de su estructura no se preocupa del valor inicial de la variable por lo que se debe poner como instrucción adicional antes del while. int vuelta=0; while(vuelta<10) { vuelta++; } tiempo++;

8 Sentecias de ciclo iterativo - for
El ciclo while cumple a la perfección con nuestro propósito, sin embargo en el algoritmo hay 3 elementos a considerar: primero hay una inicialización se variable, la cual hemos agregado recientemente al solicitar que vuelta siempre comience en cero, luego tenemos una condición y un incremento, para este tipo de casos el for es principalmente provechoso dado que permite escribir de forma muy cómoda estos tres elementos. Veamos como luce este while convertido en un cliclo for.

9 Sentecias de ciclo iterativo - for
for(int vuelta=0; vuelta<10;vuelta++) { } tiempo++; Como se puede ver este ciclo contiene los tres elementos como parte de la declaración del ciclo, por ende el cuerpo de este ha quedado vacío, ya que hemos cambiado la lógica de incremento de la variable a otro lugar.

10 Sentecias de ciclo iterativo - for
La forma de ejecutarse no es igual que en while, para que lo entendamos mejor vamos a decir que el for está dividido en partes: La primera es una declaración, en la cual declaramos e inicializamos el valor de la variable vuelta. La segunda es la condición en la que decimos que vuelta no debe ser mayor a 10 y finalmente, La tercera, una sección donde incrementamos el valor de la variable vuelta en uno.

11 Sentecias de ciclo iterativo - for
En resumen, la forma en la que el ciclo for funciona es la siguiente: Lo primero que ocurre es la declaración e inicialización, con esto se asegura de que la variable exista y tenga un valor inicial. Esta sección sólo se ejecuta una vez. El siguiente paso es verificar si luego de la inicialización de la variable la condición se cumple, de cumplirse ejecutará todo lo que este entre los inicios y cierre de bloques, el cual tenemos vacío por ahora.

12 Sentecias de ciclo iterativo - for
Al igual que el while el for intentará hacer una iteración, pero sólo a partir de la segunda vuelta y hasta que termine lo que hará es primero ejecutar la sección de incremento, haciendo que vuelta pase de cero a uno para luego verificar si la condición aún se cumple. De cumplirse volverá a ejecutar todo lo que se encuentre entre el inicio y cierre de bloques, al finalizar nuevamente hará el incremento y luego evaluará la condición. Este proceso se repetirá hasta que la condición ya no se cumpla.

13 Sentecias de ciclo iterativo - for
Por ejemplo, contemos la cantidad de bencina que gasta por cada vuelta almacenándola en una variable llamada consumo. int consumoPorVuelta = 0; for(int vuelta=0; vuelta<10; vuelta++) { consumo += consumoPorVuelta; } tiempo++;

14 Sentecias de ciclo iterativo - for
El ciclo for se puede adaptar a varias situaciones gracias a que cualquiera de sus partes puede ser omitida, en el siguiente ejemplo la declaración e inicialización de la variable es quitada del for y declarada antes. int vuelta=0; for( ; vuelta<10 ; vuelta++) { }

15 Sentecias de ciclo iterativo - for
Así podemos entonces obtener un for cuyo comportamiento es idéntico al de un while. int vuelta=0; for( ; vuelta<10; ) { vuelta++; } En este caso este for ha quedado exactamente como el ciclo while que vimos en un comienzo. Podrá parecer extraño pero incluso la condición puede ser omitida, sin embargo eso nos obliga a tener que agregar a nosotros una forma de quebrar el ciclo para que no este iterando de forma indefinida.

16 Sentecias de ciclo iterativo - for
Sobre los quiebres de ciclos se hablará más adelante en la sección de break y continues, pero por ahora como demostración de que todas las partes son opcionales lo haremos analizando el siguiente ejemplo: for(; ; ;) { } En este extraño caso no hay ninguna de las partes, la ausencia de una condición da por defecto falso, así que luego de comprobar que no hay nada que inicializar, evaluará falso y omitirá la ejecución del ciclo for.

17 Sentecias de ciclo iterativo
Do … While. Si del ciclo do while traducimos la palabra do veremos que significa “hacer”, pues esta es la principal diferencia con el ciclo while que vimos en una primera oportunidad, la condición es evaluada al final, es decir que toda la lógica agregada entre los inicios y cierres de bloque se ejecutará siempre al menos una vez. Supongamos ahora que el vehículo de carreras debe dar 10 vueltas seguidas para hacer reconocimiento de la pista de forma obligatoria, pero si ya ha dado 10 entonces sólo se le permitirá dar una.

18 Sentecias de ciclo iterativo – do while
vuelta++; } while(vuelta<10); Como se puede ver, la condición se encuentra al final, por lo tanto lo primero que sucederá es incrementar el número de vueltas en uno, sin ninguna condición que pueda evitarlo.

19 Sentecias de ciclo iterativo – do while
Supongamos que el valor de la variable acaba de incrementarse a 8, por lo tanto el corredor debe de forma obligatoria completar sus 10 vueltas, dado que 8 es menor a 10 la condición se hace verdadera dando paso a una nueva ejecución del bloque incrementando el valor de la variable a 9, con este valor la condición vuelve a evaluarse siendo verdadera dado que aún es menor a 10, en su última iteración la variable se incrementa a 10 y la condición se vuelve falsa, saliendo así del ciclo.

20 Sentecias de ciclo iterativo – do while
Sin embargo, la diferencia está dada en que si se vuelve a ejecutar este ciclo con un valor de 10 o superior, con un while el vehículo no hubiese sido aceptado, sin embargo con este ciclo no se evalúa la cantidad de vueltas al comienzo, por lo que las sentencias de código se ejecutarán haciendo que vuelta sea 11, luego de la primera ejecución el ciclo evaluará si debe proseguir, como la condición es falsa, el vehículo no dará una segunda vuelta.

21 Sentecias de ciclo iterativo – EJERCICIOS
1. Leer 10 números e imprimir solamente los números positivos.

22 Sentecias de ciclo iterativo – EJERCICIOS
Leer 20 números e imprimir cuantos son positivos, cuantos negativos y cuantos son ceros.

23 Sentecias de ciclo iterativo – EJERCICIOS
Leer 15 números negativos, convertirlos a positivos e imprimir dichos números.

24 Sentecias de ciclo iterativo – EJERCICIOS
Suponga que se tiene un conjunto de calificaciones de un grupo de 40 alumnos. Realizar un algoritmo para calcular la calificación media y la calificación más baja de todo el grupo.

25 Sentecias de ciclo iterativo – EJERCICIOS
Calcular e imprimir la tabla de multiplicar de un número cualquiera. Imprimir el multiplicando, el multiplicador y el producto.

26 Sentecias de ciclo iterativo – EJERCICIOS
Simular el comportamiento de un reloj digital, imprimiendo la hora, minutos y segundos de un día desde las 0:00:00 horas hasta las 23:59:59 horas.

27 Sentecias de ciclo iterativo – EJERCICIOS
Una compañía de seguros tiene contratados a N vendedores. Cada uno hace tres ventas a la semana. Su política de pagos es que un vendedor recibe un sueldo base y un 10% extra por comisiones de sus ventas. El gerente de la compañía desea saber cuanto dinero obtendrá en la semana cada vendedor por concepto de comisiones por las tres ventas realizadas y cuanto le corresponderá tomando en cuenta su sueldo base y sus comisiones.

28 Sentecias de ciclo iterativo – EJERCICIOS
Diseñe un algoritmo que determine cuantos hombres y cuantas mujeres se encuentran en un grupo de N personas. Suponga que los datos son extraídos persona por persona.

29 Sentecias de ciclo iterativo – EJERCICIOS
Obtener el promedio de calificaciones de un grupo de n alumnos.

30 Sentecias de ciclo iterativo – EJERCICIOS
Una persona desea invertir su dinero en un banco, el cual le otorga un 2% de interés mensual. ¿Cuál será la cantidad de dinero que esta persona tendrá al cabo de un año si la ganancia de cada mes es reinvertida?.

31 Sentecias de ciclo iterativo – EJERCICIOS
Calcular el promedio de edades de hombres, mujeres y de todo un grupo de alumnos.

32 Sentecias de ciclo iterativo – EJERCICIOS
Encontrar el menor y el mayor valor de un conjunto de n números dados.

33 Sentecias de ciclo iterativo – EJERCICIOS
Un teatro otorga descuentos según la edad del cliente. Determinar la cantidad de dinero que el teatro deja de percibir por cada una de las categorías. Tomar en cuenta que los niños menores de 5 años no pueden entrar al teatro y que existe un precio único en los asientos. Los descuentos se hacen tomando en cuenta el siguiente cuadro: Categorías Edad Descuento Categoría % Categoría % Categoría % Categoría % Categoría en adelante 35 %


Descargar ppt "Fundamentos de Programación Iteraciones"

Presentaciones similares


Anuncios Google