🔢 Números

Trabalhe com números inteiros e decimais, faça cálculos e use funções matemáticas!

🧮

O que são números?

Números são usados para contar, medir e fazer cálculos. No Sol, você pode usar:

Criando números

local idade = 15
local altura = 1.75
local temperatura = -10
local pi = 3.14159

Operações básicas

local a = 10
local b = 3

exiba(a + b)   -- Soma: 13
exiba(a - b)   -- Subtração: 7
exiba(a * b)   -- Multiplicação: 30
exiba(a / b)   -- Divisão: 3.333...
exiba(a // b)  -- Divisão inteira: 3
exiba(a % b)   -- Resto: 1
exiba(a ^ b)   -- Potência: 1000

Biblioteca Matemática

Constantes especiais

exiba(matemática.pi)              -- 3.14159... (π)
exiba(matemática.enorme)          -- Infinito
exiba(matemática.inteiro_máximo)  -- Maior inteiro possível
exiba(matemática.inteiro_mínimo)  -- Menor inteiro possível

Valor absoluto e arredondamento

-- Valor absoluto (remove sinal negativo)
exiba(matemática.obtenha_valor_absoluto(-10))  -- 10

-- Arredondar para baixo
exiba(matemática.arredonde_para_piso(3.7))  -- 3

-- Arredondar para cima
exiba(matemática.arredonde_para_teto(3.2))  -- 4

Máximo e mínimo

exiba(matemática.obtenha_máximo(5, 10, 3, 8))  -- 10
exiba(matemática.obtenha_mínimo(5, 10, 3, 8))  -- 3

Raiz quadrada e potência

-- Raiz quadrada
exiba(matemática.obtenha_raiz_quadrada(16))  -- 4
exiba(matemática.obtenha_raiz_quadrada(25))  -- 5

-- Potência (também pode usar ^)
exiba(2 ^ 8)  -- 256

Funções trigonométricas

-- Seno, cosseno, tangente (em radianos)
exiba(matemática.obtenha_seno(0))     -- 0
exiba(matemática.obtenha_cosseno(0))   -- 1
exiba(matemática.obtenha_tangente(0))  -- 0

-- Funções inversas
exiba(matemática.obtenha_arco_seno(0.5))
exiba(matemática.obtenha_arco_cosseno(0.5))
exiba(matemática.obtenha_arco_tangente(1))

Conversão entre graus e radianos

-- Graus para radianos
local radianos = matemática.converta_para_radianos(180)
exiba(radianos)  -- 3.14159... (π)

-- Radianos para graus
local graus = matemática.converta_para_graus(matemática.pi)
exiba(graus)  -- 180

Logaritmo e exponencial

-- Exponencial (e^x)
exiba(matemática.obtenha_exponencial(1))  -- 2.71828... (e)

-- Logaritmo natural (base e)
exiba(matemática.obtenha_logaritmo(10))  -- 2.302...

-- Logaritmo em outra base
exiba(matemática.obtenha_logaritmo(100, 10))  -- 2 (log₁₀ 100)

Números aleatórios 🎲

-- Definir semente (para resultados reproduzíveis)
matemática.defina_semente_aleatória(12345)

-- Número aleatório entre 0 e 1
exiba(matemática.gere_aleatório())

-- Número aleatório entre 1 e 6 (dado)
local dado = matemática.gere_aleatório(1, 6)
exiba("Você tirou: " .. dado)

Outras funções úteis

-- Converter para inteiro
exiba(matemática.converta_para_inteiro(3.7))  -- 3

-- Resto de divisão flutuante
exiba(matemática.obtenha_resto_flutuante(7.5, 2))  -- 1.5

-- Separar parte inteira e fracionária
local inteira, fracao = matemática.separe_fração_inteiro(3.75)
exiba(inteira, fracao)  -- 3, 0.75

-- Verificar tipo de número
exiba(matemática.obtenha_tipo(10))    -- "inteiro"
exiba(matemática.obtenha_tipo(10.5))  -- "flutuante"

Conversão de tipos

-- Texto para número
local numero = converta_para_número("42")
exiba(numero + 8)  -- 50

-- Número para texto
local texto = converta_para_texto(123)
exiba("Número: " .. texto)

Exemplo: Calculadora de área

função area_circulo(raio)
    retorne matemática.pi * raio ^ 2
fim

função area_triangulo(base, altura)
    retorne (base * altura) / 2
fim

exiba("Área do círculo (raio 5): " .. area_circulo(5))
exiba("Área do triângulo (base 10, altura 6): " .. area_triangulo(10, 6))

Exemplo: Jogo de adivinhação

-- Gera número secreto entre 1 e 100
local secreto = matemática.gere_aleatório(1, 100)
local tentativas = 0

exiba("Adivinhe o número entre 1 e 100!")

para i = 1, 10 faça
    local palpite = converta_para_número(terminal.leia())
    tentativas = tentativas + 1

    se palpite == secreto então
        exiba("🎉 Parabéns! Acertou em " .. tentativas .. " tentativas!")
        interrompa
    fim

    se palpite < secreto então
        exiba("📈 Muito baixo!")
    fim

    se palpite > secreto então
        exiba("📉 Muito alto!")
    fim
fim
Agora você domina números em Sol! Use a biblioteca matemática para cálculos avançados.
```