Precedencia de operadores
Parte de la sección Fundamentals del Journey de Lua de Coddy — lección 16 de 90.
Cuando escribes expresiones matemáticas con múltiples operadores, Lua sigue reglas específicas para determinar qué operaciones realizar primero. Este concepto se llama precedencia de operadores, y funciona igual que el orden de las operaciones que aprendiste en matemáticas.
En Lua, la multiplicación y la división se realizan antes que la suma y la resta:
result = 2 + 3 * 4 -- el resultado es 14, no 20
-- Lua calcula 3 * 4 primero (12), luego suma 2
result = 10 - 6 / 2 -- el resultado es 7, no 2
-- Lua calcula 6 / 2 primero (3), luego resta de 10Para controlar el orden de las operaciones, puedes usar paréntesis (). Las operaciones dentro de los paréntesis siempre se realizan primero:
result = (2 + 3) * 4 -- el resultado es 20
-- Lua calcula 2 + 3 primero (5), luego multiplica por 4
result = (10 - 6) / 2 -- el resultado es 2
-- Lua calcula 10 - 6 primero (4), luego divide por 2Desafío
FácilCalcula el promedio de tres puntuaciones de exámenes utilizando la precedencia de operadores adecuada. Crea tres variables para las puntuaciones de los exámenes, luego escribe una sola expresión que calcule correctamente su promedio.
Crea las siguientes variables:
score1con el valor85score2con el valor92score3con el valor78
Escribe una sola expresión para calcular el promedio sumando las tres puntuaciones y dividiendo por 3. Usa paréntesis para asegurar que la suma ocurra antes de la división. Guarda el resultado en una variable llamada average e imprímela.
Hoja de referencia
Lua sigue las reglas de precedencia de operadores donde la multiplicación y la división se realizan antes que la suma y la resta:
result = 2 + 3 * 4 -- el resultado es 14, no 20
result = 10 - 6 / 2 -- el resultado es 7, no 2Usa paréntesis () para controlar el orden de las operaciones:
result = (2 + 3) * 4 -- el resultado es 20
result = (10 - 6) / 2 -- el resultado es 2Pruébalo tú mismo
-- Crear las variables de los puntajes de las pruebas
local score1 = 85
local score2 = 92
local score3 = 78
-- TODO: Escribe tu código aquí para calcular el promedio usando la precedencia de operadores adecuada
-- Imprimir el resultado
print(average)Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
4Operadores 2 Relacionales y Lógicos
Operadores de IgualdadOperadores RelacionalesEl Operador 'and'El Operador 'or'El Operador 'not'Evaluación de CortocircuitoValores Truthy y FalsyResumen - Lógica Simple7Lógica condicional básica
La sentencia if-thenLa sentencia if-then-elseLa sentencia elseifResumen - Cofre del tesoro10Tablas Parte 1: Estilo de lista
¿Qué es una tabla?Crear una tablaAcceder a elementos por índiceModificar elementos por índiceEl operador de longitud '#'table.insert()table.remove()Resumen - Gestionar miembros del grupo13Proyecto: Tienda de pociones sencilla
Configuración del proyectoAñadir una poción2Variables y tipos de datos
¿Qué es una variable?NúmerosStringsBooleanosEl valor 'nil'La función type()Convenciones de nomenclaturaResumen - Perfil de personaje5Salida básica
Imprimir literalesImprimir variablesImprimir múltiples valoresCombinar cadenas y variablesLa función tostring()EntradaConversión de tipos (Cast)Resumen - Informe de estadoResumen - Hasta 1208Fundamentos de manipulación de strings
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Repaso - Formatear nombre de usuario3Operadores 1: Aritmética y Concatenación
Operadores aritméticosOperador de móduloOperador de exponenciaciónConcatenación de stringsPrecedencia de operadoresResumen: Cálculos sencillos6Proyecto: Mostrar estadísticas del personaje
Mensaje de bienvenidaDeclarar estadísticas del personaje9Fundamentos de las funciones
Declarar una funciónLlamar a una funciónFunciones con parámetrosFunciones con múltiples parámetrosLa sentencia 'return'Repaso - Calculadora de área