ESTRUCTURAS ELEMENTALES Conceptos básicos

July 7, 2017 | Autor: Javier Barrientos | Categoria: Informática
Share Embed


Descrição do Produto

ESTRUCTURAS ELEMENTALES

Conceptos básicos
A continuación daremos unos conceptos importantes de recordar, ya que van a ser utilizados en el estudio de los siguientes capítulos.
Informática: Podernos definirla como el conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de computadores.
Codificación: Es una transformación que representa los elementos de un conjunto mediante los de otros, de forma que a cada elemento del primero le corresponde un elemento distinto del segundo.
Computadoras: Son máquinas capaces de aceptar unos datos de entrada, efectuar con ellos operaciones lógicas y aritméticas, y proporcionar la información resultante en un medio de salida.
Programas e Instrucciones
Instrucción: Es una orden de operación o tratamiento de datos que recibe el computador.
Programa: Es un conjunto ordenado de instrucciones que se dan al computador para indicarle las operaciones o tareas que se desean realice.
Lenguaje de programación: Conjunto de sentencias que deben ser escritas conforme a unas reglas que constituyen la gramática del lenguaje de programación
Hardware y Software
Hardware: Es el soporte físico de una computadora (circuitos electrónicos, cables, dispositivos electromecánicos y otros elementos físicos que forman la computadora)
Software: Es el conjunto de programas ejecutables en la computadora (sistema operativo, utilidades, de usuarios)
Tipos de software
Software de Control: Es el conjunto de programas que controlan el funcionamiento de los programas que se ejecutan y que administran los recursos hardware, haciendo que el uso del computador sea más eficiente (sistema operativo)
Software de diagnóstico y mantenimiento: Con este software se pretenden localizar de forma automática las averías de un determinado dispositivo o circuito.
Software de tratamiento: Es el conjunto de programas que sirve para resolver problemas de usuarios o realizar sus aplicaciones (procesador de textos, hojas de cálculo, bases de datos, correo electrónico, gráficos). También existen paquetes para las aplicaciones citadas.

Paquete o software integrado: Hace referencia a:
Las distintas aplicaciones que se diseñan con un objetivo o filosofía común.
Los archivos creados por cualquier aplicación pueden ser utilizados por los demás. Dentro de una aplicación se puede llamar a otra, de forma que pueden auxiliarse entre sí.
Tabla de decisión (TD): Es una técnica que permite expresar qué acciones deben ejecutarse cuando se cumplen una serie de condiciones. Persigue: mayor facilidad de representación, mayor facilidad de interpretación de las especificaciones y mejorar la facilidad de comprobación de que las especificaciones son completas.
Archivos
Concepto de variable: Un programa describe cómo manipular datos, pero los valores concretos de estos datos no se definen al codificar el programa sino que se trabaja con variables.
Ej: leer (a, b) a y b reciben valores (son variables)
n = a+ b; n recibe el valor suma de a + b (n es una variable)
Archivos, registros, campos: Un archivo es un conjunto de datos estructurados en una colección de entidades básicas que denominamos registros. Éstos son de igual tipo y constan de distintas entidades de nivel más bajo que se denominan campos. El contenido de los campos se denomina valor.
Instrucción de entrada: Es una operación o sentencia de un lenguaje de programación que lee los datos de un archivo.
Instrucción de salida: Es una operación o sentencia de un lenguaje de programación que escribe los datos en un archivo, pantalla o impresora.
Registro físico: Es la cantidad más pequeña de datos que pueden transferirse en una operación de E/S (Entrada/Salida) entre los periféricos y la memoria central o viceversa.

Ejemplo de registro: una empresa tendrá un registro por cliente

Registro: los guiones que figuran entre paréntesis representan los espacios para completar la longitud del campo:
23451JAIME Y CIA (-------)BUTARQUE, 23(--------)LA CIUDAD(-)LA PROVINCIA(---)
Instrucción de Entrada/Salida:
leer (NUMERO-CLIENTE,NOMBRE-CLIENTE,CALLE-CLIENTE, POBLACIÓN-CLIENTE,PROVINCIA-CLIENTE)
Datos pasados a cada variable:

