COBOL L2 - COBOL Curso completeOnline version COBOL Curso complete by HR Mexico 1 Estás trabajando en un programa COBOL que necesita procesar un archivo VSAM muy grande. ¿Qué técnicas de optimización utilizarías para minimizar el tiempo de procesamiento? a Leer el archivo registro por registro. b Ignorar la estructura del archivo VSAM y tratarlo como un archivo secuencial. c Utilizar la sentencia READ NEXT con la opción WITH LOCK para cada registro. d Ajustar el tamaño del buffer VSAM, utilizar READ con claves, y considerar la posibilidad de utilizar un índice alternativo. 2 ¿Cómo manejarías una situación en la que necesitas realizar un cálculo complejo que requiere precisión arbitraria en COBOL? a Utilizar variables numéricas estándar y aceptar la pérdida de precisión. b Utilizar variables alfanuméricas para representar los números y realizar los cálculos manualmente. c Utilizar la cláusula USAGE IS COMP-1 para maximizar la precisión. d Utilizar la cláusula USAGE IS COMP-3 con una definición de datos lo suficientemente grande, o considerar el uso de una rutina externa escrita en otro lenguaje que ofrezca soporte para precisión arbitraria. 3 ¿Qué implicaciones de seguridad debes considerar al utilizar sentencias SQL incrustadas en programas COBOL (EXEC SQL)? a No hay implicaciones de seguridad. b Utilizar sentencias preparadas (prepared statements) con parámetros para evitar ataques de inyección SQL. c Asumir que la base de datos es segura por sí sola. d Permitir que los usuarios escriban sus propias consultas SQL. 4 ¿Cómo se pueden utilizar las "call statements" para implementar una arquitectura modular en COBOL? a Utilizar CALL para llamar a todos los párrafos dentro del mismo programa. b Utilizar CALL para transferir el control a subprogramas compilados por separado, permitiendo la reutilización del código y la modularidad. c Utilizar CALL solo para llamar a programas escritos en otros lenguajes. d Evitar el uso de CALL por completo. 5 ¿Cómo se gestiona el manejo de errores en programas COBOL que interactúan con bases de datos SQL? a Ignorando los errores y asumiendo que todo funciona correctamente. b Utilizando la cláusula WHENEVER SQLERROR para capturar y gestionar los errores SQL. c Deteniendo el programa si ocurre un error. d Dejando que el usuario se encargue de los errores. 6 ¿Qué estrategias utilizarías para mejorar la mantenibilidad de un programa COBOL grande y complejo? a Escribir todo el código en un solo párrafo. b Utilizar nombres de variables y párrafos crípticos para proteger el código. c Utilizar comentarios extensivos, dividir el código en módulos pequeños y cohesivos, y seguir las convenciones de codificación establecidas. d Ignorar la mantenibilidad y centrarse solo en la funcionalidad. 7 ¿Cómo se pueden utilizar las tablas (arrays) en COBOL para procesar datos estructurados de forma eficiente? a Evitando el uso de tablas por completo. b Utilizando la cláusula OCCURS para definir tablas y utilizando subíndices o índices para acceder a los elementos de la tabla. c Tratando los datos estructurados como un archivo secuencial. d Almacenando cada elemento de la tabla en una variable separada 8 ¿Qué es la sentencia SORT en COBOL y cómo se utiliza para ordenar datos? a Una sentencia para realizar cálculos matemáticos b Una sentencia para ordenar registros de un archivo o tabla basándose en una o más claves. c Una sentencia para buscar datos en un archivo. d Una sentencia para imprimir datos. 9 ¿Cómo se gestionan los archivos secuenciales en COBOL? a Utilizando sentencias SQL. b Definiendo los archivos en la FILE SECTION de la DATA DIVISION, abriéndolos con la sentencia OPEN, leyendo o escribiendo registros con las sentencias READ o WRITE, y cerrándolos con la sentencia CLOSE. c Tratándolos como tablas. d Ignorando los archivos secuenciales. 10 ¿Cómo se pueden utilizar las sentencias EVALUATE para implementar lógica condicional compleja en COBOL? a Utilizando solo sentencias IF. b Utilizando EVALUATE para evaluar múltiples condiciones y ejecutar diferentes bloques de código basándose en el resultado c Evitando la lógica condicional por completo. d Utilizando sentencias SQL. 11 ¿Qué es la IDENTIFICATION DIVISION en un programa COBOL y cuál es su propósito? a La sección donde se define la lógica del programa. b La sección donde se declaran las variables. c La sección donde se especifica el nombre del programa, el autor y otra información descriptiva. d La sección donde se definen los archivos. 12 ¿Qué es la ENVIRONMENT DIVISION en un programa COBOL y cuál es su propósito? a La sección donde se define la lógica del programa. b La sección donde se declaran las variables. c La sección donde se define la información específica del entorno en el que se ejecutará el programa, como la asignación de archivos a dispositivos físicos. d La sección donde se especifican los derechos de autor. 13 ¿Qué es la DATA DIVISION en un programa COBOL y cuál es su propósito? a La sección donde se define la lógica del programa. b La sección donde se declaran y definen todas las variables, archivos y otras estructuras de datos utilizadas en el programa. c La sección donde se especifica el nombre del programa. d La sección donde se definen los procedimientos. 14 ¿Qué es la PROCEDURE DIVISION en un programa COBOL y cuál es su propósito? a La sección donde se definen las variables. b La sección donde se declara el nombre del programa. c La sección donde se define la lógica del programa, incluyendo las sentencias que se ejecutan para procesar los datos. d La sección donde se definen los archivos. 15 ¿Qué es la "programación estructurada" y cómo se aplica en COBOL? a Un paradigma de programación que no se puede aplicar en COBOL. b Un paradigma de programación que enfatiza el uso de estructuras de control como secuencias, selecciones (IF-THEN-ELSE) y repeticiones (DO-WHILE), evitando el uso excesivo de GO TO para mejorar la legibilidad y la mantenibilidad del código. c Un paradigma de programación que utiliza solo sentencias GO TO. d Un paradigma de programación que no requiere planificación. 16 ¿Cómo se puede realizar la validación de datos en COBOL? a Ignorando la validez de los datos. b Utilizando sentencias IF y EVALUATE para verificar que los datos cumplen con las reglas de validación definidas, y rechazando los datos inválidos. c Asumiendo que los datos siempre son correctos d Dejando que los usuarios validen los datos manualmente. 17 ¿Cómo se pueden crear subprogramas en COBOL para reutilizar código? a Copiando y pegando el código repetidamente. b Definiendo subprogramas como programas COBOL separados y llamándolos desde otros programas utilizando la sentencia CALL. c No se pueden crear subprogramas en COBOL. d Utilizando sentencias SQL. 18 ¿Cómo se puede acceder a datos de un archivo secuencial en COBOL? a Utilizando sentencias SQL. b Definiendo el archivo en la FILE SECTION, abriéndolo con OPEN, leyendo registros con READ, y cerrándolo con CLOSE. c Tratando el archivo como una tabla. d Asumiendo que los datos están en memoria. 19 ¿Cómo se pueden utilizar las sentencias STRING y UNSTRING para manipular cadenas de texto en COBOL? a Estas sentencias no existen en COBOL. b Utilizando STRING para concatenar múltiples cadenas de texto en una sola, y UNSTRING para dividir una cadena de texto en múltiples cadenas basándose en un delimitador. c Utilizando solo sentencias MOVE. d No se puede manipular texto en COBOL. 20 ¿Qué consideraciones éticas debes tener en cuenta al desarrollar programas COBOL que manejan información personal sensible? a No hay consideraciones éticas. b Cumplir con las leyes y regulaciones de privacidad de datos, proteger la confidencialidad de los datos, y asegurar que los datos se utilizan solo para fines legítimos y autorizados. c Vender los datos a terceros. d Ignorar las regulaciones.