El canal "The mainframe corner " recomendó este canal y estoy sorprendido, es el mejor curso de Cobol que he visto, he buscado muchos pero éste es el que explica excelente, cada palabra esta posicionada de tal forma que le entiendo muy bien, saludos desde Guatemala
Muy buen dia, Dios le bendiga en gran manera, excelente videos, he visto desde la leccion 1 hasta esta leccion 8, y son muy bien explicados, buena tecnica para repasar a los tenemos experiencia en programacion COBOL, FELICITACIONES
Hola, gracias por este nuevo vídeo, lo estuve esperando, tengo una duda respecto a la ejecución de displays, digamos se puede imprimir todo un menú en un solo display? como se haría un salto de linea en ese caso, lo que quiero evitar es colocar diplay "Suma: ". y luego display "Resta" y si quiero un espacio en blanco, display " ".
Hola disculpa la demora en respuesta, he tenido bastante trabajo. Desde mis conocimientos no hay una manera de hacer esto, recordemos que cobol es algo viejo, con el display lo que si puedes hacer es limpiar la línea o pantalla, imprimir en una línea o columna especifica, cambiar color del texto, entre otras cosas. Pero si quieres poner salto de línea, tienes que poner otro display forzosamente. Saludos.
Hola, muchas gracias por toda la informacion, tengo una duda, si quiere una validacion que diga que el nombre no sea solo espacios, como se realizaria? quedo atento, muchas gracias.
Hola Cristian Silva, para esa validación tienes que poner el dato (variable) que contiene el nombre y la palabra reservada SPACES o SPACE en una condición. Ejemplo: IF WKS-NOMBRE = SPACES , y luego lo que harías si es espacios, como DISPLAY "DEBE CAPTURAR UN NOMBRE" y ya en el ELSE puedes poner tu condición si nombre trae contenido. Saludos.
En "X NOT < Y" y "X NOT > Y" tambien se podría poner como "X NOT GRATER THAN Y" y "X NOT LESS THAN Y" (?) Es una duda que tengo ya que puedes poner "NOT EQUAL".
Hola DaviGame92, si pones "X NOT GRATER THAN Y" y "X NOT LESS THAN Y" estás diciendo que X < = Y y X > = Y, por tanto pasa lo siguiente... Si tuvieras X > Y, se cumple una sola condición de las 2 que tienes, en este caso ya que usas el AND, deben cumplirse las dos. Pero solo cumples X > = Y (dado que X es mayor) pero no cumples X < = Y. Si tuvieras X < Y, se cumple igual solo una condición de las 2, porque X < = Y (cumple porque X es menor) pero no cumples X > = Y. Si tuvieras X = Y, entonces SI cumples ambas condiciones, porque X < = Y (cumple al ser X igual a Y) y también X > = Y (cumple debido a X igual a Y), dado esto, es la única manera en que cumplen las condiciones. Resolviendo tu duda completa... Entonces tu combinación más bien es un EQUAL en lugar de un NOT EQUAL (aunque es un EQUAL muy complejo para un programador inexperto jeje) Si tu quisieras un NOT EQUAL igual así de complejo, más bien sería poner una negación de las condiciones NOT( (X NOT GRATER THAN Y) AND (X NOT LESS THAN Y)) eso en medio cristiano es NOT (X < = Y) y NOT ( X > = Y), que significa NO eres X < = Y y NO eres X > = Y, quiere decir que, X no puede ser mayor que Y, ni menor que Y, ni igual a Y, es decir, solo puede ser DIFERENTE o NO EQUAL, pero la verdad. todo esto suena a un gran lío :-o Espero haber resuelto tu duda, aunque sonará a rosario la explicación jaja, saludos. :)
El canal "The mainframe corner " recomendó este canal y estoy sorprendido, es el mejor curso de Cobol que he visto, he buscado muchos pero éste es el que explica excelente, cada palabra esta posicionada de tal forma que le entiendo muy bien, saludos desde Guatemala
Obrigado teacher, excelente, aprendendo e gostando de cada aula
Me está gustando y las lecciones apropiadas.
Muy buen dia, Dios le bendiga en gran manera, excelente videos, he visto desde la leccion 1 hasta esta leccion 8, y son muy bien explicados, buena tecnica para repasar a los tenemos experiencia en programacion COBOL, FELICITACIONES
Muy bueno!!!!!!
Excelente y adictivo canal. Mil Gracias por tan excelente material!
Está muy bueno el curso, explicas muy bien.
Eres muy buena! Me encanta tu canal!
yo usaba el perform con el thru y la etiqueta de cierre
Superdidactico!!!!!
my bueno, excelente
¡A la cuarta fue la vencida!
Hola, gracias por este nuevo vídeo, lo estuve esperando, tengo una duda respecto a la ejecución de displays, digamos se puede imprimir todo un menú en un solo display? como se haría un salto de linea en ese caso, lo que quiero evitar es colocar diplay "Suma: ". y luego display "Resta" y si quiero un espacio en blanco, display " ".
Hola disculpa la demora en respuesta, he tenido bastante trabajo.
Desde mis conocimientos no hay una manera de hacer esto, recordemos que cobol es algo viejo, con el display lo que si puedes hacer es limpiar la línea o pantalla, imprimir en una línea o columna especifica, cambiar color del texto, entre otras cosas. Pero si quieres poner salto de línea, tienes que poner otro display forzosamente.
Saludos.
no te preocupes se aprecia mucho el esfuerzo :D!
Hola, muchas gracias por toda la informacion, tengo una duda, si quiere una validacion que diga que el nombre no sea solo espacios, como se realizaria? quedo atento, muchas gracias.
Hola Cristian Silva, para esa validación tienes que poner el dato (variable) que contiene el nombre y la palabra reservada SPACES o SPACE en una condición. Ejemplo: IF WKS-NOMBRE = SPACES , y luego lo que harías si es espacios, como DISPLAY "DEBE CAPTURAR UN NOMBRE" y ya en el ELSE puedes poner tu condición si nombre trae contenido.
Saludos.
Muchas gracias por la pronta respuesta, es de mucha ayuda, muchas gracias y felicitaciones por el gran aporte a los que estamos aprendiendo :)
En la condicion del UNTIL tambien podria ser: UNTIL WKS-ELECCION > 1?
Porfa ayudame, no me ejecuta el STOP "pause".
IDENTIFICATION DIVISION.
PROGRAM-ID. Calculadora.
*ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 WKS-NUM-1 PIC S9(05)V99.
77 WKS-NUM-2 PIC S9(05)V9(02).
77 WKS-RESULTADO PIC S9(10)V99.
77 WKS-OPCION PIC A(01).
77 WKS-ELECCION PIC 9(1).
PROCEDURE DIVISION.
00001-MI-SECCION SECTION.
00001-MAIN.
PERFORM 00000-CALCULADORA UNTIL WKS-ELECCION = 2.
STOP RUN.
00000-CALCULADORA.
DISPLAY "1-. USAR LA CARCULADORA, 2-. SALIR".
ACCEPT WKS-ELECCION.
IF WKS-ELECCION = 1
PERFORM 00001-PEDIR-DATOS
PERFORM 00002-EJECUTAR-OPERACION
ELSE
IF WKS-ELECCION = 2
NEXT SENTENCE
ELSE
DISPLAY "OPCION INVALIDA, VERIFIQUE".
00001-PEDIR-DATOS.
DISPLAY "Calculadora".
DISPLAY "Dame el numero 1".
ACCEPT WKS-NUM-1.
DISPLAY "Dame el numero 2".
ACCEPT WKS-NUM-2.
DISPLAY "INDICA LA OPERACION A REALIZAR: S = SUMA, "
-"R = RESTA, M = MULTIPLICACION, D = DIVICION".
ACCEPT WKS-OPCION.
00002-EJECUTAR-OPERACION.
IF WKS-OPCION = "S"
ADD WKS-NUM-1 TO WKS-NUM-2 GIVING WKS-RESULTADO
DISPLAY WKS-RESULTADO
ELSE
IF WKS-OPCION = "R"
SUBTRACT WKS-NUM-1 FROM WKS-NUM-2 GIVING
WKS-RESULTADO
DISPLAY WKS-RESULTADO
ELSE
IF WKS-OPCION = "M"
MULTIPLY WKS-NUM-1 BY WKS-NUM-2 GIVING
WKS-RESULTADO
DISPLAY WKS-RESULTADO
ELSE
IF WKS-OPCION = "D"
DIVIDE WKS-NUM-1 INTO WKS-NUM-2 GIVING
WKS-RESULTADO
DISPLAY WKS-RESULTADO
ELSE
DISPLAY "OPERACION INVALIDA, VERIFIQUE".
HOLA, QUE ENTORNO (ide) ESTAS UTILIZANDO?
Hola Maximiliano Silva, utilizo el Micro focus cobol
Visual Studio
En "X NOT < Y" y "X NOT > Y" tambien se podría poner como "X NOT GRATER THAN Y" y "X NOT LESS THAN Y" (?)
Es una duda que tengo ya que puedes poner "NOT EQUAL".
Hola DaviGame92, si pones "X NOT GRATER THAN Y" y "X NOT LESS THAN Y" estás diciendo que X < = Y y X > = Y, por tanto pasa lo siguiente...
Si tuvieras X > Y, se cumple una sola condición de las 2 que tienes, en este caso ya que usas el AND, deben cumplirse las dos. Pero solo cumples X > = Y (dado que X es mayor) pero no cumples X < = Y.
Si tuvieras X < Y, se cumple igual solo una condición de las 2, porque X < = Y (cumple porque X es menor) pero no cumples X > = Y.
Si tuvieras X = Y, entonces SI cumples ambas condiciones, porque X < = Y (cumple al ser X igual a Y) y también X > = Y (cumple debido a X igual a Y), dado esto, es la única manera en que cumplen las condiciones.
Resolviendo tu duda completa... Entonces tu combinación más bien es un EQUAL en lugar de un NOT EQUAL (aunque es un EQUAL muy complejo para un programador inexperto jeje)
Si tu quisieras un NOT EQUAL igual así de complejo, más bien sería poner una negación de las condiciones NOT( (X NOT GRATER THAN Y) AND (X NOT LESS THAN Y)) eso en medio cristiano es NOT (X < = Y) y NOT ( X > = Y), que significa NO eres X < = Y y NO eres X > = Y, quiere decir que, X no puede ser mayor que Y, ni menor que Y, ni igual a Y, es decir, solo puede ser DIFERENTE o NO EQUAL, pero la verdad. todo esto suena a un gran lío :-o
Espero haber resuelto tu duda, aunque sonará a rosario la explicación jaja, saludos. :)
DaviGame92: Sí, son válidas las dos formas.
Tecno-logicos: Te las has liado lunga. La pregunta de DaviGame92 era más simple.
A mi me sale un bucle interminable del display del ooooo 1.-Usar calculadora 2.-Salir , y el código lo tengo igual
como te complicas