7527 - Algoritmos y Programación IV PLANIFICACIONES Planificaciones 7527 - Algoritmos y Programación IV Docente responsable: GUARNA PABLO FRANCISCO 1 de 6 Actualización: 2ºC/2016 7527 - Algoritmos y Programación IV PLANIFICACIONES Actualización: 2ºC/2016 OBJETIVOS Enseñar a los alumnos las técnicas de Diagramacion y Programación Estructurada. Enseñar a los alumnos los elementos del lenguaje COBOL, para su posterior puesta en práctica. Profundizar ambos tipos de conocimientos mediante el desarrollo de casos prácticos (tomados de su actual aplicación en el ámbito del sector público y privado), creando los diagramas estructurados y generando los correspondientes programas en COBOL. Para lograr dichos objetivos el programa consiste en: a) Desarrollo teórico, a cargo del docente responsable de la materia, de los elementos del lenguaje COBOL necesarios para resolver los casos prácticos. b) Resolución de estructuras clásicas efectuando el análisis y la diagramacion, así como su posterior codificación y ejecución mediante el uso de PC. c) Realización de un trabajo práctico, en distintas etapas, donde el alumno deberá interpretar el problema y lograr su solución mediante la aplicación de los temas vistos en clase. Deberá preparar su lote de prueba y someter su programa a una prueba de consistencia. CONTENIDOS MÍNIMOS - PROGRAMA SINTÉTICO El desarrollo de los conceptos de diagramacion y programación estructurada y su aplicación en lenguaje COBOL, basado sobre casos prácticos de actual aplicación en la vida profesional. PROGRAMA ANALÍTICO Temario Clases Teóricas 1. ESTRUCTURA DEL LENGUAJE COBOL. Juego de caracteres COBOL y su uso para palabras, puntuación, edición, expresiones aritméticas y condiciones de relación. Palabras reservadas, nombres y nombres especiales. Constantes figurativas y literales. Registros especiales. Referencia de datos por calificación, suscripción e indexación. 2. ESTRUCTURA DEL PROGRAMA COBOL Y NORMAS DE CODIFICACIÓN. Las cuatro divisiones de un programa COBOL y sus secciones, cláusulas y párrafos. Formato de codificación: números de secuencia; áreas A y B; encabezamientos de división y de sección; párrafos; niveles; continuación de líneas, de literales y de palabras; comentarios. 3. DIVISIÓN DE IDENTIFICACIÓN O "IDENTIFICATION DIVISION" Y DIVISIÓN DE AMBIENTE O "ENVIRONMENT DIVISION". Párrafos de "Identification Division". Secciones de "Environment Division". Párrafos de "Configuration Section". Párrafos de "Input-Output Section" y sus cláusulas. 4. DIVISIÓN DE DATOS O "DATA DIVISION". Organización y descripción de datos externos. Descripción de la estructura de datos, indicadores de nivel, números de nivel y de números de nivel especiales. Secciones de "Data Division". Cláusulas para descripción de archivos. Cláusulas para descripción de datos. Categorías de datos. Edición de datos. 5. DIVISIÓN DE PROCEDIMIENTO O "PROCEDURE DIVISION". Organización de "Procedure Division". Instrucciones condicionales, imperativas y al compilador. Condiciones. Condiciones compuestas y su evaluación. Sujetos operadores de relación implícitos. Instrucciones condicionales. Instrucciones aritméticas (verbos Add, Subtract, Multiply, Divide y Compute). Instrucciones de bifurcación (verbos Go, Alter, Perform, Call, Goback y Stop Run). Instrucciones de manejo de datos (verbos Move, Examine, Inspect, Transform, String, Unstring). Instrucciones de entrada y salida de datos (verbos Open, Close, Read, Write, Rewrite, Start, Accept y Display). Procedimientos de excepción (verbo Use). Instrucciones al compilador. Instrucciones para búsqueda de errores de programación ("debugging"). 6. TABLAS Y ARCHIVOS. Concepto de tabla. Indexación y suscripción: descripción, definición y procesamiento. Instrucciones relacionadas con el manejo de tablas (verbos Perform, Set y Search). Conceptos de tipo de organización de archivos y de tipos de procesamiento de archivos. Organizaciones secuencial, indexada y directa: descripciones y modos de procesamiento. Subsistemas de tipo VSAM: características, componentes, tipos de organizaciones, programa utilitario para servicio del subsistema. Concepto de sistema de Bases de Datos. 7. SUBPROGRAMAS. Concepto de programa llamador y de programa llamado. Conceptos de módulos, de programa ejecutable y de "link" o "linkedición". Subprogramas en COBOL, carga estática y dinámica. Convenciones de enlace. "Linkage Section" de "Data Division". Instrucciones en "Procedure Division" (verbos Call, Entry, Goback, Exit y Cancel). 8. CLASIFICACIÓN DE ARCHIVOS Y "SORT" INTRÍNSECO. Concepto de ordenamiento o clasificación de archivos. programas de clasificación y de intercalación 2 de 6 7527 - Algoritmos y Programación IV PLANIFICACIONES Actualización: 2ºC/2016 ("Sort/Merge"). Descripción general de "Sort" en "Environment Division" y en "Data Division". Instrucciones de "Procedure Division" para manejo del archivo de "Sort" (verbos Sort, Release y Return). 9. REPORT WRITER. El Report Writer de COBOL como primera aproximación a los lenguajes del tipo 4GL. "Report Section" en "Data Division": grupos de reporte y sus cláusulas. Instrucciones en "Procedure Division" (verbos Initiate, Generate, Terminate y Use). Registros especiales. Temario Clases Prácticas 1. DIAGRAMACIÓN ESTRUCTURADA. Conceptos. Ventajas y desventajas comparativas con la diagramación y programación lineales. Metodología de "Jackson". Estructuras y su representación simbólica: secuencia, iteración, selección. Representación de estructuras conocidas, usando la nueva metodología: if-then-else, case of, do while. 2. PROCESAMIENTO DE ARCHIVOS SECUENCIALES: UN ARCHIVO DE ENTRADA. Principio de la lectura adelantada: diagrama y ejemplos. Tratamiento de un archivo ordenado, con un corte de control: diagrama y ejemplos. Tratamiento de un archivo ordenado, con varios cortes de control de distintos niveles: diagrama y ejemplos. Estructura para el manejo de registros con distinto formato 3. PROCESAMIENTO DE ARCHIVOS SECUENCIALES: ARCHIVO DE IMPRESIÓN. Tratamiento de la impresión en COBOL. Encabezamientos generales y por corte de control. Totales generales y por corte de control. Salto de página, numeración de hojas, cantidad de líneas por hoja. 4. PROCESAMIENTO DE ARCHIVOS SECUENCIALES: DOS O MÁS ARCHIVOS DE ENTRADA ORDENADOS. Intercalación o "Merge" de archivos: diagrama general para una cantidad genérica de archivos, ejemplos y codificación COBOL. Apareo de dos archivos, como caso especial de la intercalación: diagrama general para un archivo maestro y uno de novedades, ejemplos y codificaciones COBOL. 5. PROCESAMIENTO DE ARCHIVOS INDEXADOS. Procesamiento en forma estructurada de archivos indexados con acceso secuencial, random o dinámico. Aplicación de los verbos Read, Start, Write, Rewrite y Delete. Declaración de claves alternativas. Utilización de "File Status". 6. PROCESAMIENTO DE TABLAS. Nociones de tablas en memoria, con una o varias dimensiones. Definición de tablas en lenguaje COBOL. Estructuras básicas de búsqueda en tabla, manejo de suscriptos. El verbo Perform en el manejo de tablas. Definición y utilización de tablas indexadas. Ejemplos del uso de tablas para el tratamiento de archivos secuenciales desordenados. 7. OTRAS ESTRUCTURAS Y OPERACIONES. Ordenamiento de archivos con el Sort intrínseco del lenguaje COBOL. Utilización de subprogramas. Implementacion de estructuras de Arbol y Red en lenguaje COBOL. Manejo de pantallas, verbos Accept y Display. 8 Entornos de desarrollo,preproduccion y produccion.Aplicaciones de negocios mhs usuales bancos, medios de pago, seguros, gobierno. 9 JCL (Job Control Lenguage) Introduccion a JCL, principales caracteristicas y sentencias. JOB, EXEC, DD, DISP, DCB, RECFM 10 Conceptos de CICS (Customer Information Control System) Conceptos de tarea, transacción y programa 11 Programacion con bases de datos. Codigo DB2 embebido en Lenguaje COBOL. BIBLIOGRAFÍA a) COBOL Avanzado, A. S. Philippakis y L. R. Kazmier - Editorial MC Graw Hill. b) COBOL Estructurado, A. S. Philippakis y L. R. Kazmier - Editorial MC Graw Hill. c) Curso de Programación Microsoft COBOL, J. Ceballos d) Programación en COBOL Estructurado, L. Newcomer e) Programación Avanzada en COBOL Estructurado, L. Newcomer f) Principios de Diseño de Programas, M. A. Jackson - Editorial PAMEL S.R.L. g) Principles of Program Design", M. A. Jackson - Editorial Academic Press Limited. h) Apuntes y guía de trabajos elaborada por los integrantes de la cátedra. RÉGIMEN DE CURSADA Metodología de enseñanza Se empleará un método de enseñanza orientado a lograr la participación de los alumnos durante el desarrollo de las clases, para lo cual se integran los aspectos teóricos con los ejercicios prácticos desarrollados por los alumnos. Se desarrollarán clases teóricas para la enseñanza del lenguaje COBOL, como herramienta de programación a aplicar en el desarrollo de los TP. Clases prácticas en donde los docente resolverán ejercicios tipo de la guía 3 de 6 7527 - Algoritmos y Programación IV PLANIFICACIONES Actualización: 2ºC/2016 de Trabajos Prácticos y luego darán soporte a los alumnos para la resolución de los restantes ejercicios de la guía de TP. Clases de consulta en las cuales cada grupo de alumnos será guiado por un ayudante en la resolución de un trabajo práctico por máquina. Modalidad de Evaluación Parcial La evaluación parcial consiste en un ejercicio escrito práctico que debe ser diagramado y codificado en forma estructurada en lenguaje COBOL. Se intenta detectar el dominio por parte de los alumnos en la resolución de problemas prácticos y su capacidad de análisis de los mismos. Los temas que cubre la evaluación serán los vistos durante las clases prácticas desarrolladas hasta la fecha de la evaluación. Cada evaluación se califica de 0 a 10 y para aprobar se requiere un puntaje mínimo de 4. La aprobación es global y no se admite recuperación por tema. También los docentes evaluaran en forma oral, individual o grupalmente a los alumnos sobre el desarrollo del trabajo practico grupal que deben ir realizando por PC, considerando esta evaluación como una nota conceptual que podrá tomarse en cuenta en la nota de la evaluación parcial. Habrá 2 recuperación por parcial. 4 de 6 7527 - Algoritmos y Programación IV PLANIFICACIONES Actualización: 2ºC/2016 CALENDARIO DE CLASES Semana Temas de teoría Resolución de problemas Laboratorio <1> 15/08 al 20/08 Presentación cátedra y elementos de la materiaHistori a de la Informatica Archivos Secuenciales Armado de Grupos <2> 22/08 al 27/08 Cobol. Estructura. Las 4divisiones. Ident. y Env. Estruc. Con corte de control Entrega de Temas <3> 29/08 al 03/09 Data Division. Secciones. Cláusulas. Estruc. RegistroCaratula Consulta <4> 05/09 al 10/09 Codificacion COBOL Estructura de Apareo Consulta <5> 12/09 al 17/09 Tablas. Tipos. Verbos para manejo de tablas. Estructura de Merge Consulta <6> 19/09 al 24/09 Arch. Organizacion es.Verbos de E / S. Ejs.Tablas Consulta <7> 26/09 al 01/10 Organización y Archivos Indexados acceso de archivos Consulta <8> 03/10 al 08/10 Verbo Redefines Rename Subprogramas Consulta <9> 10/10 al 15/10 Estructuras e instrucciones Subprograma s Repaso Consulta <10> 17/10 al 22/10 Conceptos de CICS Parcial Consulta <11> 24/10 al 29/10 Bases de Datos. Conceptos. Db2 en Codigo COBOL Consulta <12> 31/10 al 05/11 Instrucciones para el Manejo de Pantalla Recuperatorio Consulta <13> 07/11 al 12/11 Instruccion Sort Ejs. Diseños de Pantallas Consulta <14> 14/11 al 19/11 Análisis de un programa con Report Writer. Ejs.de Sort Consulta <15> 21/11 al 26/11 Instrucciones Especiales Tablas indexadas Consulta <16> 28/11 al 03/12 Conceptos de JCL Resumen de la Materia y ConclusionesRepaso Gral Consulta 5 de 6 Otro tipo Fecha entrega Informe TP Vto.Diagramacion Vto. Compilación Vto. Ejecución Vto. Final Bibliografía básica 7527 - Algoritmos y Programación IV PLANIFICACIONES Actualización: 2ºC/2016 CALENDARIO DE EVALUACIONES Evaluación Parcial Oportunidad Semana Fecha Hora Aula 1º 11 25/10 19:00 310 2º 14 15/11 19:00 310 3º 16 29/11 19:00 310 4º 6 de 6