SlideShare una empresa de Scribd logo
Fundamentos de Programación
Cursos Básicos
Primer Ciclo 2024
Estructuras Repetitivas
• Necesidad de estructuras de repetición
• Bucle for
• Testigos o banderas
• Contadores
• Acumuladores
• EJERCICIOS
¿Qué veremos hoy?
2
Necesidad de las Estructuras de Repetición
3
• Imprimir Hola mundo 5 veces
∑
𝑖=1
𝑛
𝑖
• Calcular el promedio de edad de los alumnos de la clase de
Computación
• Leer y operar sobre vectores, matrices y archivos.
• Resolver sistemas de ecuaciones lineales o no lineales.
• Obtener la suma de una serie de números leídos del teclado.
Estructuras repetitivas
• Propósito: Repetir varias veces la ejecución de una
serie de instrucciones bajo cierto criterio. (Evitando
repetir el código)
4
Estructuras repetitivas
• Desde (for)
• Mientras (while)
5
Las estructuras que repiten una secuencia de
instrucciones un número determinado de veces se
denominan bucles o lazos.
Se denomina iteración al hecho de repetir la ejecución
de una secuencia de acciones. La iteración se asocia a
un número entero que indica el número de veces que
se repite un trozo de código (o serie de instrucciones).
BUCLE FOR
• En general, un bucle es una estructura de control que
repite un bloque de instrucciones. Un bucle for es un
bucle que repite el bloque de instrucciones un número
prederminado de veces. El bloque de instrucciones que
se repite se suele llamar cuerpo del bucle y cada
repetición se suele llamar iteración.
• Un bucle for actúa como un iterador en Python;
Recorre los elementos que están en una secuencia o
cualquier otro elemento iterable. Los objetos sobre los
que podemos iterar incluyen cadenas, listas, tuplas e
incluso iterables integrados para diccionarios, como
claves o valores.
6
Formato general para un bucle for
en Python
• La sintaxis de un bucle for es la siguiente:
7
• No es necesario definir la variable de control antes del
bucle, aunque se puede utilizar como variable de
control una variable ya definida en el programa.
• El cuerpo del bucle se ejecuta tantas veces como
elementos tenga el elemento recorrible (elementos de
una lista o de un range(), caracteres de una cadena,
etc.).
Ejemplos
• Ejemplo de bucle for 1
8
Si la lista está vacía, el bucle no se ejecuta ninguna vez.
• Ejemplo de bucle for 2
9
• Ejemplo de bucle for 3
En el primer ejemplo, los valores que toma la variable no son importantes, lo que importa es que la
lista tiene tres elementos y por tanto el bucle se ejecuta tres veces. El siguiente programa produciría
el mismo resultado que el anterior:
Si la variable de control no se va a utilizar en el cuerpo del bucle, como en los ejemplos anteriores,
se puede utilizar el guion (_) en vez de un nombre de variable. Esta notación no tiene ninguna
consecuencia con respecto al funcionamiento del programa, pero sirve de ayuda a la persona que
esté leyendo el código fuente, que sabe así que los valores no se van a utilizar.
• Ejemplo de bucle for 4
El indicador puede incluir cualquier número de guiones bajos (_, __, ___, ____, etc). Los más
utilizados son uno o dos guiones (_ o __).
10
• Ejemplo de bucle for 5
En los ejemplos anteriores, la variable de control "i" no se utilizaba en el bloque de instrucciones,
pero en muchos casos sí que se utiliza. Cuando se utiliza, hay que tener en cuenta que la variable
de control va tomando los valores del elemento recorrible.
La lista puede contener cualquier tipo de elementos, no sólo números. El bucle se repetirá siempre
tantas veces como elementos tenga la lista y la variable irá tomando los valores de uno en uno.
• Ejemplo de bucle for 6
La costumbre más extendida es utilizar la letra i como nombre de la variable de control, pero se
puede utilizar cualquier otro nombre válido.
11
La variable de control puede ser una variable empleada antes del bucle. El valor que tuviera la
variable no afecta a la ejecución del bucle, pero cuando termina el bucle, la variable de control
conserva el último valor asignado:
La variable de control se puede modificar en el interior del bucle, pero en cada iteración Python
asigna a la variable de control el valor que le corresponde de acuerdo con el elemento iterable que
define el bucle:
12
En los ejemplos anteriores se ha utilizado una lista para facilitar la comprensión del funcionamiento de
los bucles pero, si es posible hacerlo, se recomienda utilizar tipos range() entre otros motivos porque
durante la ejecución del programa ocupan menos memoria en el ordenador.
El siguiente programa es equivalente al programa del ejemplo 1:
Otra de las ventajas de utilizar tipos range() es que el argumento del tipo range() controla el número de
veces que se ejecuta el bucle.
En el ejemplo anterior basta cambiar el argumento para que el programa salude muchas más veces.
Esto permite que el número de iteraciones dependa del desarrollo del programa. En el ejemplo
siguiente es el usuario quien decide cuántas veces se ejecuta el bucle:
13
Cuando se escriben dos o más bucles seguidos, la costumbre es utilizar el mismo nombre de
variable puesto que cada bucle establece los valores de la variable sin importar los valores
anteriores:
Hemos utilizado bucles for con listas, ¿qué tal con cadenas? Recuerde que las cadenas son una
secuencia, en cuyo caso la variable de control va tomando como valor cada uno de los caracteres:
Bucle for a través de cadenas
Bucle for con otros elementos iterables como tuplas y diccionarios, veremos
mas adelante
Testigos, contadores y
acumuladores
• En muchos programas se necesitan variables que
indiquen si simplemente ha ocurrido algo (testigos), o
que cuenten cuántas veces ha ocurrido algo
(contadores), o que acumulen valores (acumuladores).
• Las situaciones pueden ser muy diversas, por lo que en
este apartado simplemente se ofrecen unos ejemplos
para mostrar la idea.
14
Testigo o bandera
15
Se entiende por testigo una variable que indica simplemente si una condición se ha cumplido o no.
Es un caso particular de contador, pero se suele hacer con variables lógicas en vez de numéricas
(en el siguiente ejemplo, la variable que hace de testigo es la variable sacaste_cinco):
Detalles importantes:
• Antes del bucle se debe dar un valor inicial al testigo (en este caso, False)
• En cada iteración, el programa comprueba si dado es 5.
• El testigo se modifica la primera vez que la variable i es 5.
• El testigo no cambia a False una vez ha cambiado True.
• Se podría haber utilizado un range(1, 4) para poder escribir la tirada escribiendo {i} en vez de {i +
1}.
Contador
16
Se entiende por contador una variable que lleva la cuenta del número de veces que se ha cumplido
una condición. El ejemplo siguiente es un ejemplo de programa con contador (en este caso, la
variable que hace de contador es la variable cuenta_cincos):
Detalles importantes:
• Antes del bucle se debe dar un valor inicial al contador (en este caso, 0)
• En cada iteración, el programa comprueba si dado es 5.
• El contador se modifica sólo si la variable dado es cinco.
• El contador va aumentando de uno en uno.
• Si la frase indicando el número de cincos obtenidos se quisiera adaptar al número de cincos
obtenidos (por ejemplo, "no se han obtenido cincos", "sólo se ha obtenido un cinco" o "se han
obtenido XX cincos") se debería utilizar una estructura if ... elif ... else ...
Acumulador
17
Se entiende por acumulador una variable que acumula el resultado de una operación. El ejemplo
siguiente es un ejemplo de programa con acumulador (en este caso, la variable que hace de
acumulador es la variable total):
Detalles importantes:
• El acumulador se modifica en cada iteración del bucle (en este caso, el valor de dado se añade
al acumulador total).
• Antes del bucle se debe dar un valor inicial al acumulador (en este caso, 0)
• Si la frase indicando el número de puntos obtenidos se quisiera adaptar al número de puntos
obtenidos (por ejemplo, "sólo se ha obtenido un puntos" o "se han obtenido XX puntos") se
debería utilizar una estructura if ... else ...
EJERCICIOS
1. Dado un número natural , desarrolle un algoritmo que
𝑛
calcule la sumatoria y el promedio de los números
menores a n y que sean múltiplos de 3.
2. Dado un número natural , desarrolle un algoritmo que
𝑛
calcule el factorial de dicho número.
3. Extraído de http://en.wikipedia.org/wiki/Bizz_buzz:
Imprimir en pantalla los números comprendidos entre 1
y 100. Pero para los múltiplos de 3, imprimir “Fizz” en
lugar del número, mientras que para los múltiplos de 5
se imprime “Buzz” en lugar del número. Si el número
es múltiplo de 3 y de 5, mostrar “Fizzbuzz” en lugar del
número.
18
EJERCICIOS
• Diseñe un programa que acepte un número y otro .
𝑛 𝑝
Luego muestre los primeros elementos de la
𝑝
sucesión: 𝑛2
+ 1
19

Más contenido relacionado

PPTX
Programacion
PPTX
Unidad3.pptx
DOCX
Conceptos básicos de programación.docxisabelcuero
DOCX
Conceptos básicos de programación (1).docxisabelcuero
PPTX
Taller Python
DOCX
Unidad 2
PPTX
Javacript: expresiones e instrucciones
PDF
Practicas 2016
Programacion
Unidad3.pptx
Conceptos básicos de programación.docxisabelcuero
Conceptos básicos de programación (1).docxisabelcuero
Taller Python
Unidad 2
Javacript: expresiones e instrucciones
Practicas 2016

Similar a programacionClase4_Python_2024c1_v2.0.pptx (20)

PDF
Instrucciones de control repetitivas
PDF
183007957 estructuras repetitivas-estructurarepetitivadesdevi
PPTX
Algoritmo ibrahim ishtay
PPT
PDF
Estructuras de control Repetitivas.pdf
DOCX
Trabajo de tecnologia 10 6
DOCX
Conceptos básicos de programación y Fundamentos básicos de PSEINT
DOCX
Trabajo de tecnologia 10 6
PPTX
Introducción a Python
PPTX
Estructuras reptitivas y ciclos
PPTX
Presentación introducción a Matlab y su estructura
PPTX
Tutorial lenguaje c
PPTX
Tutorial lenguaje c
PDF
bucles_python-----------------------.pdf
PDF
PBD_EST_DO_WHILE_1ROS.pdf
PPTX
PDF
Practicas 2016
PDF
Estructuras basicas de un algoritmo
RTF
Algoritmo utilizando pseudolenguaje
Instrucciones de control repetitivas
183007957 estructuras repetitivas-estructurarepetitivadesdevi
Algoritmo ibrahim ishtay
Estructuras de control Repetitivas.pdf
Trabajo de tecnologia 10 6
Conceptos básicos de programación y Fundamentos básicos de PSEINT
Trabajo de tecnologia 10 6
Introducción a Python
Estructuras reptitivas y ciclos
Presentación introducción a Matlab y su estructura
Tutorial lenguaje c
Tutorial lenguaje c
bucles_python-----------------------.pdf
PBD_EST_DO_WHILE_1ROS.pdf
Practicas 2016
Estructuras basicas de un algoritmo
Algoritmo utilizando pseudolenguaje
Publicidad

Último (20)

PDF
presentacion sobre los polimeros, como se conforman
PPTX
Manual ISO9001_2015_IATF_16949_2016.pptx
PPTX
Introduccion quimica del fuego.ffffffffffpptx
PDF
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
DOCX
Cumplimiento normativo y realidad laboral
PPTX
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
PDF
S15 Protección de redes electricas 2025-1_removed.pdf
PDF
Prevención de estrés laboral y Calidad de sueño - LA PROTECTORA.pdf
PPT
357161027-seguridad-industrial-diapositivas-ppt.ppt
PDF
Módulo-de Alcance-proyectos - Definición.pdf
PDF
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
PDF
Durabilidad del concreto en zonas costeras
PDF
TESTAMENTO DE DESCRIPTIVA ..............
PPTX
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
PDF
1132-2018 espectrofotometro uv visible.pdf
PDF
HISTORIA DE LA GRÚAA LO LARGO DE LOS TIEMPOSpdf
PDF
SISTEMAS DE PUESTA A TIERRA: Una introducción a los fundamentos de los sistem...
PPTX
clase MICROCONTROLADORES ago-dic 2019.pptx
PPTX
Presentacion_Palcoma_Alta energia solar eolica
PPTX
GEOLOGIA, principios , fundamentos y conceptos
presentacion sobre los polimeros, como se conforman
Manual ISO9001_2015_IATF_16949_2016.pptx
Introduccion quimica del fuego.ffffffffffpptx
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
Cumplimiento normativo y realidad laboral
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
S15 Protección de redes electricas 2025-1_removed.pdf
Prevención de estrés laboral y Calidad de sueño - LA PROTECTORA.pdf
357161027-seguridad-industrial-diapositivas-ppt.ppt
Módulo-de Alcance-proyectos - Definición.pdf
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
Durabilidad del concreto en zonas costeras
TESTAMENTO DE DESCRIPTIVA ..............
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
1132-2018 espectrofotometro uv visible.pdf
HISTORIA DE LA GRÚAA LO LARGO DE LOS TIEMPOSpdf
SISTEMAS DE PUESTA A TIERRA: Una introducción a los fundamentos de los sistem...
clase MICROCONTROLADORES ago-dic 2019.pptx
Presentacion_Palcoma_Alta energia solar eolica
GEOLOGIA, principios , fundamentos y conceptos
Publicidad

programacionClase4_Python_2024c1_v2.0.pptx

  • 1. Fundamentos de Programación Cursos Básicos Primer Ciclo 2024 Estructuras Repetitivas
  • 2. • Necesidad de estructuras de repetición • Bucle for • Testigos o banderas • Contadores • Acumuladores • EJERCICIOS ¿Qué veremos hoy? 2
  • 3. Necesidad de las Estructuras de Repetición 3 • Imprimir Hola mundo 5 veces ∑ 𝑖=1 𝑛 𝑖 • Calcular el promedio de edad de los alumnos de la clase de Computación • Leer y operar sobre vectores, matrices y archivos. • Resolver sistemas de ecuaciones lineales o no lineales. • Obtener la suma de una serie de números leídos del teclado.
  • 4. Estructuras repetitivas • Propósito: Repetir varias veces la ejecución de una serie de instrucciones bajo cierto criterio. (Evitando repetir el código) 4
  • 5. Estructuras repetitivas • Desde (for) • Mientras (while) 5 Las estructuras que repiten una secuencia de instrucciones un número determinado de veces se denominan bucles o lazos. Se denomina iteración al hecho de repetir la ejecución de una secuencia de acciones. La iteración se asocia a un número entero que indica el número de veces que se repite un trozo de código (o serie de instrucciones).
  • 6. BUCLE FOR • En general, un bucle es una estructura de control que repite un bloque de instrucciones. Un bucle for es un bucle que repite el bloque de instrucciones un número prederminado de veces. El bloque de instrucciones que se repite se suele llamar cuerpo del bucle y cada repetición se suele llamar iteración. • Un bucle for actúa como un iterador en Python; Recorre los elementos que están en una secuencia o cualquier otro elemento iterable. Los objetos sobre los que podemos iterar incluyen cadenas, listas, tuplas e incluso iterables integrados para diccionarios, como claves o valores. 6
  • 7. Formato general para un bucle for en Python • La sintaxis de un bucle for es la siguiente: 7 • No es necesario definir la variable de control antes del bucle, aunque se puede utilizar como variable de control una variable ya definida en el programa. • El cuerpo del bucle se ejecuta tantas veces como elementos tenga el elemento recorrible (elementos de una lista o de un range(), caracteres de una cadena, etc.).
  • 8. Ejemplos • Ejemplo de bucle for 1 8 Si la lista está vacía, el bucle no se ejecuta ninguna vez. • Ejemplo de bucle for 2
  • 9. 9 • Ejemplo de bucle for 3 En el primer ejemplo, los valores que toma la variable no son importantes, lo que importa es que la lista tiene tres elementos y por tanto el bucle se ejecuta tres veces. El siguiente programa produciría el mismo resultado que el anterior: Si la variable de control no se va a utilizar en el cuerpo del bucle, como en los ejemplos anteriores, se puede utilizar el guion (_) en vez de un nombre de variable. Esta notación no tiene ninguna consecuencia con respecto al funcionamiento del programa, pero sirve de ayuda a la persona que esté leyendo el código fuente, que sabe así que los valores no se van a utilizar. • Ejemplo de bucle for 4 El indicador puede incluir cualquier número de guiones bajos (_, __, ___, ____, etc). Los más utilizados son uno o dos guiones (_ o __).
  • 10. 10 • Ejemplo de bucle for 5 En los ejemplos anteriores, la variable de control "i" no se utilizaba en el bloque de instrucciones, pero en muchos casos sí que se utiliza. Cuando se utiliza, hay que tener en cuenta que la variable de control va tomando los valores del elemento recorrible. La lista puede contener cualquier tipo de elementos, no sólo números. El bucle se repetirá siempre tantas veces como elementos tenga la lista y la variable irá tomando los valores de uno en uno. • Ejemplo de bucle for 6 La costumbre más extendida es utilizar la letra i como nombre de la variable de control, pero se puede utilizar cualquier otro nombre válido.
  • 11. 11 La variable de control puede ser una variable empleada antes del bucle. El valor que tuviera la variable no afecta a la ejecución del bucle, pero cuando termina el bucle, la variable de control conserva el último valor asignado: La variable de control se puede modificar en el interior del bucle, pero en cada iteración Python asigna a la variable de control el valor que le corresponde de acuerdo con el elemento iterable que define el bucle:
  • 12. 12 En los ejemplos anteriores se ha utilizado una lista para facilitar la comprensión del funcionamiento de los bucles pero, si es posible hacerlo, se recomienda utilizar tipos range() entre otros motivos porque durante la ejecución del programa ocupan menos memoria en el ordenador. El siguiente programa es equivalente al programa del ejemplo 1: Otra de las ventajas de utilizar tipos range() es que el argumento del tipo range() controla el número de veces que se ejecuta el bucle. En el ejemplo anterior basta cambiar el argumento para que el programa salude muchas más veces. Esto permite que el número de iteraciones dependa del desarrollo del programa. En el ejemplo siguiente es el usuario quien decide cuántas veces se ejecuta el bucle:
  • 13. 13 Cuando se escriben dos o más bucles seguidos, la costumbre es utilizar el mismo nombre de variable puesto que cada bucle establece los valores de la variable sin importar los valores anteriores: Hemos utilizado bucles for con listas, ¿qué tal con cadenas? Recuerde que las cadenas son una secuencia, en cuyo caso la variable de control va tomando como valor cada uno de los caracteres: Bucle for a través de cadenas Bucle for con otros elementos iterables como tuplas y diccionarios, veremos mas adelante
  • 14. Testigos, contadores y acumuladores • En muchos programas se necesitan variables que indiquen si simplemente ha ocurrido algo (testigos), o que cuenten cuántas veces ha ocurrido algo (contadores), o que acumulen valores (acumuladores). • Las situaciones pueden ser muy diversas, por lo que en este apartado simplemente se ofrecen unos ejemplos para mostrar la idea. 14
  • 15. Testigo o bandera 15 Se entiende por testigo una variable que indica simplemente si una condición se ha cumplido o no. Es un caso particular de contador, pero se suele hacer con variables lógicas en vez de numéricas (en el siguiente ejemplo, la variable que hace de testigo es la variable sacaste_cinco): Detalles importantes: • Antes del bucle se debe dar un valor inicial al testigo (en este caso, False) • En cada iteración, el programa comprueba si dado es 5. • El testigo se modifica la primera vez que la variable i es 5. • El testigo no cambia a False una vez ha cambiado True. • Se podría haber utilizado un range(1, 4) para poder escribir la tirada escribiendo {i} en vez de {i + 1}.
  • 16. Contador 16 Se entiende por contador una variable que lleva la cuenta del número de veces que se ha cumplido una condición. El ejemplo siguiente es un ejemplo de programa con contador (en este caso, la variable que hace de contador es la variable cuenta_cincos): Detalles importantes: • Antes del bucle se debe dar un valor inicial al contador (en este caso, 0) • En cada iteración, el programa comprueba si dado es 5. • El contador se modifica sólo si la variable dado es cinco. • El contador va aumentando de uno en uno. • Si la frase indicando el número de cincos obtenidos se quisiera adaptar al número de cincos obtenidos (por ejemplo, "no se han obtenido cincos", "sólo se ha obtenido un cinco" o "se han obtenido XX cincos") se debería utilizar una estructura if ... elif ... else ...
  • 17. Acumulador 17 Se entiende por acumulador una variable que acumula el resultado de una operación. El ejemplo siguiente es un ejemplo de programa con acumulador (en este caso, la variable que hace de acumulador es la variable total): Detalles importantes: • El acumulador se modifica en cada iteración del bucle (en este caso, el valor de dado se añade al acumulador total). • Antes del bucle se debe dar un valor inicial al acumulador (en este caso, 0) • Si la frase indicando el número de puntos obtenidos se quisiera adaptar al número de puntos obtenidos (por ejemplo, "sólo se ha obtenido un puntos" o "se han obtenido XX puntos") se debería utilizar una estructura if ... else ...
  • 18. EJERCICIOS 1. Dado un número natural , desarrolle un algoritmo que 𝑛 calcule la sumatoria y el promedio de los números menores a n y que sean múltiplos de 3. 2. Dado un número natural , desarrolle un algoritmo que 𝑛 calcule el factorial de dicho número. 3. Extraído de http://en.wikipedia.org/wiki/Bizz_buzz: Imprimir en pantalla los números comprendidos entre 1 y 100. Pero para los múltiplos de 3, imprimir “Fizz” en lugar del número, mientras que para los múltiplos de 5 se imprime “Buzz” en lugar del número. Si el número es múltiplo de 3 y de 5, mostrar “Fizzbuzz” en lugar del número. 18
  • 19. EJERCICIOS • Diseñe un programa que acepte un número y otro . 𝑛 𝑝 Luego muestre los primeros elementos de la 𝑝 sucesión: 𝑛2 + 1 19