diff --git a/src/pages/blog/es/programacion-06.mdx b/src/pages/blog/es/programacion-06.mdx
index 56e2b36..718098f 100644
--- a/src/pages/blog/es/programacion-06.mdx
+++ b/src/pages/blog/es/programacion-06.mdx
@@ -257,5 +257,23 @@ pero intenta resolverlos por ti mismo antes.
+
+ 6: Escribe un programa que imprima el siguiente texto
+ (fíjate en las lineas en blanco):
+
+
+
+
+ ```zig
+ const std = @import("std");
+
+ pub fn main() !void {
+ std.debug.print("linea 1\n\n", .{}); // [!code focus:3]
+ std.debug.print("linea 2\n\n\n", .{});
+ std.debug.print("linea 3", .{});
+ }
+ ```
+
+
diff --git a/src/pages/blog/es/programacion-07.md b/src/pages/blog/es/programacion-07.mdx
similarity index 74%
rename from src/pages/blog/es/programacion-07.md
rename to src/pages/blog/es/programacion-07.mdx
index 77705e7..ec42058 100644
--- a/src/pages/blog/es/programacion-07.md
+++ b/src/pages/blog/es/programacion-07.mdx
@@ -10,6 +10,8 @@ image:
alt: ""
caption: ""
---
+import Exercise from "../../../components/Blog/Exercise.astro"
+import Sh from "../../../components/Blog/Sh.astro"
En este artículo aprenderemos más acerca de la impresión,
especialmente un aspecto importante para futúros artículos:
@@ -83,4 +85,27 @@ Hemos visto el formato `{s}`, pero existen muchos más,
que aprenderemos a medida que los necesitemos.
+## Ejercicios
+Resuelve estos ejercicios en tu editor de texto VSCode.
+Al ejecutar debe salir en el terminal el mismo resultado
+que el del enunciado.
+
+Si estas atascado en un problema puedes mostrar la solución,
+pero intenta resolverlos por ti mismo antes.
+
+
+ 1: Utiliza el formato `{s}` para imprimir:
+
+
+
+
+ ```zig
+ const std = @import("std");
+
+ pub fn main() !void {
+ std.debug.print("Hola {s}", .{"mundo"}); // [!code focus]
+ }
+ ```
+
+
diff --git a/src/pages/blog/es/programacion-08.md b/src/pages/blog/es/programacion-08.mdx
similarity index 51%
rename from src/pages/blog/es/programacion-08.md
rename to src/pages/blog/es/programacion-08.mdx
index 7d49368..12678a8 100644
--- a/src/pages/blog/es/programacion-08.md
+++ b/src/pages/blog/es/programacion-08.mdx
@@ -10,6 +10,8 @@ image:
alt: ""
caption: ""
---
+import Exercise from "../../../components/Blog/Exercise.astro"
+import Sh from "../../../components/Blog/Sh.astro"
Ahora veremos un concepto fundamental: Variables.
@@ -162,8 +164,6 @@ Para crear una variable se escribe:
- El valor de la variable
- `;`
-El nombre de la variable solo puede tener letras,
-números y guiones bajos. No puede tener espacios.
Puedes crear varias variables, cada una en una
línea. Por ejemplo:
@@ -174,6 +174,37 @@ const edad = "32";
const helado_favorito = "Vainilla";
```
+
+## Nombre de la variable
+
+Los nombres de las variables siguen algunas reglas:
+
+- El nombre inicia con letra minúscula o guión bajo `_`
+- El nombre despues puede tener letras minúsculas, mayúsculas,
+ números o guiones bajos `_`.
+- No pueden haber espacios, guiones `-` u otros.
+
+Por ejemplo, los siguientes nombres son válidos:
+
+```zig
+_nombre
+apellido
+nombres_y_apellidos
+numeroDeVentas
+ratio_fiscal_2
+```
+
+Los siguientes nombres son inválidos:
+
+```zig
+Nombre // inicia con N mayuscula
+3_gatos // inicia con un número
+nombres y apellidos // tiene espacios
+apelido-paterno // tiene un guión
+```
+
+
+
## Error de duplicado
Otro dato importante es que solo se puede crear
@@ -221,4 +252,143 @@ En el siguiente artículo aprenderemos los conceptos:
comentarios, números y operaciones matemáticas.
+## Ejercicios
+
+Resuelve estos ejercicios en tu editor de texto VSCode.
+Al ejecutar debe salir en el terminal el mismo resultado
+que el del enunciado.
+
+Tu respuesta no necesita ser exáctamente la misma a la
+que está aquí, pero debería funcionar.
+
+
+ 1: Crea una variable `nombre` con valor `"John"`,
+ y una variable `apellido` con valor `"Doe"`.
+ Imprime ambas utilizando formatos.
+
+
+
+
+ ```zig
+ const std = @import("std");
+
+ pub fn main() !void {
+ const nombre = "John"; // [!code focus:4]
+ const apellido = "Doe";
+
+ std.debug.print("{s} {s}\n", .{nombre, apellido});
+ }
+ ```
+
+
+
+
+ 2: Necesito un programa que imprima el siguiente mensaje:
+
+
+
+ Mi empresa aún no tiene un nombre fijo, así que necesito
+ poder cambiar `ACME inc` fácilmente después.
+
+
+ ```zig
+ const std = @import("std");
+
+ pub fn main() !void {
+ const empresa = "ACME inc"; // [!code focus:5]
+
+ std.debug.print("Bienvenido a {s}\n\n", .{empresa});
+ std.debug.print("Tu postulación a {s} ha sido aceptada.\n", .{empresa});
+ std.debug.print("En breve recibirás un correo con el código de conducta de {s}\n", .{empresa});
+ }
+ ```
+
+
+
+
+ 3: También necesito un programa que imprima una lista de invitados:
+
+
+
+ Como puedes ver, aun está el nombre provisional `ACME inc`.
+ Pero también hay nombres provisionales de las áreas de la
+ empresa: `Área A`, `Área B` y `Área C`. Estos nombres
+ eventualmente cambiarán, asi que necesito poder cambiarlos
+ después en un único lugar. Los nombres de las personas
+ no cambiarán.
+
+
+ ```zig
+ const std = @import("std");
+
+ pub fn main() !void {
+ const empresa = "ACME inc"; // [!code focus:13]
+ const area_1 = "Área A";
+ const area_2 = "Área B";
+ const area_3 = "Área C";
+
+ std.debug.print("Lista de invitados:\n\n", .{});
+ std.debug.print("{} de {}: Rosa\n", .{area_1, empresa});
+ std.debug.print("{} de {}: María\n", .{area_1, empresa});
+ std.debug.print("{} de {}: Andrea\n", .{area_1, empresa});
+ std.debug.print("{} de {}: Rodrigo\n", .{area_2, empresa});
+ std.debug.print("{} de {}: Pedro\n", .{area_2, empresa});
+ std.debug.print("{} de {}: Raul\n", .{area_3, empresa});
+ std.debug.print("{} de {}: Ana\n", .{area_3, empresa});
+ }
+ ```
+
+
+
+
+ 4: Mis socios y yo nos pusimos de acuerdo. Necesito el programa
+ para imprimir la lista de invitados. El nombre final de la
+ empresa es `AXM SAC`, y las 3 áreas son (en orden):
+ `Administración`, `Tesorería` y `Ventas`.
+
+ La lista debe verse así:
+
+
+
+
+ ```zig
+ const std = @import("std");
+
+ pub fn main() !void {
+ const empresa = "AXM SAC"; // [!code focus:13]
+ const area_1 = "Administración";
+ const area_2 = "Tesorería";
+ const area_3 = "Ventas";
+
+ std.debug.print("Lista de invitados:\n\n", .{});
+ std.debug.print("{} de {}: Rosa\n", .{area_1, empresa});
+ std.debug.print("{} de {}: María\n", .{area_1, empresa});
+ std.debug.print("{} de {}: Andrea\n", .{area_1, empresa});
+ std.debug.print("{} de {}: Rodrigo\n", .{area_2, empresa});
+ std.debug.print("{} de {}: Pedro\n", .{area_2, empresa});
+ std.debug.print("{} de {}: Raul\n", .{area_3, empresa});
+ std.debug.print("{} de {}: Ana\n", .{area_3, empresa});
+ }
+ ```
+
+
+
+
+
diff --git a/src/pages/blog/es/programacion-09.md b/src/pages/blog/es/programacion-09.mdx
similarity index 88%
rename from src/pages/blog/es/programacion-09.md
rename to src/pages/blog/es/programacion-09.mdx
index 9c315a5..326a936 100644
--- a/src/pages/blog/es/programacion-09.md
+++ b/src/pages/blog/es/programacion-09.mdx
@@ -10,6 +10,8 @@ image:
alt: "Imágen del meme 'Matemáticas hijo'"
caption: "¡Matemáticas hijo!"
---
+import Exercise from "../../../components/Blog/Exercise.astro"
+import Sh from "../../../components/Blog/Sh.astro"
En este artículo vemos 3 conceptos: Comentarios, números
y operaciones matemáticas.
@@ -72,6 +74,23 @@ A partir de ahora, utilizaré comentarios en el código
para explicar mejor los conceptos.
+### Strings vs comentarios
+
+Los comentarios no pueden ir dentro de un string:
+
+```zig
+const std = @import("std");
+
+pub fn main() !void {
+ const nombre = "Juan // no es comentario"
+ std.debug.print("Hola {s}", .{nombre});
+}
+```
+
+
+
+
+
## Números
Hay un concepto importante que aprenderemos en un
@@ -184,6 +203,21 @@ agruparlas con paréntesis.
const resultado = 80 + 20 / (5 - 3);
```
+Y puedes utilizar variables:
+
+```zig
+const std = @import("std");
+
+pub fn main() !void {
+ const largo = 150; // [!code focus:6]
+ const ancho = 70;
+ const area = largo * ancho; // [!code highlight]
+
+ // Imprime `El área es 10500m2`
+ std.debug.print("El área es {d}m2", .{area});
+}
+```
+