0% encontró este documento útil (0 votos)
25 vistas8 páginas

Iteraciones

El documento aborda las estructuras de control iterativas en programación, específicamente las estructuras 'while' y 'for', que permiten ejecutar un bloque de código repetidamente bajo ciertas condiciones. Se presentan ejemplos prácticos y ejercicios para ilustrar su uso, así como una introducción a los operadores booleanos 'and' y 'or'. Finalmente, se enfatiza la importancia de elegir correctamente entre 'while' y 'for' según se conozca o no la cantidad de repeticiones necesarias.

Cargado por

aagustinarod0308
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas8 páginas

Iteraciones

El documento aborda las estructuras de control iterativas en programación, específicamente las estructuras 'while' y 'for', que permiten ejecutar un bloque de código repetidamente bajo ciertas condiciones. Se presentan ejemplos prácticos y ejercicios para ilustrar su uso, así como una introducción a los operadores booleanos 'and' y 'or'. Finalmente, se enfatiza la importancia de elegir correctamente entre 'while' y 'for' según se conozca o no la cantidad de repeticiones necesarias.

Cargado por

aagustinarod0308
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Ciencias de la computación 2024

1 Continuamos estructuras de control


Ya hemos visto las estructuras de control condicionales. Veremos ahora las estructuras e control
iterativas. “Algo” iterativo es “algo” que se repite.

Estas estructuras de control de flujo son instrucciones del tipo:

• Mientras se cumpla esta condición realiza tal cosa.

• Repite esto mientras se siga cumpliendo esta condición.

A diferencia de las estructuras de control condicionales, las iterativas también llamadas cíclicas,
repetitivas o bucles, nos permiten ejecutar un mismo código, de manera repetida, mientras se cumpla
una condición.

La estructura while repite una serie de instrucciones, que se colocarán indentadas luego de los dos
puntos del while, mientras cierta condición se cumpla y no sabemos cuántas veces se repetirán. Si la
condición no se cumple las indentadas luego de los dos puntos del while no se ejecutan.

La estructura for utiliza una variable para contabilizar el número de veces que se van repitiendo las
instrucciones que se escriben indentadas luego de los dos puntos y es utilizada cuando sabemos
cuantas veces queremos repetir algo.

En la vida diaria se dan situaciones repetitivas como las anteriores:

• Mientras vivas bajo este techo vas a levantarte temprano.

• Repite la flexión de brazos mientras tus repeticiones sean menores de diez.

Ya trabajamos con un programa en que pedíamos al usuario que ingresara su edad y en función de la
edad que ingresara le decíamos si era menor o mayor. Página 1

Prof. Gabriel Núñez python


Ciencias de la computación 2024

Suponemos que queremos controlar primero que el usuario no ingrese un número negativo. Para ello
podemos usar la estructura de control while y pedirle que ingrese un número mientras el usuario esté
ingresando un número negativo.

Lo correcto es usar la estructura while para este tipo de control ya que no sabemos cuántas veces el
usuario puede equivocarse.

Un diagrama de flujo que se


corresponda con el algoritmo
que realizaremos será el
siguiente.

Una vez que es ingresada la


edad 7 se controla si es menor
que 0 y en caso de que lo sea
se le vuelve a preguntar al
usuario su edad.
Página 2

Prof. Gabriel Núñez python


Ciencias de la computación 2024

Tarea 1

Modifica el código del anterior programa para mostrarle al usuario un mensaje de error de que se
ha equivocado y que debe ingresar una edad que sea mayor o igual a cero.

Tarea 2

a) ¿Qué muestra en el IDLE el


siguiente algoritmo?

b) Modifica la línea del print, escribiendo:

Nota
El comando end=' ‘ mostrará la salida en la misma línea en lugar de poner cada valor en una
línea por separado.

Tarea3

a) Escribe un algoritmo que imprima: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

b) Escribe un algoritmo que imprima: 1 2 4 8 16 32 64 128 256 512

c) Escribe un programa que solicite al usuario un número menor que 10, y se muestren luego
todos los múltiplos de ese número menores que 30.

Otros de los “usos” que podemos darle a la estructura while es el de repetir un procedimiento mientras
el usuario quiera.

Ya resolvimos un ejercicio en que pedíamos al usuario que ingresara el el largo y el ancho de un


rectángulo para hacer el cálculo del perímetro.
Página 3

