Published: 2024-08-17
En este artículo vemos 3 conceptos: Comentarios, números y operaciones matemáticas.
Hasta el momento lo único que hemos escrito es código. Pero existen multitud de ocasiones donde queremos escribir apuntes, recordatorios, explicaciones, etc. Para esto sirven los comentarios.
Un comentario es un texto que es ignorado por Zig. Dentro de un comentario podemos escribir cualquier cosa, sin importar las reglas de Zig.
Los comentarios inician con doble slash //
,
y terminan cuando acaba la linea.
const std = @import("std");
// Este es un comentario
pub fn main() !void {
// Este también es un comentario
std.debug.print("Hola", .{});
}
Una vez que iniciamos un comentario con doble slash, la única forma de terminarlo es con una linea nueva.
Si quieres un comentario que abarque varias lineas, cada linea debe iniciar con doble slash:
const std = @import("std");
pub fn main() !void {
// Este es un comentario
// que ocupa 3 lineas
// de texto :D
std.debug.print("Hola", .{});
}
También puedes escribir un comentario al final de una linea con código, pero no es recomendable.
const std = @import("std");
pub fn main() !void { // Este es un comentario al final
std.debug.print("Hola", .{}); // Este también
}
A partir de ahora, utilizaré comentarios en el código para explicar mejor los conceptos.
Los comentarios no pueden ir dentro de un string:
const std = @import("std");
pub fn main() !void {
const nombre = "Juan // no es comentario"
std.debug.print("Hola {s}", .{nombre});
}
Hay un concepto importante que aprenderemos en un próximo artículo llamado “Tipos de datos”. Pero por ahora, hablaremos solo de una parte pequeña: números.
No necesito explicarte qué son los números. Lo que sí necesito es explicar cómo se utilizan en Zig, y como se diferencian de los strings.
Primero, vamos a imprimir un número. El código es el siguiente:
const std = @import("std");
pub fn main() !void {
std.debug.print("{d}", .{322}); // [!code focus]
}
Nota que el número no tiene comillas. Es 322
,
no "322"
.
Al ejecutarlo en el terminal con zig build run
obtenemos:
Nota en la línea 4 qué formato estamos utilizando:
{d}
. Este formato permite imprimir números.
También podemos utilizar números en variables:
const std = @import("std");
pub fn main() !void {
const edad = 32; // [!code focus:3]
// Imprime: `Tengo 32 años`
std.debug.print("Tengo {d} años", .{edad});
}
También podemos utilizar números negativos: -20
;
Quiero recalcar este punto. Estamos escribiendo
123
, no "123"
. No utilizamos comillas.
Esto es importante porque estos dos son cosas diferentes. Una cosa es un número, y otra cosa es un texto (string).
123
es un número. Podemos realizar operaciones
matemáticas con él. "123"
no es un número,
es un string. Solo que resulta que los caracteres
son el 1, 2 y 3. Pero no podemos hacer matemática
con un string.
Este es un punto de confusión común cuando se aprende a programar.
int
)Técnicamente, hay muchos tipos de números. Lo que estamos utilizando hasta ahora son números enteros, que en ingles se llaman “integer numbers”.
Ya que en programación todo es inglés y abreviaciones, en vez de decir “integer numbers”, se les conoce como “int”.
A partir de ahora también diré int
cuando me
refiera a los números enteros.
Ahora que sabemos cómo crear números (int), podemos hacer operaciones con ellos.
Zig ofrece las operaciones que conoces: suma +
,
resta -
, multiplicación *
y división /
.
const std = @import("std");
pub fn main() !void {
const r1 = 9 + 3; // 12
const r2 = 9 - 3; // 6
const r1 = 9 * 3; // 27
const r1 = 9 / 3; // 3
// imprime: `12 6 27 3`
std.debug.print("{d} {d} {d} {d}", .{r1, r2, r3, r4});
}
También puedes hacer varias operaciones a la vez, y agruparlas con paréntesis.
const resultado = 80 + 20 / (5 - 3);
Y puedes utilizar variables:
const std = @import("std");
pub fn main() !void {
const largo = 150;
const ancho = 70;
const area = largo * ancho;
// Imprime `El área es 10500m2`
std.debug.print("El área es {d}m2", .{area});
}
Hemos visto números enteros, pero también podemos
utilizar números reales. Estos se llaman float
y vienen del ingles
“floating point number”.
La mayor diferencia es que los float
permiten usar
decimales, mientras que los int
no.
Para imprimir un float tambien se usa el formato {d}
.
const std = @import("std");
pub fn main() !void {
const ratio_de_cambio = 1.1005;
std.debug.print("El ratio es {d}", .{ratio_de_cambio});
}
También puedes utilizar las operaciones matemáticas con
los float
.
const std = @import("std");
pub fn main() !void {
const r1 = 4.5 + 3.2;
const r2 = 3.3 - 1.1;
const r3 = -55 * 0.2;
const r4 = 33.33 / 3.3;
std.debug.print("{d} {d} {d} {d}", .{r1, r2, r3, r4});
}
Resuelve estos ejercicios en tu editor de texto VSCode. Al ejecutar debe salir en el terminal el mismo resultado que el del enunciado.
1: Tenemos un cubo con 2cm de ancho, 4cm de largo y 10cm de alto. Crea variables para cada uno, calcula el volumen del cubo, y imprímelo para que quede así:
2: Un círculo tiene un radio de 73cm. Calcula su área
tomando como valor de pi=3.141592
, e imprime el
siguiente mensaje: