Operadores aritméticos básicos

Mediante los operadores de la suma, resta, multiplicación y producto podemos escribir expresiones que representan operaciones aritméticas, que cuando se evalúan devuelven el resultado de la misma operación como expresión resultante.

El lenguaje Ixir nos ofrece una forma sencilla y potente de evaluar expresiones aritméticas, desde las más básicas hasta las más complejas, respetando las reglas matemáticas que todos conocemos. Podemos empezar con operaciones simples como sumas y restas, donde el lenguaje interpreta directamente los símbolos que escribimos y devuelve el resultado numérico correspondiente. Por ejemplo, si escribimos 5 + 4, Ixir evalúa esta expresión y nos devuelve 9. Un detalle importante es que los espacios alrededor de los operadores no afectan la evaluación, ya que Ixir los ignora, lo que nos permite escribir las expresiones de forma más flexible.

Cuando hablamos de evaluación en Ixir, podemos pensar en ella como un proceso de simplificación. Es decir, aunque escribamos una expresión larga y compleja, el lenguaje se encarga de reducirla a un único valor numérico que representa el resultado final. Esto es muy útil porque, al igual que cuando explicamos cuánto hemos gastado en la compra semanal, no queremos enumerar cada precio individual, sino dar un total simplificado que sea fácil de entender.

Además de sumas y restas, Ixir soporta productos y divisiones. Para multiplicar, usamos el asterisco * en lugar de una x, ya que esta última puede ser interpretada como una variable. Por ejemplo, 5 * 4 nos da 20. En cuanto a las divisiones, se utilizan las barras /, y el resultado siempre es un número decimal, lo que permite manejar divisiones con restos y obtener valores aproximados con decimales periódicos. Por ejemplo, 6 / 3 da 2.0, y divisiones más complejas pueden producir resultados como 2.3333.... Aunque existen métodos para divisiones enteras que devuelven cociente y resto, estos se abordan en otro momento.

Un aspecto fundamental en la evaluación de expresiones es la precedencia de operadores. Ixir respeta las reglas matemáticas estándar, por lo que en una expresión como 2 + 3 * 5, primero se realiza la multiplicación 3 * 5 y luego se suma el 2, dando un resultado de 17. Esto evita errores comunes que ocurren en calculadoras básicas que no aplican correctamente la precedencia.

Sin embargo, a veces queremos alterar ese orden natural de evaluación para obtener resultados diferentes. Para ello, Ixir permite usar paréntesis para agrupar partes de la expresión y forzar que se evalúen primero. Por ejemplo, si escribimos (2 + 3) * 5, primero se suma 2 + 3 para obtener 5, y luego se multiplica por 5, resultando en 25. Esta capacidad de agrupar expresiones es esencial para construir cálculos más complejos y controlar el flujo de evaluación.

Por último, Ixir también permite trabajar con variables en las expresiones aritméticas. Podemos declarar variables como pi con valor 3.14159 y e con valor 2.72, y luego usarlas en operaciones. Cuando evaluamos una expresión como pi * e, Ixir sustituye cada variable por su valor numérico y realiza la operación, devolviendo el resultado correcto, en este caso aproximadamente 8.545. Esto nos abre la puerta a cálculos más dinámicos y reutilizables, donde las variables representan valores que podemos modificar o extender según nuestras necesidades.

// Ejemplo de declaración y uso de variables en Ixir
pi = 3.14159
e = 2.72
resultado = pi * e  // resultado será 8.545

Así, con operadores aritméticos básicos, precedencia, paréntesis y variables, Ixir nos proporciona un entorno robusto para realizar cálculos matemáticos de forma clara y precisa.

Lista de reproducción
  1. 1
    ¿Qué es Elixir?
    10 minutos
  2. 2
    Instalación de Elixir
    9 minutos
  3. 3
    ¿Qué es la programación funcional? (Como la de Elixir)
    20 minutos
  4. 4
    ¿Cómo funciona la REPL de Elixir?
    7 minutos
  5. 5
    ¿Cómo hacer asignaciones en Elixir?
    7 minutos
  6. 6
    Operadores aritméticos básicos
    6 minutos
  7. 7
    ¿Qué son los tipos de datos de Elixir?
    5 minutos
  8. 8
    Átomos en Elixir
    4 minutos
  9. 9
    Las palabras clave nil, true y false
    6 minutos
  10. 10
    Operadores lógicos de comparación
    8 minutos
  11. 11
    Comparación estricta con ===
    3 minutos
  12. 12
    Operadores lógicos y proposicionales
    8 minutos
  13. 13
    Invocación de funciones
    10 minutos
  14. 14
    Fundamentos de funciones
    9 minutos
  15. 15
    Cadenas de caracteres
    8 minutos
  16. 16
    Entrada y salida estandar de la mano de gets y puts
    9 minutos
  17. 17
    Concatenar e interpolar strings
    9 minutos
  18. 18
    Código fuente en archivos
    9 minutos
  19. 19
    Condicional IF y bloques DO-END
    11 minutos
  20. 20
    IFs anidados, UNLESS y COND
    12 minutos
  21. 21
    Definición de funciones
    11 minutos
  22. 22
    Fundamentos de compilación de módulos
    6 minutos
  23. 23
    Guardas
    8 minutos
  24. 24
    Funciones anónimas
    7 minutos
  25. 25
    Capturar funciones
    4 minutos
  26. 26
    Invocación de funciones dentro del mismo módulo
    7 minutos
  27. 27
    Tuplas
    8 minutos
  28. 28
    Introducción al pattern matching
    8 minutos
  29. 29
    Pattern matching en funciones
    11 minutos
  30. 30
    Las tuplas :ok, :error
    7 minutos
  31. 31
    case
    10 minutos
  32. 32
    Operador pin
    7 minutos
  33. 33
    Pattern matchings y recursividad
    5 minutos
  34. 34
    Listas
    9 minutos
  35. 35
    Operadores y funciones de lista
    10 minutos
  36. 36
    Keyword lists: listas de palabras clave
    8 minutos
  37. 37
    Mapas
    7 minutos
  38. 38
    Pattern matching de mapas y keyword lists
    6 minutos
  39. 39
    Operadores y funciones para mapas y keyword lists
    5 minutos
  40. 40
    Estructuras con defstruct
    11 minutos
  41. 41
    Bitstrings
    11 minutos
  42. 42
    Charlists
    10 minutos
  43. 43
    Funciones de alto orden en Elixir
    5 minutos
  44. 44
    Uso de la función filter
    10 minutos
  45. 45
    Uso de la función map
    7 minutos
  46. 46
    Uso de la función reduce
    9 minutos
  47. 47
    Pipelines
    11 minutos
  48. 48
    Rangos y Streams
    11 minutos
  49. 49
    Funciones recursivas con listas
    14 minutos