Prof. Gabriel Núñez python


Ciencias de la computación 2024

Si quisiéramos realizar cálculos con el perímetro de otro rectángulo deberíamos correr el programa
nuevamente. Pero podemos preguntar al usuario si quiere realizar otro cálculo y usar la estructura
while para repetir el cálculo todas las veces que el usuario quiera e incluso usar la estructura while
para que el usuario responda como nosotros queramos.

2 Operadores booleanos
En el código anterior nos encontramos con una palabra reservada del lenguaje que es el operador
booleano or. Ahora analizaremos los operadores booleanos (u operadores lógicos) que son palabras
usadas para conectar las sentencias de Python de forma gramaticalmente correcta, casi igual que en
español.

Analizaremos dos operadores booleanos en Python:

1 - and, que quiere decir "y" en español;

2 - or, que significa "o" en español, y quiere decir "una cosa O la otra o AMBAS" (no es
exclusivamente una o la otra, así como pasa a menudo en español);

Queremos enfatizar el segundo caso: si tu profesor de Informática te dice que puedes usar una
computadora de la sala o tú computadora personal, lo que probablemente quiere decir es "una o la
otra, pero no las dos." Por otro lado, Python no tendría problema con que escogieras ambas, siempre y
cuando tu elección no sea ninguna de las dos. Es decir, Python es más divertido que tu profesor.

Los operadores booleanos generan valores booleanos: True (verdadero) o False (falso). Vamos a ver
los dos operadores uno por uno (observa además que la primera letra están mayúscula).
Página 4

Prof. Gabriel Núñez python


Ciencias de la computación 2024

