🔢 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:
- Inteiros: 1, 2, 3, -5, 100
- Decimais: 3.14, -2.5, 0.001
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.