01. Números
Ahora que tienes todo configurado, ¡vamos a escribir un programa! Abre tu editor de texto favorito y escribe lo siguiente:
puts 1+2
Guarda tu programa (¡sí, eso es un programa!) como calc.rb (el .rb es lo que normalmente ponemos al final de los programas escritos en Ruby). Ahora ejecuta tu programa escribiendo ruby calc.rb en la línea de comandos. Debería haber puesto 3 en tu pantalla. ¿Viste que programar no es tan difícil?
Introducción a puts
¿Qué es entonces lo que está sucediendo en el programa? Estoy seguro de que eres capaz de adivinar lo que hace 1+2; nuestro programa es prácticamente lo mismo que:
puts 3
puts simplemente escribe en la pantalla todo lo que viene después de él.
Enteros y Flotantes
En la mayoría de los lenguajes de programación (y no es diferente en Ruby), los números sin puntos decimales se llaman enteros, y los números con puntos decimales normalmente se llaman números de punto flotante, o más simplemente, floats.
He aquí algunos enteros:
5-20599999999999999999999999990
Y aquí están algunos floats:
54.3210.001-205.38840.0
Nota sobre Formato de Números:
En español, solemos usar la coma , como separador decimal (ej. 3,14) y el punto . como separador de miles (ej. 1.000). Sin embargo, Ruby sigue la convención del inglés, usando el punto . para los decimales. Para los miles, Ruby permite usar guiones bajos _ (ej. 1_000) para mejorar la legibilidad, pero nunca puntos o comas dentro del código.
En la práctica, la mayoría de los programas no usan floats; solo enteros. (Después de todo, nadie quiere leer 7.4 correos electrónicos, o navegar 1.8 páginas web, o escuchar 5.24 canciones favoritas). Los floats se usan más frecuentemente para fines académicos (experimentos de física y afines) y para gráficos 3D. Incluso la mayoría de los programas que manejan dinero usan enteros; ¡solo cuentan los centavos!
Aritmética Simple
Hasta ahora, tenemos todo lo necesario para una calculadora simple. (Las calculadoras siempre usan floats, así que si quieres que tu computadora actúe como una calculadora, también deberías usar floats.) Para la suma y la resta, usamos + y -, como vimos. Para la multiplicación, usamos *, y para la división usamos /. La mayoría de los teclados tienen estas teclas en el teclado numérico. Si tienes un teclado más pequeño o una laptop, puedes usar Shift 8 y / (está en la misma tecla que ?).
Vamos a intentar expandir un poco nuestro calc.rb. Escribe lo siguiente y luego ejecútalo.
puts 1.0 + 2.0
puts 2.0 * 3.0
puts 5.0 - 8.0
puts 9.0 / 2.0
Esto es lo que el programa devuelve:
3.0
6.0
-3.0
4.5
(Los espacios en el programa no son importantes; solo hacen que el código sea más legible.)
Bueno, no fue muy sorprendente. Vamos a intentar ahora con enteros.
puts 1+2
puts 2*3
puts 5-8
puts 9/2
Básicamente lo mismo, ¿no?
3
6
-3
4
Eh... ¡excepto por ese último! Cuando haces aritmética con enteros, obtienes respuestas en enteros. Cuando tu computadora no sabe dar la respuesta "correcta", siempre redondea hacia abajo. (Claro, 4 es la respuesta correcta en aritmética de enteros para 9/2; solo puede no ser lo que estabas esperando.)
Tal vez te estés preguntando para qué sirve la división de enteros. Bueno, digamos que vas al cine, pero solo tienes $9. Aquí puedes ver una película por 2 dólares. ¿Cuántas películas puedes ver? 9/2... 4 películas. 4.5 no es la respuesta correcta en este caso; no te dejarán ver la mitad de una película, o la mitad de ti ver una película entera... algunas cosas simplemente no son divisibles.
¡Ahora experimenta con algunos programas propios! Si quieres escribir expresiones más complejas, puedes usar paréntesis. Por ejemplo:
puts 5 * (12-8) + -15
puts 98 + (59872 / (13*8)) * -52
5
-29802
Algunas Cositas Para Probar
Escribe un programa que te diga:
- ¿cuántas horas hay en un año?
- ¿cuántos minutos hay en una década?
- ¿cuál es tu edad en segundos?
- ¿cuántos chocolates esperas comer en tu vida?
Aviso: ¡Esta parte del programa puede tardar un poco en calcularse!
Aquí hay una pregunta más difícil:
Si tengo 1232 millones de segundos de edad, ¿cuántos años tengo?
Cuando te canses de jugar con números, vamos a echar un vistazo a algunas letras.