Skip to content

Commit a503cfe

Browse files
authored
Merge branch 'mouredev:main' into develop
2 parents 2b8e256 + 929ba38 commit a503cfe

File tree

19 files changed

+2091
-426
lines changed

19 files changed

+2091
-426
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
public class jcrodmir{
2+
3+
/*
4+
Programm Language/ Programmiersprache: Java
5+
Official Java Website / offizielle Java WebSite: https://docs.oracle.com/javase/8/docs/
6+
Other Java Website/ andere Java WebSite : https://www.javatpoint.com/java-tutorial
7+
8+
*/
9+
10+
// Diferents types of comment one line/verschiedene Typen von Kommentaren
11+
12+
/* multiples lines/ mehrere Zeilen
13+
*/
14+
15+
/**
16+
* Documentation
17+
*
18+
* */
19+
20+
//Create a variable and constant/Variable und Konstante erstellen
21+
/*
22+
The variables at Java have the type of the variable the name and the value, if you want a constant, must add
23+
a the keyword final.
24+
Die Variablen bei Java haben den Typ der Variablen, den Namen und den Wert, wenn Sie eine Konstante wollen, müssen Sie
25+
ein das Schlüsselwort final.
26+
27+
*/
28+
29+
int variableNumber = 8;
30+
final int finalNumber= 9;
31+
32+
//Primitives Types/ primitive Datentypen
33+
/*
34+
Byte/Short/Int/Long/Float/Double/Boolean/Char
35+
*/
36+
byte ReallySmallNumber=10;
37+
short smallNumber=10000;
38+
int number= 100000;
39+
long ReallyBigNumber=53856421646L;
40+
float decimalNumber= 2.5f;
41+
double decimalBigNumber= 52556.684684446;
42+
boolean trueOrFalse= true;
43+
char character= 'A';
44+
45+
public static void main(String[] args) {
46+
System.out.print("Hello World");
47+
System.out.print("Hallo Welt");
48+
}
49+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# Operadores
2+
3+
#en GDscript todo script tiene que estar asociado a una escena o nodo para poder ejecutarlo
4+
5+
#Operadores Aritméticos
6+
extends Node
7+
func _ready(): #la función _ready hace que la función se ejecute al momento de iniciar la ecena y solo puede ser usada una vez por script
8+
#suma
9+
print(10 + 3)
10+
#resta
11+
print(10 - 3)
12+
#multiplicación
13+
print(10 * 3)
14+
#división
15+
print(10 / 3.0) #si no se especifica que uno de los dos numeros es flotante te dará siempre como resultado un entero
16+
print(10 / float(3)) #se puede hacer de estas dos formas
17+
#modulo o resto
18+
print(10 % 3)
19+
#potencia
20+
print(10 ** 3)
21+
22+
#Operadores de comparación
23+
extends Node
24+
func _ready():
25+
var x = 2
26+
print ("x = " + str(x)) #para poder hacer print a una variable de tipo texto y una de tipo booleano a la vez
27+
#Igualdad # tienes que convertir esta a texto
28+
print("x == 10 = " + str(x == 10))
29+
#Desigualdad
30+
print("x != 10 = " + str(x != 10))
31+
#Mayor que
32+
print("x > 10 = " + str(x > 10))
33+
#Menor que
34+
print("x < 10 = " + str(x < 10))
35+
#Mayor o igual que
36+
print("x >= 10 = " + str(x >= 10))
37+
#Menor o igual que
38+
print("x <= 10 = " + str(x <= 10))
39+
40+
#Operadores lógicos
41+
extends Node
42+
func _ready():
43+
# "and" o "&&"
44+
print("(2 > 3 and 4 + 3 = 7)= " + str(2 > 3 and (4 + 3 == 7)))
45+
# "or" o "||"
46+
print("(2 > 3 or 4 + 3 = 7)= " + str(2 > 3 or (4 + 3 == 7)))
47+
# "not" o "!"
48+
print("not 3 > 2 = " + str(not 3 > 2))
49+
50+
#Operadores de asignación
51+
#Las asignaciones en GDScript no pueden estar dentro de expreciones
52+
extends Node
53+
func _ready():
54+
#Asignación
55+
var y = 7
56+
#Suma y asignación
57+
y += 2
58+
print(y)
59+
#Resta y asignación
60+
y -= 2
61+
print(y)
62+
#Multiplicación y asignación
63+
y *= 2
64+
print(y)
65+
#División y asignación
66+
y /= 2
67+
print(y)
68+
#Resto y asignación
69+
y %= 2
70+
print(y)
71+
#Exponente y asignación
72+
y **= 2
73+
print(y)
74+
75+
#Operadores de pertenencia
76+
extends Node
77+
func _ready():
78+
# in
79+
print("u in pablo = " + str("u" in "pablo"))
80+
print("a in pablo = " + str("a" in "pablo"))
81+
# not in
82+
print("u not in pablo = " + str("u" not in "pablo"))
83+
print("a not in pablo = " + str("a" not in "pablo"))
84+
85+
#Operadores de bit
86+
extends Node
87+
func _ready():
88+
var numero_uno = 10 #1010
89+
var numero_dos = 5 #0101
90+
# "&" o "AND"
91+
print("10 & 5 = " + str(numero_uno & numero_dos)) #0 = 0000
92+
# "^" o "XOR"
93+
print("10 ^ 5 = " + str(numero_uno ^ numero_dos)) #15 = 1111
94+
# "|" o "OR"
95+
print("10 | 5 = " + str(numero_uno | numero_dos)) #15 = 1111
96+
# "~" o "NOT"
97+
print("~10 = " + str(~numero_uno)) #-11
98+
# Desplazamiento a la derecha o ">>"
99+
print("10 >> 3 = " + str(numero_uno >> 3)) #1 = 0000001
100+
# Desplazamiento a la izquierda o "<<"
101+
print("10 << 3 = " + str(numero_uno << 3)) #80 = 1010000
102+
103+
#Estructuras de control
104+
105+
#Condicionales
106+
extends Node
107+
var edad = 21
108+
func _ready():
109+
#Condicional "si" o "if"
110+
if (edad < 18):
111+
print ("eres menor de edad")
112+
#Condicional "sino, si" o "elif"
113+
elif (edad > 29):
114+
print("eres un adulto")
115+
#Condicional "sino" o "else"
116+
else: print("eres un joven adulto")
117+
118+
#Iterativas
119+
extends Node
120+
func _ready():
121+
for i in 7:
122+
print(i)
123+
for i in range(7):
124+
print(i)
125+
#while
126+
var i = 0
127+
while (i< 12):
128+
print(i)
129+
i += 2
130+
131+
#Excepciones
132+
#GDScript no maneja execpriones y la explicaciñon sacada de la pagina de GDScript es la siguiente:
133+
#"Creemos que los juegos no deben fallar no importa la situación. Si una situación inesperada sucede,
134+
#Godot mostrara un error (el cual puede incluso llevarte al script),
135+
#pero seguidamente intentara recuperarse lo mejor posible y continuar en la medida de lo posible."
136+
137+
138+
#Ejercicio extra
139+
extends Node
140+
func _ready():
141+
for numero in range(10, 56, 2): #en el rango entre 10 y 56 avanza cada 2 numeros
142+
if numero != 16 and numero % 3 != 0:
143+
print(numero)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Func sin parametros ni retorno
2+
def sin_param_retorno():
3+
print('Funcion no devuelve nada ni tiene parametros')
4+
5+
# Func con varios parametros con retorno
6+
def suma(num1:int , num2:int):
7+
return num1 + num2
8+
9+
# Funciones dentro de funciones
10+
def fun_dentro(param1:int,param2:int):
11+
def suma(n1,n2):
12+
return n1 + n2
13+
return suma(param1,param2)
14+
15+
# Funcion con parametros por defecto
16+
def fun_param_defecto(nombre = 'Abel', apellido = 'Perez'):
17+
return f'Bienvenido, {nombre} {apellido}'
18+
19+
# Ejemplo de funciones ya creadas en el lenguaje
20+
nombre ='Abel'
21+
print(f'El numero de letras de {nombre} es de {len(nombre)}')
22+
23+
24+
# Funcion Lambda
25+
square = lambda num : num * num
26+
print(square(3))
27+
28+
# Funcion recursiva
29+
30+
# función recursiva
31+
def factorial(numero):
32+
if numero == 0 or numero == 1:
33+
return 1
34+
else:
35+
return numero * factorial(numero - 1)
36+
37+
print(factorial(41))
38+
39+
# Concepto de variable Local y Global
40+
var_global = 100
41+
42+
def devuelve_numero(num : int):
43+
var_local = num
44+
return var_local
45+
46+
47+
# Dificultad extra
48+
49+
def funcion_dificultad_extra(cad1 : str, cad2:str):
50+
cont = 0
51+
for num in range(1,101):
52+
if num % 3 == 0 and num % 5 == 0:
53+
print(f'{cad1}{cad2}')
54+
elif num % 3 == 0:
55+
print(cad1)
56+
elif num % 5 == 0:
57+
print(cad2)
58+
else:
59+
cont += 1
60+
return cont
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
/**
2+
* Tipos de estructuras de datos:
3+
* ➡️ Objetos
4+
* ➡️ Arreglos (array)
5+
* ➡️ Mapas (map)
6+
* ➡️ Conjuntos (set)
7+
*/
8+
9+
// Objetos, podemos almacenar en los atributos distinto tipos de datos primitivos
10+
var persona1 = {
11+
nombre: 'Diego',
12+
edad: 34,
13+
grado: 'DAM'
14+
}
15+
16+
// Podemos acceder a cada uno de los atributos del objeto de la siguiente manera
17+
console.log('Atributo nombre de persona1', persona1.nombre)
18+
console.log('Atributo edad de persona1', persona1.edad)
19+
console.log('Atributo grado de persona 1', persona1.grado)
20+
console.log('Aqui vemos el objeto completo', persona1)
21+
22+
// Arrays, coleccion de datos, pueden ser de destintos tipos
23+
var array1 = ['hola', 23, true, 'datos variables']
24+
console.log('Mostramos el array completo', array1)
25+
console.log('Accedemos a la segunda posicion del array desde el indice.', array1[1])
26+
27+
// Mapas
28+
var mapa = new Map()
29+
// ➕ agregacion de elementos al mapa
30+
mapa.set('edad', 35)
31+
mapa.set('nombre', 'Diego')
32+
mapa.set(25, 'piso')
33+
mapa.set(true, 'estudios')
34+
console.log(mapa)
35+
36+
// ➡️ accedemos al valor por su key.
37+
console.log(mapa.get('edad'))
38+
console.log(mapa.get('nombre'))
39+
console.log(mapa.get(25))
40+
console.log(mapa.get(true))
41+
// ➡️ comprobar si una clave existe
42+
console.log('Comprobamos que existe la clave "edad"', mapa.has('edad'))
43+
// ➖ Elimiar un elemento por su key
44+
console.log(mapa)
45+
mapa.delete('nombre')
46+
console.log(mapa)
47+
48+
// Conjuntos set
49+
var conjunto = new Set(['Diego', 'Laura', 'Eren', 'Laia', 'Diego'])
50+
console.log('Vemos los elementos del conjunto, Diego lo metimos dos veces pero como no es posible que haya elementos repetido no lo incluye', conjunto)
51+
// Añadimos un elemento al conjunto
52+
conjunto.add(35)
53+
console.log(conjunto)
54+
console.log('Comprobamos si exite el valor "Diego" en el conjunto', conjunto.has('Diego'))
55+
console.log(conjunto)
56+
//Eliminamos un elemento al conjunto
57+
conjunto.delete('Laura')
58+
console.log(conjunto)
59+
60+
// Dificultad extra AGENDA
61+
62+
63+
// ** EJECUCION **
64+
//IMPLEMENTAMOS EL ELEMENTO CON EL QUE VAMOS A HACER LA LECTURA DEL TECLADO
65+
const readline = require('readline')
66+
const rl = readline.createInterface({
67+
input: process.stdin,
68+
output: process.stdout
69+
})
70+
71+
// DEFINIMOS EL MAP QUE ALMACENARA LA INFO
72+
const agenda = new Map();
73+
let telregEx = /\d{9}/
74+
75+
function inicio() {
76+
rl.question('¿Que operacion desea realizar? insertar, buscar, actualizar, eliminar, salir:\n', (resp) => {
77+
resp.toLowerCase()
78+
if (resp === 'insertar'){
79+
rl.question('Introduce el nombre que deseas almacenar:\n', (nom) => {
80+
rl.question('Introduce el numero de telefono:\n', (tel) => {
81+
if(telregEx.test(tel)){
82+
agenda.set(nom, tel)
83+
console.log('Contacto insertado')
84+
inicio()
85+
}else {
86+
console.log('El formato del telefono no es correcto')
87+
inicio()
88+
}
89+
})
90+
})
91+
} else if (resp === 'buscar'){
92+
rl.question('Introduce el nombre que deseas buscar:\n', (nom) => {
93+
if(agenda.has(nom)){
94+
console.log(`Nombre: ${nom} Telefono: ${agenda.get(nom)}`)
95+
inicio()
96+
}else {
97+
console.log('El nombre que has introducido no esta almacenado')
98+
inicio()
99+
}
100+
})
101+
} else if(resp === 'salir'){
102+
console.log('Saliendo....')
103+
process.exit(0)
104+
}else if(resp === 'actualizar'){
105+
rl.question('Introduce el nombre que deseas actualizar\n', (nom) => {
106+
if(agenda.has(nom)){
107+
rl.question('Actualiza el numero de telefono\n', (tel) => {
108+
if(telregEx.test(tel)){
109+
agenda.set(nom, tel)
110+
console.log('Contacto actualizado')
111+
inicio()
112+
}else {
113+
console.log('El formato del telefono no es correcto')
114+
inicio()
115+
}
116+
})
117+
}
118+
})
119+
}else if(resp === 'eliminar'){
120+
rl.question('Introduce el nombre que deseas borrar:\n', (nom) => {
121+
if(agenda.has(nom)){
122+
agenda.delete(nom)
123+
console.log('Contacto borrado')
124+
inicio()
125+
}else{
126+
console.log('El nombre introducido no existe en el registro')
127+
inicio()
128+
}
129+
})
130+
}
131+
})
132+
}
133+
134+
console.log('**** AGENDA ****')
135+
inicio()

0 commit comments

Comments
 (0)