Update from obsidian - thinkpad

Affected files:
.obsidian/app.json
.obsidian/plugins/obsidian-omnivore/data.json
01. Projects/Coding Mentorship/Temas/Fundamentos de la programación 2.md
01. Projects/Coding Mentorship/Temas/Fundamentos de la programación 3.md
01. Projects/Coding Mentorship/Temas/Pasted image 20240520174417.png
01. Projects/Coding Mentorship/Temas/Pasted image 20240520174436.png
01. Projects/Coding Mentorship/Temas/Requerimients.md
01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520174501.png
01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520174546.png
01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520175134.png
01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520175325.png
01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520175739.png
01. Projects/Coding Mentorship/Temas/_attachments/Pasted image 20240520180128.png
Pasted image 20240520173241.png
This commit is contained in:
Alexander Navarro 2024-05-21 16:42:23 -04:00
parent 0e825121b9
commit 3473680392
14 changed files with 492 additions and 22 deletions

View file

@ -0,0 +1,375 @@
---
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: Sunday, May 19th 2024, 11:05:58 am
---
# 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.
---
## Flujo De Datos
+ Condicionales
+ Bucles
+ Funciones
---
## Condicionales
```mermaid
flowchart TD
start([Inicio]) ---> entrada1[/ x = 1 /]
entrada1 ---> if1{"¿x < 10?"}
if1 --si--> salida1[/x es menor que 10/]
if1 --no--> salida2[/x no es menor que 10/]
salida1 ---> finish([Fin])
salida2 ---> finish([Fin])
```
---
## Condicionales
## If/Else
| Sentencia | Traducción literal | Descripción |
| ---------------- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `if` | Si… | El siguiente bloque de código se ejecuta si la sentencia se evalúa como verdadera |
| `else` | de lo contrario… | El siguiente bloque se ejecuta si la última sentencia `if` se evalúa como falsa |
| `else if`/`elif` | de lo contrario, si… | El siguiente bloque se ejecuta si la ultima sentencia `if` se evalúa como falsa y la siguiente condición se evalúa como verdadera |
---
## Condicionales
## If/Else
```java
// JAVA
int x = 1;
if (x < 10) {
System.out.println("x es menor a 10");
else if (x < 50) {
System.out.println("x es menor a 50");
} else {
System.out.println("x es un número muy grande");
}
```
```python
# PYTHON
x = 1;
if x < 10:
print("x es menor a 10");
elif x < 50:
print("x es menor a 10");
else:
print("x es un número muy grande");
```
```lua
-- LUA
x = 1;
if x < 10 then
print("x es menor a 10");
elseif x < 50 then
print("x es menor a 10");
else
print("x es un número muy grande");
end
```
---
## Condicionales
### Ternary Operator
```java
// JAVA
String foo = 10 % 2 == 0 ? "10 es par" : "10 no es par";
```
```python
# PYTHON
foo = "10 es par" if 10 % 2 == 0 else "10 no es par";
```
---
## Condicionales
## Switch
```java
// JAVA
int dia = 4;
switch (dia) {
case 6:
System.out.println("Hoy es sábado");
break;
case 7:
System.out.println("Hoy es domingo");
break;
default:
System.out.println("Esperando el fin de semana :3");
}
```
---
## Ciclos/Bucles
```mermaid
flowchart TD
start([Inicio]) --> entrada1[/ x = 1 /]
entrada1 --> if1{"¿x < 10?"}
if1 --no--> finish([Fin])
if1 --si--> salida1[/x es menor que 10/]
salida1 --> process1[x += 1]
process1 --> if1
```
---
## Ciclos
### While
```java
// JAVA
int i = 1;
while (i < 10) {
System.out.println(i);
i += 1;
}
/* --- */
int j = 0;
do {
System.out.println(j);
j += 1;
}
while (j < 50);
```
```python
# PYTHON
i = 1
while i < 10:
  print(i)
  i += 1
```
notes:
- El bloque del while se ejecuta mientras la condicional sea **Verdadera**
- Preguntar: _"¿cuál es el ultimo número que se va a imprimir?"_ -> 9
- El while se usa cuando no sabemos cuando la condición se vaya a cumplir.
- while: mientras verdadero, hacer
- do-while: hacer, mientras verdadero
---
## Bucles
### For
```java
// JAVA
for (int i = 0; i <= 5; i++) {
System.out.println(i);
}
/* --- */
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (int i = 0; i < cars.length(); i++) {
System.out.println(cars[i]);
}
```
```python
# PYTHON
for x in range(6):
  print(x)
```
notes:
- python declara el for de esta manera por ser un lenguaje más declarativo.
---
## Bucles
### For Each
```java
// JAVA
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (String i : cars) {
System.out.println(i);
}
```
```python
# PYTHON
fruits = ["apple", "banana", "cherry"]
for x in fruits:
  print(x)
```
---
## Bucles
| Sentencia | Significado literal | Descripción |
| ---------- | ------------------- | --------------------------------------------------------------------- |
| `Continue` | Continuar | Detiene la ejecución del código y continúa con la siguiente iteración |
| `break` | Romper | Sale del bucle, independiente si la condición sigue siendo verdadera |
---
## Bucles
```java
// JAVA
while (true) {
boolean error = Math.calculos_complicados()
if (error) {
break;
}
}
/* --- */
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (String i : cars) {
if (i == "BMW") {
System.out.println("No trabajamos con BMW!");
continue;
}
Fabrica.procesar(i);
}
```
---
## Funciones
Las funciones son bloques de código re-utilizables, ayuda a evitar la duplicidad del código siguiendo lógicas como _"don't repeat yourself"_.
Las funciones vendrían a representar un _"proceso"_.
notes:
- en java no existen las funciones fuera de una clase, por lo que sólo las veremos en OOP cómo métodos.
- entrada, proceso, salida.
---
## Funciones
+ Las funciones deben ser definidas antes de ser llamadas.
+ pueden recibir argumentos/parámetros.
+ En lenguajes tipeados, deben tener un tipo de retorno.
---
## Funciones
```python
# PYTHON
def saludar(nombre):
print("hola " + nombre)
saludar("pedro")
saludar("juan")
saludar("diego")
```
```python
# PYTHON
def elevarCuadrado(num1):
resultado = num1 * num1
return resultado
foo = elevarCuadrado(2)
print(foo)
```
---
## Scope De Las Variables
```python
# PYTHON
def myFunction():
numero = 5
# calculos complicados
return numero
myFunction()
print(numero) # Error
```
```python
# PYTHON
def myFunction():
numero = 5
# calculos complicados
return numero
numero = myFunction()
print(numero) # funciona
```
---
## Scope De Las Variables
```python
# PYTHON
PI = 3.14
def areaCirculo(radio):
area = PI * (radio * radio)
return area
area = areaCirculo(3)
print(area)
```
---
## Fin :3