Ir al contenido principal

Odin: funciones matemáticas

En esta serie de lenguajes de programación seguiremos con Odin. Hasta el momento hemos visto:

¿Qué veremos en está ocasión?

  • Cómo importar un paquete. 
  • Usar funciones matemáticas.

Ejemplo 1. Crear un programa que calcule la raiz cuadrada de un número flotante. Para ello necesitaremos importar la función: sqrt.

En Odin podemos importar paquetes de esta forma (en este caso un paquete con funciones matemáticas):

1
foreign import "system:math"

Su declaración:

1
2
3
foreign {
    sqrt :: proc(x: f64) -> f64 --- // Declaración de la función sqrt de C
}

Su implementación:

1
2
3
4
5
main :: proc() {
    numero := 16.0
    resultado := sqrt(numero)
    fmt.println("La raíz cuadrada de", numero, "es", resultado)
}

Código completo:

raiz.odin

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
package raiz

import "core:c"
import "core:fmt"

foreign import "system:math"
foreign {
    sqrt :: proc(x: f64) -> f64 --- // Declaración de la función sqrt
}

main :: proc() {
    numero := 16.0
    resultado := sqrt(numero)
    fmt.println("La raíz cuadrada de", numero, "es", resultado)
}

Compilación y ejecución:

1
2
$ odin build raiz.odin -file
$ raiz.exe

Salida:

1
La raíz cuadrada de 16 es 4

Ejemplo 2. Crear programa que calcule el SENO, COSENO y TANGENTE de un número flotante.

coseno.odin

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package coseno

import "core:c"
import "core:fmt"


foreign import "system:math"
foreign {
    cos :: proc(x: f64) -> f64 --- // Declaración de la función cos 
}

foreign {
    sin :: proc(x: f64) -> f64 --- // Declaración de la función sin
}

foreign {
    tan :: proc(x: f64) -> f64 --- // Declaración de la función sin 
}

main :: proc() {
    numero := 16.0
    resultado_cos := cos(numero)
    resultado_sin := sin(numero)
    resultado_tan := tan(numero)
    fmt.println("El coseno de ", numero, "es", resultado_cos)
    fmt.println("El seno de ", numero, "es", resultado_sin)
    fmt.println("El tangente de ", numero, "es", resultado_tan)
}

Compilación y ejecución:

1
2
$ odin build coseno.odin -file
$ coseno.exe

Salida:

1
2
3
El coseno de  16 es -0.95765948032338466
El seno de  16 es -0.2879033166650653
El tangente de  16 es 0.30063224202390337

El objetivo de la importación de paquetes es reducir tiempo de trabajo.

Continuaremos con esta serie sobre el lenguaje Odin.

Enlaces:

https://pkg.odin-lang.org/
https://odin-lang.org/

Comentarios

Entradas populares de este blog

Odin language: el lenguaje de programación orientado a datos para un desarrollo de software sensato

En esta serie sobre lenguajes de programación hablamos de Odin , un lenguaje orientado a datos. Un nuevo lenguaje de programación que nos podrá recordar a lenguajes como C++, Python, Golang o hasta Rust. Instalación (Windows): 1 2 3 4 $ git clone https://github.com/odin-lang/Odin $ cd Odin $ git pull $ build.bat release Debemos asegurarnos de crear la variable de entorno: Nombre: ODIN_HOME Valor: C:\Users\HP\Documents\pruebasOdin\Odin Ejemplo 1. Como primer programa tendremos al clásico "Hola, mundo". holamundo.odin package holamundo import " core:fmt " main : : proc ( ) { fmt . println ( " ¡Hola, mundo desde Odin! " ) } Construimos: $ odin build holamundo . odin - file Ejecutamos: $ holamundo .exe Recordar que si usamos Visual Studio Code podemos instalar el plugin de Odin Language: https://marketplace.visualstudio.com/items?itemName=DanielGavin.ols Ejemplo 2. Programa que muestre las variables que pod...

Programación Windows Batch (CMD) parte 3

Crear ciclos para efectuar operaciones tediosas nos ahorrará tiempo para realizar otras tareas. En está ocasión veremos ciclos con FOR . ¿Cuál es la síntaxis de bucle FOR en Windows Batch? Si está dentro de un archivo *.bat : FOR %%variable IN (seq) DO operaciones Si lo ejecutamos en una terminal: FOR %variable IN (seq) DO operaciones Ejemplo 1 . Recorrer una secuencia de números del 0 al 5: recorrer.bat @ echo off FOR %%i in ( 0 1 2 3 4 5 ) DO echo Hola no. %%i pause Nos imprimirá en pantalla: Hola no. 0 Hola no. 1 Hola no. 2 Hola no. 3 Hola no. 4 Hola no. 5 ¿Puedo usar contadores? Si, se pueden usar. Ejemplo 2 . Uso de contadores: contador.bat @ echo off set numeros = 1 2 3 4 5 6 7 8 9 10 set cont = 0 for %%a in ( %numeros% ) do ( echo Hola no. %%a :: Contador set /a cont+ = 1 ) echo Total: %cont% Este código nos imprimirá, además de los mensajes Hola no. 0 ..., el total de valores conta...

z/OS, ¿Qué es? y ¿Cuáles son sus herramientas?

  En este post veremos las herramientas de z/OS de IBM. z/OS es un sistema operativo de mainframe desarrollado por IBM.  Es parte de la serie IBM z Systems (anteriormente conocida como System z), que se utiliza en los sistemas mainframe de IBM. z/OS es uno de los sistemas operativos más utilizados en el mundo empresarial para ejecutar aplicaciones críticas y procesar grandes volúmenes de datos. Características clave de z/OS: Escalabilidad : z/OS es conocido por su capacidad para manejar grandes cargas de trabajo y escalabilidad vertical, lo que permite agregar recursos de hardware para satisfacer las demandas de procesamiento. Confiabilidad y disponibilidad : z/OS está diseñado para ofrecer alta disponibilidad y confiabilidad. Incorpora características como redundancia y recuperación ante fallas para garantizar la continuidad de las operaciones. Seguridad : Proporciona una amplia gama de funciones de seguridad, como autenticación, autorización y auditoría, para proteger los...