Mostrando entradas con la etiqueta ESTRUCTURAS DE CONTROL. Mostrar todas las entradas
Mostrando entradas con la etiqueta ESTRUCTURAS DE CONTROL. Mostrar todas las entradas

2022/07/24

S1 Estructuras de Control

ESTRUCTURAS DE CONTROL

Cuando hablamos de un programa informático generalmente estamos hablando de una serie de instrucciones que lo componen.

, como programadores, se puede determinar qué instrucciones debemos ejecutar y el orden en cual van a ser ejecutadas.

Para ello se tiene una herramienta muy valiosa llamadas estructuras de control de flujo, o simplemente instructores de control.

Las estructuras de control ayudan a gestionar el orden de ejecución de las instrucciones.

Existen de dos tipos: estructuras de control condicionales y estructuras de control iterativas.

Estas estructuras trabajan con la ayuda de operadores relacionales.

se va a detallar estos conceptos con un cuaderno de trabajo por lo cual abrir el archivo "Estructuras de control de flujo".

Ok.

En la interfaz de Jupyter se va a abrir el archivo mencionado.

Ok, entonces Jupyter recibe con este cuaderno.

se va a ver lo que son operadores relacionales, que son todos aquellos que permiten comparar dos valores.

Tomemos por ejemplo el valor "==" que su significado es "igual que".

Como ejemplo se puede decir: 5 igual que 7.

Esto directamente es falso, 5 no es igual que 7.

Entonces, el resultado de esta pregunta va a ser False.

Distinto qué, que se representa a través del carácter !=.

Si utilizamos el mismo ejemplo: 5 diferentes de 7, pues sabemos  que es verdadero.

Entonces va a arrojar ese valor, un valor True.

Menor que, "<".

Si utilizamos 8 < 12 eso va a arrojar un valor True.

Si usamos mayor que (>) el 12 es mayor que 7, entonces esto da un valor de verdadero.

El menor o igual (<=) funciona similarmente al < con la diferencia de que si los valores son idénticos va a dar verdadero.

De forma similar funciona en >=.

Bueno, también se tiene los operadores lógicos, que esto ayudan a concatenar operadores relacionales a través de ANDs o ORs, que su traducción sería y/o.

Entonces, por ejemplo se tiene 5 == 7 and 3 == 3.

Sabemos que 5 es diferente de 7, por lo tanto la primera parte va a dar un False.

3 es igual a 3 por lo tanto eso va a dar un True, y falso y verdadero por la tabla de verdad del operador and va a dar un falso.

En el segundo ejemplo se tiene 5 <= 7, esto sabemos que es verdadero y 3 == 3 es verdadero.

Por lo tanto verdadero y verdadero va a dar un resultado total de verdadero.

Ahora, con el operador "or".

Este va a ser verdad cuando uno de los dos casos sea verdad.

Entonces, se tiene 5 == 7, eso es falso pero 3 == 3, por lo tanto falso y verdadero va a ser verdadero.

En el caso contrario donde los dos sean falsos, por ejemplo, 5 == 7, pues es falso y 3 != 3 es otro falso, por lo tanto eso va a dar False.

Ahora, pero para qué sirven los operadores lógicos.

Bueno, esto va a funcionar para las estructuras de control condicionales.

La primera de ellas es un if.

Entonces la estructura del if es if, condición, seguido del segmento de instrucciones que se van a ejecutar si la condición del if es verdadera.

Por ejemplo, se tiene if True es verdadero, es un valor booleano.

Entonces va a imprimir: es verdadero.

Si le ejecutamos efectivamente lo hace.

Bueno, pero para eso sirven las condicionales que acabamos de ver.

Entonces, se puede preguntar ¿3 es mayor que 2? pues sí, 3 es mayor que 2.

Entonces lo va a imprimir y en caso contrario ¿3 es menor que 2? Pues no, porque 3 es mayor que 2.

Entonces, simplemente se saltó esta sección.

Ahora, verán que el if al final tiene ":".

En otros lenguajes de programación se utilizan las llaves para abrir y cerrar segmentos.

En Python solamente se utilizan espacios y dentación, por ejemplo, se puede tener aquí otro elemento, print, hola, y estos dos print conforman un mismo segmento.

También se puede, después de haber acabado el if, seguir con el código normal.

Entonces, se tiene, si falso, es decir, no va a entrar, se salta la condición de afuera.

Entonces, eso imprime "afuera del if", se saltó el print que dice "dentro del if".

Además se tiene el if else donde if seguido de una condición es similar a la anterior.