Por ejemplo:
Consideremos un número x cualquiera. ¿Puede cumplirse a la vez que (x<4) and (x>9)?
Analiza la proposición para distintos valores de x (por ejemplo para 2, 8 y 11?
¿Cómo es dicha proposición entonces?

Consideremos un número x cualquiera. ¿Puede cumplirse a la vez que (x>4) and (x<9)?
Analiza la proposición para distintos valores de x (por ejemplo para 2, 8 y 11?
En este caso ¿la proposición es siempre falsa?

En algunos departamentos los menores de 12 o los mayores de 70 viajan los días


domingos gratis en ómnibus. Consideremos la proposición (x<12) or (x>70)
Analiza la proposición para distintos valores de x (por ejemplo para 5, 28 y 71?
En este caso ¿la proposición toma distintos valores de verdad?

En un or, si el primer operando es verdadero, sabemos que el resultado lo será ya, por lo que no es
necesario que Python se moleste en comprobar la veracidad del segundo. Del mismo modo, en un
and, si el primer operando es falso, el resultado inmediatamente lo será y tampoco será necesario
saber lo que ocurre con el segundo.

Operador and

El operador booleano and solamente da como resultado True cuando las expresiones en ambos lados
de and son verdaderas (True). Una expresión es cualquier sentencia que incluya una o más variables y
operadores (aritméticos, lógicos, o booleanos).

Analicemos por ejemplo la condición del while del programa anterior:

(resp != “Si”) and (resp != “No”)

• Si el usuario ingreso Si es resp = “Si” entonces:


(resp != “Si”) es falso pues “Si” = “Si”
(resp != “No”) es verdadero pues “Si” != “No”

En este caso la condición es falsa pues F and V es F y no se ejecuta la instrucción de volver a


preguntar

• Si el usuario ingreso No es resp = “No” entonces:


(resp != “Si”) es verdadera pues “No” != “Si”
(resp != “No”) es falsa pues “No” = “No”

En este caso la condición es falsa pues V and F es F y no se ejecuta la instrucción de volver a


preguntar

• Si el usuario ingreso s es resp = “s” entonces:


(resp != “Si”) es verdadero pues “s” != “Si”
(resp != “No”) es verdadero pues “s” != “No”

En este caso la condición es verdadera pues V and V es V y se ejecuta la instrucción de volver a


preguntar. Esto mismo ocurre con cualquier otra “cosa” que se le ocurra ingresar al usuario que no
sea Si o No, como SI, NO, n, pepe, ni, 8, 345, etc. Por lo tanto con esto controlamos que el usuario
responda como nosotros queremos

Operador or

El operador booleano or únicamente da como resultado False cuando las expresiones


en ambos lados de or son falsas (False).
Página 5

Por ejemplo si analizamos la condición tiempo == “Llueve” or tiempo ==


“Truena” y tenemos cargamos en la variable variable tiempo el estado actual:

Prof. Gabriel Núñez python


Ciencias de la computación 2024

• Si tiempo = “Soleado” la condición tiempo == “Llueve” or tiempo == “Truena” es False.

• Si tiempo = “Llueve” la condición tiempo == “Llueve” or tiempo == “Truena” es True.

• Si tiempo = “Truena” la condición tiempo == “Llueve” or tiempo == “Truena” es True.

3 Y seguimos con estructuras de control


No hay nada peor que tener que hacer lo mismo una y otra vez, el hecho de que repetir algo sin parar
es aburrido. Particularmente a los programadores tampoco les gusta repetirse. Esta es una buena
razón por la que todos los lenguajes de programación tienen para ello la estructura repetitiva for.

Supongamos que queremos pedir a un usuario que ingrese sus 5 notas de escrito en Informática para
realizar un promedio de dichas evaluaciones. El usuario deberá ingresar las notas una y otra vez hasta
tener las 5 y además deberá ir sumando.

Realicemos el siguiente código para ello,

En este caso la sentencia for i in range (0,4) le está diciendo a Python que repita las dos líneas
indentadas, luego de los dos puntos 4 veces.

Para contar se usa la variable i. Esta variable comienza con i = 0 y termina el ciclo cuando i < 4. Tener
presente que de 0 a 3 hay cuatro números naturales.

Página 6

Prof. Gabriel Núñez python


Ciencias de la computación 2024

El ciclo funciona como se muestra:

i=0 → se cumple i <4 → se ejecutan sentencias (pedir nota y sumar) → i=0+1


i=1 → se cumple i <4 → se ejecutan sentencias (pedir nota y sumar) → i=1+1
i=2 → se cumple i <4 → se ejecutan sentencias (pedir nota y sumar) → i=2+1
i=3 → se cumple i <4 → se ejecutan sentencias (pedir nota y sumar) → i=3+1
i=4 → no se cumple i <4 → se interrumpe el ciclo

Se muestra una ejecución del programa.

En el primer ciclo i=0 suma = 0 + 6 = 6


En el segundo ciclo i=1 suma = 6 + 3 = 9
En el tercer ciclo i=2 suma = 9 +11 = 20
En el cuarto ciclo i=3 suma = 20 + 8 = 28

El promedio es 28 / 4 = 7.0 (más adelante veremos como podemos mostrar un número entero en caso
de que el promedio sea un número decimal, ya que las notas son números enteros).

Página 7

Prof. Gabriel Núñez python


Ciencias de la computación 2024

El diagrama de flujo anterior trata de explicar de forma gráfica el funcionamiento del bucle for. Python
llega al bucle for y lo primero que hace es iniciar un contador interno que nosotros no vemos nunca
pero que a Python le vale para saber cuántas veces se ha ejecutado el bucle y cuando tiene que
terminar. Luego, antes de hacer ninguna sentencia del bloque interior lo siguiente que hace es
comprobar que el contador cumple la condición de limite, que en este caso es ser menor de 4. Esto lo
hace incluso la primera vez.

Si el contador cumple con la condición de ser menor que 4, entonces ejecuta las sentencias indentadas
una vez. Finalizada la ejecución de estas sentencias, incrementa en uno el contador y vuelve al
comienzo a preguntar si el contador cumple con la condición de límite

Así se ejecuta, tantas veces como sea necesario. Cuando el contador ya no sea menor que el limite, el
bucle for termina.

Nota:
Algo muy importante para una buena programación es saber distinguir cuando es correcto usar el
while y cuando el for. Cuando se conoce la cantidad de veces que debe repetirse un bucle debe
usarse el for y el while se usa cuando no sabemos la cantidad de veces que se debe repetirse el
bucle.

Tarea 4

Copia el siguiente código y analiza que hace.

Tarea 5

a) Suponemos que deb emos localizar a alguien en un edificio de 10 pisos. Se comienza la búsqueda
por el piso 1. ¿Qué sentencia sería correcto usar para no buscar más de lo necesario, while o for?

b) Se deb e crear un programa que muestre los 8 primeros números naturales. ¿Qué sentencia sería
correcto usar, while o for?

c) ¿Qué muestra el siguiente código?


Página 8

Prof. Gabriel Núñez python

También podría gustarte