Skip to content

#07 - JavaScript #3779

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
May 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions Roadmap/07 - PILAS Y COLAS/javascript/Deyvid-10.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// pilas (stacks - LIFO)

let pila = [1, 2, 3]

pila.push(4) // push - Agrega un elemento al tope de la pila
console.log(pila);
pila.pop() // pop - Elimina el elemento en el tope de la pila
console.log(pila);
console.log(pila[pila.length-1]); // peek - Devuelve el elemento en el tope de la pila sin eliminarlo
console.log(pila.length === 0); // isEmpty - Comprueba si la pila está vacía

// colas (queue - FIFO)

let cola = [1, 2, 3]

cola.push(4) // enqueue - Agrega un elemento al final de la cola
console.log(cola);
cola.shift() // dequeue - Elimina el primer elemento de la cola
console.log(cola);
console.log(cola[0]); // front - Devuelve el primer elemento de la cola sin eliminarlo
console.log(cola.length === 0); // isEmpty - Comprueba si la cola está vacía
146 changes: 146 additions & 0 deletions Roadmap/08 - CLASES/javascript/Deyvid-10.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
// Clases

class Nacionalidad
{
constructor(pais, ciudad)
{
this.pais = pais
this.ciudad = ciudad
}

mostrarNacionalidad()
{
console.log(`Soy de ${this.pais} y vivo en la ciudad de ${this.ciudad}`);
}
}


let miNacionalidad = new Nacionalidad("República Dominicana", "Santo Domingo")

miNacionalidad.mostrarNacionalidad()

// DIFICULTAD EXTRA

class Pilas
{
constructor(pila)
{
this.pila = pila
}

push(nuevo)
{
this.pila.push(nuevo)
}

pop()
{
if(this.pila.length !== 0)
{
this.pila.pop()
}
else
{
console.log("La pila esta vacia");
}
}

peek()
{
if(this.pila.length !== 0)
{
console.log(this.pila[this.pila.length-1]);
}
else
{
console.log("La pila esta vacia");
}
}

isEmpty()
{
console.log(this.pila.length === 0);
}

length()
{
console.log(this.pila.length);
}

print()
{
console.log(this.pila);
}
}

let miPila = new Pilas([1, 2, 3])

miPila.push(5)
miPila.pop()
miPila.peek()
miPila.isEmpty()
miPila.length()
miPila.print()


class Colas
{
constructor(cola)
{
this.cola = cola
}

enqueue(nuevo)
{
this.cola.push(nuevo)
}

dequeue()
{
if(this.cola.length !== 0)
{
this.cola.shift()
}
else
{
console.log("La cola esta vacia");
}
}

front()
{

if(this.cola.length !== 0)
{
console.log(this.cola[0]);
}
else
{
console.log("La cola esta vacia");
}
}

isEmpty()
{
console.log(this.cola.length === 0);
}

length()
{
console.log(this.cola.length);
}

print()
{
console.log(this.cola);
}
}

let miCola = new Colas([1, 2, 3])

miCola.enqueue(4)
miCola.dequeue()
miCola.front()
miCola.isEmpty()
miCola.length()
miCola.print()
136 changes: 136 additions & 0 deletions Roadmap/09 - HERENCIA/javascript/Deyvid-10.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
class Animal
{
constructor(sonido)
{
this.sonido = sonido
}
}

class Perro extends Animal
{
constructor(sonido, raza)
{
super(sonido)
this.raza = raza
}

hablar()
{
console.log(`El perro hace ${this.sonido}`);
}

razaPerro()
{
console.log(`El perro es de raza ${this.raza}`);
}
}

let miPerro = new Perro("Wao!")
miPerro.hablar()
miPerro.razaPerro()

class Gato extends Animal
{
constructor(sonido)
{
super(sonido)
}

hablar()
{
console.log(`El gato hace ${this.sonido}`);
}
}

let miGato = new Gato("Firulais", "Miau!")

// DIFICULTAD EXTRA

class Empleado
{
constructor(id, nombre)
{
this.id = id
this.nombre = nombre
}

datos()
{
console.log(`Identificador: ${this.id}`);
console.log(`Nombre: ${this.nombre}`);
}
}

let miEmpleado = new Empleado("05", "Manuel")
miEmpleado.datos()

class Gerentes extends Empleado
{
constructor(id, nombre)
{
super(id, nombre)
}

supervisioGeneral()
{
console.log(`${this.nombre} se encarga de monitorear el desempeño de todos los departamentos.`);
}

gestionRecursos()
{
console.log(`${this.nombre} aprueba los presupuestos y controla los gastos.`);
}
}

let miGerente = new Gerentes("06", "Alberto")
miGerente.datos()
miGerente.gestionRecursos()
miGerente.supervisioGeneral()

class GerentesProyectos extends Empleado
{
constructor(id, nombre, proyecto)
{
super(id, nombre)
this.proyecto = proyecto
}

planificacion()
{
console.log(`${this.nombre} crea el cronograma del proyecto`);
}

gestionEquipos()
{
console.log(`${this.nombre} asigna tareas y responsabilidades a los miembros del equipo`);
}

comunicacion()
{
console.log(`${this.nombre} provee informes de estado del proyecto y realiza reuniones de actualización`)
}
}

let miGerenteProyectos = new GerentesProyectos("07", "Garcia", "Web de negocios")
miGerenteProyectos.datos()
miGerenteProyectos.comunicacion()
miGerenteProyectos.gestionEquipos()
miGerenteProyectos.comunicacion()

class Programador extends Empleado
{
constructor(id, nombre, tegnologia)
{
super(id, nombre)
this.tegnologia = tegnologia
}

desarrollo()
{
console.log(`${this.nombre} escribe y revisa código en el lenguaje ${this.tegnologia}.`);
}
}

let miProgramador = new Programador("09", "Jaime", "JavaScript")
miProgramador.datos()
miProgramador.desarrollo()
16 changes: 16 additions & 0 deletions Roadmap/10 - EXCEPCIONES/javascript/Deyvid-10.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Excepciones

try
{
f()
}
catch(err)
{
console.error(err.name, ":", err.message);
}
finally
{
console.log("Se manejo correctamente");
}

console.log("El programa no se detuvo");