Resultados 1 al 4 de 4

Tema: OpenCobolIde Error alucinante

  1. #1
      Junior
    Avatar de Paco_Diaz

    Registrado
    agosto de 2022
    Ubicación
    Córdoba
    Edad
    56
    Mensajes
    54
    Última visita
    16.05.2024

    Agradecimientos
     
    Recibidos
    14
    Enviados
    10

    Citaciones y menciones
     
    Mentioned
    32 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    1 Post(s)
    Poder de Reputación
    0

    Predeterminado OpenCobolIde Error alucinante

    Hola.

    Estoy haciendo como repaso un programin que deberia funcionar a la primera por su simpleza, pero estoy atascado en un error al que le he dado unas pocas de vueltas y aun no he podido solucionar.

    El programa detecta si un numero de 3 cifras nada mas, es capicua. Lo mas facil que se me ha ocurrido es comprobar si el primer digito es un 0, y si lo es, se termina, si no es 0, comparo el primero con el tercero, si son iguales, visualiza que si, y si no, visualiza que no. Como podeis ver, una chorrada.

    El codigo es este:
    COBOL Código:
    1.        IDENTIFICATION DIVISION.
    2.  
    3.        PROGRAM-ID. capicua.
    4.  
    5.        ENVIRONMENT DIVISION.
    6.  
    7.        CONFIGURATION SECTION.
    8.  
    9.        INPUT-OUTPUT SECTION.
    10.  
    11.        DATA DIVISION.
    12.  
    13.        FILE SECTION.
    14.  
    15.        WORKING-STORAGE SECTION.
    16.        77  sw PICTURE 9 VALUE 0.
    17.        01  capicua.
    18.            03 primero PICTURE 9 VALUE 0.  
    19.            03 segundo PICTURE 9 VALUE 0.
    20.            03 tercero PICTURE 9 VALUE 0.
    21.        01  numero.
    22.            03 digito1 PICTURE 9 VALUE 0.
    23.            03 digito2 PICTURE 9 VALUE 0.
    24.            03 digito3 PICTURE 9 VALUE 0.
    25.  
    26.        PROCEDURE DIVISION.
    27.  
    28.        MAIN-PROCEDURE.
    29.             DISPLAY "Introduzca un numero de 3 cifras: "
    30.             ACCEPT primero
    31.             ACCEPT segundo
    32.             ACCEPT tercero
    33.  
    34.             MOVE capicua TO numero
    35.             MOVE primero to digito1
    36.             MOVE segundo to digito2
    37.             MOVE tercero to digito3
    38.  
    39.             IF digito1 EQUAL 0
    40.                 sw = 1
    41.                 IF sw = 1
    42.                     DISPLAY "El numero no tiene 3 cifras"
    43.                 ELSE
    44.                     IF digito1 NOT EQUAL digito3
    45.                         DISPLAY "NO es un numero capicua"
    46.                     ELSE
    47.                         DISPLAY "SI es un numero capicua"
    48.             .
    49.             STOP RUN.
    50.  
    51.        END PROGRAM capicua.

    La variable numero, la he creado por si no podia hacer un IF directamente sobre la variable del ACCEPT.

    El error lo da en la linea: "IF digito1 EQUAL 0", como "Invalid expression", o sea, increible. Tambien lo he puesto con "=", y tampoco.

    A ver si alguien puede echarme una mano.

    Muchas gracias. Un saludo.

    0 Not allowed!
    Última edición por Josber; 03.08.2022 a las 21:40

  2. #2
      Super Moderador
    Avatar de Josber

    Registrado
    febrero de 2015
    Ubicación
    Alicante
    Mensajes
    802
    Última visita
    Ayer a las 18:22

    Agradecimientos
     
    Recibidos
    440
    Enviados
    365

    Citaciones y menciones
     
    Mentioned
    81 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    13 Post(s)
    Poder de Reputación
    37
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    Predeterminado

    A ver, el fallo lo tienes en

    COBOL Código:
    1. sw = 1

    en COBOL, no existe esa forma, para darle valor a una variable, ha de hacerse con la instrucción MOVE,

    COBOL Código:
    1. MOVE 1 TO SW

    o, como es una variable numérica, también valdría

    COBOL Código:
    1. COMPUTE SW = 1

    Otra cosa, ya que en COBOL, se escribe muchíiiiiiisimo, puedes cambiar la instrucción PICTURE, (que no usa nadie), por su abreviatura PIC

    Estos es idéntico

    COBOL Código:
    1. 01  sw   PICTURE 9 VALUE 0.
    2.  
    3. 01  sw   PIC 9 VALUE 0.


    Pruébalo y dinos algo.

    Por cierto, todo lo que sea código COBOL, tienes un botón que pone CBL, que es para resaltar la sintaxis de ese lenguaje, (hay un botón para cada uno de los lenguajes más usados), úsalo la próxima vez, por favor.

    Un salu2.-

    0 Not allowed!

  3. #3
      Junior
    Avatar de Paco_Diaz

    Registrado
    agosto de 2022
    Ubicación
    Córdoba
    Edad
    56
    Mensajes
    54
    Última visita
    16.05.2024

    Agradecimientos
     
    Recibidos
    14
    Enviados
    10

    Citaciones y menciones
     
    Mentioned
    32 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    1 Post(s)
    Poder de Reputación
    0

    Predeterminado

    Muchas gracias Josber, funciono a la primera. Creo que arrastre los habitos de la programación en clipper, que es ultimo lenguaje con el que he estado "reviviendo" la programacion, y por eso lo habre escrito asi.

    La segunda parte del mensaje, no la he entendido. Ya tengo la sintaxis resaltada en OpenCobolIDE, hice un copia/pega del codigo. Lo del boton "cbl" tampoco lo he entendido.

    Muchas gracias. Un saludo.

    0 Not allowed!

  4. #4
      Super Moderador
    Avatar de Josber

    Registrado
    febrero de 2015
    Ubicación
    Alicante
    Mensajes
    802
    Última visita
    Ayer a las 18:22

    Agradecimientos
     
    Recibidos
    440
    Enviados
    365

    Citaciones y menciones
     
    Mentioned
    81 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    13 Post(s)
    Poder de Reputación
    37
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    Predeterminado

    De nada @Paco_Diaz, lo de resaltar CBL, es que, cuando escribas código COBOL, seleccionas todo el código y, una vez seleccionado, pulsas en el "botón" que hay en azul claro casi al final de la línea desde la que puedes resaltar en negrita, cursiva, subrayado, etc, el que hay justo después de una silueta con un símbolo de @, que encima en pequeño, pone CBL, eso hace que imite a un editor de texto específico para COBOL y sea más fácil de leer por los usuarios.

    Un salu2.-

    0 Not allowed!

Información de Tema

Usuarios Viendo este Tema

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

Temas Similares

  1. [Compilador] Imprimir desde el OpenCobolIde
    Por Michel en el foro GnuCOBOL (OpenCOBOL)
    Respuestas: 8
    Último Mensaje: 30.09.2021, 18:28
  2. [Información] OpenCobolIDE 4.7.6
    Por ALJ en el foro GnuCOBOL (OpenCOBOL)
    Respuestas: 1
    Último Mensaje: 02.04.2020, 09:10

Marcadores

Marcadores

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •