es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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

Tags:  

Answer

  1. Avatar for 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.

Comments are closed.