Tipos de archivos
Permanentes: Sus registros permanecen inalterables en los distintos procesos. Por ejemplo, consultas.
Dependiendo de la frecuencia de actualización:
archivos de constantes (maestros)
archivos de situación (sus registros se actualizan muy frecuentemente; por ejemplo, reserva billetes)
archivos históricos (información de resultados finales de tratamiento)
Movimientos: Sirven para la actualización de los archivos maestros
Maniobra de trabajo: Contienen información de resultados intermedios; por ejemplo, importe de nómina para la aplicación de contabilidad.
Utilización de los archivos
Las operaciones sobre archivos después de su creación son: la actualización y consulta.
Creación: Es el almacenamiento en un soporte de los registros que lo constituyen.
Actualización: O mantenimiento es la operación que permite actualizar o poner al día los registros del archivo.
Consulta: Es la operación que permite la búsqueda de un registro del archivo.
Organización de archivos
Los métodos para organizar un archivo son:
Organización secuencial: Su característica fundamental es la de almacenar físicamente los registros en orden directo a su secuencia lógica de clasificación. Para acceder a un registro hay que tratar el archivo completo.
Organización aleatoria: Basada en la independencia del orden de almacenamiento de los registros con relación a su secuencia lógica. Se puede acceder a un registro sin necesidad de tratar el resto.
Un archivo está organizado en modo directo cuando el orden físico en que están almacenados sus registros no se corresponde con el orden lógico.
Técnicas de diseños de programas
Organigrama: Es una técnica gráfica que sirve para expresar el orden en que deben ejecutarse las instrucciones.
Pseudocódigo: Es una técnica alternativa a la anterior que sirve para realizar programas. Emplea palabras claves (sentencias) que indican el tipo de operación a realizar. Por ejemplo, un conjunto de operaciones que tienen que realizarse respectivamente estarían contenidas en las palabras clave:
DOWHILE Sentencia DOEND
CONSIDERACIONES GENERALES EN LA CONSTRUCCIÓN DE PROGRAMAS
A continuación, enunciamos unos aspectos que deben tenerse en cuenta cuando se lleva a cabo la actividad de construcción:
Los programas o componentes de programas están sujetos a variaciones continuas para adaptarse a las necesidades cambiantes de sus usuarios.
A los programadores les gusta realizar programas nuevos en vez de tener que modificar programas realizados por otros programadores, porque les lleva mucho tiempo y esfuerzo entender cómo se han realizado.
Cuando se modifica un programa que ha estado funcionando correctamente hasta su modificación, puede que deje de hacerlo si no se aborda un conjunto de pruebas previamente a su operación.
La actividad de construcción de programas debe basarse en una actividad inicial de análisis/estudio de la información a tratar. Posteriormente, en una actividad de diseño y validación de la solución. Por último, en la escritura y prueba rigurosa del programa.
Muchos programadores con escasa formación en la construcción de programas dedican poco tiempo al análisis de la información a tratar y al diseño de su solución. Pasan rápidamente a escribir el programa dando como resultado programas que fallan y dedicando posteriormente mucho tiempo a corregir dichos errores.
Está demostrado que los principales costos de la construcción de programas es debido al trabajo empleado para corregir los errores de un mal diseño.

PRINCIPIOS
¿QUÉ ES?
La construcción lógica de programas (CLP) es una concepción que estimula al programador a diseñar programas, no a codificar.
Se aplican los siguientes principios:
Estructuras básicas
Recursos abstractos
Razonamiento Top-Down
Estructuras básicas:

