Skip to content

Commit 846e194

Browse files
authored
Merge branch 'mouredev:main' into main
2 parents dbe12ba + 057c006 commit 846e194

File tree

43 files changed

+5493
-999
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+5493
-999
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
// https://docs.microsoft.com/en-us/dotnet/csharp/ -- Sitio web oficial del lenguaje de programación C#
2+
3+
// Comentario de una línea
4+
5+
/*
6+
Comentario de múltiples
7+
líneas utilizando barras
8+
y asteriscos.
9+
*/
10+
11+
12+
string variable = "Soy una variable"; // Variable
13+
14+
const string CONSTANTE = "¡Hola, C#!"; // Constante
15+
16+
var miVar = "JoseEsmil04"; // Inferencia
17+
18+
string texto = "Esto es una cadena de texto"; // String
19+
20+
bool booleano = false; // Bool
21+
22+
float flotante = 3.14f; // Float
23+
24+
double doble = 2.718281828459045; // Double
25+
26+
char caracter = 'A'; // Char
27+
28+
decimal decimalNum = 19.99m; // Decimal
29+
30+
int entero = 42; // Int
31+
uint uintNum = 4294967295; // UInt
32+
33+
byte byteNum = 255; // Byte
34+
sbyte sbyteNum = -128; // SByte
35+
36+
short corto = 32767; // Short
37+
ushort ushortNum = 65535; // UShort
38+
39+
long largo = 9223372036854775807; // Long
40+
ulong ulongNum = 18446744073709551615; // ULong
41+
42+
object nulo = null; // Null
43+
44+
// Imprimir por terminal el texto: "¡Hola, C#!"
45+
Console.WriteLine(CONSTANTE);
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
// https://docs.mql4.com/
2+
3+
// Comentario de una sola línea
4+
5+
/* Está es la menra
6+
de escribir un comentario
7+
de varias líneas
8+
*/
9+
10+
11+
12+
#define MY_CONSTANT "hola";
13+
14+
string miVariable = "Variable tipo tetxo"; // Variable global
15+
// string miVariable = "Nuevo valor"; //! error
16+
17+
18+
19+
void OnStart() {
20+
miVariable = "Cambiando el valor de la variable";
21+
22+
int my_int = 0;
23+
double my_double = 1.1;
24+
bool my_bool = false; // true
25+
string my_string = "Cadena de texto";
26+
color my_clr = clrRed; // Uso de colores predefinidos (web colors)
27+
color my_customColor = C'255,0,0'; // Definición personalizada de un color (rojo)
28+
datetime my_datetime = D'2014.03.05 15:46:58';
29+
30+
Print("¡Hola, mql4!");
31+
}
32+
33+
34+
35+
//* OBSERVACIONES
36+
// - Para cambiar el valor de una variable global tiene que ser dentro de un método, fuera no es posible.
37+
// - Print() no puede ser ejecutado fuera de un método
38+
// - Las constantes no se pueden imprimir ( Print(MY_CONSTANT) ) directamente.
39+
// - Hay muchas formas de especificar una fecha ( https://docs.mql4.com/basis/types/integer/datetime ).
40+
//?- Para programar MQL4 con VScode ( https://www.youtube.com/watch?v=WMe7ihFempE ).
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# https://www.python.org/
2+
3+
# Comentario en una línea
4+
5+
"""
6+
Esto también es un
7+
comentario en varias
8+
líneas
9+
"""
10+
11+
'''
12+
Esto también es un
13+
comentario en varias
14+
líneas
15+
'''
16+
17+
my_variable = "Mi variable"
18+
my_variable = "Nuevo valor de mi variable"
19+
20+
MY_CONSTANT = "Mi constante"
21+
22+
my_int = 11
23+
my_float = 9.99
24+
my_bool = False
25+
my_bool = True
26+
my_str = "Mi cadena de texto"
27+
my_other_str = 'Mi otra cadena de texto'
28+
29+
print("Hola, Python")
30+
31+
print(type(my_int))
32+
print(type(my_float))
33+
print(type(my_bool))
34+
print(type(my_str))
Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
using System;
2+
3+
4+
namespace _01_Operadores_Estructuras
5+
{
6+
internal class Program
7+
{
8+
static void Main(string[] args)
9+
{
10+
// Operadores aritméticos
11+
int a = 10;
12+
int b = 5;
13+
Console.WriteLine("Operadores aritméticos:");
14+
Console.WriteLine($"a + b = {a + b}"); // Suma
15+
Console.WriteLine($"a - b = {a - b}"); // Resta
16+
Console.WriteLine($"a * b = {a * b}"); // Multiplicación
17+
Console.WriteLine($"a / b = {a / b}"); // División
18+
Console.WriteLine($"a % b = {a % b}"); // Módulo
19+
20+
// Operadores lógicos
21+
bool verdad = true;
22+
bool falso = false;
23+
Console.WriteLine("\nOperadores lógicos:");
24+
Console.WriteLine($"verdad && falso = {verdad && falso}"); // AND
25+
Console.WriteLine($"verdad || falso = {verdad || falso}"); // OR
26+
Console.WriteLine($"!verdad = {!verdad}"); // NOT
27+
28+
// Operadores de comparación
29+
Console.WriteLine("\nOperadores de comparación:");
30+
Console.WriteLine($"a == b = {a == b}"); // Igualdad
31+
Console.WriteLine($"a != b = {a != b}"); // Desigualdad
32+
Console.WriteLine($"a > b = {a > b}"); // Mayor que
33+
Console.WriteLine($"a < b = {a < b}"); // Menor que
34+
Console.WriteLine($"a >= b = {a >= b}"); // Mayor o igual que
35+
Console.WriteLine($"a <= b = {a <= b}"); // Menor o igual que
36+
37+
// Operadores de asignación
38+
Console.WriteLine("\nOperadores de asignación:");
39+
int c = 20;
40+
c += a; // Equivalente a c = c + a
41+
Console.WriteLine($"c += a -> c = {c}");
42+
c -= a; // Equivalente a c = c - a
43+
Console.WriteLine($"c -= a -> c = {c}");
44+
c *= a; // Equivalente a c = c * a
45+
Console.WriteLine($"c *= a -> c = {c}");
46+
c /= a; // Equivalente a c = c / a
47+
Console.WriteLine($"c /= a -> c = {c}");
48+
c %= a; // Equivalente a c = c % a
49+
Console.WriteLine($"c %= a -> c = {c}");
50+
51+
// Operadores de bits
52+
Console.WriteLine("\nOperadores de bits:");
53+
int d = 6; // 110 en binario
54+
int e = 3; // 011 en binario
55+
Console.WriteLine($"d & e = {d & e}"); // AND bit a bit
56+
Console.WriteLine($"d | e = {d | e}"); // OR bit a bit
57+
Console.WriteLine($"d ^ e = {d ^ e}"); // XOR bit a bit
58+
Console.WriteLine($"~d = {~d}"); // NOT bit a bit
59+
Console.WriteLine($"d << 1 = {d << 1}"); // Desplazamiento a la izquierda
60+
Console.WriteLine($"d >> 1 = {d >> 1}"); // Desplazamiento a la derecha
61+
62+
// Operadores de identidad y pertenencia (no nativos en C#, usando métodos de clase)
63+
Console.WriteLine("\nOperadores de identidad y pertenencia:");
64+
object obj1 = new object();
65+
object obj2 = obj1;
66+
Console.WriteLine($"obj1 es obj2: {object.ReferenceEquals(obj1, obj2)}"); // Identidad
67+
Console.WriteLine($"'a' pertenece a 'abcd': {"abcd".Contains('a')}"); // Pertenencia
68+
69+
// Estructuras de control condicionales
70+
Console.WriteLine("\nEstructuras de control condicionales:");
71+
if (a > b)
72+
{
73+
Console.WriteLine("a es mayor que b");
74+
}
75+
else if (a < b)
76+
{
77+
Console.WriteLine("a es menor que b");
78+
}
79+
else
80+
{
81+
Console.WriteLine("a es igual a b");
82+
}
83+
84+
// Estructuras de control iterativas
85+
Console.WriteLine("\nEstructuras de control iterativas:");
86+
for (int i = 0; i < 5; i++)
87+
{
88+
Console.WriteLine($"For loop, iteración: {i}");
89+
}
90+
91+
int[] numeros = { 1, 2, 3 };
92+
foreach (var num in numeros)
93+
{
94+
Console.WriteLine($"Foreach Loop, iteración: {num}");
95+
}
96+
97+
int j = 0;
98+
while (j < 5)
99+
{
100+
Console.WriteLine($"While loop, iteración: {j}");
101+
j++;
102+
}
103+
104+
int k = 0;
105+
do
106+
{
107+
Console.WriteLine($"Do-while loop, iteración: {k}");
108+
k++;
109+
} while (k < 5);
110+
111+
// Estructuras de control de excepciones
112+
Console.WriteLine("\nEstructuras de control de excepciones:");
113+
try
114+
{
115+
int resultado = a / 0;
116+
}
117+
catch (DivideByZeroException ex)
118+
{
119+
Console.WriteLine("Excepción capturada: " + ex.Message);
120+
}
121+
finally
122+
{
123+
Console.WriteLine("Bloque finally ejecutado.");
124+
}
125+
126+
// DIFICULTAD EXTRA
127+
Console.WriteLine("\nDificultad extra:");
128+
for (int num = 10; num <= 55; num++)
129+
{
130+
if (num % 2 == 0 && num != 16 && num % 3 != 0)
131+
{
132+
Console.WriteLine(num);
133+
}
134+
}
135+
}
136+
137+
}
138+
139+
}
140+
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
void OnStart() {
2+
// TODO. OPERADORES DE MQL4
3+
// Aritméticos
4+
Print("Suma: 10 + 5 = ", 10 + 5); // 15
5+
Print("Resta: 10 - 5 = ", 10 - 5); // 5
6+
Print("Multiplicación: 10 * 5 = ", 10 * 5); // 50
7+
Print("División: 10 / 5 = ", 10 / 5); // 2
8+
Print("Módulo: 10 % 5 = ", 10 % 5); // 0
9+
10+
// Asignación
11+
int a;
12+
Print("Valor de 'a': ", a); // a = 0
13+
Print("Asignación: a = 3 es ", a = 3); // a = 3
14+
Print("Suma y asignación: a += 3 es ", a += 3); // a = 6
15+
Print("Resta y asignación: a -= 3 es ", a -= 3); // a = 3
16+
Print("Multiplicación y asignación: a *= 3 es ", a *= 3); // a = 9
17+
Print("División y asignación: a /= 3 es ", a /= 3); // a = 3
18+
Print("Módulo y asignación: a %= 3 es ", a %= 3); // a = 0
19+
20+
// Comparasión
21+
Print("Igualdad: a == 10 es ", a == 10); // false
22+
Print("Desigualdad: a != 10 es ", a != 10); // true
23+
Print("Mayor que: a > 10 es ", a > 10); // false
24+
Print("Menor que: a < 10 es ", a < 10); // true
25+
Print("Mayor o igual: a >= 10 es ", a >= 10); // false
26+
Print("Menor o igual: a <= 10 es ", a <= 0); // true
27+
28+
// Lógicos
29+
Print("AND &&: false && false es ", false && false); // true
30+
Print("OR ||: true || flase es ", true || false); // true
31+
Print("NOT !: !true es ", !true); // false
32+
33+
// Bit a Bit
34+
// 5 -> 0101
35+
// 3 -> 0011
36+
Print("AND &: 5 & 3 es ", 5 & 3); // 0001 -> 1
37+
Print("OR |: 5 | 3 es ", 5 | 3); // 0111 -> 7
38+
Print("XOR ^: 5 ^ 3 es ", 5 ^ 3); // 0110 -> 6
39+
Print("NOT ~: ~ 5 es", ~5); // 1010 -> -6
40+
Print("Desplazamiento izquierda <<: 5 << 1 es ", 5 << 1); // 1010 -> 10
41+
Print("Desplazamiento derecha >>: 5 >> 1 es ", 5 >> 1); // 0010 -> 2
42+
43+
// Incremento y decremento
44+
int i = 3;
45+
i++; Print("Incremento: i++ es ", i); // 4
46+
i--; Print("Decremento: i-- es ", i); // 3
47+
48+
// Ternarios -> Forma abreviada de if
49+
// '(condicional) ? [val_verdadero] : [val_falso]'
50+
Print("Ternario: (i == 3) ? true : false -> ", i == 3 ? true : false);
51+
52+
53+
54+
// TODO. ESTRUCTURAS DE CONTROL ===============================================================
55+
// Condicionales
56+
string var = "mql4";
57+
if (var == "mql4") {
58+
Print("Variable es 'mql4'. ");
59+
} else if (var == "texto") {
60+
Print("Variable no es 'mql4', pero es 'texto'. ");
61+
} else {
62+
Print("Variable no es ningún caso. ");
63+
}
64+
65+
int A = 6;
66+
switch(A) {
67+
case 0:
68+
Print("La variable 'A' entra en el caso 1, donde vale 0. ");
69+
break;
70+
case 3:
71+
Print("La variable 'A' entra en el caso 2, donde vale 3. ");
72+
break;
73+
case 6:
74+
Print("La variable 'A' entra en el caso 2, donde vale 6. ");
75+
break;
76+
default:
77+
Print("La variable 'A' entra en el caso por defecto, donde no encontramos su valor. ");
78+
break;
79+
}
80+
81+
82+
83+
// Bucles
84+
int start = 0, stop = 10;
85+
for (int j=start; j<=stop; j++) {
86+
// Usamos j para saber el número de la iteración en la que vamos
87+
Print("j vale ", j);
88+
}
89+
90+
// j = 11
91+
while (j > start) {
92+
j--;
93+
Print("j vale ", j);
94+
}
95+
96+
// j = 0
97+
do {
98+
j++;
99+
Print("j vale ", j);
100+
} while (j == 1);
101+
102+
103+
// En mql4 no hay manejo de excepciones :(
104+
105+
Print("======================================");
106+
// TODO. EJERCICIO EXTRA
107+
for(int c=10; c<=55; c+=2) {
108+
if(c == 54) { Print(c+1); continue; } // ¿El 55 también se incluye o no? .-.
109+
if(c%3 == 0 || c == 16) continue; // Se salta la iteración actual
110+
Print(c);
111+
}
112+
}
113+
114+
//* OBSERVACIONES
115+
// - Para concatenar en print es con ' + ' o con ' , '.
116+
// - No se puede imprimir directamente el operador incremental ' c++ '.
117+
// - '' las comillas simples no se pueden poner en una impresión (print).
118+
// - En consola true / false se representa con 0 y 1.
119+
// - el switch solo funciona con datos enteros (int).

0 commit comments

Comments
 (0)