Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ayudantía Progra UTFSM - Estructuras Iterativas

Ayudantía Progra UTFSM - Estructuras Iterativas

Instrucciones Cíclicas o iterativas (while - for)

Avatar for Camilo Saldías

Camilo Saldías

October 08, 2013

More Decks by Camilo Saldías

Other Decks in Programming

Transcript

  1. Estructuras Iterativas Problema Escribir un programa que muestre la siguiente

    tabla de raíces cuadradas: 2 -> 1.41421356 3 -> 1.73205081 ... 30 -> 5.47722558
  2. Estructuras Iterativas Algoritmo 1 Inicializar variable n con valor 2.

    2 Repetir hasta que n>30: Escribir n y √ n Sumar 1 a n Alternativamente, 1 Inicializar variable n con valor 2. 2 Repetir mientras n<=30: Escribir n y √ n Sumar 1 a n
  3. Estructuras Iterativas Programa import math #Inicializar variable n con valor

    2 n = 2 Repetir mientras n <= 30 while n <= 30: #Escribir n y √ n print n,math.sqrt(n) #Sumar 1 a n n = n + 1 Cuidado con el n = n + 1: Primero calcula n + 1, Y luego guarda el resultado en n (en ese orden).
  4. Estructuras Iterativas Instrucción While Sintaxis while condición: instrucciones Semántica Mientras

    la condición se cumpla (sea True), se ejecutan las instrucciones.
  5. Estructuras Iterativas Ejecución del Programa N° Instrucción Efecto N° Instrucción

    Efecto 1 n = 2 n: 2 ... 2 while n <= 30 True 85 n = n + 1 n: 30 3 print n,... 2 1.4 86 while n <= 30 True 4 n = n + 1 n: 3 87 print n,... 30 5.4 5 while n <= 30 True 88 n = n + 1 n: 31 6 print n,... 3 1.7 89 while n <= 30 False 7 n = n + 1 n: 4 90 Fin!
  6. Estructuras Iterativas Condiciones Extremas Qué sucede si la condición es

    falsa la primera vez? Ejemplo: maximo = input("n° máximo?") n = 2 while n <= maximo: print n,math.sqrt(n) n = n + 1 Si maximo < 2, las instrucciones no se repiten nunca. Nota: Esta propiedad nos permite diseñar ciclos que eventualmente nunca se repiten.
  7. Estructuras Iterativas Condiciones Extremas Qué sucede si la condición es

    siempre verdadera? Ejemplo: print "N° Raíz" n = 2 while n <= 30: print n,math.sqrt(n) Las instrucciones se repiten indefinidamente (loop). Error: no se incrementa la variable n. ProTip: Preocúáte de incluir condiciones que influyan en la condición, de modo que en algún momento sea falsa.
  8. Estructuras Iterativas Instrucción For Sintaxis for var in range(n): instrucciones

    Semántica Las instrucciones se ejecutarán n veces. La variable var toma como valor el número de la iteración actual.
  9. Estructuras Iterativas La instrución range(n) Sintaxis range([inicio], fin, [sumando]) Semántica

    range() generará una secuencia de elementos, desde inicio hasta fin-1, sumando sumando para obtener el elemento siguiente. Si no especificamos un inicio, se asumirá cero. Si no especificamos un sumando, se asumirá 1.
  10. Estructuras Iterativas Ejemplos de range(n) >> range(6) [0, 1, 2,

    3, 4, 5] >> range(2, 8) [2, 3, 4, 5, 6, 7] >> range(2, 8, 2) [2, 4, 6] >> range(7, 2) [ ] >> range(7, 2, -1) [7, 6, 5, 4, 3]
  11. Estructuras Iterativas La instrucción For - Variable de Control Podemos

    utilizar la variable de control (var) dentro del ciclo. Ejemplo: for i in range(2, 8): print i, i ** 2 Esto imprime en pantalla: 2 4 3 9 4 16 5 25 6 36 7 49