Skip to content

Commit d4d4b6f

Browse files
authored
Merge branch 'mouredev:main' into raulG91
2 parents 38d1f19 + 978e1aa commit d4d4b6f

File tree

14 files changed

+1400
-1
lines changed

14 files changed

+1400
-1
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
|21|[CALLBACKS](./Roadmap/21%20-%20CALLBACKS/ejercicio.md)|[📝](./Roadmap/21%20-%20CALLBACKS/python/mouredev.py)|[▶️](https://youtu.be/tqQo9SjJFlY)|[👥](./Roadmap/21%20-%20CALLBACKS/)
5959
|22|[FUNCIONES DE ORDEN SUPERIOR](./Roadmap/22%20-%20FUNCIONES%20DE%20ORDEN%20SUPERIOR/ejercicio.md)|[📝](./Roadmap/22%20-%20FUNCIONES%20DE%20ORDEN%20SUPERIOR/python/mouredev.py)|[▶️](https://youtu.be/ABniGtbqAXk)|[👥](./Roadmap/22%20-%20FUNCIONES%20DE%20ORDEN%20SUPERIOR/)
6060
|23|[SINGLETON](./Roadmap/23%20-%20SINGLETON/ejercicio.md)|[📝](./Roadmap/23%20-%20SINGLETON/python/mouredev.py)|[▶️](https://youtu.be/cOIcFo_w9hA)|[👥](./Roadmap/23%20-%20SINGLETON/)
61-
|24|[DECORADORES](./Roadmap/24%20-%20DECORADORES/ejercicio.md)|[📝](./Roadmap/24%20-%20DECORADORES/python/mouredev.py)||[👥](./Roadmap/24%20-%20DECORADORES/)
61+
|24|[DECORADORES](./Roadmap/24%20-%20DECORADORES/ejercicio.md)|[📝](./Roadmap/24%20-%20DECORADORES/python/mouredev.py)|[▶️](https://youtu.be/jxJOjg7gPG4)|[👥](./Roadmap/24%20-%20DECORADORES/)
6262
|25|[LOGS](./Roadmap/25%20-%20LOGS/ejercicio.md)|[🗓️ 24/06/24](https://discord.gg/EWMJPcUq?event=1249918242370355262)||[👥](./Roadmap/25%20-%20LOGS/)
6363

6464
## Instrucciones
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
# #01 - Python -> Jesus Antonio Escamilla
2+
3+
"""
4+
EJERCIÓ
5+
"""
6+
7+
"""
8+
Operaciones
9+
"""
10+
'''
11+
ARITMÉTICA
12+
'''
13+
print(f"Suma: 3 + 5 = {3 + 5}")
14+
print(f"Resta: 6 - 4 = {6 - 4}")
15+
print(f"Multiplicación: 5 * 2 = {5 * 2}")
16+
print(f"Division: 10 / 1 = {10 / 1}")
17+
print(f"Division Entera: 10 // 2= {10 // 2}")
18+
print(f"Modulo: 8 % 2 = {8 % 2}")
19+
print(f"Exponente: 4 ** 2 = {4 ** 2}")
20+
21+
'''
22+
ASIGNACIÓN
23+
'''
24+
number = 5
25+
print(f"Asignación {number}")
26+
number += 2
27+
print(f"Asignación y Suma {number}")
28+
number -= 1
29+
print(f"Asignación y Resta {number}")
30+
number *= 7
31+
print(f"Asignación y Multiplicación {number}")
32+
number /= 3
33+
print(f"Asignación y Division {number}")
34+
number //= 3
35+
print(f"Asignación y Division Entera {number}")
36+
number %= 6
37+
print(f"Asignación y Modulo {number}")
38+
number **= 3
39+
print(f"Asignación y Exponente {number}")
40+
41+
'''
42+
COMPARACIÓN
43+
'''
44+
print(f"Igualdad: 10 == 3 -> {10 == 3}")
45+
print(f"Distinto: 2 != 1 -> {2 != 1}")
46+
print(f"Mayor que: 5 > 4 -> {5 > 4}")
47+
print(f"Menor que: 8 < 11 -> {8 < 11}")
48+
print(f"Mayor que o igual: 7 >= 6 -> {7 >= 6}")
49+
print(f"Menor que o igual: 9 <= 4 -> {9 <= 4}")
50+
51+
'''
52+
LÓGICOS
53+
'''
54+
print(f"AND - &&: 10 == 10 and 5 == 6 {10 == 10 and 5 == 6}")
55+
print(f"OR - ||: 7 == 3 or 3 == 3 {7 == 3 or 3 == 3}")
56+
print(f"NOT - !: not 2 == 4 {not 2 == 4}")
57+
58+
'''
59+
IDENTIDAD
60+
'''
61+
new_number = number
62+
print(f"new_number is number: {new_number is number}")
63+
print(f"new_number is not number: {new_number is not number}")
64+
65+
'''
66+
BITS
67+
'''
68+
a = 10 # 1010 en binario
69+
b = 4 # 0100 en binario
70+
71+
print(f"AND: a & b: {a & b}")
72+
print(f"OR: a | b: {a | b}")
73+
print(f"XOR: a ^ b: {a ^ b}")
74+
print(f"NOT: a & b: {~a}")
75+
print(f"Desplazamiento a la izquierda: a & b: {a << b}")
76+
print(f"Desplazamiento a la derecha: a & b: {a >> b}")
77+
78+
79+
"""
80+
Estructura de Control
81+
"""
82+
'''
83+
IF-ELIF-ELSE
84+
'''
85+
x = 10
86+
if x > 0:
87+
print("Es positivo")
88+
elif x == 0:
89+
print("Es cero")
90+
else:
91+
print("Es Negativo")
92+
93+
'''
94+
FOR
95+
'''
96+
frutas = ["Manzana", "Pera", "Cereza"]
97+
for fruta in frutas:
98+
print(fruta)
99+
100+
for i in range(5):
101+
print(i)
102+
103+
104+
'''
105+
WHILE
106+
'''
107+
i = 0
108+
while i < 5:
109+
print(i)
110+
i += 1
111+
112+
113+
'''
114+
TRY-EXCEPT-FINALLY
115+
'''
116+
try:
117+
resultado = 10/0
118+
except:
119+
print("No se puede dividir entre 0")
120+
finally:
121+
print("Fin del bloque try-except")
122+
123+
124+
"""
125+
EXTRA
126+
"""
127+
#Pendiente
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
// ** EJERCICIO
2+
3+
class Animal { // Definición de la superclase Animal
4+
constructor(nombre, edad) {
5+
this.nombre = nombre
6+
this.edad = edad
7+
}
8+
9+
emitirSonido() {
10+
console.log(`${this.nombre} hace un sonido.`);
11+
}
12+
13+
imprimirDatos() {
14+
console.log(`Nombre: ${this.nombre}, Edad: ${this.edad}`);
15+
}
16+
}
17+
18+
class Perro extends Animal { // Definición de la subclase Perro que extiende de Animal
19+
constructor(nombre, edad, raza) {
20+
super(nombre, edad);
21+
this.raza = raza;
22+
}
23+
24+
emitirSonido() {
25+
console.log(`${this.nombre} dice: ¡Guau! ¡Guau!`);
26+
}
27+
28+
imprimirDatos() {
29+
super.imprimirDatos();
30+
console.log(`Raza: ${this.raza}`);
31+
}
32+
}
33+
34+
class Gato extends Animal { // Definición de la subclase Gato que extiende de Animal
35+
constructor(nombre, edad, color) {
36+
super(nombre, edad);
37+
this.color = color;
38+
}
39+
40+
emitirSonido() {
41+
console.log(`${this.nombre} dice: ¡Miau! ¡Miau!`);
42+
}
43+
44+
imprimirDatos() {
45+
super.imprimirDatos();
46+
console.log(`Color: ${this.color}`);
47+
}
48+
}
49+
50+
// Creación de instancias de las subclases
51+
let miPerro = new Perro('Rex', 5, 'Labrador');
52+
let miGato = new Gato('Mishi', 3, 'Negro');
53+
54+
// Modificación de atributos
55+
miPerro.nombre = 'Max';
56+
miGato.edad = 4;
57+
58+
// Uso de métodos
59+
miPerro.emitirSonido(); // Max dice: ¡Guau! ¡Guau!
60+
miGato.emitirSonido(); // Mishi dice: ¡Miau! ¡Miau!
61+
62+
// Imprimir datos
63+
miPerro.imprimirDatos();
64+
// Nombre: Max, Edad: 5
65+
// Raza: Labrador
66+
67+
miGato.imprimirDatos();
68+
// Nombre: Mishi, Edad: 4
69+
// Color: Negro
70+
71+
72+
// ** DIFICULTAD EXTRA ** -----------------------------------------------------------------------------------------------------------------------------------------------
73+
74+
class Empleado {
75+
constructor(id, nombre) {
76+
this.id = id
77+
this.nombre = nombre
78+
}
79+
80+
printInfo() {
81+
console.log(`Nombre: ${this.nombre}, ID: ${this.id}`)
82+
}
83+
}
84+
85+
class Gerente extends Empleado {
86+
constructor(id, nombre, empleadosACargo) {
87+
super(id, nombre)
88+
this.empleadosACargo = empleadosACargo
89+
}
90+
91+
planear() {
92+
console.log(`${this.nombre} está planeando con los empleados: ${this.empleadosACargo}.`);
93+
console.log(`Plan de tarea número: ${Math.floor(Math.random() * 100)}`);
94+
// David está planeando con los empleados: Alícia, Pepe. Plan de tarea número: 56.
95+
}
96+
}
97+
98+
class GerenteDeProyectos extends Empleado {
99+
constructor(id, nombre, empleadosACargo) {
100+
super(id, nombre);
101+
this.empleadosACargo = empleadosACargo;
102+
}
103+
104+
gestionaProyectos() {
105+
console.log(`${this.nombre} está gestionando proyectos con los empleados: ${this.empleadosACargo}.`);
106+
console.log(`Proyecto número: ${Math.floor(Math.random() * 100)}`);
107+
// Eva está gestionando proyectos con los empleados: Carlos,Saray. Proyecto número 98.
108+
}
109+
}
110+
111+
class Programador extends Empleado {
112+
constructor(id, nombre, empleadosACargo) {
113+
super(id, nombre);
114+
this.empleadosACargo = empleadosACargo;
115+
}
116+
117+
programa() {
118+
console.log(`${this.nombre} está programando proyectos con los empleados: ${this.empleadosACargo}.`);
119+
console.log(`Proyecto número: ${Math.floor(Math.random() * 100)}`);
120+
// Juan está programando proyectos con los empleados: Quique,Pablo. Proyecto número: 88.
121+
}
122+
}
123+
124+
// Datos de ejemplo
125+
const empl1 = new Empleado(1, 'Alícia')
126+
const empl2 = new Programador(2, 'Pepe')
127+
const empl3 = new Programador(3, 'Carlos')
128+
const empl4 = new Empleado(4, 'Saray')
129+
const empl5 = new Empleado(5, 'Quique')
130+
const empl6 = new Empleado(6, 'Pablo')
131+
132+
const gerente1 = new Gerente(7, 'David', [empl1.nombre, empl2.nombre]);
133+
const gerenteDeProyectos = new GerenteDeProyectos(8, 'Eva', [empl3.nombre, empl4.nombre]);
134+
const programador = new Programador(9, 'Juan', [empl5.nombre, empl6.nombre]);
135+
136+
// Uso de métodos
137+
138+
gerente1.planear();
139+
gerenteDeProyectos.gestionaProyectos();
140+
programador.programa();
141+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
// ** EJERCICIOS
2+
3+
let error = 10 / 0
4+
error // Infinity. En JavaScript no da error.
5+
6+
let paraError2 = [0, 1]
7+
let error2 = paraError2[2]
8+
error2 // Undefined. En JavaScript no da error.
9+
10+
function provocarErrores() {
11+
try {
12+
let obj = undefined; // Intentar acceder a una propiedad de undefined
13+
console.log(obj.propiedad);
14+
} catch (error) {
15+
console.error(`Error capturado: ${error.message}`);
16+
}
17+
18+
try {
19+
funcionInexistente(); // Intentar llamar a una función que no existe
20+
} catch (error) {
21+
console.error(`Error capturado: ${error.message}`);
22+
}
23+
24+
console.log("El programa continúa ejecutándose normalmente después de manejar las excepciones.");
25+
}
26+
27+
// provocarErrores();
28+
29+
// ** DIFICULTAD EXTRA ** -------------------------------------------------------------------------------------------------------------------------------------------------
30+
31+
function funcionErrores (a, b, c) {
32+
try {
33+
let a = undefined
34+
console.log(a.propiedad)
35+
} catch (error) {
36+
console.error(`Error 1: ${error.message}`)
37+
if (!error) {
38+
console.error('No se ha producido ningun error')
39+
}
40+
}
41+
42+
try {
43+
funcionInexistente2(b)
44+
} catch (error) {
45+
console.error(`Error 2: ${error.message}`)
46+
if (!error) {
47+
console.error('No se ha producido ningun error')
48+
}
49+
}
50+
51+
try {
52+
throw Error(`Error 3: Manual`)
53+
} catch (error) {
54+
console.error(error.message)
55+
}
56+
}
57+
58+
funcionErrores('a', 'b', 'c')

0 commit comments

Comments
 (0)