0Pricing
Lua Academy · Aula

Funções da biblioteca math

Use math.floor, ceil, sqrt, sin, cos, random, huge e pi.

Funções da biblioteca math é uma aula grátis de Lua Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Lua Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Lua Academy inclui 4 aulas no total.

O módulo math

O módulo math fornece constantes e funções matemáticas: math.pi, math.huge, math.maxinteger e dezenas de funções.

Funções de arredondamento

math.floor arredonda para baixo, math.ceil arredonda para cima e math.tointeger converte um número de ponto flutuante em inteiro ou retorna nil.

print(math.floor(3.7))       -- 3
print(math.ceil(3.2))         -- 4
print(math.tointeger(4.0))    -- 4

Trigonometria

As funções recebem radianos. Use math.pi para converter graus em radianos.

local deg = 45
local rad = deg * math.pi / 180
print(math.sin(rad))   -- ~0.707
print(math.cos(rad))   -- ~0.707
print(math.tan(rad))   -- ~1.0

math.sqrt e math.abs

math.sqrt(x) retorna a raiz quadrada; math.abs(x) retorna o valor absoluto.

print(math.sqrt(144))  -- 12.0
print(math.abs(-42))   -- 42

math.exp e math.log

Funções exponenciais e logarítmicas. math.log aceita um argumento opcional de base.

print(math.exp(1))              -- 2.718...
print(math.log(math.exp(1)))    -- 1.0
print(math.log(100, 10))        -- 2.0

math.min e math.max

Retornam o menor ou o maior valor de uma lista de números. Aceitam vários argumentos.

print(math.min(3, 1, 4, 1, 5))  -- 1
print(math.max(3, 1, 4, 1, 5))  -- 5
print(math.min(table.unpack({7,2,9})))  -- 2

math.random e math.randomseed

Geram números pseudoaleatórios. Inicialize com os.time() para obter sequências não repetitivas.

math.randomseed(os.time())
print(math.random())        -- float in [0,1)
print(math.random(6))       -- integer in [1,6]
print(math.random(10, 20))  -- integer in [10,20]

math.modf

math.modf(x) retorna as partes inteira e fracionária de x como dois valores separados.

local int, frac = math.modf(3.75)
print(int, frac)  -- 3.0  0.75

math.huge e infinito

math.huge representa o infinito positivo. É útil como valor inicial em laços que procuram o menor valor.

local min = math.huge
for _, v in ipairs({5, 2, 8, 1}) do
  if v < min then min = v end
end
print(min)  -- 1

Aritmética inteira (Lua 5.3+)

Lua 5.3 introduziu inteiros verdadeiros. Use math.type(x) para distinguir um inteiro de um número de ponto flutuante.

print(math.type(1))    -- integer
print(math.type(1.0))  -- float
print(math.maxinteger) -- 9223372036854775807

math.fmod

math.fmod(x, y) retorna o resto de x/y com o mesmo sinal de x, ao contrário do operador %.

print(math.fmod(-7, 3))  -- -1
print(-7 % 3)            -- 2 (always non-negative in Lua)

Pergunta sobre a biblioteca math

Qual função retorna as partes inteira e fracionária de um número?

Recapitulação: biblioteca math

A biblioteca math abrange arredondamento, trigonometria, exponenciais, números aleatórios, valores mínimo e máximo e aritmética inteira. Sempre inicialize math.random com os.time() para obter aleatoriedade realista.

Perguntas Frequentes

A aula “Funções da biblioteca math” é grátis?

Sim — o texto completo de “Funções da biblioteca math” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Lua Academy, atualize para CoddyKit PRO. O curso de Lua Academy inclui 4 aulas no total.

O que vou aprender em “Funções da biblioteca math”?

Use math.floor, ceil, sqrt, sin, cos, random, huge e pi. Você pratica Lua Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Lua Academy?

Nenhuma experiência prévia é necessária. Lua Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Funções da biblioteca math”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Lua Academy?

Sim. Cada aula de Lua Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Funções da biblioteca math
  2. Funções da biblioteca table
  3. Bibliotecas os e io
  4. A biblioteca debug
← Voltar para Lua Academy