Skip to content

Commit f0c0145

Browse files
authored
Merge branch 'mouredev:main' into main
2 parents 089ba20 + 053aa40 commit f0c0145

File tree

4 files changed

+1426
-964
lines changed

4 files changed

+1426
-964
lines changed
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
// Ejemplo de funciones básicas en JavaScript
2+
3+
// Función sin parámetros ni retorno
4+
function saludo() {
5+
console.log("Hola, mundo!");
6+
}
7+
saludo();
8+
9+
// Función con un parámetro
10+
function saludar(nombre) {
11+
console.log(`Hola, ${nombre}!`);
12+
}
13+
saludar("Juan");
14+
15+
// Función con varios parámetros
16+
function suma(a, b) {
17+
console.log(`La suma de ${a} y ${b} es ${a + b}`);
18+
}
19+
suma(5, 10);
20+
21+
// Función con retorno
22+
function multiplicar(a, b) {
23+
return a * b;
24+
}
25+
let resultadoMultiplicacion = multiplicar(3, 4);
26+
console.log(`El resultado de la multiplicación es: ${resultadoMultiplicacion}`);
27+
28+
// Función dentro de otra función
29+
function operacionPrincipal(a, b) {
30+
function resta(x, y) {
31+
return x - y;
32+
}
33+
console.log(`La resta de ${a} y ${b} es ${resta(a, b)}`);
34+
}
35+
operacionPrincipal(10, 7);
36+
37+
// Uso de una función ya creada en el lenguaje
38+
let numeroAleatorio = Math.random(); // Función para generar un número aleatorio
39+
console.log(`Número aleatorio generado: ${numeroAleatorio}`);
40+
41+
// Variables locales y globales
42+
let globalVariable = "Soy global";
43+
44+
function pruebaVariables() {
45+
let localVariable = "Soy local";
46+
console.log(globalVariable); // Acceso a variable global
47+
console.log(localVariable); // Acceso a variable local
48+
}
49+
pruebaVariables();
50+
// console.log(localVariable); // Esto dará un error porque localVariable es local a la función
51+
52+
// DIFICULTAD EXTRA
53+
function multiplesDeTexto(cadena1, cadena2) {
54+
let conteo = 0;
55+
56+
for (let i = 1; i <= 100; i++) {
57+
if (i % 3 === 0 && i % 5 === 0) {
58+
console.log(`${cadena1}${cadena2}`);
59+
} else if (i % 3 === 0) {
60+
console.log(cadena1);
61+
} else if (i % 5 === 0) {
62+
console.log(cadena2);
63+
} else {
64+
console.log(i);
65+
conteo++;
66+
}
67+
}
68+
return conteo;
69+
}
70+
71+
let vecesImpreso = multiplesDeTexto("Fizz", "Buzz");
72+
console.log(`El número de veces que se imprimió un número es: ${vecesImpreso}`);
Lines changed: 223 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,223 @@
1+
package retosProgramacion;
2+
3+
import java.util.ArrayList;
4+
import java.util.Arrays;
5+
import java.util.Collections;
6+
import java.util.HashMap;
7+
import java.util.HashSet;
8+
import java.util.LinkedList;
9+
import java.util.List;
10+
import java.util.PriorityQueue;
11+
import java.util.Queue;
12+
import java.util.Scanner;
13+
import java.util.Stack;
14+
import java.util.TreeMap;
15+
import java.util.TreeSet;
16+
17+
public class RetoCuatro {
18+
19+
public static void main(String[] args) {
20+
/*
21+
//Array (No hay borrado)
22+
int[] numeros = {1, 2, 3, 4, 5};
23+
numeros[0] = 0; //Inserción
24+
numeros[0] = 10; //Actualización
25+
Arrays.sort(numeros); //Ordenación
26+
System.out.println(numeros[0]); //Acceso
27+
28+
//ArrayList
29+
ArrayList<String> lista = new ArrayList<>();
30+
lista.add("Kilian"); //Inserción
31+
lista.add("Hernández");
32+
lista.add("Chirino");
33+
lista.add(1, "Daniel"); //Inserción en una posición determinada
34+
lista.set(0, "Kili"); //Actualización
35+
lista.remove(1); //Borrado
36+
Collections.sort(lista); //Ordenación (alfabética)
37+
System.out.println(lista);
38+
39+
//LinkedList
40+
LinkedList<String> lista2 = new LinkedList<>();
41+
lista2.add("Elena"); //Inserción
42+
lista2.addFirst("Ele");
43+
lista2.addLast("Espino");
44+
lista2.add(2, "González");
45+
lista2.set(0, "Elenita"); //Actualización
46+
lista2.remove(0); //Borrado
47+
Collections.sort(lista2); //Ordenación
48+
System.out.println(lista2);
49+
50+
//HashSet (No hay actualización...sería borrar y añadir de nuevo)
51+
HashSet<String> lista3 = new HashSet<>();
52+
lista3.add("Kilian"); //Inserción
53+
lista3.add("Elena");
54+
lista3.add("Daniel");
55+
lista3.remove("Daniel"); //Borrado
56+
System.out.println(lista3);
57+
List<String> sortedList = new ArrayList(lista3); //Ordenación(hay que convertirla en una ArrayList)
58+
Collections.sort(sortedList);
59+
System.out.println(sortedList);
60+
61+
//TreeSet (No hay actualización...sería borrar y añadir de nuevo. | Se ordena automáticamente.)
62+
TreeSet<String> lista4 = new TreeSet<>();
63+
lista4.add("Real Madrid"); //Inserción
64+
lista4.add("Barcelona");
65+
lista4.add("Las Palmas");
66+
lista4.remove("Barcelona"); //Borrado
67+
System.out.println(lista4);
68+
69+
//TreeMap (Se ordena automáticamente)
70+
TreeMap<Integer, String> lista7 = new TreeMap<>();
71+
lista7.put(1, "Real Madrid"); //Inserción
72+
lista7.put(0, "Barcelona");
73+
lista7.replace(0, "Las Palmas"); //Actualización
74+
lista7.remove(0); //Borrado
75+
System.out.println(lista7);
76+
77+
//HashMap
78+
HashMap<String, String> lista5 = new HashMap<>();
79+
lista5.put("Subcampeón ", " Real Madrid"); //Inserción
80+
lista5.put("Campeón ", " Las Palmas");
81+
lista5.put("Último ", " Barcelona");
82+
lista5.replace("Último ", " Tenerife"); //Actualización
83+
lista5.remove("Último "); //Borrado
84+
System.out.println(lista5);
85+
TreeMap<String, String> sortedMap = new TreeMap<>(lista5); //Ordenación (Convirtiéndolo a un TreeMap)
86+
System.out.println(sortedMap);
87+
88+
//Stack
89+
Stack<String> pila = new Stack<>();
90+
pila.push("Pedri"); //Inserción
91+
pila.push("Yeremi");
92+
pila.remove("Pedri");
93+
pila.push("Ayoze"); //Actualización (Borrar y añadir)
94+
pila.sort(String::compareTo); //Ordenación
95+
pila.pop(); //Borrado del último elemento
96+
System.out.println(pila);
97+
98+
//Queue
99+
Queue<String> cola = new LinkedList<>();
100+
cola.add("Valerón"); //Inserción
101+
cola.add("Silva");
102+
cola.remove("Silva");
103+
cola.add("Viera"); //Actualización (Borrar y añadir)
104+
LinkedList<String> sortedCola = new LinkedList<>(cola); //Ordenación
105+
sortedCola.sort(String::compareTo);
106+
cola.poll(); //Borrado del primer elemento
107+
System.out.println(cola);
108+
System.out.println(sortedCola);
109+
110+
//PriorityQueue (no permite actualización, ni ordenación)
111+
PriorityQueue<String> lista6 = new PriorityQueue<>();
112+
lista6.add("España"); //Inserción
113+
lista6.add("Alemania");
114+
lista6.remove("Alemania"); //Borrado
115+
lista6.add("Inglaterra");
116+
lista6.add("Francia");
117+
System.out.println(lista6);
118+
*/
119+
agenda();
120+
121+
}
122+
123+
//Dificultad Extra
124+
public static void agenda() {
125+
126+
Scanner leer = new Scanner(System.in);
127+
128+
HashMap<String, Long> memoria = new HashMap<>();
129+
130+
boolean flujo = true;
131+
132+
133+
134+
while (flujo) {
135+
System.out.println(
136+
"\n"
137+
+ "--------AGENDA--------\n"
138+
+ "1.Buscar Contacto\n"
139+
+ "2.Insertar Contacto\n"
140+
+ "3.Actualizar Contacto\n"
141+
+ "4.Eliminar Contacto\n"
142+
+ "5.Salir de la Agenda\n"
143+
+ "Elige una de las opciones:\n");
144+
145+
int opcion = leer.nextInt();
146+
147+
switch (opcion) {
148+
case 1:
149+
System.out.println("Introduce el nombre: \n");
150+
String name = leer.next();
151+
if (memoria.containsKey(name)) {
152+
System.out.printf("Su numero es: \n" + memoria.get(name));
153+
} else {
154+
System.out.println("El contacto no existe");
155+
}
156+
break;
157+
case 2:
158+
System.out.print("Ingrese el nombre: \n");
159+
name = leer.next();
160+
System.out.print("Ingrese el número: \n");
161+
Long numero = leer.nextLong();
162+
if(numero.toString(numero).length() == 9) {
163+
memoria.put(name, numero);
164+
System.out.println("Contacto insertado");
165+
}else {
166+
System.out.println("Error: El número debe tener 9 dígitos");
167+
}
168+
break;
169+
case 3:
170+
System.out.println("Ingrese el nombre del contacto que quiere actualizar: \n");
171+
name = leer.next();
172+
System.out.println("Ingrese su nuevo número: \n");
173+
numero = leer.nextLong();
174+
if(numero.toString(numero).length() == 9 && memoria.containsKey(name)){
175+
memoria.replace(name, numero);
176+
System.out.println("Contacto actualizado");
177+
}else {
178+
System.out.println("Error: El nombre debe existir en la agenda y el nuevo número debe tener 9 dígitos");
179+
}
180+
break;
181+
case 4:
182+
System.out.println("Ingrese el nombre: \n");
183+
name = leer.next();
184+
if(memoria.containsKey(name)) {
185+
memoria.remove(name);
186+
System.out.println("Contacto borrado");
187+
}else {
188+
System.out.println("Error: El contacto no existe en la agenda");
189+
}
190+
break;
191+
case 5:
192+
System.out.println("Salió de la Agenda");
193+
flujo = false;
194+
break;
195+
default:
196+
System.out.println("Error: Elige una opción del 1 al 5");
197+
}
198+
199+
}
200+
leer.close();
201+
202+
}
203+
204+
}
205+
206+
207+
/*
208+
* EJERCICIO:
209+
* - Muestra ejemplos de creación de todas las estructuras soportadas por defecto
210+
* en tu lenguaje.
211+
* - Utiliza operaciones de inserción, borrado, actualización y ordenación.
212+
*
213+
* DIFICULTAD EXTRA (opcional):
214+
* Crea una agenda de contactos por terminal.
215+
* - Debes implementar funcionalidades de búsqueda, inserción, actualización
216+
* y eliminación de contactos.
217+
* - Cada contacto debe tener un nombre y un número de teléfono.
218+
* - El programa solicita en primer lugar cuál es la operación que se quiere realizar,
219+
* y a continuación los datos necesarios para llevarla a cabo.
220+
* - El programa no puede dejar introducir números de teléfono no númericos y con más
221+
* de 11 dígitos (o el número de dígitos que quieras).
222+
* - También se debe proponer una operación de finalización del programa.
223+
*/

0 commit comments

Comments
 (0)