Skip to content

Commit df5bca2

Browse files
authored
Merge branch 'mouredev:main' into main
2 parents 5ec5b31 + 03baf72 commit df5bca2

File tree

33 files changed

+4553
-1200
lines changed

33 files changed

+4553
-1200
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/*
2+
https://developer.mozilla.org/es/docs/Web/JavaScript sitio web oficial
3+
https://es.javascript.info/ sitio de aprendizaje preferido
4+
*/
5+
6+
// Este es un comentario en una linea
7+
8+
/*
9+
Este es
10+
un
11+
comentario
12+
en varias lineas
13+
*/
14+
15+
var myFirtVariable = "texto"; // primera forma de crear variables -> es la antigua forma no se recomienda.
16+
let mySecondVariable = "Otro texto"; // segunda forma de crear variables -> es la forma recomendada
17+
18+
const myConstant = "Texto que no cambia"; // tercera forma de crear variable, funciona como una constante.
19+
20+
// Tipos de datos primitivos
21+
22+
// Boolean
23+
let myBooleanTrue = true;
24+
let myBooleanFalse = false;
25+
// Null
26+
let myNull = null;
27+
// Undefined
28+
let myUndefined = undefined;
29+
// Number
30+
let myNumber = 20;
31+
let myOtherNumber = 3.14;
32+
// BigInt
33+
let myBigInt = 9007199254740992n;
34+
// String
35+
let myStringOne = "Hola";
36+
let myStringTwo = "Hola";
37+
let myStringThree = `Hola`;
38+
// Symbol
39+
let mySymbol = Symbol("identificador");
40+
41+
console.log("Hola, JavaScript");
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// JavaScript URL = https://developer.mozilla.org/es/docs/Web/JavaScript
2+
3+
// 2.- Representa las diferentes sintaxis que existen de crear comentarios en el lenguaje (en una línea, varias...).
4+
5+
// Este es un ejemplo de un comentario de una sola linea
6+
7+
/*
8+
Este es un ejemplo
9+
de un comentario
10+
en varias lineas
11+
.
12+
*/
13+
14+
// 3.- Crea una variable (y una constante si el lenguaje lo soporta)
15+
let miNombre = "Miguel" // Esta es una variable "let", una variable let
16+
const miSegundoNombre = "Angel" // Esta es una variable "const", una variable constante "const"
17+
18+
// Crea variables representando todos los tipos de datos primitivos del lenguaje (cadenas de texto, enteros, booleanos...).
19+
let Number = 24, number = 24.5 // Tipo de dato primitivo: Number
20+
let String = "Miguel Angel" // Tipo de dato primitivo: String
21+
let BooleanTrue = true // Tipo de dato primitivo: Boolean (true)
22+
let BooleanFalse = false // Tipo de dato primitivo: Boolean (false)
23+
let Undefined // Tipo de dato primitivo: Undefined (indefinido)
24+
let Null = null // Tipo de dato primitivo: Null (nulo/ninguno)
25+
let symbol = Symbol("Symbol") // Tipo de dato primitivo: Symbol
26+
let bigintN = 123456789101112131415161718192021222324252627282930313233n // Tipo de dato primitivo: BigInt (numeros de enteros grande)
27+
let bigint = BigInt(123456789101112131415161718192021222324252627282930) // Tipo de dato primitivo: BigInt (numeros de enteros grande)
28+
29+
console.log("Tipo de dato: " + typeof Number + ", Tipo de dato primitivo (Number): " + Number)
30+
console.log("Tipo de dato: " + typeof Number + ", Tipo de dato primitivo (Number): " + number)
31+
console.log("Tipo de dato: " + typeof String + ", Tipo de dato primitivo (String): " + String)
32+
console.log("Tipo de dato: " + typeof BooleanTrue + ", Tipo de dato primitivo (Boolean): " + BooleanTrue)
33+
console.log("Tipo de dato: " + typeof BooleanFalse + ", Tipo de dato primitivo (Boolean): " + BooleanFalse)
34+
console.log("Tipo de dato: " + typeof Undefined + ", Tipo de dato primitivo (Undefined): " + Undefined)
35+
console.log("Tipo de dato: " + typeof symbol + ", Tipo de dato primitivo (Symbol): ", symbol)
36+
console.log("Tipo de dato: " + typeof bigintN + ", Tipo de dato primitivo (BigInt): " + bigintN)
37+
console.log("Tipo de dato: " + typeof bigint + ", Tipo de dato primitivo (BigInt): " + bigint)
38+
console.log("Tipo de dato: " + typeof Null + ", Tipo de dato primitivo: " + Null)
39+
40+
// Imprime por terminal el texto: "¡Hola, [y el nombre de tu lenguaje]!"
41+
console.log("Hola [JavaScript]¡")
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Esta es la página oficial de mi lenguaje preferido, Python: https://www.python.org/
2+
3+
# Podemos comentar en una línea
4+
"""
5+
También podemos comentar
6+
en varias lineas,
7+
las que queramos
8+
:)
9+
"""
10+
11+
año = 2024 # Esto es una variable
12+
13+
# Las variables pueden ser de tipo int, float, string, boolean, etc.
14+
edad = 24 # int
15+
altura = 1.82 # float
16+
python_es_facil = True # Boolean
17+
nombre = "Andres" # string
18+
tipos_variables = """
19+
1. Intiger
20+
2. Float
21+
3. String
22+
4. Boolean
23+
""" # Esta variable también es un string
24+
25+
26+
# Las variables también pueden ser de tipo lista, tupla, diccionario, etc.
27+
mi_lista = [1, 2, 3, 4, 5] # lista
28+
mi_tupla = (1, 2, 3, 4, 5) # tupla
29+
mi_diccionario = {"clave1": "valor1", "clave2": "valor2"} # diccionario
30+
31+
lenguaje_preferido = "Python" # Definimos una variable con el nombre de mi lenguaje de programación preferido
32+
33+
print(f"¡Hola, {lenguaje_preferido}!")
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#Comentario web oficial: https://www.python.org/
2+
3+
#Comentario1
4+
"""Comentario
5+
varias lineas"""
6+
7+
#Variables y constantes
8+
variable = 1
9+
CONST = 34 #Mayúscula constante, por consenso
10+
11+
#Tipos de datos
12+
entero = 1
13+
string = 'Hola mundo'
14+
booleano = True
15+
flotante = 2.00
16+
complejo = 56j
17+
lista = [1,2,3]
18+
diccionario = {'hola':'mundo'}
19+
setdatos (1,2,3)
20+
21+
#Imprimir
22+
print("¡Hola, Python!")
23+
Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
(*
2+
* EJERCICIO:
3+
* - Crea ejemplos utilizando todos los tipos de operadores de tu lenguaje:
4+
* Aritméticos, lógicos, de comparación, asignación, identidad, pertenencia, bits...
5+
* (Ten en cuenta que cada lenguaje puede poseer unos diferentes)
6+
* - Utilizando las operaciones con operadores que tú quieras, crea ejemplos
7+
* que representen todos los tipos de estructuras de control que existan
8+
* en tu lenguaje:
9+
* Condicionales, iterativas, excepciones...
10+
* - Debes hacer print por consola del resultado de todos los ejemplos.
11+
*
12+
* DIFICULTAD EXTRA (opcional):
13+
* Crea un programa que imprima por consola todos los números comprendidos
14+
* entre 10 y 55 (incluidos), pares, y que no son ni el 16 ni múltiplos de 3.
15+
*
16+
* Seguro que al revisar detenidamente las posibilidades has descubierto algo nuevo.
17+
*)
18+
19+
program fduron;
20+
21+
{$APPTYPE CONSOLE}
22+
23+
{$R *.res}
24+
25+
26+
uses
27+
System.SysUtils;
28+
29+
type
30+
TElementos = (Elemento1, Elemento2, Elemento3, Elemento4, Elemento5, Elemento6);
31+
TConjuntoElementos = set of TElementos;
32+
const
33+
IntA = 20;
34+
IntB = 11;
35+
BoolA = True;
36+
BoolB = False;
37+
UnConjunto: TConjuntoElementos = [Elemento1, Elemento3, Elemento5];
38+
OtroConjunto: TConjuntoElementos = [Elemento2, Elemento6];
39+
var
40+
VariableEntera: Integer;
41+
VariableString: String;
42+
VariableConjunto: TConjuntoElementos;
43+
UnObjeto: TObject;
44+
I: Integer;
45+
R: Real;
46+
47+
procedure MostrarElementosDelConjunto(const UnConjuntoLocal: TConjuntoElementos);
48+
begin
49+
//Ejemplo de ciclo FOR con elementos de un conjunto
50+
for var Elemento in UnConjuntoLocal do
51+
case Elemento of
52+
Elemento1: Write('Elemento1 ');
53+
Elemento2: Write('Elemento2 ');
54+
Elemento3: Write('Elemento3 ');
55+
Elemento4: Write('Elemento4 ');
56+
Elemento5: Write('Elemento5 ');
57+
Elemento6: Write('Elemento6 ');
58+
end;
59+
WriteLn;
60+
end;
61+
62+
begin
63+
WriteLn('*** Operadores Aritméticos ***');
64+
WriteLn('Suma: ', IntA + IntB);
65+
WriteLn('Resta: ', IntA - IntB);
66+
WriteLn('Multiplicación: ', IntA * IntB);
67+
WriteLn('división real: ', IntA / IntB);
68+
WriteLn('división entera: ', IntA div IntB);
69+
WriteLn('residuo: ', IntA mod IntB);
70+
WriteLn;
71+
WriteLn('*** Operadores lógicos ***');
72+
WriteLn('NOT lógico (Negación):', not BoolA);
73+
WriteLn('AND lógico (Conjunción):', BoolA and BoolB);
74+
WriteLn('OR lógico (Disyunción):', BoolA or BoolB);
75+
WriteLn('XOR lógico (Disyunción exclusiva):', BoolA xor BoolB);
76+
WriteLn;
77+
WriteLn('*** Operadores de comparacion ***');
78+
WriteLn('Es mayor que: ', IntA > IntB);
79+
WriteLn('Es menor que: ', IntA < IntB);
80+
WriteLn('Es mayor o igual que: ', IntA >= IntB);
81+
WriteLn('Es menor o igual que: ', IntA <= IntB);
82+
WriteLn('Es igual a: ', IntA = IntB);
83+
WriteLn('Es diferente a: ', IntA <> IntB);
84+
WriteLn;
85+
WriteLn('*** Asignacion ***');
86+
VariableEntera := 12;
87+
VariableString := 'Valor string';
88+
VariableConjunto := [Elemento1, Elemento2];
89+
WriteLn;
90+
WriteLn('*** Operadores de identidad ***');
91+
WriteLn('La variable es de la clase TObject: ', UnObjeto is TObject);
92+
WriteLn;
93+
WriteLn('*** Operadores de pertenencia ***');
94+
WriteLn('El elemento pertenece a un conjunto: ', Elemento4 in UnConjunto);
95+
WriteLn('El elemento NO pertenece a un conjunto: ', not(Elemento4 in UnConjunto));
96+
WriteLn;
97+
WriteLn('*** Operadores de bits ***');
98+
{IntA es un valor entero de 64Bits, su valor (20) en binario es:
99+
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0100
100+
al invertir todos los bits (not IntA) se convierte en
101+
1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1110 1011
102+
que es -21 entero}
103+
WriteLn('NOT a nivel de bits (invertir): ', not IntA);
104+
WriteLn('AND a nivel de bits: ', IntA and IntB);
105+
WriteLn('OR a nivel de bits: ', IntA or IntB);
106+
WriteLn('XOR a nivel de bits: ', IntA xor IntB);
107+
WriteLn('Desplazamiento de X bits a la izquierda: ', IntA shl 2);
108+
WriteLn('Desplazamiento de X bits a la derecha: ', IntA shr 2);
109+
WriteLn;
110+
WriteLn('*** Operadores de conjuntos ***');
111+
Write('Union: ');
112+
MostrarElementosDelConjunto(UnConjunto + OtroConjunto);
113+
Write('Diferencia: ');
114+
MostrarElementosDelConjunto(UnConjunto - OtroConjunto);
115+
Write('Intersección: ');
116+
MostrarElementosDelConjunto(UnConjunto * OtroConjunto);
117+
WriteLn('Es subconjunto de: ', UnConjunto <= OtroConjunto);
118+
WriteLn('Es sperconjunto de: ', UnConjunto >= OtroConjunto);
119+
WriteLn('Igualdad: ', UnConjunto = OtroConjunto);
120+
WriteLn('Diferencia: ', UnConjunto <> OtroConjunto);
121+
WriteLn('Pertenencia de ordinal en un conjunto: ', Elemento1 in OtroConjunto);
122+
WriteLn;
123+
WriteLn('*** Apuntadores ***');
124+
var x := @VariableEntera; //Apuntador a la dirección de memoria que ocupa la variable
125+
WriteLn('Dereferenciar un apuntador: ', Integer(^x));
126+
WriteLn;
127+
WriteLn('*** Estructuras de control ***');
128+
if IntA > IntB then
129+
begin
130+
WriteLn('IntA es mayor que IntB')
131+
end
132+
else
133+
begin
134+
WriteLn('IntA no es mayor que IntB')
135+
end;
136+
137+
case IntA of
138+
10: WriteLn('IntA es igual a 10');
139+
20: WriteLn('IntA es igual a 20');
140+
30: WriteLn('IntA es igual a 30');
141+
31..40: WriteLn('IntA esta entre 31 y 40');
142+
else
143+
WriteLn('IntA es igual a otro valor');
144+
end;
145+
146+
WriteLn('Numeros del 1 al 10 en un ciclo FOR:');
147+
for I := 1 to 10 do
148+
begin
149+
Write(I, ' ');
150+
end;
151+
152+
WriteLn;
153+
WriteLn('Numeros del 1 al 10 en un ciclo WHILE:');
154+
I := 1;
155+
while I <= 10 do
156+
begin
157+
Write(I, ' ');
158+
I := I + 1;
159+
end;
160+
161+
WriteLn;
162+
WriteLn('Numeros del 1 al 10 en un ciclo REPEAT:');
163+
I := 1;
164+
repeat
165+
Write(I, ' ');
166+
I := I + 1;
167+
until I > 10;
168+
169+
WriteLn;
170+
try
171+
WriteLn('Prueba de finally');
172+
VariableEntera := IntA + IntB;
173+
R := IntB * 2.25;
174+
finally
175+
WriteLn('''
176+
Esta línea se imprimirá independientemente de lo que ocurra
177+
en el código del bloque T R Y
178+
''');
179+
end;
180+
181+
WriteLn;
182+
WriteLn('''
183+
******************************************************************
184+
** DIFICULTAD EXTRA **
185+
******************************************************************
186+
''');
187+
WriteLn('Números del 10 al 55, excluyendo el 16 y multiplos de 3');
188+
for I := 10 to 55 do
189+
if (I <> 16) and ((I mod 3) <> 0) then
190+
Write(I, ', ');
191+
WriteLn;
192+
193+
try
194+
writeLn('Prueba de excepciones');
195+
I := 1;
196+
while I <= 1 do
197+
begin
198+
R := IntA div I; //Provocar una Division por 0
199+
I := I - 1;
200+
end;
201+
except
202+
on E: Exception do
203+
WriteLn('Ocurrio el error: ', E.Message);
204+
end;
205+
206+
ReadLn;
207+
208+
end.

0 commit comments

Comments
 (0)