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)) -- 4Trigonometria
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.0math.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)) -- 42math.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.0math.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}))) -- 2math.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.75math.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) -- 1Aritmé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) -- 9223372036854775807math.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
- Funções da biblioteca math
- Funções da biblioteca table
- Bibliotecas os e io
- A biblioteca debug