Secuencia: Es un conjunto de instrucciones que se ejecutan todas el mismo número de veces en el mismo lugar del programa.
Alternativa: De pendiendo de una condición se ejecuta una secuencia (B) u otra (A).
Repetitiva: Se repite una secuencia hasta que se cumpla una condición.
Ventaja de la utilización de este principio básico: Permitirán una mejor comprensión del programa, así como una reducción del tiempo de pruebas.
Recursos abstractos: Son sentencias abstractas de un súper-lenguaje inexistente que va siendo creado a medida que es necesario descomponer acciones complejas en términos de otras más elementales, como si se tratara de un programa para una súper máquina.

Ventaja de la utilización de este principio básico: La experiencia demuestra que programas similares usarán recursos similares, facilitando así la legibilidad del programa y por tanto el mantenimiento del mismo.
Razonamiento Top-Down: Marcha analítica reflejada en niveles o pasos consecutivos de refinamientos, cada uno de ellos poseyendo sus propios recursos abstractos que permiten resolver el programa por completo.

La especificación de un problema
Como cualquier otro, un problema de informática no se puede solucionar si no se ha especificado de una manera completa.
Llamamos datos a las informaciones escritas que entran, se almacenan o salen de un computador.
La computadora puede ser considerada como una máquina de producir datos (Figura 1.1)
Una computadora puede suministrar resultados de sondeos, descuentos de la Seguridad Social, boletines de salarios, etc.



La especificación de un problema de informática, para que pueda ser tratado informáticamente, debe contener:

1. Qué datos se quieren obtener a la salida.

2. Bajo qué presentación se quieren obtener esos datos, es decir, sobre qué soporte y de qué modo.

3. Qué datos se necesitan a la entrada del computador para poder obtener las salidas.

4. Mediante qué cálculos y bajo qué condiciones se deben, llegado el caso, transformar los datos de entrada en los datos de salida.


Definición de los datos a la salida
Suministrar un modelo de salida que describa la disposición de los datos sobre una página en papel o sobre una pantalla, permite detallar la presentación de las salidas; es decir, solamente nos indica el formato en que los datos van a ser impresos o la manera en que se van a presentar en pantalla, pero no exactamente qué datos se quieren producir.
Para saberlo, hay que definir primero el conjunto de los datos que se quiere obtener.
Un conjunto es una colección de elementos distintos. Toda colección de datos constituye un conjunto en el sentido matemático del término.
Regla: Todo conjunto debe ser subdividido en subconjuntos partiendo del nivel más alto y empleando las leyes de subdivisión apropiadas.
Esta regla se aplica tanto a la organización de los datos como a la de los programas y resultados.
Todo conjunto debe tener una definición. La definición de un conjunto puede hacerse dando las características de un elemento. Ésta es la definición "en compresión".
Ejemplo: El conjunto de los pedidos realizados por los clientes y tomados por un dependiente de un comercio en el curso de una semana; el elemento es una orden de pedido cumplimentada.
La definición en comprensión no permite conocer cuántas órdenes de pedido se han cumplimentado.
La definición de un conjunto se puede hacer también dando la lista completa de los elementos que lo componen. Es la definición "en extensión".
Ejemplo: Se enumera la lista de pedidos realizados por los clientes y que son tornados por un dependiente en el curso de una semana.
Esta definición, aunque es más completa, no permite, sin embargo, saber cómo se ha construido o, en otros términos, cuál es la estructura del conjunto de las órdenes de pedido.
En conclusión, es esencial conocer en informática ambos tipos de definición de los datos.
Vamos a ver cómo llegar a construir esta estructura imaginando al director comercial de la sociedad a la que pertenece el dependiente citado más arriba. Este director se enfrenta al problema siguiente: Suministrar a los dependientes un modelo y las reglas de redacción de las órdenes de pedido (figura 1.2).

El director comercial conoce el conjunto de los datos cuya estructura quiere definir: es el conjunto de las órdenes de pedido.
La información contenida en un conjunto de datos es susceptible de ser agrupada en subconjuntos jerárquicos, partiendo del nivel más alto, atendiendo a algún criterio de subdivisión.
Pueden surgir dos estructuras:
Estructura repetitiva
Estructura alternativa
ESTRUCTURA REPETITIVA
Se dice que un conjunto de datos a la salida es de estructura repetitiva cada vez que un conjunto tal contiene un subconjunto que está presente 1 a n veces en el primer nivel de subdivisión de este conjunto.
Criterio de subdivisión. ¿Hay en este conjunto de datos algún subconjunto alto nivel que se encuentre un número de veces diferentes de UNO? si es así, se efectúa la subdivisión.
Ejemplo de criterio de subdivisión: Es el conjunto de las ordenes de pedido, ¿hay un subconjunto presente un número de veces diferente de UNO? La respuesta es SI, en el más alto nivel se tienen los datos de un encargo tantas veces como se haya tomado el encargo.
Decimos que se repite c veces (c veces) y representamos esta estructura según se muestra en el diagrama.

El conjunto se ha subdividido en el nivel N1. Decimos que este conjunto es de estructura repetitiva, ya que hay varias órdenes de pedido en el conjunto.
Continuamos el estudio tomando esta vez una orden de pedido (el conjunto de nivel 1 – N1) Aplicamos el criterio de subdivisión, para lo que hacemos la pregunta: ¿Hay en una orden de pedido un subconjunto de datos presente un número de veces diferente de UNO? Suponemos que la respuesta es SI. En una orden de pedido hay un subconjunto de datos que se refiere a un producto comprado p veces, es decir, tantas veces como el cliente hay a comprado productos. El número p, que puede tomar un valor cualquiera, es por lo menos igual a uno o mayor.
Lo que acabamos de exponer puede extraerse de forma simple y concisa, desarrollando el diagrama comentado a continuación:

El conjunto de las ordenes de pedido podría estar redactado por unos dependientes.
También podría ser impreso por un computador en el que se habrían introducido los datos con la ayuda de un teclado.
La necesidad de describir minuciosamente los datos a obtener se hace sentir particularmente cuando estos datos deben ser producidos por el computador.
Una vez descritas las estructuras de datos de salida, hay que, en cada conjunto o subconjunto, enumerar los datos presentados UNA vez. Se puede anotar para cada dato presente (1 vez) También se puede, para disminuir la documentación, establecer la lista de los datos presentes una vez en un subconjunto y colocar la mención: (1 vez) en fin de lista. Conservamos la segunda formula en esta obra.
Ejemplo en el que se muestran varios campos presentes 1 vez. Para una orden de pedido, hay que indicar la Fecha de compra, el Nombre y la Dirección del cliente, la Fecha de entrega del pedido, cada uno de ellos UNA vez por pedido.
Para un producto encargado, hay que indicar el Nombre del Producto y la Cantidad comprada.
Cuando no se puede subdividir más, los elementos obtenidos se denominan campos. Los campos suelen representarse por medio de abreviaturas o palabras. El Campo "NOM- CLIENT" tiene como contenido los nombres de los clientes: "Sociedad DUPONT", "Compañía de Distribución de las Aguas" u otras.
Para simplificar la documentación y hacer más rápida la lectura del diagrama, se da a cada palabra elemental una abreviatura.
El nombre de un campo se compone de palabras elementales. El campo "NOM- CLIENT" se compone de dos palabras elementales: NOMBRE y CLIENTE.
Ejemplo de abreviatura de nombres. Sean las dos palabras elementales, producto y cantidad. Se elige como abreviatura PRO para producto y CAN para cantidad. El campo "cantidad producto" tiene por abreviatura: CAN PRO.
Cuando se emplea la informática, es esencial definir la lista de las palabras elementales que forman los nombres de los campos, para evitar emplear la misma palabra con diferentes significados, o tener varias palabras que signifiquen lo mismo.
Es esencial, en informática, conocer las definiciones en comprensión y en extensión de los conjuntos de datos. También es muy importante conocer la estructura del conjunto en subconjuntos.
El diagrama jerárquico permite, partiendo de la definición en comprensión de un conjunto de datos, llegar, nivel por nivel, a definir las estructuras para finalmente obtener la lista completa de campos.
Teniendo en cuenta las reglas que acabamos de enunciar, he aquí el diagrama descriptivo completo de las órdenes de pedido tomado como ejemplo:

