master-wiki/01. Projects/Coding Mentorship/Temas/Fundamentos de la programación 2.md
Alexander Navarro 0e825121b9 Update from obsidian - thinkpad
Affected files:
01. Projects/Coding Mentorship/Temas/Fundamentos de la programación 2.md
2024-05-18 13:56:05 -04:00

236 lines
6.4 KiB
Markdown

---
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:
- _"colección de datos"_
- 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<br> | 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<br> | 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` |
+ `10 == 10`
+ `10 == "10"`
+ `10 >= "10"`
+ `10 >= "10".length()`
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