master-wiki/01. Projects/Coding Mentorship/Temas/Fundamentos de la programación 3.md
Alexander Navarro 3473680392 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
2024-05-21 16:42:23 -04:00

6.1 KiB

id aliases tags date_created date_modified
Fundamentos de la programación 2
Fundamentos De la Programación
Thursday, May 16th 2024, 10:03:49 am 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

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
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
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
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
String foo = 10 % 2 == 0 ? "10 es par" : "10 no es par";
# PYTHON
foo = "10 es par" if 10 % 2 == 0 else "10 no es par";

Condicionales

Switch

// 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

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
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
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
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
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
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

for (String i : cars) {
  System.out.println(i);
}
# 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
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
def saludar(nombre):
	print("hola " + nombre)

saludar("pedro")
saludar("juan")
saludar("diego")
# PYTHON
def elevarCuadrado(num1):
	resultado = num1 * num1
	return resultado

foo = elevarCuadrado(2)
print(foo)

Scope De Las Variables

# PYTHON
def myFunction():
	numero = 5
	# calculos complicados
	return numero

myFunction()
print(numero) # Error
# PYTHON
def myFunction():
	numero = 5
	# calculos complicados
	return numero

numero = myFunction()
print(numero) # funciona

Scope De Las Variables

# PYTHON

PI = 3.14

def areaCirculo(radio):
	area = PI * (radio * radio)
	return area

area = areaCirculo(3)
print(area)

Fin :3