Precedência de Operadores
Parte da seção Fundamentals do Journey de Lua da Coddy — lição 16 de 90.
Quando você escreve expressões matemáticas com múltiplos operadores, o Lua segue regras específicas para determinar quais operações realizar primeiro. Esse conceito é chamado de precedência de operadores, e funciona exatamente como a ordem das operações que você aprendeu na matemática.
Em Lua, a multiplicação e a divisão são realizadas antes da adição e da subtração:
result = 2 + 3 * 4 -- o resultado é 14, não 20
-- Lua calcula 3 * 4 primeiro (12), depois soma 2
result = 10 - 6 / 2 -- o resultado é 7, não 2
-- Lua calcula 6 / 2 primeiro (3), depois subtrai de 10Para controlar a ordem das operações, você pode usar parênteses (). As operações dentro dos parênteses são sempre realizadas primeiro:
result = (2 + 3) * 4 -- o resultado é 20
-- Lua calcula 2 + 3 primeiro (5), depois multiplica por 4
result = (10 - 6) / 2 -- o resultado é 2
-- Lua calcula 10 - 6 primeiro (4), depois divide por 2Desafio
FácilCalcule a média de três notas de testes usando a precedência de operadores adequada. Crie três variáveis para as notas dos testes e, em seguida, escreva uma única expressão que calcule corretamente a média delas.
Crie as seguintes variáveis:
score1com o valor85score2com o valor92score3com o valor78
Escreva uma única expressão para calcular a média somando as três notas e dividindo por 3. Use parênteses para garantir que a soma ocorra antes da divisão. Armazene o resultado em uma variável chamada average e imprima-o.
Folha de consulta
Lua segue as regras de precedência de operadores, onde a multiplicação e a divisão são realizadas antes da adição e subtração:
result = 2 + 3 * 4 -- o resultado é 14, não 20
result = 10 - 6 / 2 -- o resultado é 7, não 2Use parênteses () para controlar a ordem das operações:
result = (2 + 3) * 4 -- o resultado é 20
result = (10 - 6) / 2 -- o resultado é 2Experimente você mesmo
-- Cria as variáveis de pontuação do teste
local score1 = 85
local score2 = 92
local score3 = 78
-- TODO: Escreva seu código aqui para calcular a média usando a precedência de operadores adequada
-- Imprime o resultado
print(average)Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentals
4Operadores 2 Relacionais e Lógicos
Operadores de IgualdadeOperadores RelacionaisO Operador 'and'O Operador 'or'O Operador 'not'Avaliação de Curto-CircuitoValores Truthy e FalsyRecapitulação - Lógica Simples7Lógica Condicional Básica
A instrução if-thenA instrução if-then-elseA instrução elseifRecapitulação - Baú do Tesouro2Variáveis e Tipos de Dados
O que é uma Variável?NúmerosStringsBooleanosO Valor 'nil'A Função type()Convenções de NomenclaturaRecapitulação - Perfil de Personagem5Saída Básica
Imprimindo LiteraisImprimindo VariáveisImprimindo Múltiplos ValoresCombinando Strings e VariáveisA Função tostring()EntradaCastRecapitulação - Relatório de StatusRecapitulação - Até 1208Fundamentos de Manipulação de Strings
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Revisão - Formatar Nome de Usuário3Operadores 1: Aritmética e Concatenação
Operadores AritméticosOperador de MóduloOperador de ExponenciaçãoConcatenação de StringsPrecedência de OperadoresRecapitulação - Cálculos Simples6Projeto: Exibição de Atributos do Personagem
Mensagem de Boas-vindasDeclarar Atributos do Personagem9Fundamentos de Funções
Declarando uma FunçãoChamando uma FunçãoFunções com ParâmetrosFunções com Múltiplos ParâmetrosA Instrução 'return'Recapitulação - Calculadora de Área