Pero qué pasa si esta condición es falsa, bueno, en este caso va a ejecutar el siguiente segmento.

Aquí se tiene if mayor que 2, pues 3 es mayor que 2, entonces va a imprimir esto.

Por lo tanto no entrará al else.

Efectivamente.

Ahora, utilicemos un par de variables.

Tengamos a == 4 y b==3.

Entonces, preguntamos con el if, si a es mayor a b lo imprime.

Entonces, dentro del if se va a estar utilizando variables, que es el caso común, no se va a estar utilizando variables numéricos solos.

También se tiene la estructura "elif" que es un if compuesto.

Veámoslo con un ejemplo.

se tiene una calificación, un alumno presentó un examen y sacó un valor de 80.

Entonces se quiere que Python imprima si al alumno le fue mal, le fue regular o le fue muy bien.

Entonces, para eso se va a decir "si la calificación del alumno es menor a 50, pues se va a imprimir un mensaje de reprobado".

Entonces, va al if y hace la condicional.

Esto va a dar un false porque el alumno sacó 80, no mede 50.

Por lo tanto se salta el siguiente caso, pasa al primer elif.

Dice, ¿calificación es mayor o igual a 50? Pues en ese caso se tiene un true porque la calificación era de 80, pero hay un "y" (and), entonces hay que checar la segunda condicional, ¿calificación es menor a 90? Sí, porque 80 es menor a 90, entonces va a entrar en ese segmento de código y va a imprimir "aprobado".

El else ya no lo va a ver porque como ya ejecutó el elif se salta directamente hasta después.

Entonces, si lo ejecutamos va a decir que el alumno fue aprobado.

A parte de estas estructuras de control se tiene las estructuras de control cíclicas.

Las dos principales son while y for, que while similarmente al if, es la palabra reserva while seguido de una condición luego de un bloque de instrucciones.

La diferencia del if y el while es que el while se va a estar repitiendo hasta que la condición interna sea falsa.

se puede ver un ejemplo.

Digamos que tengamos un elevador y se tiene un número de personas actual, que se va a suponer al principio que el elevador está vacío.

Entonces hay 0 personas y la capacidad máxima del elevador es 5 personas.

Entonces, se va a decir mientras el número de personas sea menor o igual a la capacidad máxima se va a imprimir una nueva persona al elevador y se va a agregar una persona.

Entonces lo ejecutamos.

La primera iteración va a decir que hay 0 personas en el elevador, que es esta instrucción de aquí.

Después va a agregar a una persona.

Agrega una y vuelve a entrar a este ciclo while.

Va a imprimir una persona al elevador, va a agregar otra, porque todavía el número personas es menor a la capacidad máxima.

Ahí se tiene una persona y la capacidad es de 5.

Esto va a seguir iterando hasta que el 5 ya sea menor o igual a 5.

Entonces, se sale del while y ya no imprime nada, y terminó el ciclo.

El ciclo for, que es el que más se va a estar utilizando, puede iterar a través de listas, las que vimos en un video anterior, por ejemplo, se tiene la lis ta de alumManuel, Antonio, Carlos y José.

 se puede decirle "para cada alumno (ésta es una variable que estamos escogiendo ahorita) en la variable alumno (que hace referencia a la lista) imprime el alumno".

Entonces, en cada iteración esta imprimiendo primero a Manuel, porque es el alumno en turno, luego a Antonio, luego a Carlos y luego a José.

Pero no nada más se va a iterar sobre listas, también se puede iterar a través de números.

Para eso se utiliza la función range que dice: vas a crear un rango entre 0 y 10, y para cada uno de esos elementos vas a imprimir la n.

Entonces para la primera iteración genera un 0, genera un 1, 2, 3, 4, y así hasta el 10.

Esa es la explicación de estructuras de control.

Visitar la siguiente página para que conozcas más de estructuras de control y repasar.



2022/07/23

S1 Tipos de Datos y Estructuras de Control

TIPOS DE DATOS Y ESTRUCTURAS DE CONTROL 

El constante incremento de la complejidad del entorno y el continuo flujo de información nueva, son los principales retos actuales que se presentan al analizar información.

Una estrategia que las ciencias utilizan para contrarrestar dichos obstáculos es la Creación de Modelos, capaces de representar la realidad de una manera abstracta.

Dentro del área de 'Data Science' nuestra realidad es representada como un conjunto de datos que se busca analizar para identificar solamente la información más relevante del problema que se pretende resolver.

Antes de entrar al Manejo de Datos se debe de familiarizar con algunos términos básicos del área.

