Skip to content

Commit 9de71d9

Browse files
committed
Merge branch 'main' of github.com:Lilitr09/roadmap-retos-programacion
2 parents 9d18f82 + 0ef001c commit 9de71d9

File tree

473 files changed

+60490
-2732
lines changed

Some content is hidden

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

473 files changed

+60490
-2732
lines changed

README.md

+8-18
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
![https://retosdeprogramacion.com](./Images/header.jpg)
22

3-
# Roadmap retos de programación semanales 2024
4-
3+
# Roadmap retos de programación 2024
54

65
### Ruta de estudio con ejercicios para mejorar tu lógica de programación y aprender cualquier lenguaje. Gratis, a tu ritmo y en comunidad.
76

@@ -16,20 +15,12 @@
1615

1716
## Información importante
1817

19-
* Cada semana se publica un nuevo reto y se corrige en directo desde **[Twitch](https://twitch.tv/mouredev)** el ejercicio de la semana pasada.
20-
* En la sección "Eventos" de nuestro servidor de **[Discord](https://discord.gg/mouredev)** encontrarás el día y horario por país de los directos.
2118
* Puedes utilizar **cualquier lenguaje de programación**, y encontrar tanto mis correcciones como las de la comunidad en el directorio de cada reto.
2219
* **¿Quieres participar?** Te lo explico en la sección **[Instrucciones](https://github.com/mouredev/roadmap-retos-programacion#instrucciones)** en este mismo documento.
2320
* Los retos siguen un orden basado en su ruta de estudio pero si ya tienes conocimientos puedes resolverlos de manera totalmente independiente. Simplemente revisa su nivel de dificultad.
24-
* Una vez se haya cumplido la semana de publicación del reto, podrás consultar mi corrección y las de la comunidad en cualquier lenguaje de programación.
2521

2622
> Consulta la [web](https://retosdeprogramacion.com/roadmap) para más información.
2723
28-
## Corrección y próximo ejercicio
29-
30-
> #### Lunes 30 de diciembre de 2024 a las 20:00 (hora España) desde **[Twitch](https://twitch.tv/mouredev)**
31-
> #### Consulta el **[horario](https://discord.gg/6qdjZwXA?event=1318390433465765918)** por país y crea un **[recordatorio](https://discord.gg/6qdjZwXA?event=1318390433465765918)**
32-
3324
## Roadmap
3425

3526
| # | Ejercicio | Corrección | Vídeo | Comunidad |
@@ -84,7 +75,7 @@
8475
|47|[CALENDARIO DE ADVIENTO](./Roadmap/47%20-%20CALENDARIO%20DE%20ADVIENTO/ejercicio.md)|[📝](./Roadmap/47%20-%20CALENDARIO%20DE%20ADVIENTO/python/mouredev.py)|[▶️](https://youtu.be/LteI1J5gmZw)|[👥](./Roadmap/47%20-%20CALENDARIO%20DE%20ADVIENTO/)
8576
|48|[ÁRBOL DE NAVIDAD](./Roadmap/48%20-%20ÁRBOL%20DE%20NAVIDAD/ejercicio.md)|[📝](./Roadmap/48%20-%20ÁRBOL%20DE%20NAVIDAD/python/mouredev.py)|[▶️](https://youtu.be/bIguZe3iXVo)|[👥](./Roadmap/48%20-%20ÁRBOL%20DE%20NAVIDAD/)
8677
|49|[EL ALMACÉN DE PAPÁ NOEL](./Roadmap/49%20-%20EL%20ALMACÉN%20DE%20PAPÁ%20NOEL/ejercicio.md)|[📝](./Roadmap/49%20-%20EL%20ALMACÉN%20DE%20PAPÁ%20NOEL/python/mouredev.py)|[▶️](https://youtu.be/XGMxosQArxw)|[👥](./Roadmap/49%20-%20EL%20ALMACÉN%20DE%20PAPÁ%20NOEL/)
87-
|50|[PLANIFICADOR DE OBJETIVOS DE AÑO NUEVO](./Roadmap/50%20-%20PLANIFICADOR%20DE%20OBJETIVOS%20DE%20A%C3%91O%20NUEVO/ejercicio.md)|[🗓️ 30/12/24](https://discord.gg/6qdjZwXA?event=1318390433465765918)||[👥](./Roadmap/50%20-%20PLANIFICADOR%20DE%20OBJETIVOS%20DE%20A%C3%91O%20NUEVO/)
78+
|50|[PLANIFICADOR DE OBJETIVOS DE AÑO NUEVO](./Roadmap/50%20-%20PLANIFICADOR%20DE%20OBJETIVOS%20DE%20A%C3%91O%20NUEVO/ejercicio.md)|[📝](./Roadmap/50%20-%20PLANIFICADOR%20DE%20OBJETIVOS%20DE%20A%C3%91O%20NUEVO/python/mouredev.py)|[▶️](https://youtu.be/MmHSEcWlSbk)|[👥](./Roadmap/50%20-%20PLANIFICADOR%20DE%20OBJETIVOS%20DE%20A%C3%91O%20NUEVO/)
8879

8980
## Cursos en YouTube
9081

@@ -102,11 +93,10 @@ A media que avanzamos en el roadmap estoy creando cursos que agrupan las clases.
10293

10394
1. En el proyecto tienes un directorio para cada ejercicio en la carpeta [Roadmap](./Roadmap). Dentro de cada directorio encontrarás un fichero llamado **ejercicio.md** con el enunciado de cada reto.
10495
2. Si quieres compartir tu propia solución de un ejercicio con la comunidad, crea un fichero de código con tu nombre y extensión, y realiza una [**PULL REQUEST**](https://docs.github.com/es/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) contra el repositorio.
105-
3. El fichero de código debe situarse dentro del directorio del reto, en la carpeta correspondiente al lenguaje de programación utilizado (si no existe la carpeta del lenguaje, créala con todas sus letras en minúsculas). Por ejemplo, si has resuelto el reto #00 utilizando el lenguaje de programación Python y tu usuario de GitHub se llama "mouredev", tu corrección deberá estar en **"Roadmap/#00/python/mouredev.py"**. El título de la Pull Request también debe seguir este formato: **"#[número] - [lenguaje_utilizado]"**. En el ejemplo anterior sería **"#00 - Python"**. Se rechazarán las Pull Request que no sigan este formato o contengan ficheros adicionales.
106-
4. Cada **SEMANA** (consulta el día en el ejercicio correspondiente) realizaré una transmisión en directo desde **[Twitch](https://twitch.tv/mouredev)** corrigiendo el reto, revisando soluciones de la comunidad y publicando un nuevo ejercicio.
107-
5. Si necesitas ayuda o quieres comentar cualquier cosa sobre los retos semanales, tienes el canal "reto-semanal” en nuestro servidor de **[Discord](https://discord.gg/mouredev)** (también el día y horario de corrección en la sección "Eventos").
108-
6. Puedes proponer Pull Request con propuestas o correcciones sobre ejercicios del resto de la comunidad si estos poseen errores. De esta manera colaboraremos para crear un repositorio cada vez más valioso.
109-
7. Si se te solicita un cambio/corrección en una Pull Request, y al cabo de 2 semanas no se muestra nueva actividad, se cerrará esa petición para mantener el repositorio limpio. Por supuesto, puedes volver a enviar la Pull Request cuando quieras.
96+
3. El fichero de código debe situarse dentro del directorio del reto, en la carpeta correspondiente al lenguaje de programación utilizado (si no existe la carpeta del lenguaje, créala con todas sus letras en minúsculas). Por ejemplo, si has resuelto el reto #00 utilizando el lenguaje de programación Python y tu usuario de GitHub se llama "mouredev", tu corrección deberá estar en **"Roadmap/00 - SINTAXIS, VARIABLES, TIPOS DE DATOS Y HOLA MUNDO/python/mouredev.py"**. El título de la Pull Request también debe seguir este formato: **"#[número] - [lenguaje_utilizado]"**. En el ejemplo anterior sería **"#00 - Python"**. Se rechazarán las Pull Request que no sigan este formato o contengan ficheros adicionales.
97+
4. Si necesitas ayuda o quieres comentar cualquier cosa sobre los retos, tienes el canal "ejercicios-logica” en nuestro servidor de **[Discord](https://discord.gg/mouredev)**.
98+
5. Puedes proponer Pull Request con propuestas o correcciones sobre ejercicios del resto de la comunidad si estos poseen errores. De esta manera colaboraremos para crear un repositorio cada vez más valioso.
99+
6. Si se te solicita un cambio/corrección en una Pull Request, y al cabo de 2 semanas no se muestra nueva actividad, se cerrará esa petición para mantener el repositorio limpio. Por supuesto, puedes volver a enviar la Pull Request cuando quieras.
110100

111101
## Aclaraciones
112102

@@ -119,7 +109,7 @@ Si tienes dudas con el nombre del directorio de algún lenguaje, intenta consult
119109

120110
## Guía rápida Git y GitHub
121111

122-
1. Realiza un [FORK](https://github.com/mouredev/roadmap-retos-programacion/fork) del repositorio de retos semanales desde GitHub.
112+
1. Realiza un [FORK](https://github.com/mouredev/roadmap-retos-programacion/fork) del repositorio de retos desde GitHub.
123113
2. CLONA ese repositorio a tu máquina local `git clone [TU-REPOSITORIO]`.
124114
3. (Opcional) Crea una RAMA para la solución y desplázate a ella `git checkout -b [EL-NOMBRE-DE-TU-RAMA]`.
125115
4. Añade el fichero de tu solución al STAGE `git add [FICHERO-DE-TU-RETO]`.
@@ -167,5 +157,5 @@ Soy ingeniero de software desde 2010. Desde 2018 combino mi trabajo desarrolland
167157
Si quieres unirte a nuestra comunidad de desarrollo, aprender programación, mejorar tus habilidades y ayudar a la continuidad del proyecto, puedes encontrarnos en:
168158

169159
[![Twitch](https://img.shields.io/badge/Twitch-Programación_en_directo-9146FF?style=for-the-badge&logo=twitch&logoColor=white&labelColor=101010)](https://twitch.tv/mouredev)
170-
[![Discord](https://img.shields.io/badge/Discord-Servidor_de_la_comunidad-5865F2?style=for-the-badge&logo=discord&logoColor=white&labelColor=101010)](https://mouredev.com/discord) [![Pro](https://img.shields.io/badge/Cursos-mouredev.pro-FF5500?style=for-the-badge&logo=gnometerminal&logoColor=white&labelColor=101010)](https://moure.dev)
160+
[![Discord](https://img.shields.io/badge/Discord-Servidor_de_la_comunidad-5865F2?style=for-the-badge&logo=discord&logoColor=white&labelColor=101010)](https://mouredev.com/discord) [![Pro](https://img.shields.io/badge/Cursos-mouredev.pro-FF5500?style=for-the-badge&logo=gnometerminal&logoColor=white&labelColor=101010)](https://mouredev.pro)
171161
[![Link](https://img.shields.io/badge/Links_de_interés-moure.dev-14a1f0?style=for-the-badge&logo=Linktree&logoColor=white&labelColor=101010)](https://moure.dev) [![Web](https://img.shields.io/badge/GitHub-MoureDev-087ec4?style=for-the-badge&logo=github&logoColor=white&labelColor=101010)](https://github.com/mouredev)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
-- Los comentarios en Ada comienzan con dos guiones (--)
2+
-- y se extienden hasta el final de la línea
3+
-- El lenguaje Ada esta especificado en la norma ISO/IEC 8652:2023
4+
-- a fecha 25-01-2025
5+
-- Sitios oficiales de organizaciones vinculadas a su desarrollo y promoción:
6+
-- https://www.adaic.org/
7+
-- https://www.adacore.com/
8+
-- https://learn.adacore.com/courses/intro-to-ada/index.html
9+
10+
with Ada.Text_IO; use Ada.Text_IO;
11+
12+
procedure Main is
13+
-- Los tipos de datos elementales en Ada son los punteros y los escalares
14+
-- Los tipos escalares se clasifican en discretos y reales
15+
-- Declaración de variables
16+
-- identificador { , identificador }: tipo [ := expresión ];
17+
entero : Integer := 5;
18+
flotante : Float := 5.0;
19+
caracter : Character := 'X';
20+
verdadero : Boolean := True;
21+
22+
-- Las constantes se declaran igual que las variables, pero añadiendo la palabra
23+
-- reservada constant
24+
-- identificador { , identificador } : constant [ tipo] [ := expresión ] ;
25+
lenguaje : Constant String := "¡Hola, Ada!";
26+
pi : Constant Float := 3.1416;
27+
begin
28+
Put_Line(lenguaje); -- Mostrar la cadena "¡Hola, Ada!"
29+
end Main;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
//------------------------------------------------------------------------------------
2+
/*
3+
1. Crea un comentario en el código y coloca la URL del sitio web oficial del
4+
lenguaje de programación que has seleccionado.
5+
*/
6+
7+
//Sitio oficial de C#: https://learn.microsoft.com/en-us/dotnet/csharp/
8+
9+
//------------------------------------------------------------------------------------
10+
/*
11+
2. Representa las diferentes sintaxis que existen de crear comentarios
12+
en el lenguaje(en una línea, varias...).
13+
*/
14+
15+
//Esto es un comentario de una línea
16+
17+
/*Esto es un comentario de
18+
varias líneas*/
19+
20+
//------------------------------------------------------------------------------------
21+
/*
22+
3. Crea una variable(y una constante si el lenguaje lo soporta).
23+
*/
24+
25+
int entero = 1;
26+
const int Max_Items = 15;
27+
28+
//------------------------------------------------------------------------------------
29+
30+
/*
31+
4. Crea variables representando todos los tipos de datos primitivos
32+
del lenguaje(cadenas de texto, enteros, booleanos...).
33+
*/
34+
35+
//Enteros
36+
byte byteVar = 255;
37+
sbyte sbyteVar = -128;
38+
short shortVar = 32767;
39+
ushort ushortVar = 65535;
40+
int intVar = 2147483647;
41+
uint uintVar = 4294967295;
42+
long longVar = 9223372036854775807L;
43+
ulong ulongVar = 18446744073709551615UL;
44+
45+
//Punto flotante
46+
float floatVar = 3.14f;
47+
double doubleVar = 3.14159265359;
48+
decimal decimalVar = 3.14159265359m;
49+
50+
// Booleano
51+
bool boolVar = true;
52+
53+
// Caracteres y cadenas
54+
char charVar = 'A';
55+
string stringVar = "Hola mundo";
56+
57+
// Fecha y hora
58+
DateTime dateTimeVar = DateTime.Now;
59+
60+
//------------------------------------------------------------------------------------
61+
/*
62+
5. Imprime por terminal el texto: "¡Hola, [y el nombre de tu lenguaje]!"
63+
*/
64+
65+
Console.WriteLine("¡Hola, C#!");
66+
67+
//------------------------------------------------------------------------------------
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using System;
2+
3+
// https://learn.microsoft.com/en-us/dotnet/csharp
4+
//Comentario de una sola línea
5+
/* Comentario en
6+
varias
7+
lineas
8+
*/
9+
10+
int My_variable = 10;
11+
const double My_constant = 3.1416;
12+
13+
//TIPOS DE DATOS
14+
int My_value = 6;
15+
float My_value2 = 1.5f;
16+
double My_double = 4.563;
17+
decimal My_value3 = 3.9456m;
18+
char My_char = 'a';
19+
string My_lenguaje = "C#";
20+
bool My_bool = false;
21+
bool My_bool2 = true;
22+
23+
Console.WriteLine($"¡Hola, {My_lenguaje}!");
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// Página: https://en.cppreference.com/w/c
2+
3+
// Comentario en una línea.
4+
5+
/*
6+
Comentario de varias líneas.
7+
Aquí puedes añadir información...
8+
:p
9+
*/
10+
11+
#include <stdio.h>
12+
#include <stdbool.h> // Para usar booleanos en C
13+
14+
// Constante con '#define'
15+
#define PI 3.14159
16+
17+
// Constante con 'const'
18+
const int MAX_USERS = 100;
19+
20+
float radio = PI; // Variable global usando '#define'
21+
22+
int main(void)
23+
{
24+
int usuarios_actuales = MAX_USERS - 10; // Variable local usando 'const'
25+
26+
// Datatypes (Sistemas de 32 y 64 bits)
27+
char a = 'C'; // 1 byte | Range: -128 a 127 (modern systems)
28+
short b = -15; // 2 bytes | Range: -32,768 a 32,767
29+
int c = 1024; // 4 bytes | Range: -2,147,483,648 a 2,147,483,647
30+
unsigned int d = 128; // 4 bytes | Range: 0 a 4,294,967,295
31+
long e = 123456; // 4 bytes (32-bit) / 8 bytes (64-bit)
32+
float f = 15.678; // 4 bytes | ~6-7 dígitos de precisión
33+
double g = 123123.123123; // 8 bytes | ~15-16 dígitos de precisión
34+
bool h = true; // 1 byte | Values: true (1) o false (0)
35+
36+
printf("¡Hola, %c!\n", a); // Imprime "¡Hola, C!" usando el valor de la variable 'a' (char)
37+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// https://dart.dev/
2+
3+
// Comentario simple
4+
/**Comentario multiple */
5+
/// Comentario de documentacion
6+
///
7+
8+
9+
void main(List<String> args) {
10+
const String nombre = 'Liatoga';
11+
int edad = 0;
12+
double altura = 0.0;
13+
bool isNumber = false;
14+
dynamic variable = 'Hola';
15+
Future future = Future.delayed(Duration(seconds: 1), () => 'Hola');
16+
print('Hola, Dart');
17+
}
18+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// URL del sitio oficial de Java
2+
// https://www.java.com/es/
3+
4+
public class AFOXJONES {
5+
6+
// Declaración de una constante
7+
private static final String CONSTANTE = "SOY CONSTANTE";
8+
9+
public static void main(String[] args) {
10+
// Comentario en una línea
11+
12+
/*
13+
* Comentario
14+
* en varias
15+
* líneas
16+
*/
17+
18+
// Declaración de variables con tipos primitivos
19+
String stringVariable = "variable";
20+
int number = 10;
21+
double decimalNumber = 130.21;
22+
float bigNumber = 3.4028235E38F;
23+
short shortVariable = 1;
24+
boolean isTrue = true;
25+
char character = 'A';
26+
byte byteVariable = 0;
27+
28+
// Imprimir mensaje en consola
29+
System.out.println("¡Hola, Java!");
30+
}
31+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
//https://www.java.com/es/
2+
3+
//Comentarios en Java
4+
5+
//Comentario de una linea
6+
7+
/*
8+
Comentario de varias lineas
9+
*/
10+
11+
/*
12+
*Comentarios en bloque
13+
*
14+
*/
15+
public static void main (String [] args){
16+
//Variables y constantes
17+
String variable = "variables en java";
18+
final String constante = "Java";
19+
20+
//Datos primitivos en Java
21+
char unicode = '&';
22+
byte numeroMasPequeño = 1;
23+
short numeroPequeno = 2;
24+
int numero = 10;
25+
long numeroMayor= 152645231;
26+
float numeroComaFlotante = 45.25f;
27+
double numeroDecimal = 45.55;
28+
boolean operadorLogico = false;
29+
30+
//Impresion por pantalla del saludo
31+
System.out.println("Hola " + constante);
32+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// https://www.java.com
2+
3+
public class B3nkos {
4+
public static void main(String[] args) {
5+
// this is one line comment
6+
7+
/*This is a
8+
* comment
9+
* with
10+
* multiple
11+
* lines
12+
*/
13+
14+
// constant and variable
15+
final String CONSTANT = "My Constant";
16+
String variable = "My variable";
17+
System.out.println("Hello from Java!");
18+
19+
// primitives data types
20+
boolean areYouReady = true;
21+
char myChar = 'y';
22+
byte myByte = 12;
23+
short myShort = 20;
24+
int myInt = 233;
25+
long myLong = 34366L;
26+
float myFloat = 12.45F;
27+
double myDouble = 354.54;
28+
29+
// Non-primitive
30+
String name = "Doe";
31+
32+
System.out.println("¡Hi, Java!");
33+
}
34+
}

0 commit comments

Comments
 (0)