Números

Ahora que ya tenemos todo listo, abran su editor de texto y escriban:

puts 1 + 2

Guarden el programa (con CTRL + S) y pónganle como nombre calculadora.rb. Ahora ejecuten el programa con ruby calculadora.rb en la linea de comando (en la ventana de DOS) y debería poner un 3 en la pantalla. Vieron, tan difícil no fue!!!

Introduccion al PUTS

Entonces, que esta pasando en ese programa? Estoy seguro de que podemos advinir que es lo que esta pasando con el 1+2: nuestro programa hace lo mismo que este:

puts 3

La instrucción puts sencillamente imprime en la pantalla aquello que le pones después.

Enteros y con coma ,

En la mayoría de los lenguajes de programación ( y Ruby no es la excepción) los números sin coma se llaman enteros y los números con coma se llaman de punto flotante, o con coma! Por ejemplo: acá les mostramos algunos números enteros:

5
-205
99999999999999999999
0

y acá van también algunos con punto flotante:

54.321
0.001
-205.3884
0.0

En la práctica, no solemos usa números con coma. Solamente usamos números enteros (son los mas comunes). Claro que hay una razón para ello y es que las cosas de todos los días se nos presentan de manera entera: tenemos 2 hermanos, alquilamos 4 películas, tenemos 17 años, etc. Los números con coma los usamos cuando queremos ser mucho más precisos y en general se usan para cosas científicas locas. Hasta la mayoría de los programas que manejan plata no usan la coma: llevan las monedas como enteros!!!

Vamos a hacer cuentas

Hasta ahora, tenemos todo como para hacer nuestra calculadora. Las calculadores usan números con coma así que si queremos que nuestro programa haga de calculadora vamos a tener que usarlos! Los números los escribimos con el teclado (están en la parte de arriba). Para la coma, en el Ruby se usa el . (punto) y no la coma!!! No metamos coma , en nuestros numeros con punto flotante. Esto se debe a que los que hicieron el Ruby viven en Estados Unidos donde no se usa la coma para los decimales sino el . punto.

Para la suma y la resta usamos los clásicos signos + y – como vimos en el primer ejemplo. Para la multiplicación usamos el asterisco * y para la división usamos la barra / . Algunos teclados tienen todos estos símbolos a la derecha.

Ahora que sabemos esto, vamos a modificar el programa calculadora.rb para extenderlo un poco más.

puts 1.0 + 2.0
puts 2.0 * 3.0
puts 5.0 - 8.0
puts 9.0 / 2.0

Esto es lo que nuestro programa escribiria por pantalla (acordate que el puts sirve para escribir algo en la pantalla, en este caso escribe el resultado de una cuenta!) :

3.0
6.0
-3.0
4.5

Los espacios en el medio no son muy importantes pero hacen que el programa sea más fácil de leer para nosotros. A la computadora los espacios no le importan! Pero guarda, después del puts siempre va un espacio! Bueno, ahora vamos a probar con números enteros:

puts 1+2
puts 2*3
puts 5-8
puts 9/2

El resultado (lo que el programa escribe en la pantalla ) es casi lo mismo, no?

3
6
-3
4

Bueno, casi….salvo por ese 4 al final. Lo que pasa es que cuando haces cuentas con números enteros, el resultado siempre va a ser un entero. Y si la compu, al hacer una división, no le da justo, entonces redondea para abajo. Pero para que sirve la división entera?

Bueno, imaginemos que la entrada al cine sale $8 y tenemos $50. Cuantas entradas podemos comprar con $50? 6! No podemos comprar 6,xxx ! Digo, con los $2 que sobran de vuelto, en el cine no te van a dar un cuarto de entrada! Algunas cosas, no son divisibles.

Ahora vamos a experimentar un poco. Si queremos hacer cuentas mas dificles, podemos usar los parentesis…por ejemplo:

puts 5 * (12-8) + -15
puts 98 + (59872 / (13*8)) * -51

Lo que da como resultado,

5
-29227

Letras y Palabras

Bueno, ya aprendimos sobre los números en el Ruby. Pero que pasa con las letras? y las palabras? En el mundo de la programación solemos referirnos a las letras como caracteres y a las palabras como cadenas de caracteres o strings (en ingles). En el Ruby siempre las cadenas de caracteres van encerradas entre ‘ ‘ (comillas simples ) o ” ” (comillas dobles). Ejemplos de cadenas de caracteres serían:

' Hola.'
' Ruby esta re-bueno
' 5 es mi nunero favorito...y el tuyo?'
' Cuando me martillo un dedo digo #%^?&*@.'
' '

Como podemos ver, algunas cadenas no son solo con letras del abecedario. Los caracteres también pueden ser los signos de puntuación, los números, los espacios, el signo de pregunta y cualquier simbolito que puedas tener en el teclado. Si la cadena no tiene caracteres entonces se la denomina cadena vacía.

Bueno, antes habíamos usado la instrucción puts para escribir por la pantalla el resultado de una cuenta o un número. Ahora la vamos a usar para escribir cadenas! Para esto hagamos un nuevo programa que se llama presentacion.rb

puts 'hola a todos'
puts 'mi nombre es charly'
puts 'uf.........%$/%()"$/%'

Ustedes fíjense que es lo que el programa hace ahora!

Operaciones con las cadenas

Con las cadenas también podemos hacer algunas cuentas locas. No todas, pero algunas si…por ej:

puts 'me gusta' + 'el apio'

Si lo ejecutamos (recordemos que para hacer esto hay que escribir ruby presentacion.rb en la ventana de DOS) vemos:

me gustael apio

Uy! Pucha! Me olvide de poner un espacio! No voy a esperar que el Ruby sepa castellano también! Hay un dicho que dice :

“Las computadoras no van a hacer lo que vos querés, van a hacer lo que les dijiste que hagan “

Para corregir esto podemos hacer cualquiera de estas dos opciones:

puts 'me gusta ' + 'el apio'
puts 'me gusta' + ' el apio'

Como se puede ver ( si ejecutamos el programa) no es muy importante donde ponemos el espacio!

Bueno, ahora sabemos que podemos sumar cadenas pero que pasa si hacemos:

puts 'hola soy charly'*4

El programa debería responder:

ya te escuche..cuantas veces me lo vas a decir!

Ja! No! El Ruby no es taaaaaan piola! Lo que se debería ver es :

hola soy charlyhola soy charlyhola soy charlyhola soy charly

Bueno, vamos a jugar un poco con todo esto ahora:

puts 12 + 12
puts ' 12' + ' 12'
puts ' 12 + 12'

Esto daría:

24
1212
12 + 12

Y que tal esto?

puts 2 * 5
puts ' 2' * 5
puts ' 2 * 5'

a ver….

10
22222
2 * 5

Ya empezamos a tener problemas….

A esta altura, capaz que alguno se sintio tentado de probar alguna cosa que no funciona como:

puts ' 12' + 12
puts ' 2' * ' 5'

Esto debería dar un error como:

#<TypeError: cannot convert Fixnum into String>

Lo que dice el Ruby es algo así como “No puedo mezclar peras con bananas” No! En realidad lo que dice es que no puede convertir un numero en una cadena de caracteres. El verdadero problema es que no se puede sumar el 12 al ‘12′ ya que es sumar un numero a un texto. La línea de abajo tampoco funcionaría porque no podemos multiplicar dos cadenas. Simplemente, el Ruby no te deja! (ademas de que suene ilógico)

Bueno, por ahora tenemos bastante…..

Share and Enjoy:
  • Facebook
  • LinkedIn
  • Twitter
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Diggita
  • MySpace
  • PDF
  • Print
  • email

Leave a Reply