Skip to content

Commit b7e9bc2

Browse files
Merge branch 'mouredev:main' into main
2 parents f32b404 + 35cd65e commit b7e9bc2

File tree

10 files changed

+2068
-549
lines changed

10 files changed

+2068
-549
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
// *Ejercicio #00 SINTAXIS, VARIABLES, TIPOS DE DATOS Y HOLA MUNDO
2+
3+
/*
4+
* Crea un comentario en el código y coloca la URL del sitio web oficial del lenguaje de programación que has seleccionado
5+
*/
6+
7+
// https://developer.mozilla.org/es/docs/Web/JavaScript
8+
console.log('https://developer.mozilla.org/es/docs/Web/JavaScript');
9+
10+
/*
11+
* Representa las diferentes sintaxis que existen de crear comentarios
12+
* en el lenguaje (en una línea, varias...).
13+
*/
14+
15+
// doble slash '//' para comentar una sola linea.
16+
/* Slash y asterisco para hacer comentarios multilinea. */
17+
18+
/*
19+
* Crea una variable (y una constante si el lenguaje lo soporta).
20+
*/
21+
22+
var a = 10;
23+
let b = 20;
24+
const c = 30;
25+
26+
/*
27+
* Crea variables representando todos los tipos de datos primitivos del lenguaje (cadenas de texto, enteros, booleanos...).
28+
*/
29+
30+
// cadena de caracteres o string
31+
32+
let nombre = ' Brian Oconor ';
33+
34+
// Numero enteros
35+
36+
let number = 123546;
37+
38+
// BigInt
39+
40+
let numberGrande = BigInt(5115421368641);
41+
42+
// Booleano o Boolean
43+
44+
let boleanitoF = false;
45+
let boleanitoV = true;
46+
47+
// symbol
48+
49+
let symbol1 = Symbol('a');
50+
let symbol2 = Symbol('a');
51+
52+
/*
53+
* Imprime por terminal el texto: "¡Hola, [y el nombre de tu lenguaje]!"
54+
*/
55+
56+
console.log('Hola JavaScript ');
57+
58+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
package com.example.headfirstjava;
2+
3+
import org.springframework.boot.SpringApplication;
4+
5+
import java.util.ArrayList;
6+
import java.util.Arrays;
7+
import java.util.Collections;
8+
import java.util.List;
9+
10+
public class Natalinacn {
11+
12+
public static void main(String[] args) {
13+
SpringApplication.run(HeadFirstjavaApplication.class, args);
14+
15+
imprimirMensaje();
16+
imprimirNombre("Natalin");
17+
sumarNumeros(2, 5);
18+
System.out.println(saludar());
19+
System.out.println(cuadrado(5));
20+
System.out.println(multiplicar(8, 2));
21+
22+
//EJEMPLO DE FUNCIONES YA CREADAS EN EL LENGUAJE
23+
//1-Funciones de la clase Math
24+
double numEjemplo = 123.45;
25+
System.out.println("Valor absoluto " + numEjemplo + ": " + Math.abs(numEjemplo));
26+
System.out.println("Raíz cuadrada de 16: " + Math.sqrt(16));
27+
System.out.println("Máximo entre 10 y 20: " + Math.max(10, 20));
28+
System.out.println("Mínimo entre 10 y 20: " + Math.min(10, 20));
29+
System.out.println("Número aleatorio entre 0.0 y 1.0: " + Math.random());
30+
31+
//2-Funciones de la clase String
32+
String texto = "Hola Mundo";
33+
System.out.println("Texto en minúsculas: " + texto.toLowerCase());
34+
System.out.println("Texto en mayúsculas: " + texto.toUpperCase());
35+
System.out.println("Longitud del texto: " + texto.length());
36+
System.out.println("Caracter en la posición 5: " + texto.charAt(4));
37+
System.out.println("Reemplazar 'Mundo' con 'Java': " + texto.replace("Mundo", "Java"));
38+
39+
//3-Funciones de la clase Arrays
40+
int[] numerosArray = {5, 3, 8, 2, 9, 1};
41+
42+
// Ordenar el arreglo: sort(int[] a): Ordena el arreglo en orden ascendente.
43+
Arrays.sort(numerosArray);
44+
System.out.println("Arreglo ordenado: " + Arrays.toString(numerosArray));
45+
46+
// Buscar un elemento en el arreglo: binarySearch(int[] a, int key): Busca el elemento especificado en el arreglo ordenado y devuelve el índice de la búsqueda binaria.
47+
int indice = Arrays.binarySearch(numerosArray, 8);
48+
System.out.println("Índice del elemento 8: " + indice);
49+
50+
// Rellenar el arreglo: fill(int[] a, int val): Asigna el valor especificado a cada elemento del arreglo.
51+
Arrays.fill(numerosArray, 7);
52+
System.out.println("Arreglo rellenado con 7: " + Arrays.toString(numerosArray));
53+
54+
//4- Funciones de la clase Collections: La clase Collections proporciona métodos estáticos que operan en colecciones como listas, conjuntos y mapas.
55+
List<String> lista = new ArrayList<>();
56+
lista.add("Banana");
57+
lista.add("Manzana");
58+
lista.add("Pera");
59+
lista.add("Naranja");
60+
61+
// Ordenar la lista
62+
Collections.sort(lista);
63+
System.out.println("Lista ordenada: " + lista);
64+
65+
// Barajar la lista
66+
Collections.shuffle(lista);
67+
System.out.println("Lista barajada: " + lista);
68+
69+
// Encontrar el elemento máximo
70+
String maximo = Collections.max(lista);
71+
System.out.println("Elemento máximo: " + maximo);
72+
73+
// Encontrar el elemento mínimo
74+
String minimo = Collections.min(lista);
75+
System.out.println("Elemento mínimo: " + minimo);
76+
77+
Natalinacn variables = new Natalinacn();
78+
variables.metodoConVariablesLocales();
79+
variables.imprimirMensajeGlobal();
80+
81+
funcionExtra("Múltiplo de 3 ", "Múltiplo de 5");
82+
83+
}
84+
85+
//#02 FUNCIONES Y ALCANCE
86+
87+
//1. Función sin parámetros y sin retorno
88+
public static void imprimirMensaje(){
89+
System.out.println("Hola, este es un mensaje sin parámetros ni retorno.");
90+
}
91+
92+
//2. Función con un parámetro y sin retorno
93+
public static void imprimirNombre(String nombre){
94+
System.out.println("Bienvenida " + nombre);
95+
}
96+
97+
//3. Función con varios parámetros y sin retorno
98+
public static void sumarNumeros(int num1, int num2){
99+
System.out.println("La suma de los números es " + num1 + num2);
100+
}
101+
102+
//4. Función sin parámetros y con retorno
103+
public static String saludar(){
104+
return "Buenas tardes!!";
105+
}
106+
107+
//5. Función con un parámetro y con retorno
108+
public static int cuadrado(int numero){
109+
return numero * numero;
110+
}
111+
112+
//6. Función con varios parámetros y con retorno
113+
public static int multiplicar(int num1, int num2){
114+
return num1 * num2;
115+
}
116+
117+
//Funcion dentro de otra función
118+
//En Java no es posible definir una función (método) dentro de otra función directamente.
119+
//Todos los métodos deben ser definidos al mismo nivel de clase.
120+
//Si necesitas definir una función dentro de otra, puedes hacerlo indirectamente utilizando clases internas,
121+
// clases anónimas, o expresiones lambda en ciertos contextos.
122+
public static void funcionDentroDeFuncion() {
123+
System.out.println("Probando si se puede crear una función dentro de otra a continuación...");
124+
125+
class FuncionAdentro {
126+
void mensaje() {
127+
System.out.println("No se puede crear una función dentro de otra directamente.");
128+
}
129+
}
130+
131+
FuncionAdentro funcionAdentro = new FuncionAdentro();
132+
funcionAdentro.mensaje();
133+
134+
135+
136+
}
137+
138+
// VARIABLE LOCAL y GLOBAL
139+
//En Java Las variables locales son aquellas que se declaran dentro de un método y solo son accesibles dentro de ese método. No pueden ser accedidas fuera del método en el que se declararon.
140+
//Variables de instancia (similares a variables globales) se declaran dentro de una clase pero fuera de cualquier método. Son accesibles por todos los métodos de la clase y su valor puede ser cambiado por cualquier método de la clase.
141+
142+
// Variable de instancia (similar a una variable global)
143+
private String mensajeGlobal = "Este es un mensaje global.";
144+
145+
// Método que imprime la variable global
146+
public void imprimirMensajeGlobal() {
147+
System.out.println(mensajeGlobal);
148+
}
149+
150+
// Método que contiene variables locales
151+
public void metodoConVariablesLocales() {
152+
// Variable local
153+
String mensajeLocal = "Este es un mensaje local.";
154+
155+
System.out.println(mensajeLocal);
156+
157+
// Intentar acceder a una variable global
158+
System.out.println("Intentar acceder a una variable global: " + mensajeGlobal);
159+
}
160+
161+
162+
163+
//DIFICULTAD EXTRA (opcional):
164+
// * Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
165+
// * - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
166+
// * - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
167+
// * - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
168+
// * - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
169+
// * - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
170+
171+
public static int funcionExtra(String param1, String param2){
172+
173+
int contador = 0;
174+
for (int i = 1; i < 101; i++) {
175+
if(i % 3 == 0 && i % 5 == 0){
176+
System.out.println(i +" es " + param1 + param2);
177+
}else if(i % 3 == 0){
178+
System.out.println(i + " es " +param1);
179+
}else if(i % 5 == 0){
180+
System.out.println(i +" es " + param2);
181+
}else{
182+
contador++;
183+
}
184+
}
185+
System.out.println("El número de veces que se ha impreso el número en lugar de los textos es de " + contador);
186+
return contador;
187+
}
188+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
"""
2+
* Estruturas de datos
3+
"""
4+
5+
# Lista
6+
7+
my_list = [1, 1, 2, 3, 5, 6]
8+
print(my_list)
9+
print(type(my_list))
10+
11+
my_list.insert(4, 4) # Inserción
12+
print(my_list)
13+
14+
my_list.remove(6) # Borrado
15+
print(my_list)
16+
17+
my_list[0] = 0 # Actualización
18+
print(my_list)
19+
20+
my_list.sort(reverse=True) # Ordenación descendente
21+
print(my_list)
22+
23+
# Tupla
24+
25+
my_tuple = (1, 2, 3, 4, 5)
26+
print(my_tuple)
27+
print(type(my_tuple))
28+
29+
# Set
30+
31+
my_set = {1, 2, 3, 4, 5}
32+
print(my_set)
33+
print(type(my_set))
34+
35+
my_set.add(6) # Inserción
36+
print(my_set)
37+
38+
my_set.remove(6) # Borrado
39+
print(my_set)
40+
41+
# Diccionario
42+
43+
my_dict = {
44+
"Month": "July",
45+
"Day": "Tuesday",
46+
"Year": 2024
47+
}
48+
print(my_dict)
49+
print(type(my_dict))
50+
51+
my_dict["Century"] = "XXI" # Inserción
52+
print(my_dict)
53+
54+
del my_dict["Century"] # Borrado
55+
print(my_dict)
56+
57+
my_dict["Month"] = "June" # Actualización
58+
print(my_dict)
59+
60+
my_dict = dict(sorted(my_dict.items())) # Ordenación
61+
print(my_dict)
62+
63+
"""
64+
* Extra
65+
"""
66+
67+
def menu():
68+
print("=====================================")
69+
print("WELCOME TO THE CONTACTS AGENDA")
70+
print("1. Search contact")
71+
print("2. Insert contact")
72+
print("3. Update contact")
73+
print("4. Delete contact")
74+
print("5. Exit")
75+
print("=====================================")
76+
77+
menu()
78+
79+
80+
def contacts_agenda():
81+
82+
agenda = {}
83+
84+
def validate_phone_number(phone):
85+
return phone.isdigit() and len(phone) == 11
86+
87+
while True:
88+
option = input("Choose an option: ")
89+
90+
match option:
91+
case "1":
92+
name = input("Enter the name to search: ")
93+
if name in agenda:
94+
print(f"The phone number of {name} is {agenda[name]}")
95+
else:
96+
print("Contact not found")
97+
case "2":
98+
name = input("Enter the name to insert: ")
99+
phone = input("Enter the phone: ")
100+
if validate_phone_number(phone):
101+
agenda[name] = phone
102+
print("Contact inserted")
103+
else:
104+
print("Invalid phone number")
105+
case "3":
106+
name = input("Enter the name to update the phone: ")
107+
if name in agenda:
108+
phone = input("Enter the new phone: ")
109+
if validate_phone_number(phone):
110+
agenda[name] = phone
111+
print("Contact updated")
112+
else:
113+
print("Invalid phone number")
114+
else:
115+
print("Contact not found")
116+
case "4":
117+
name = input("Enter the name to delete: ")
118+
if name in agenda:
119+
del agenda[name]
120+
print("Contact deleted")
121+
else:
122+
print("Contact not found")
123+
case "5":
124+
print("Exiting...")
125+
break
126+
case _:
127+
print("Invalid option... Retry")
128+
129+
contacts_agenda()

0 commit comments

Comments
 (0)