Algunos autores representan la unión en el nivel N3 con una línea punteada para indicar que cada campo anotado en este nivel está presente una vez y sólo una, además de indicar 1 vez.
El conjunto que acabamos de describir en el N3 es un conjunto de campos, cada campo es un elemento.
Este conjunto (Órdenes de pedido) está estructurado en subconjuntos.
ESTRUCTURA ALTERNATIVA
Además de la estructura repetitiva, existe una segunda estructura elemental: la estructura alternativa. Un conjunto de datos es de estructura alternativa si contiene un subconjunto que puede seguir los casos, estar presente o ausente. Anotaremos que este subconjunto está presente 0 o 1 vez en el conjunto considerado.


Presentación de los datos a la salida
El diagrama jerárquico de las salidas, del que volveremos hablar varias veces, permite indicar exactamente qué conjunto de datos se quiere presentar y cómo está estructurado este conjunto.
El orden jerárquico está expresado de izquierda a derecha. El orden de lectura de los datos de arriba abajo. Así en el ejemplo se deben disponer los datos en el orden CAMPO-H, CAMPO-J, CAMPO-K, CAMPO-L, etc.
El modelo de salida debe ser establecido una vez terminado el diagrama jerárquico y permite disponer los datos sobre su soporte según la conveniencia de los usuarios.
Ejemplo en el que mostramos un modelo de salida:.
Éste es el diagrama jerárquico, archivo lógico de salida (FLS):

Éste es un Modelo de Salida que respeta las indicaciones del diagrama

La línea con puntos indica que los campos presentados en la parte superior responden a la primera página y sucesivas de la lista, y las de la parte inferior a la última página.
El Modelo-Salida permite precisar la presentación exacta que se desea obtener: márgenes, espacios entre los campos e interlíneas. Abordaremos más tarde el problema de cambios de página y de los títulos, problema un poco más técnico que debe ser expresado por los usuarios y cuya resolución deben efectuarla los informáticos.





Las entradas, los cálculos y las condiciones
Para que el enunciado de un problema de programación sea completo, después de haber definido el conjunto de datos a la salida y la presentación de este conjunto, hay que conocer los datos de entrada y, llegado el caso, los cálculos a efectuar para transformar las entradas en salidas así como las condiciones eventuales.
Toda esta información se recoge en el Diccionario de Datos, que tendrá una entrada para cada uno de los elementos de datos considerados en el problema indicado
El Diccionario de Datos recoge la información descrita en las cuatro columnas siguientes:
ABREVIATURA
DESCRIPCIÓN
ALGORITMO
CONDICIONES
Ejemplo de Diccionario de Datos:

En la columna "abreviatura" figura el nombre exacto que se utiliza para nombrar cada uno de los campos que se usan en las especificaciones del problema y su solución; el ejemplo, MAT-EST NOM-EST, NACLIDAD, TOT-EST, TOT-GEN-EST
La columna "descripción" tiene un detalle algo más descriptivo del campo que figura en la columna abreviatura; en el ejemplo, cuando se pone NOM-EST nos estamos refiriendo al Nombre del estudiante
En la columna "algoritmo" estará reflejada la formula que se usa en el programa para obtener el elemento correspondiente; en el ejemplo podemos observar que los tres primeros campos no tienen algoritmo, mientras que en TOT-EST el algoritmo indica que en este campo hay que sumar 1 por cada estudiante que se trata en el programa. En cuanto al campo TOT-GEN-EST, el algoritmo indica que éste contiene el sumatorio de todos los estudiantes tratados.
En la columna "condiciones" se incluye la condición asociada que debe darse para que el campo correspondiente figure en el modelo de salida; en el diccionario de datos del ejemplo sólo hay un campo con condición que es el campo NACLIDAD, que indica que el campo se imprimirá cuando el estudiante es extranjero.
El conjunto de los campos de un archivo constituye el diseño de registro de ese archivo llamado formato de registro.
Cada registro en el ejemplo elegido contiene los datos relativos a un estudiante. Este es el diseño de registro del archivo de datos referidos a los estudiantes:

