Ver Mensaje Individual
  #6
Antiguo 10 de mayo de 2022, 09:20
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

A ver, ese bucle, tiene el problema de que en cuanto encuentre el primer espacio en blanco, para, por lo que, en este caso, en cuanto llegara al espacio en blanco que hay en el valor de la variable, después de "Sistema", se pararía. Tiene que ser un bucle inverso, que empiece por el final, hasta llegar al principio.

Código COBOL:
  1.        IDENTIFICATION DIVISION.
  2.        PROGRAM-ID. LONGITUD.
  3.      *
  4.        ENVIRONMENT DIVISION.
  5.      *
  6.        DATA DIVISION.
  7.        WORKING-STORAGE SECTION.
  8.        01  LONGITUD  PIC 99.
  9.        01  TEXTO     PIC X(36)
  10.                      VALUE "Sistema de Control de Calificaciones".
  11.      *
  12.        PROCEDURE DIVISION.
  13.        PRINCIPAL.
  14.            perform varying longitud from 36 by -1 until
  15.                  longitud = 1 or texto(longitud:) not = ' '
  16.               continue
  17.            end-perform.
  18.  
  19.            DISPLAY "La longitud de la cadena es:" LONGITUD.
  20.            STOP RUN.

Como te indican, si cambias el tamaño de la variable, cambias el bucle, (ten en ecuenta de mirar también la PICTURE del contador, que sea la apropiada)

Un salu2.-
Josber is offline   Responder Con Cita