# A02: Concepto control de flujo En esta actividad, se estudia la teoría de **control de flujo** el cual permite ejecutar una sección de código mientras se cumpla alguna condición. Desarrolle las siguientes tareas: --- ## TAREA 01: Teoría control de flujo 1. Lea el siguiente texto: :::{admonition} ¿Qué es el control de flujo? :class: hint Un programa no solo es la ejecución lineal de instrucciones paso a paso. Basado en como ciertas expresiones se evalúan, un programa puede decidir que instrucciones seguir, repetir o seleccionar alguna de varias. El siguiente gráfico muestra un control de flujo para determinar que se debe hacer SI esta lloviendo. ```{figure} ./recursos/image01.png :align: center :width: 380 ``` A diferencia de los valores enteros, float (reales) y strings (cadena) los cuales pueden tener un número ilimitado de posibles valores, los valores booleanos solo tienen 2 posibles valores y estos son: `True` y `False`. Los valores booleanos también se almacenan en variables. Por ejemplo: ```python valorPositivo = True valorNegativo = False ``` ::: 2. Acorde al texto anterior: **¿Qué es el control de flujo?** responda: - ¿Para que sirve tener un control de flujo en un programa? - Acorde al gráfico, ¿Qué condiciones se tienen que cumplir para **IR afuera**? - ¿Por qué los valores booleanos se usan para tomar decisiones? - ¿En que se diferencian los valores booleanos de los valores enteros, flotantes y de cadena o strings? --- ## TAREA 02: Operadores de comparación 1. Lea el siguiente texto: :::{admonition} ¿Qué son los operadores de comparación? :class: hint Los operadores de comparación comparan dos valores y su evaluación resulta en un valor `True` o `False`. A continuación se muestran los operadores que se trabajan en Python: ```{table} Operador | Significado -|- `==` | Igual a `!=` | No igual a `>` | Mayor que `<` | Menor que `>=` | Mayor o igual que `<=` | Menor o igual que ``` **==** (igual a) se evalúa como Verdadero cuando los valores en ambos lados son iguales. **!=** (no igual a) se evalúa como Verdadero cuando los dos valores son diferentes. Los operadores **==** y **!=** pueden trabajar con valores de cualquier tipo de datos. Los operadores **<**, **>**, **<=** y **>=**, funcionan correctamente sólo con valores **enteros** y de **coma flotante**. > **NO CONFUNDIR el operador (==) con el operador (=)** > > El operador **==** (igual a) tiene dos signos iguales, mientras que el operador **=** (asignación) tiene solo un signo igual. > ::: 2. Acorde al texto anterior: **¿Qué son los operadores de comparación?**, en su cuaderno responda: - ¿Cuáles son los operadores de comparación? - Complete las siguientes frases: - Cuando los valores SON IGUALES, **==** se evalúa como **Verdadero**. Por tanto cuando los valores NO SON IGUALES, **==** se evalúa como: __________ - Cuando los valores SON IGUALES, **=!** se evalúa como **Falso**. Por tanto cuando los valores NO SON IGUALES, =! se evalúa como: __________ - Si se quieren evaluar valores de cualquier tipo de datos, se usan los operadores: ______ y ______ - Los operadores **<**, **>**, **<=** y **>=,** solo funcionan correctamente con variables de tipo: ___________ 3. En una **consola interactiva de PYTHON** evaluar las siguientes operaciones. En su cuaderno escriba el resultado: - 42 == 42 - 42 == 99 - 2 != 3 - 2 != 2 - “hello” == “hello” - “hello” == “Hello” - “dog” != “cat” - True == True - True != False - 42 == 42.0 - 42 < 100 - 42 > 100 - 42 < 42 --- ## TAREA 03: Operadores Booleanos 1. Lea el siguiente texto: :::{admonition} ¿Qué son los operadores booleanos? :class: hint Los operadores booleanos se utilizan para comparar operaciones booleanas. Estos operadores son: `and`, `or` y `not`. Los operadores **`and`** y **`or`** siempre toman dos valores para evaluar. El operador **`not`**, solo toma un valor para evaluar. A continuación se muestran las tablas de la verdad para cada operador: ```{table} Operador AND | Resultado -|- True and True | True True and False | False False and True | False False and False | False ``` ```{table} Operador OR | Resultado -|- True or True | True True or False | True False or True | True False or False | False ``` ```{table} Operador NOT | Resultado -|- not True | False not False | True ``` Dado que los **operadores de comparación** evalúan **valores booleanos**, se puede utilizar en expresiones con operadores booleanos. Los operadores `and`, `or` y `not` se denominan **operadores booleanos** porque siempre operan con los valores booleanos `True` y `False`. El orden de operación con valores **booleanos** es el siguiente: Primero se evalúan los operadores matemáticos y de comparación, luego Python evalúa primero los operadores `not`, luego los operadores `and` y por último los operadores `or`. ::: 2. Acorde al texto anterior: **¿Qué son los operadores booleanos?**, en su cuaderno responda: - ¿Cuál es la diferencia entre los **operadores matemáticos**, **operadores de comparación** y los **operadores booleanos**? - ¿Cuáles son las tablas de la verdad de cada operador booleano? - Al momento de realizar operaciones booleanas, ¿Cuál es el orden de operación de valores booleanos? 3. En una **consola interactiva de PYTHON** evaluar las siguientes operaciones. En su cuaderno escriba el resultado: - $ (4 < 5) and (5 < 6) $ - $ (4 < 5) and (9 < 6) $ - $ (1 == 2) or (2 == 2) $ - $ (2 + 2 == 4) and not (2 + 2 == 5) and (2 * 2 == 2 + 2) $ - $ (2 + 99 <= 4) or (2 + 2 == 5) or (2 / 7 == 9 - 1) $ --- ## TAREA 04: EVALUACIÓN :::{admonition} Presentación del cuaderno y sustentación :class: attention En esta tarea, el estudiante es evaluado con los temas vistos en la presente actividad. - El estudiante presenta el cuaderno con el desarrollo de todas las tareas. - El estudiante muestra su carpeta de evidencias. - El docente realiza unas preguntas para comprobar que el estudiante haya entendido los temas. :::