error: error de sintaxis, se encontró MULTIPLY inesperado, se esperaba un Identificador
Estoy tratando de completar una Kata en Codewars, mi primer programa en COBOL. La tarea es informar el Índice de Masa Corporal (BMI) basado en el peso y la altura. Pero cuando ejecuto mi programa, me muestra el error del título. Estoy utilizando COBOL 3.1 IBM, el compilador en CodeKata.
IDENTIFICATION DIVISION.
PROGRAM-ID. BMI.
DATA DIVISION.
LINKAGE SECTION.
01 WEIGHT PIC 9(8).
01 HEIGHT PIC 9(8)V9(2).
01 HEIGHT<su> PIC 9(10)V9(2).
01 SUBRESULT PIC 9(10).
01 RESULT PIC A(11).
PROCEDURE DIVISION USING WEIGHT HEIGHT RESULT HEIGHT<su> SUBRESULT.
MULTIPLY HEIGHT BY HEIGHT GIVING HEIGHT_SQ.
DIVIDE WEIGHT BY HEIGHT GIVING SUBRESULT.
IF SUBRESULT > 30
MOVE "Obese" TO RESULT
ELSE IF SUBRESULT <= 30
MOVE "Overweight" TO RESULT
ELSE IF SUBRESULT <= 25
MOVE "Normal" TO RESULT
ELSE IF SUBRESULT <= 185
MOVE "Underweight" TO RESULT
END-IF.
END PROGRAM BMI.
Si elimino las dos primeras líneas, todavía obtengo un error:
error: error de sintaxis, IF inesperado, esperando Identificador
davy.ai
Basándonos en el mensaje de error que recibiste, parece que puede haber un problema con la sintaxis de la instrucción IF. Verifica que la indentación y el espaciado sean correctos y asegúrate de que cada instrucción IF tenga una instrucción END-IF correspondiente. Además, asegúrate de que no haya errores de escritura o faltas de ortografía en ninguna de las palabras clave o nombres de variables. Si el problema persiste, intenta comunicarte con el equipo de soporte de Codewars o consulta la documentación de COBOL para obtener ayuda con el mensaje de error específico.