La palabra "Data" dentro de nuestro contexto de 'Data Science' representa una colección de medidas.

Un 'Data Point', también conocido como 'Observación', hace referencia a las instancias individuales de datos, mientras que, un 'Dataset' es un conjunto estructurado de 'Data Points'.

Cada Data Point puede contener múltiples tipos de información o 'Data Types', números, textos, fechas.

Cuando agrupamos los Data Points según estas características, observaciones que tienen las variables del 'Data Pool'.

Ilustrar esos conceptos apoyándose en el Siguiente Ejemplo: Imagine que se quiere encontrar si existe una relación entre 'Las Horas de Sueño de un Conjunto de Alumnos' y sus 'Calificaciones'.

Entre los datos que se tiene a la disposición para realizar la investigación, resaltan 'La edad', 'Las horas de sueño', 'Las horas de estudio' y 'Las calificaciones finales' obtenidas por múltiples alumnos.

La Data en este caso, se refiere a toda la información recolectada, de los alumnos en el estudio son los diferentes 'Data Points', cada tributo de los Data Points son las variables y en el Data Frame, es toda la Data Organizada de manera Tabular.

Si se observa cada una de las columnas, tiene información referente a los alumnos, se tienen valores numéricos como lo es 'la edad', 'las horas de sueño' y sus 'calificaciones' pero, además se tienen 'nombres de personas', que son representados por cadenas de caracteres.

Continuemos analizando un Segundo Ejemplo: Ahora imaginemos que se trabaja en un banco, y se quiere determinar si una persona es 'Apta' o 'No' para Recibir un Préstamo.

Las variables que se podrían conocer acerca de la persona son datos como: 'Su edad', 'Su género', 'El historial crediticio' que esta persona tiene, 'Su antigüedad como nuestro cliente', entre otras de posible relevancia.

Todas estas variables así como las utilizadas en el ejemplo de los alumnos se pueden clasificar en los siguientes cuatro tipos básicos las variables: numéricas categóricas ordinales y las de texto

Primero se hablara de los datos numéricos es decir todos aquellos datos que pueden ser representados por un número estos datos se subdividen en dos tipos los discretos y los continuos.

Los 'Datos discretos' son aquellos que se pueden cuantificar con valores enteros por ejemplo el número de alumnos, las unidades vendidas por un vendedor, el número de compra de un usuario e incluso el resultado de tirar un dado.

Por otro lado existen: Los Datos 'Continuos', los cuales utilizan números con punto flotante.

Por Ejemplo: La Estatura de una Persona, La Temperatura, El Tiempo de Espera para Pasar a la Ventanilla de un banco, Los Salarios, Entre Otros.

Una manera sencilla de distinguir entre 'Variables Discretas' y 'Continuas' es preguntar si la variable se puede 'Contar' o se puede 'Medir'.

En caso de que sea contada, es una 'Variable Discreta' y en caso de que se pueda medir es una 'Variable Continua'.

Los datos categóricos son aquellos que están asociados a las cualidades del objeto de estudio.

Por Ejemplo: El género de una persona, El color de un objeto, La raza, El estado de residencia, entre otros.

A los elementos de una lista de datos categóricos se les puede asignar un valor entero para manipularlo de una manera sencilla pero esta numeración, no debe representar un orden jerárquico, es decir, ningún elemento tiene más importancia que otro.

Un ejemplo que ilustra lo anterior es una lista donde a cada color le asignamos un número de forma aleatoria, "1" para el color 'Rojo', "2" para el color 'Azul', "3" para el color 'Verde' y así sucesivamente para otros colores.

Recordemos que la numeración no indica que un color sea más importante que otro solamente ayuda a distinguir que hay elementos diferentes entre ellos.

Los Datos Ordinales son Datos categóricos, ordenados jerárquicamente, esto sucede cuando se evalúa a los conductores de Uber, la asignación de una calificación de una película o la calificación de los productos que se compran por Internet.

Donde uno evalúa los productos se utiliza palabras como Bueno o Malo.

El usuario sabe que un producto es Bueno y que es superior a un producto evaluado como Regular o como Malo.

Por último, los datos de Tipo Texto son los datos que podemos observar usualmente en 'Comentarios', 'Publicaciones' o 'Tweets'.

Como su nombre lo indica, son campos de texto sin una estructura establecida.

Este tipo de datos se vera más adelante.

S4 Cierre

Cierre Semana 4 Muchos de los problemas actuales a los que se enfrenta un científico de datos involucran el manejo de grandes cantidades de ...