UNIDAD 2. Herramientas de Control de Flujo

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 77

HERRAMIENTAS DE CONTROL DE

FLUJOS EN PYTHON
UNIDAD 2
CONTROL DE FLUJO

 Python, como el resto de los lenguajes de programación, se tienen


varios modos de controlar el flujo del programa.
 En Python tenemos tres modos elementos para controlar el flujo:
CONTROL DE FLUJO

• La declaración if, que ejecuta un


bloque particular de comandos en
función del resultado de un test.

• La declaración while, que ejecuta un


bloque de comandos mientras que
se cumpla un test determinado.

• La declaración for loop, que ejecuta


un bloque de comandos un cierto
número de veces.
EN PYTHON ES "OBLIGATORIO" DEFINIR UNA ESTRUCTURA DE
CONTROL DEL SIGUIENTE MODO:

NOTA: Es obligatoria la IDENTACIÓN, que no es otra cosa que realizar una


sangría de 4 espacios en blanco.
Recuerda siempre que en Python la identación es obligatoria.
PREGUNTA RÁPIDA
VERDADERO O FALSO

ES OPCIONAL LA IDENTACIÓN, QUE NO ES OTRA COSA QUE NO REALIZAR


UNA SANGRÍA DE 4 ESPACIOS EN BLANCO.

A) Verdadero
B) Falso
2.1.Estructuras condicionales.
ESTRUCTURAS SELECTIVAS

 Las estructuras selectivas conocidas también como lógicas selectivas se encuentran en la


solución algorítmica de casi todo tipo de problemas. La utilizamos cuando en el desarrollo de
la solución de un problema debemos tomar una decisión, para establecer un proceso o
señalar un camino alternativo a seguir.

 Esta toma de decisión expresada en un rombo en el diagrama de flujo se basa en la


evaluación de una o más condiciones que nos señalaran como alternativa el camino a
seguir.
LAS ESTRUCTURAS ALGORÍTMICAS SELECTIVAS SE CLASIFICAN EN TRES:

Simple
Doble
Múltiple
IF

 Se trata de una estructura de control condicional. Nos permite evaluar si una o más
condiciones se cumplen, para decir qué acción vamos a ejecutar. Esta evaluación de
condiciones sólo puede dar un resultado Verdadero o un resultado Falso.

 Operadores condicionales: == , != , < , > , <= , >=

 Para evaluar más de una condición simultáneamente, se utilizan los operadores lógicos: and ,
