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
375 lines
6.1 KiB
Markdown
375 lines
6.1 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: 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
|