Se observa que al Nombre de un Estudiante (NOM-EST) le corresponde la Matrícula de este Estudiante (MAT-EST).
Para identificar un campo o un conjunto de campos en informática, se deben siempre acompañar estos campos con los códigos, ya que los nombres pueden estar repetidos.
Hay que señalar igualmente que el único campo de salida que sale bajo condición es el campo "Nacionalidad", ahora bien, éste está presente en la salida 0 o 1 vez por estudiante.
Regla: Todo campo anotado 0 o 1 vez en el diagrama jerárquico implica una condición de salida anotada en la columna CONDICIONES del DICCIONARIO DE DATOS.
Tanto el Diccionario de Datos como los campos de Abreviaturas y Descripción nunca pueden estar vacíos, los de Condiciones y Algoritmo de Obtención SÍ pueden estarlo.




Resumen
El enunciado de un problema de programación supone la puesta a punto de cuatro documentos:
1. El Diagrama Jerárquico de las salidas del programa.
2. El Modelo de las Salidas.
3. El Diccionario de Datos.
4. La descripción del "Formato de Registro" de los archivos a la entrada.
Si el enunciado no es correcto, es inútil ir más lejos mientras que los puntos oscuros no se esclarezcan.

Problema
Se desea obtener un listado por impresora en el que se detallen las órdenes de pedidos tomados por un dependiente.
Para una orden de pedido hay que indicar: la fecha del día del pedido, el nombre y la dirección del cliente, así como la fecha de entrega del pedido.
En cada orden de pedido se pueden encargar uno o varios productos.
Para un producto encargado hay que indicar el nombre del producto y la cantidad pedida.
Modelo de salida:

Se pide: Indicar cuál es el FLS de dicho programa.


SOLUCIÓN:
ARCHIVO LÓGICO DE SALIDA:
Primer nivel:
¿Hay en el conjunto de datos de las órdenes de pedido algún subconjunto cuyos datos estén presentes en la salida del programa un número de veces diferente de uno? La respuesta es:
SÍ. Órdenes de pedido
El FLS es:

En el nivel N1 el conjunto de datos se subdivide, ya que los datos que se refieren a un pedido van a estar presentes tantas veces como pedidos haya, que es lo que marca el criterio de subdivisión
Segundo nivel:
¿Hay en el subconjunto de datos órdenes de pedido algún subconjunto cuyos datos estén presentes en la salida del programa un número de veces diferente de uno? La respuesta es:
SÍ. Producto-Comprado
Dentro del conjunto de datos de una orden de pedido se utilizan los datos de un producto comprado tantas veces como productos haya.
El FLS es:

Dentro del conjunto de datos de un producto específico no hay ningún subconjunto de datos que esté presente en el modelo de salida un número de veces diferente de uno, por lo tanto el FLS está terminado en cuanto a los subconjuntos a presentar.
El siguiente paso es añadir los campos correspondientes a cada nivel.

El diagrama jerárquico se llama Archivo Lógico de Salida, (FLS)


En primer lugar ponemos los campos de N2 para completar todos los elementos del conjunto ORDEN-PEDIDO. Los campos que figuran en el modelo de salida para cada orden de pedido son: FEC-DIA, NOM-CLI, DIR-CLI y FEC-ENT.
Seguidamente deben ponerse los campos que forman parte del subconjunto PRODUCTO-COMPRADO y que están presentes en el modelo de salida. Estos campos son: NOM-PRO y CAN-PED.


Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.