or , xor
Para describir la evaluación a realizar sobre una condición, se
utilizan operadores relacionales (o de comparación):
Y para evaluar más de una condición simultáneamente, se
utilizan operadores lógicos:
SELECTIVA SIMPLE
Se identifican porque están compuestos únicamente de un
solo camino para la condición. La estructura selectiva de
tipo simple evalúa esta condición, si el resultado es
verdadero (entonces) ejecuta el conjunto de acciones
asociadas a él (operaciones o acciones), caso contrario, si es
falso, no hace nada.(Lenguaje
SELECTIVA SIMPLE

 Veamos un ejemplo donde se comprueba si un número es par o impar.


SELECTIVA DOBLE
Son estructuras lógicas que permiten controlar la ejecución
de varias acciones y se utilizan cuando se tienen dos
opciones de acción, se evalúa la condición y si es verdad se
ejecuta el conjunto de acciones asociadas a la parte
entonces, si es falso se ejecuta el conjunto de acciones
asociadas a la parte sino.
SELECTIVA DOBLE

 Ejemplo donde se comprueba si dos números son uno mayor que otro o, por el contrario, son
iguales:
FINALMENTE…

 Programa que te dice si un número dado está entre dos que también indicaremos en el
código:
SELECTIVA ANIDADAS
Una estructura selectiva anidada es una forma
de crear múltiples decisiones escrita de otra
manera, en lugar de utilizar un según-hacer-
caso aquí lo que hacemos es anidar las
palabras si-entonces y si-entonces-sino.
SELECTIVA ANIDADAS

 Otro modo de hacer este ejercicio pero con "condiciones anidadas" sería el siguiente:
SELECTIVA MULTIPLES
Una estructura selectiva múltiple es una forma
de crear múltiples decisiones con diferentes
opciones a evaluar algún valor o variable
especifica.
COMPARACIONES DE IGUALDAD
 Programa evalúa según si un número dado, que día de la semana es:
COMPARACIONES DE IGUALDAD
 Programa evalúa según si un número dado, que día de la semana es:
COMPARACIONES DE IGUALDAD
 Programa evalúa según si un número dado, que día de la semana es:
2.2.Estructuras de control iterativas.
CONTROL DE FLUJO
SENTENCIA FOR
Denominado ciclo o bucle, se conoce como la
estructura de control en programación que
permite ejecutar una o varias líneas de código
múltiples veces.
¿CUÁNDO USAR UN CICLO FOR?

 Lo debemos utilizar cuando sabemos con


antelación cuantas veces debemos
repetir ciertas instrucciones.
Diagrama de Flujo del Ciclo For

Iteración
¿QUÉ ES UNA ITERACIÓN?

 Es una repetición de un cierto grupo de instrucciones o rutina de código, es decir, una


repetición del bucle o ciclo.
Diagrama de Flujo del Ciclo For

Iteración
BUCLES ITERATIVOS (FOR)

 Repite la ejecución del bloque de código para cada elemento de la secuencia.

 Se puede interrumpir en cualquier momento la ejecución del bloque de código con la


instrucción break o saltar la ejecución para un determinado elemento de la secuencia con la
instrucción continúe.

 Se le llama estructura de control, porque cambia o controla el flujo del programa y permiten
crear una ejecución repetitiva

Nota: El bloque de código debe


estar indentado por 4
espacios.
SINTAXIS BÁSICA
Variable de control

for <var> in range(<inicio>, <fin>):


#Código
Indentado

Explicación: Se indica el tipo de ciclo que es, en este caso “for”, después la
variable a utilizar, después la palabra in, luego la función especifica range,
que en español es rango y en ese rango, especificaremos un valor de inicio
y valor de fin. El rango sirve para especificar cuantas veces va a iterar el
ciclo y ejecutar el #Código. Y se va a repetir cuantas veces como se haya
especificado.
VARIABLE DE CONTROL

 Variable que puede ser utilizada en el código que se


va a repetir.

 Se actualiza automáticamente antes de cada


iteración.

 Debe tener un nombre descriptivo.


¿CÓMO SE ACTUALIZA LA VARIABLE AUTOMÁTICAMENTE?
USO DE RANGE
Se utiliza fundamentalmente para recorrer colecciones de objetos como
cadenas, listas, tuplas o diccionarios.

A menudo se usan con la instrucción range:

 range(fin) : Genera una secuencia de números enteros desde 0 hasta


fin-1.

 range(inicio, fin, salto) : Genera una secuencia de números enteros


desde inicio hasta fin-1 con un incremento de salto.
EJEMPLO
Variable de control 0, 1, 2, 3

for i in range(4):
print(i)
Indentado

Explicación: Se indica el tipo de ciclo que es, en este caso “for”, después la
variable i que es la variable de control, después la palabra in, luego la
función especifica range, con el valor espcificado en 4 y el código a
repetir que en este caso es print(i).
RESULTADO EN SHELL INTERACTIVO

Cuerpo del
Ciclo

Valor de
variable i
RANGE GENERA UNA SECUENCIA DE ENTEROS
SECUENCIA
FUNCIONAMIENTO
EJEMPLO

3ra
2da 2
Iteración == 3
4ta Iteración
1ra 01

for i in range 0, 1, 2, 3):


print(i)
range(start, stop[, step])
 Start
 El valor del parámetro start ( si no se utiliza el parámetro)

 Stop
 El valor del parámetro stop

 Step
 El valor parámetro step ( si no se utiliza el parámetro)
