--- id: Fundamentos de la programación 2 aliases: - Fundamentos De la Programación tags: [] date_created: Thursday, May 16th 2024, 10:03:49 am date_modified: Thursday, May 16th 2024, 5:24:04 pm --- # Fundamentos De la Programación --- ## Código notes: - Lo que veremos es transversal para cualquier lenguaje de programación. - dicho esto, cada lenguaje tiene sus leves diferencias. --- ## Tipos De Datos - Primitivos - Numericos - Booleanos - Carácteres - Complejos - Arrays (arreglos) - Strings (texto) - Clases --- ## Numéricos En Java | Tipo de dato | Tamaño | Descripción | | ------------ | ------- | -------------------------------------------------------------------------------- | | `byte` | 1 byte | Números enteros desde -128 hasta 127 | | `short` | 2 bytes | Números enteros desde -32,768 hasta 32,767 | | `int` | 4 bytes | Números enteros desde -2,147,483,648 hasta 2,147,483,647 | | `long` | 8 bytes | Números enteros desde -9,223,372,036,854,775,808 hasta 9,223,372,036,854,775,807 | | `float` | 4 bytes | Números con coma flotante, puede tener desde 6 hasta 7 dígitos decimales. | | `double` | 8 bytes | Números con coma flotante. puede tener hasta 15 dígitos decimales. | notes: - Coma flotante have referencia a que el número se guarda como un entero y hay una parte de los bytes dedicada a guardar "donde la coma debería estar" --- ## Numéricos En Python | Tipo de dato | Descripción | | ------------ | ------------------------------------------------------------- | | `int` | Números enteros, positivos o negativos sin límite. | | `float` | Números con coma flotante, positivo o negativo sin límite. | | `complex` | Números complejos, con una `j` denotando su parte imaginaria. | --- ## Char | Tipo de dato | Tamaño | Descripción | | ------------ | ------ | --------------------------------------------- | | `char` | 2 byte | almacena solo 1 carácter/letra o valor ASCII. | notes: no existe en python. --- ## Booleans | Tipo de dato | Tamaño | Descripción | | ------------ | ------ | --------------------------------- | | `boolean` | 1 byte | Almacena valores `True` o `False` | notes: - aveces abreviado como `Bool` - _"coherción"_ --- ## Ejemplos ```java // JAVA int myNum = 5; // Integer (whole number) float myFloatNum = 5.99f; // Floating point number char myLetter = 'D'; // Character boolean myBool = true; // Boolean String myText = "Hello"; // String ``` ```python # PYTHON myNum = 5 # Integer (whole number) myFloatNum = 5.99 # Floating point number myBool = True # Boolean myText = "Hello" # String ``` --- ## Arrays Los arreglos son un tipo de dato que nos permiten almacenar multiples valores en una sola variable ### Características: - Tienen un tamaño fijo de elementos. - Cada elemento debe ser del mismo tipo de dato. - Se pueden acceder a sus elementos a través de un indice. - Un array puede container otros arrays (A.K.A. arrays multidimensionales). note: Al ser una estructura compleja, su implementación exacta varia de lenguaje a lenguaje. --- ## Arrays ```java // JAVA int[] myNum = {10, 20, 30, 40}; System.out.println(myNum[0]) // imprime el N° 10 ``` ```python # PYTHON myNum = [10, 20, 30, 40] print(myNum[0]) # imprime el N° 10 ``` notes: - Mencionar la diferencias de arrays vs lists --- ## Strings los Strings o _"cadenas"_ son en esencia un **array de caracteres**. Se utilizan para representar texto. --- ## Otros tipos de datos - Hashmaps (A.K.A. dictionaries, structs, associative array u otros). - Clases - Enums - Sets - Tuples --- ## Operadores Aritméticos | operador | Nombre | Descripción | Ejemplo | | -------- | -------------- | ---------------------------------------- | ------- | | + | Adición | Suma dos valores | x + y | | - | Substracción | Resta un valor desde otro
| x - y | | * | Multiplicación | Multiplica dos valores | x * y | | / | División | Divide un valor por otro | x / y | | % | Módulo | Retorta el _resto_ de una división | x % y | | ++ | incremento | Incrementa el valor de una variable en 1 | ++x | | -- | Decremento | Decrementa el valor de una variable en 1 | --x | --- ## Operadores de asignación | operador
| Ejemplo | Es lo mismo que | | ------------ | ------- | --------------- | | = | x = 5 | x = 5 | | += | x += 3 | x = x + 3 | | -= | x -= 3 | x = x - 3 | | *= | x *= 3 | x = x * 3 | | /= | x /= 3 | x = x / 3 | | %= | x %= 3 | x = x % 3 | --- ## Operadores de comparación | Operador | Nombre | Ejemplo | | -------- | ----------------- | -------- | | `==` | Igual a | `x == y` | | `!=` | No es igual a | `x != y` | | `>` | Mayor que | `x > y` | | `<` | Menor que | `x < y` | | `>=` | Mayor o igual que | `x >= y` | | `<=` | Menor o igual que | `x <= y` | notes: - los operadores lógicos dan por resultado un booleano, el cuál puede ser pasado algo que lo evalúe (un if) o ser guardado en una variable --- ## Operadores lógicos | Operador | Nombre | Descripción | Ejemplo | | -------- | ------ | -------------------------------------------------- | ---------------- | | && | and | Se evalúa como `True` si ambos lados son `True` | x < 5 && x < 10 | | \|\| | or | Se evalúa como `True` si al menos 1 lado es `True` | x < 5 \|\| x < 4 | | ! | not | Invierte el resultado de la evaluación | !(x < 5) | --- ## Funciones --- ## Ahora Te Toca a Ti ![](Pasted%20image%2020240515122605.png) --- ## Ejercicio 03 Crear un diagrama de actividad de recepción y despacho de pedido con cobro de factura. --- ## Fin :3