EJEMPLO
NO SE UTILIZA RANGE()

CICLOS SOBRE
ITERABLES
PARA ITERAR SOBRE:

 Cadenas de caracteres
 Listas
 Tuplas
 Diccionarios
 Otros…(conjuntos, archivos y mas)
SINTAXIS BÁSICA

for <var> in <iterable>:


#Código
EJEMPLO
ITERAR SOBRE:

Claves
Valores
Pares Clave-Valor
EJEMPLO DE ITERACIÓN DE CLAVES EN DICCIONARIOS
EJEMPLO DE ITERACIÓN DE VALORES EN DICCIONARIOS
EJEMPLO DE ITERACIÓN DE PARES EN DICCIONARIOS
SENTENCIA WHILE
Ciclo que continúa mientras una
condición es verdadera y se detiene
cuando es falsa.
SI EL CICLO NO LLEGA A FALSO

Para detener Ciclo Infiniro Ctrl + C


BUCLES CONDICIONALES (WHILE)

 Repite la ejecución del bloque de código mientras la expresión lógica


condición sea cierta.

 Se puede interrumpir en cualquier momento la ejecución del bloque


de código con la instrucción break.

Nota: El bloque de código debe


estar indentado por 4
espacios.
SINTAXIS BÁSICA

while <condición>:
#Código
Indentado

Explicación: Se indica el tipo de ciclo que es, en este caso


“while”, después la condición que va a determinar si el código
sigue ejecutándose o no. SI es verdadera el código va a seguir
ejecutándose, si es falsa el proceso de repetición se detiene y
el programa continua su ejecución normal. Luego : y
finalmente, el bloque de #Código.
ITERACIONES

 Un ciclo while no tiene un número fijo o


predeterminado de iteraciones.

 Se ejecuta hasta que la condición es


falsa.
Lógica de un Ciclo While
VARIABLE DE CONTROL

 Los ciclos while no actualizan la(s) variable(s)


de control automáticamente.

 Deben ser actualizadas en el cuerpo del ciclo.

Variables involucradas en la condición


EJEMPLO
EVALUACIÓN DE LA ÚLTIMA ITERACIÓN DEL EJEMPLO
EJEMPLO
SENTENCIAS BREAK,
CONTINUE Y PASS EN BUCLES
SENTENCIAS BREAK, CONTINUE Y ELSE EN BUCLES

 Las sentencias break y continue permiten manipular el


comportamiento normal de los bucles for para detener el
bucle o para saltarse algunas repeticiones.
 Concretamente, la sentencia break permite terminar de
forma abrupta un bucle y la sentencia continue permite
saltarse algunas repeticiones del bucle.
INSTRUCCIÓN BREAK

 Veamos un ejemplo en el que se utiliza la instrucción


break en un bucle for:
INSTRUCCIÓN BREAK

 Cuando ejecutemos este código, el resultado será el siguiente:


INSTRUCCIÓN CONTINUE

 La instrucción continue da la opción de omitir la


parte de un bucle en la que se activa una condición
externa, pero continuar para completar el resto del
bucle.
INSTRUCCIÓN CONTINUE

 Usando el mismo programa de bucle for que en la sección


anterior Instrucción break, emplearemos la instrucción
continue en vez de la instrucción break:
INSTRUCCIÓN CONTINUE

 Veamos el resultado:
INSTRUCCIÓN PASS

 Cuando se activa una condición externa, la


instrucción pass permite manejar la condición sin
que el bucle se vea afectado de ninguna manera;
todo el código continuará leyéndose a menos que
se produzca la instrucción break u otra instrucción.
INSTRUCCIÓN PASS

 Usando el mismo bloque de código que antes, sustituiremos


la instrucción break o continue con una instrucción pass:
INSTRUCCIÓN PASS

 Ejecutaremos el programa y consideraremos el resultado:

También podría gustarte