Sunteți pe pagina 1din 191

LGICA COMPUTACIONAL Y PROGRAMACIN

C u a d ernillo d e p ro cedim ien to s pa ra el a pren d iza je (V er si n par a fase in icial)

C ON L A C O LA B ORA CI N DE L uis G abriel M ondragn To rre s

LGICA COMPUTACIONAL Y PROGRAMACIN


Cuadernillo de procedimientos para el aprendizaje 1999. Secretara de Educacin Pblica/ Direccin General del Bachillerato COSTO DE RECUPERACIN $ 12.00

NDICE
Presentacin............................................................................................................................................................ UNIDAD I. Lgica computacional................................................................................................................. 1. Conceptos generales........................................................................................................................................... 2. Programacin lineal........................................................................................................................................... 3. Programacin estructurada.............................................................................................................................. 4. Programacin orientada a objetos.................................................................................................................. Qu he aprendido?................................................................................................................................................ Quiero saber ms..................................................................................................................................................... UNIDAD II. Estructura de datos.................................................................................................................... 1. Datos...................................................................................................................................................................... 2. Conjuntos.............................................................................................................................................................. 3. Registros................................................................................................................................................................ 4. Arreglos................................................................................................................................................................. Qu he aprendido?................................................................................................................................................. Quiero saber ms..................................................................................................................................................... UNIDAD III. Programacin estructurada bsica..................................................................................... 1. Declaracin de las estructuras de datos......................................................................................................... 2. Operaciones bsicas............................................................................................................................................ 3. Archivos................................................................................................................................................................. 4. Operaciones con archivos.................................................................................................................................. Qu he aprendido?................................................................................................................................................ Quiero saber ms..................................................................................................................................................... UNIDAD IV. Programacin estructurada intermedia............................................................................. 1. Procedimientos y funciones............................................................................................................................... 2. Impresin de reportes........................................................................................................................................ 3. Lenguajes de programacin estructurada..................................................................................................... Qu he aprendido?................................................................................................................................................. Quiero saber ms..................................................................................................................................................... UNIDAD V. Programacin orientada a objetos......................................................................................... 1. Especificaciones para el pseudocdigo........................................................................................................... 2. Proceso para el desarrollo de soluciones....................................................................................................... 3. Lenguajes de programacin orientada a objetos......................................................................................... Qu he aprendido?................................................................................................................................................. Quiero saber ms..................................................................................................................................................... 5 8 12 14 16 18 20 23 24 26 27 28 29 32 33 34 36 38 40 43 45 47 48 50 55 57 59 60 61 63 64 67 68 69

PRESENTACIN

LGICA COMPUTACIONAL Y PROGRAMACIN

En el marco del Bachillerato General, la Capacitacin en Informtica tiene como

finalidad brindarte un acercamiento al campo laboral, a travs de desarrollar procesos de trabajo tales como uso de aplicaciones de tipo general o especfico, diseo de sistemas y bases de datos, as como el manejo de redes y la lgica computacional para plantear soluciones a problemas relacionados con la informtica. Al egresar de esta capacitacin podrs operar como el enlace entre usuarios de sistemas de informacin y computadoras personales o conectadas en red, utilizando programas de aplicacin general o especfica. De igual modo, podrs implementar sistemas elementales de informacin utilizando tcnicas de anlisis y diseo de sistemas, bases de datos relacionales y herramientas de programacin. La Informtica ha avanzado a pasos gigantescos en la ltima dcada, de tal forma que los grandes equipos de cmputo que consuman enormes cantidades de energa, ahora se han convertido en computadoras porttiles con bateras recargables de larga duracin. A la par de esta evolucin del hardware ha evolucionado tambin el software, definindose aplicaciones con interfaces cada vez ms amigables con el usuario. Esta evolucin se ha dado al tratar de acercarnos cada vez ms a los procesos que se realizan en nuestra vida cotidiana para resolver problemas de cualquier ndole. La asignatura de Lgica Computacional y Programacin es vital para entender que la elaboracin del software requiere que el programador tenga un pensamiento lgico, razonado y sistemtico, para plasmar dichos procesos de uso cotidiano en sentencias entendibles por la computadora y, por ende, la utilizacin de sta como un medio electrnico para realizar tareas. Conforme vayas avanzando en el estudio de esta asignatura, te dars cuenta que no es fcil desarrollar soluciones prcticas en el primer intento, ya que para lograrlo necesitars aplicar las metodologas para la solucin de problemas presentadas en este curso, encontrando as, cada vez que resuelvas un problema, mayor facilidad para planear buenas soluciones. Esta asignatura no slo te ayudar a resolver problemas de informtica, tambin te dar elementos para resolver problemas escolares o de tu vida cotidiana, permitindote lograr una mejor organizacin en tus actividades diarias. La asignatura de Lgica Computacional y Programacin pretende brindarte los elementos tericos-prcticos de la metodologa estructurada, para desarrollar formas de pensamiento lgicas que requiere esta disciplina, por lo cual se considera una de las asignaturas bsicas de la Capacitacin. En esta asignatura revisaremos temas relacionados con metodologas para resolver problemas simples y complejos, de tal forma que desarrolles habilidades que te permitan planear soluciones alternativas a las propuestas en las prcticas. La informtica nace como una solucin para resolver problemas que requieran realizar muchas operaciones, de tal forma que se definen ciertos lenguajes de programacin para escribir instrucciones que la computadora entienda, es decir, un lenguaje mquina. En un principio los lenguajes de programacin llamados de bajo nivel se acercaban mucho al lenguaje mquina, tal es el caso del lenguaje ensamblador; posteriormente fueron evolucionando dichos lenguajes a un lenguaje ms coloquial, 5

por lo cual se requiri de un traductor a lenguaje mquina, dichos lenguajes se conocen como lenguajes de programacin de alto nivel. A partir de esta evolucin es como surgen las diferentes metodologas de programacin, empezando por la programacin lineal, la cual resuelve problemas simples de una forma secuencial. Con el paso del tiempo se ha visto que esta metodologa no siempre permite generar programas grandes o complejos de una forma organizada, ya que el programador puede perder la secuencia lgica del programa al revisar los cdigos generados para resolver dichos problemas. Es as como surge la propuesta de una nueva metodologa orientada a resolver problemas grandes de una forma estructurada, al segmentar un problema en problemas ms simples, programando soluciones especficas para cada segmento o mdulo. Es as como la programacin estructurada permiti por primera vez realizar grandes programas de cmputo organizados y estructurados, fciles de leer y corregir, esta metodologa sigue vigente hasta nuestros das. Al empezar a implementarse aplicaciones de tipo grfico diseadas en un lenguaje de programacin lineal o estructurado, se ve la necesidad inminente de evolucionar nuestras metodologas de programacin a un lenguaje de programacin que permita generar objetos grficos, los cuales realicen tareas especficas al operarlos de formas diferentes, pero sin perder de vista la modularidad de los procesos. Es as como surge la programacin orientada a objetos, la cual se fundamenta en una metodologa de programacin estructurada. Actualmente, la tendencia es a una metodologa de programacin orientada a eventos, ya que en sta nicamente definimos los procesos para los objetos ya definidos por el lenguaje de programacin y no en s al objeto, facilitando enormemente la tarea de disear objetos. Las unidades estn constituidas por las siguientes secciones: Qu voy aprender? En este apartado encontraremos los propsitos y los objetivos de cada una de las unidades didcticas. Es muy importante que tengas en mente lo que vas a lograr con el estudio de los temas del programa, tener claridad de la meta es fundamental para poder utilizar las herramientas de que disponemos para llegar a ella. Con la intencin de presentarte un proceso de trabajo, en la primera unidad se describe el planteamiento de una situacin laboral real, la cual llamaremos situacin de aprendizaje. Durante el desarrollo de toda la gua se harn referencias al Manual de Ejercicios y Prcticas, en donde se presentar la solucin parcial de dicha situacin; la parte faltante te corresponder desarrollarla. Tambin debes desarrollar las prcticas, ya que ellas te darn los elementos de modelaje en la solucin de la situacin de aprendizaje. Cmo aprendo? En esta seccin encontrars las actividades de aprendizaje, mismas que te irn llevando paso a paso a travs de estrategias de solucin, pero sintete con la libertad de probar otros caminos despus de que hayas dominado el que se te propone. Para que puedas realizar las actividades, es conveniente que entiendas la manera particular en la que se estructura el Cuadernillo de procedimientos para el aprendizaje con respecto a un tema determinado. Te presentamos en todos los temas una tabla con tres columnas: en la primera de ellas, titulada actividades de aprendizaje se incluye una secuencia de acciones que debes realizar para acercarte con mayor facilidad al estudio de la Lgica Computacional y Programacin, hacindose referencias al manual de ejercicios y prcticas para reforzar los contenidos revisados y resolver la situacin de aprendizaje; en la segunda recursos, se proporcionan algunas sugerencias para que encuentres fcilmente la informacin que requieres; finalmente, en la tercera columna, llamada productos, se anotan los resultados concretos que debes obtener al terminar la secuencia de actividades correspondiente a cada tema, tales productos deben servirte como un control de tu propio avance. Te servirn tambin para ir formando un glosario con los trminos ms usuales y sus definiciones; es decir, un diccionario personal que te ayudar, en caso de dudas, al utilizar alguna de las herramientas que ests estudiando. 6

Qu he aprendido? Al concluir el estudio de cada unidad, te convendr detenerte a pensar acerca de tus logros y descubrir qu tan firme y precisa se est llevando a cabo tu formacin en esta asignatura. Se te plantea una serie de preguntas que te ayudarn a valorar tu esfuerzo. No es un examen sino una evaluacin, se trata de que ejerzas tu capacidad de reflexin acerca de ti mismo y que, en caso de ser necesario, revises aquellos puntos del programa de estudio que consideres que todava no dominas por completo. Ser el momento de revisar tambin tus actitudes con respecto a la manera en que estudias. Te sugerimos que elabores una tabla de logros para que lleves tu registro personal, seguramente al ir anotndolos, te dars cuenta con satisfaccin que el esfuerzo ha valido la pena. Quiero saber ms. En esta seccin se te presentan artculos interesantes relacionados con la unidad para que puedas extender tu horizonte de conocimiento. Es muy conveniente que asumas que no todo lo que necesitas saber se te proporcionar en un curso, por el contrario, debers estar siempre alerta, a enfrentar nuevos retos para que tu aprendizaje sea realmente el que necesitas para resolver tus propios problemas. Ubicacin de la asignatura La asignatura de Lgica Computacional y Programacin, se ubica en el eje bsico de la Capacitacin en Informtica. La importancia de esta asignatura es que contribuye en tu formacin dentro de la capacitacin y te brinda elementos necesarios para la implantacin de sistemas de informacin de una organizacin. Su ubicacin grfica se representa del siguiente modo:
Sistemas de Informacin I Lgica Computacional y Programacin Sistemas de Informacin II

EJE BSICO

Bases de Datos I

Bases de Datos II

EJE DE APLICACIN

Aplicaciones grficas con programas integrados

Aplicaciones especficas con programas integrados

EJE COMPLEMENTARIO
Relacindirecta Relacin indirect

Introduccin a las Redes

Objetivo de la asignatura Comprender los conceptos y principios generales de la programacin estructurada y la orientada a objetos, a partir de revisar los elementos de la lgica computacional, la estructuracin de los datos y las caractersticas tcnicas de ambos tipos de programacin, para el desarrollo de programas elementales. 7

QU VOY A APRENDER?

LGICA COMPUTACIONAL
Objetivo de la Unidad:
Construir algoritmos elementales, utilizando los principios de la programacin lineal, la programacin estructurada y la programacin orientada a objetos, para propiciar en el estudiante la habilidad de proponer soluciones sistemticas a problemas sencillos.

UNIDAD I

En esta primera unidad aprenders a desarrollar habilidades para realizar modelos lgicos, mismos que te ayudarn a resolver diferentes tipos de problemas y procesar informacin de una manera sistemtica y razonada, y algoritmos elementales a travs del uso de diferentes metodologas para el desarrollo de soluciones relacionadas con el campo de la informtica. Para ello, debers primero aprender el uso de los algoritmos como un proceso descriptivo de la solucin de un problema y la representacin grfica de los datos de entrada y salida de un proceso, para proponer soluciones factibles de realizar. Conforme ha pasado el tiempo y dada las experiencias de los diferentes programadores, las formas de programacin han variado de tal forma que las metodologas han sufrido una evolucin constante, por lo que en esta unidad explicaremos tres de estas metodologas segn fueron apareciendo. Al revisar las diferentes metodologas (lineal, estructurada y orientada a objetos) para resolver problemas, te dars cuenta que cada una de ellas utiliza diferentes representaciones grficas, stas te permitirn visualizar de una forma ms clara el proceso necesario para elaborar dichas metodologas. Para desarrollar un programa primeramente debes identificar cual es su finalidad y que procesos intervienen en su solucin, posteriormente tendrs que definir las acciones que realiza cada proceso y por ltimo, podrs codificar todos los procesos en un lenguaje de programacin, el cual al ser traducido al lenguaje mquina (conjunto de sentencias o instrucciones especficas entendibles por la computadora) nos permitir lograr nuestro objetivo, que podra ser la sistematizacin del proceso de entrada y salida de un estacionamiento, la administracin de un hotel, el registro de mensajera, etc. En el desarrollo de la situacin y las actividades de aprendizaje que se te proponen y aquellas que realices por cuenta propia, podrs identificar las diferentes tcnicas que existen para resolver cualquier tipo de problema, ya sea simple o complejo.

Los temas que forman el contenido de esta unidad se presentan a continuacin: Unidad I. Lgica computacional

Lgica computacional

utiliza representado por el Diagrama de entrada proceso salida

Algoritmo utiliza tcnicas de Programacin lineal utiliza al utiliza la Programacin estructurada tiene

Programacin orientada a objetos

utiliza el

tiene

Diagrama de flujo

Tcnica de segmentacin

Estructuras lgicas

Pseudocdigo

Objetos

Clases

Mtodos

Pseudocdigo

Debes notar que los conceptos ms importantes estn sombreados. Prstales especial atencin puesto que forman parte del conjunto de conceptos fundamentales en tus estudios de informtica.

A continuacin te presentamos la situacin de aprendizaje, la cual te presenta un proceso real de trabajo, muy similar a los que puedes encontrar en el campo laboral. SITUACIN DE APRENDIZAJE Una empresa distribuidora al mayoreo de aparatos elctricos para el hogar, en su rea de ventas, registra y controla su informacin de manera manual. En un sentido de modernizar sus procesos, solicita el apoyo tcnico para que se adquiera y programe una computadora que se utilizar como parte del proceso de registro y control de ventas. El personal encargado de proporcionar el apoyo tcnico, realiza una investigacin detallada de las operaciones y movimientos manuales que se realizan para llevar a cabo el trabajo cotidiano. Como resultado de la investigacin, se obtiene una descripcin de los procesos que se resumen en los siguientes puntos: 1. La Sra. Mercedes Surez es quien recibe las solicitudes de compra. El origen de la solicitud puede ser de cualquiera de las siguientes tres formas:
Va telefnica: Por correo: Personal:

El cliente, mediante el uso del telfono solicita los artculos y las cantidades que requiere. La empresa recibe constantemente los pedidos por escrito, mismos que llegan por el servicio del correo. Los clientes acuden personalmente y realizan su pedido de manera verbal.

2. La Sra. Mercedes S. al recibir la solicitud de compra, la registra en la Libreta de Pedidos , anotando los datos del cliente, los artculos que solicita, as como el nmero secuencial que identifica de manera unvoca al pedido (Clave del pedido). Sin embargo, antes de registrar la solicitud, verifica la seriedad de la misma de la siguiente forma:

Si el cliente es conocido y se encuentra registrado en la Libreta de Clientes, se procede a asentar el pedido correspondiente. Si el pedido se recibi por va telefnica o por correo y, si el caso lo amerita, se ratifica el pedido telefnicamente, como una manera de checar los datos y descartar la posibilidad de error o de un falso pedido. Si el cliente es nuevo, es decir, no est registrado en la Libreta de Clientes, procede a darlo de alta en la libreta, anotando los siguientes datos: Nombre de la empresa, razn social, giro, telfonos, fax, nombre de la persona de enlace, domicilio, fecha de registro en la libreta, as como la clave de cliente que lo identificar en la empresa y que corresponde a un nmero secuencial precedido por la letra C (C1234). Posteriormente se registra la solicitud y como en el caso anterior, se verifica por telfono la seriedad del pedido.

3. La Sra. Mercedes S. dispone de varias Libretas y Tarjetas para registrar la informacin, mismas que se describen a continuacin:

Libreta de clientes: Es una relacin consecutiva de los clientes que han adquirido productos en la empresa, ordenada por la clave del cliente. En sta se registran el nombre de la empresa, sus telfonos, domicilio, nombre de la persona con quien se realiz el contacto, fecha del primer pedido y su nmero de cliente.
10

Tarjeta de clientes: Cada uno de los clientes tiene asociada una tarjeta de registro detallada con los datos incluidos en la Libreta de Clientes, adems de los artculos que ha adquirido. Se anota para cada uno de ellos las fechas, cantidades, precios y referencia de las facturas con que se remitieron a los clientes. Las tarjetas estn ordenadas alfabticamente por el nombre de la empresa para su fcil ubicacin. Catlogo de artculos: Aqu se incluyen los artculos que dispone la empresa para su venta, el catlogo es actualizado semestralmente en dos versiones por el rea de mercadotecnia: a) Catlogo de artculos por orden alfabtico b) Catlogo de artculos ordenados por Clave de artculo. Cada artculo se identifica con una clave similar a las anteriores (A9999). La informacin que se incluye en el catlogo es: Clave del artculo y descripcin detallada del mismo, nombre, domicilio y telfonos del fabricante, costo unitario y de venta, descuentos y una o varias fotografas del artculo.

4. En otro momento, la Sra. Mercedes S. y con la ayuda de una secretaria, elabora las facturas, tomando como base la Libreta de pedidos. Las facturas se identifican mediante un nmero (F99999) e incluyen la informacin del cliente, destino, fecha de elaboracin y se detalla la informacin relacionada con los artculos solicitados por el cliente: Clave del artculo, descripcin genrica, cantidad de artculos, costo unitario de venta e importe por el nmero de artculos. En cada factura es posible registrar hasta cinco artculos distintos, en caso de requerirse, se utilizarn tantas facturas como sean necesarias. En la parte inferior de cada factura se incluyen adems el subtotal por la totalidad de los artculos, I.V.A. y total a cobrar. 5. Las facturas se llenan en original y tres copias (Cliente, Ventas, Contabilidad y Almacn). El original y la copia del Almacn se envan a ste ltimo para que proceda a surtir y enviar los artculos a los clientes. La copia para el rea de Contabilidad se remite a esa rea y la de Ventas se utiliza como comprobante del rea emisora. 6. El paso siguiente consiste en registrar el nmero de factura en que se remitieron los artculos, en la Libreta de Pedidos y las Tarjetas de Clientes, y de esta forma se cierra el ciclo de registro de la informacin. 7. Finalmente, cada dos semanas se elabora un listado con los artculos solicitados y vendidos durante este periodo, mismo que se turna a los directivos de la empresa. El listado contiene informacin detallada y global como son: Clave de los artculos vendidos, su descripcin genrica, cantidades, fechas, importes, los clientes a quienes se les vendi con sus correspondientes subtotales y totales. El grupo tcnico tendr que desarrollar varios programas y definir los archivos que almacenarn la informacin del registro y control de ventas. La interaccin de los programas y archivos sustituirn el proceso manual que se utiliza. Se agilizar el registro de la informacin as como la posibilidad de considerar procesos de la informacin adicionales a los ya establecidos.

11

CMO APRENDO?
1. CONCEPTOS GENERALES Objetivo: Identificar los elementos de la programacin moderna, mediante la revisin del concepto de algoritmo y las generalidades de las metodologas actuales, para la construccin de programas. Para empezar a estudiar el tema de Lgica Computacional es necesario conocer previamente su utilidad, la cual es que adquieras habilidades para resolver problemas informticos utilizando la computadora, a travs de desarrollar un pensamiento lgico, sistemtico y razonado que te permita proponer soluciones al elaborar algoritmos elementales, utilizando las diferentes metodologas que existen para su desarrollo. En nuestra vida cotidiana, cualquier actividad que realizamos la podemos describir con una serie de acciones o tareas. Igualmente, siempre estamos valorando si dicha actividad va a lograr lo que nosotros queremos, a partir de ir tomando decisiones durante el desarrollo de la misma, sin perder de vista qu es lo que queremos lograr y qu requerimos para lograrla. De esta misma forma podemos ver un proceso informtico, el cual nace a partir de un problema que requiera del uso de la computadora. Para resolverlo se deber desarrollar un algoritmo , el cual no es ms que un conjunto de actividades o procesos formados por una serie de instrucciones o tareas organizadas de forma lgica, que nos permiten alcanzar un resultado o resolver un problema. Muchas veces aplicamos el algorimo de manera inadvertida, inconsciente o automatica, ya que son tantas las veces que se ha resuelto, que dificilmente nos ponemos a enumerar los pasos para alcanzar el objetivo, y por lo tanto lo hacemos en forma automtica. Por otra parte, existe una gran cantidad de problemas que requieren de un anlisis profundo y de un pensamiento flexible y estructurado para su solucin, como es el caso de la programacin, donde convergen tcnicas y herramientas metodolgicas que permiten llevar a cabo la construccin de algoritmos eficientes y por consiguiente la resolucin del problema. Para poder llegar a la solucin de un problema deben considerarse las siguientes etapas1:
Problema

Anlisis profundo del problema Etapa 1

Construccin del algoritmo Etapa 2

Verificacin del algoritmo Etapa 3

Tomado de Osvaldo Cair. Metodologa de la Programacin. Tomo 1, Mxico, Alfaomega, p. 5.

12

Las caractersticas que los algoritmos deben reunir son: a) Precisin. Los pasos a seguir deben ser claros y correctos. b) Determinismo. El algoritmo, dado un conjunto de datos de entrada idnticos, debe arrojar siempre los mismos resultados. c) Finitud. El algoritmo, independiente de la complejidad del mismo, siempre debe ser de longitud finita. Es importante considerar los datos de entrada para la verificacin de nuestro algoritmo. A continuacin se presentan las actividades que debers realizar; en caso de cualquier duda o problema consulta a tu asesor. Actividades de aprendizaje Realiza la lectura de la pginas sugeridas y contesta las siguientes preguntas: 1. Qu es un algoritmo? 2. Cules son las caractersticas que poseen los algoritmos? 3. Para qu sirven los lenguajes de programacin y cul es su relacin? Consulta en la enciclopedia Encarta lo referente a programacin y lenguajes de programacin y elabora una ficha. Realiza la lectura de las paginas sugeridas y contesta las siguientes preguntas: 1. Cules son los inconvenientes de la programacin convencional o lineal (secuencias de instruciones maquina)? 2. Cul es el objetivo de la programacin estructurada utilizando la programacin modular? 3. Cul es la ventaja de la programacin orientada a objetos sobre la estructurada? Realiza los ejercicios 1-4. Manual de ejercicios y prcticas.
13

Recursos

Productos

Preguntas resueltas. Joyanes Aguilar, Luis. Fundamentos de programacin. pp. 2-6, 40-46.

Enciclopedia Encarta.

Ficha con los conceptos.

Joyanes Aquilar, Luis. Fundamentos de Programacin. pp. 95-97.

Preguntas resueltas.

Joyanes Aguilar, Luis. Programacin orientada a objetos. Espaa McGraw-Hill, Osborne, 1998. p.p. 4-18.

Ejercicios 1-4 resueltos.

De tu entorno, consulta con una o ms personas las actividades que realizan en su trabajo y represntalas en un algoritmo.

Algoritmo.

2. PROGRAMACIN LINEAL Objetivo: Comprender las bases y principios de la programacin lineal, mediante la revisin general de los diagramas de flujo y su aplicacin, para la solucin de problemas y su descripcin grfica. La programacin lineal permite escribir algoritmos de una forma secuencial, es decir, cada instruccin se ejecuta hasta que la anterior se haya realizado, no obstante, podemos referenciar a una lnea desde nuestra secuencia que no sea la siguiente, de tal forma que al terminar una secuencia de instrucciones podremos referenciar a la lnea que continuaba en nuestra ejecucin. Visto grficamente su representacin sera la siguiente:
Instruccin 1 Instruccin 2 Instruccin 3 Instruccin 4

...

Instruccin n

La herramienta ms comn para representar este tipo de algoritmo basado en una metodologa lineal es el diagrama de flujo, que no es ms que la representacin grfica del algoritmo por medio de smbolos. Si el diagrama de flujo est completo y correcto, el paso del mismo a un lenguaje de programacin es relativamente simple y directo. En el tema anterior mencionbamos que siempre que se incorpore un dato correcto en un proceso, el dato de resultado tendr que ser correcto. Lo que haremos en la prueba de escritorio ser valorar si nuestro proceso contiene y toma las decisiones correctas al seguir la lgica de sus tareas definidas. La intencin de una prueba de escritorio es identificar los posibles errores de lgica, sintaxis y de entrada que existen en un proceso, ste puede estar descrito a travs de un algoritmo, diagrama de flujo, pseudocdigo, diagrama de Top-Down, etc. La forma de verificarlo ser introduciendo al proceso un dato de entrada, del cual conocemos su salida, de tal forma que sigamos toda la lgica del proceso para ir identificando como se va procesando la informacin y, en dado caso, ajustar nuestro proceso o validarlo. Un ejemplo simple de una prueba de escritorio es el siguiente. Realizar la prueba de escritorio del siguiente algoritmo: 1. 2. 3. 4. Solicitar dato A. Solicitar dato B. Multiplicar dato A con dato B y el resultado asignarlo en C. Despliega el mensaje El resultado es:,C

14

Se sabe que si A = 1 y B = 2, el resultado de la multiplicacin ser 2. Ahora iremos introduciendo la informacin conforme se la vaya solicitando el algoritmo. Paso 1: Asignar A=1 Paso 2: Asignar B=2 Paso 3: Multiplicar 12 y el resultado asignarlo en C, es decir, C=2 Paso 4: Escribir El resultado es: 2 Dado que el resultado obtenido es el esperado en la prueba de escritorio, podemos validar dicho algoritmo, es decir, el algoritmo es correcto. A continuacin te presentamos las actividades que debers realizar; en caso de dudas o problemas consulta a tu asesor.
Actividades de aprendizaje Recursos Realiza una consulta bibliogrfica Joyanes Aguilar, Luis. Fundamentos de programacin. referente a las reglas de construccin y simbologa bsica pp. 46-56 para el desarrollo de diagramas de flujo. A partir de la consulta anterior explica la importancia del uso de diagramas para representar algoritmos. Realiza los ejercicios 5-7. De los algoritmos de los ejercicios 1 y 2 realiza sus pruebas de escritorio. Con relacin a la situacin de aprendizaje, desarrolla la Prctica 1, donde realizars el diagrama de flujo correspondiente. De las actividades de programacin resueltas (2.1 a la 2.5), interpreta los diagramas de flujo presentados. Manual de ejercicios y prcticas. Manual de ejercicios y prcticas. Productos Ficha de contenido sobre las reglas de construccin y simbologa bsica para el desarrollo de diagramas de flujo. Importancia del uso de los diagramas de flujo.

Ejercicios 5-7 resuletos. Pruebas de escritorio.

Resolucin de la Prctica 1.

Joyanes Aguilar, Luis. Op. cit., Interpretacin de los diagramas de flujo. pp. 59-64.

15

3. PROGRAMACIN ESTRUCTURADA Objetivo: Comprender las bases y principios de la programacin estructurada, mediante la revisin general de la tcnica Top-Down, las estructuras lgicas y el pseudocdigo, para la solucin de problemas y su representacin. La metodologa de programacin estructurada se fundamenta en tcnicas de segmentacin, la cual plantea que un problema se puede dividir en problemas ms pequeos (mdulos) y ms simples de resolver, de tal forma que la suma de las soluciones de cada problema sea el resultado de la solucin total de ste.

Problema 8 Solucin 8 Problema 1 Solucin 1 Problema 2 Solucin 2 Problema 3 Solucin 3

Problema 7 Solucin 7 Problema 6 Solucin 6 Solucin Total = Solucin1 + Solucin 2 + Solucin 3 + Solucin 4 + Solucin 5 + Solucin 6 + Solucin 7 + Solucin 8

Problema 5 Solucin 5 Problema 4 Solucin 4

Esta metodologa permite desarrollar algoritmos a travs de mdulos, los cuales realizan tareas bien definidas. De esta forma, el mdulo se define una sola vez y se llama tantas veces como sea necesario, mediante el nombre que lo identifica. La forma grfica que lo representa sera la siguiente:
Mdulo Principal

Mdulo 1

Mdulo 2

Mdulo 3

La tcnica Top-Down (Arriba-Abajo) es la que se utiliza frecuentemente en la programacin estructurada, la cual no es ms que la representacin grfica de la divisin del problema en subproblemas ms simples, estableciendo un orden jerrquico y relaciones entre ellos, puede ser vista de la siguiente manera:

16

Mdulo Raz

Mdulo 1

Mdulo 2

Mdulo 1.1

Mdulo 1.2

Mdulo 2.1

Mdulo 2.2

Mdulo 2.1.1

El diagrama de Top-Down, se lee de arriba hacia abajo y de izquierda a derecha, la relacin de los mdulos es jerrquica, es decir, el mdulo padre puede hacer uso de los mdulos hijos pero no viceversa. Entenderemos por mdulo padre al mdulo inmediato superior al mdulo actual y por mdulo hijo al mdulo inmediato inferior del mdulo actual. Cuando hablemos de programacin estructurada vamos a hacer referencia al pseudocdigo, que es la descripcin de la solucin de un problema por bloques o mdulos, donde dicha descripcin de la solucin se apoya en las estructuras lgicas (se revisarn a detalle en la unidad III), las cuales son una serie de sentencias que permiten evaluar expresiones segn los criterios establecidos para la solucin. Si consideramos la figura anterior, podemos afirmar que cada mdulo ejecuta una tarea especfica, la cual se describe con el pseudocdigo que a su vez utiliza a las estructuras lgicas para dar solucin al problema planteado. La metodologa estructurada se apoya en la metodologa modular para conseguir elaborar programas eficaces y es la base para la metodologa orientada a objetos y la metodologa orientada a eventos. A continuacin se te presentan las actividades que debers realizar para cubrir con este tema.
Actividades de aprendizaje Elabora un cuadro sinptico de las caractersticas de la programacin estructurada y modular. Recursos Joyanes Aguilar, Luis. Fundamentos de programacin. pp. 95-100. Productos Cuadro sinptico con las caractersticas de la programacin estructurada y modular.

Realiza una consulta bibliogrfica Joyanes Aguilar, Luis. Op. cit., Ficha de contenido sobre la tcnica Top-Down. referente a la tcnica Top-Down pp. 41-32, 99 y 100. o de segmentacin.

17

Consulta el texto y elabora un cuadro donde se visualicen grficamente las estructuras lgicas, describiendo sus caractersticas.

Joyanes Aguilar, Luis. Op. cit., Cuadro grfico-descriptivo de las estructuras lgicas. pp. 100-121.

Investiga la definicin de Joyanes Aguilar, Luis. Op. cit., Ficha de contenido sobre el pseudocdigo. pseudocdigo y su utilidad para pp. 58-59. describir tareas. Elabora una ficha de contenido. Realiza los ejercicios 8 -10. Desarrolla la Prctica 2, donde aplicars los conceptos relacionados con la metodologa de programacin estructurada. Manual de ejercicios y prcticas. Manual de ejercicios y prcticas. Ejercicios 810 resueltos. Resolucin de la Prctica 2.

De las actividades de Joyanes Aguilar, Luis. Op. cit., programacin resueltas (4.18 a la pp. 154-160. 4.24), verifica que el pseudocdigo responda a la solucin planteada en el anlisis.

Anlisis de pseudocdigos, que valide la lgica del pseudocdigo y el uso de las estructuras lgicas.

4. PROGRAMACIN ORIENTADA A OBJETOS Objetivo: Comprender las bases y principios de la programacin orientada a objetos, mediante la revisin de sus conceptos bsicos y el proceso de construccin de programas, para la solucin de problemas y su representacin. La programacin orientada a objetos se apoya en la programacin estructurada y utiliza sus tcnicas para disear programas, se caracteriza por definir objetos con un determinado conjunto de atributos, como pueden ser: las clases, herencias, mtodos, poliformismos, entre otros. Por ejemplo, revisemos el siguiente objeto:

Clase: botn. Herencia: Abrir barras para buscar programas o aplicaciones. Mtodo: Dar un clic sobre el botn. La programacin orientada a objetos permite lograr una mejor interface o interaccin con el usuario, ya que ste nicamente hace uso del objeto y el programa se encarga de realizar todas las actividades asignadas.
18

A continuacin se te presentan las actividades que debers realizar para desarrollar este tema.
Actividades de aprendizaje Realiza la lectura de las paginas sugeridas y contesta las siguientes preguntas: 1. Qu es un objeto? 2. Qu es la programacin orientada a objetos? 3. Qu es poliformismo, herencia y encapsulado? 4. Cul es la estructura de un programa? 5. Cmo se comunican los objetos y qu son los mtodos? 6. Cul es la importancia de la programacin orientada a objetos? Realiza los ejercicios 11 y 12. Define los datos y procedimientos que requerirn los objetos libreta y tarjeta, planteados en la Manual de ejercicios y prcticas. situacin de aprendizaje. Situacin de aprendizaje. Recursos Joyanes Aguilar, Luis. Programacion orientada a objetos. Espaa .McGraw-Hill, Osborne, 1998. p.p. 13, 14, 17, 23, 74, 75, 83, 87, ,91-44 y184-185 Productos Preguntas resueltas.

Ejercicios 11 y 12 resueltos. Definicin de datos y procedimientos de la situacin de aprendizaje.

19

QU HE APRENDIDO?
A continuacin te presentamos una pequea evaluacin de esta unidad para que valores tus avances logrados hasta el momento. 1. Lee con atencin cada uno de los siguientes conceptos y coloca dentro del parntesis la letra de la definicin que le corresponda. Concepto ( ( ) Diagrama de flujo. ) Dato de entrada. Definicin a) Serie de instrucciones o pasos a seguir para lograr una tarea o la resolucin de un problema. b) Al trmino del proceso se obtendr la informacin procesada, la cual nos dar la solucin del problema planteado. c) Representacin grfica del algoritmo, por medio de smbolos. d) Realiza tareas definidas, de tal forma que si un proceso se requiere varias veces se har referencia a ste varias veces. e) Informacin necesaria para iniciar un proceso o tarea y resolver un problema definido.

( ( (

) Mdulo. ) Dato de salida. ) Procedimiento.

2. Lee con atencin cada una de las siguientes proposiciones y coloca dentro del parntesis una V si es verdadera o una F si es falsa. ( ) La programacin lineal dio la pausa para establecer la programacin orientada a objetos. ( ) La representacin grfica de la programacin estructurada es el diagrama de Top-Down. ( ) Objetos, mensajes y herencias son conceptos utilizados en la programacin orientada a objetos. ( ) El pseudocdigo es el paso anterior a la codificacin de un programa estructurado.

20

3. Identifica los siguientes smbolos utilizados en los diagramas de flujo y escribe lo que significa cada uno, segn su enumeracin.
1 2 3 4 5 6

10

11

12

14 13

15

16

1.-_______________________________ 3.-_______________________________ 5.-_______________________________ 7.-_______________________________ 9.-_______________________________ 11.-______________________________ 13.-______________________________ 15.-______________________________

2.- ______________________________ 4.- ______________________________ 6.-______________________________ 8.-______________________________ 10.-_____________________________ 12.-_____________________________ 14.-_____________________________ 16.-_____________________________

4. Lee cuidadosamente las siguientes preguntas y contstalas correctamente. a) b) c) d) Qu es un algoritmo? Qu es la programacin lineal? Qu es la programacin estructurada? Qu es la programacin orientada a objetos?

5. Lee cuidadosamente los siguientes casos y desarrolla los algoritmos, diagramas de flujo y diagramas de Top-Down que los describan. A) La Unidad de Registro y Control Escolar decide sistematizar la expedicin de Certificados parciales, ya que actualmente se realizan de la siguiente forma: El auxiliar solicita al alumno su credencial y tira de materias del ltimo semestre; si no debe materias procede a registrarlo para elaborar su certificado parcial, solicitndole al estudiante que regrese en una semana. El auxiliar consulta el expediente del estudiante buscando datos personales y calificaciones, para llenar el certificado parcial. Una vez capturado el certificado parcial el auxiliar solicita al responsable que lo firme y ste lo registra en la libreta de certificados parciales emitidos. Por ltimo, entrega el certificado parcial al estudiante. B) El estacionamiento El coche veloz ofrece sus servicios de estacionamiento a todos los particulares que deseen dejar su vehculo en un lugar seguro. Dicho estacionamiento cuenta con tres niveles, donde en cada nivel tiene 70 cajones de estacionamiento enumerados de la siguiente forma: P1-01, donde el P1 nos indica el piso y los
21

dos ltimos nmeros el cajn, asimismo cuenta con 20 choferes los cuales tienen una clave de registro nica (Ch01). El dueo del estacionamiento propone que el control de entradas de los vehculos y pagos del servicio sea de la siguiente forma:
Se recibe al vehculo particular entregndole a cambio un boleto de estacionamiento, el cual

tiene un nmero de folio. Se le asigna a dicho vehculo un cajn que se encuentre disponible y se registra la hora de entrada y la clave del chofer que lo recibi en una computadora. Posteriormente, a la hora de recoger un vehculo se le solicita el boleto al dueo y se registra la hora de salida del vehculo correspondiente, segn el folio. El sistema indica el piso, el nmero de cajn donde se encuentra el vehculo y el importe a pagar; en caso de que el vehculo no se encuentre en las mismas condiciones que cuando entr, se podr ver en el sistema el nombre del chofer que lo recibi. En el momento de pagar el importe de estacionamiento, el sistema asignar dicho cajn como disponible para otro vehculo.

El dueo desea contar con dos reportes semanales: a) Ganancias obtenidas. b) Nombre, clave, antigedad y edad de los choferes ordenados por el numero de vehculos estacionados.

22

QUIERO SABER MS

Artculos tomados de Curso IBM de programacin. Introduccin a la programacin en 32 bits. (Mxico, D.F.), nm. 1, pp. 2 y 5.

23

QU VOY A APRENDER?

UNIDAD II
ESTRUCTURA DE DATOS
Objetivo de la Unidad:
Identificar las estructuras de datos, mediante el reconocimiento de la informacin y la forma de estructurarla para su procesamiento.

Hasta el momento hemos revisado de forma muy genrica las metodologas de programacin lineal y estructurada para resolver diferentes tipos de problemas, sin embargo, el definir algoritmos o pseudocdigos que planteen la descripcin de la solucin de un problema es slo el 50% del camino, el otro 50% lo constituye la informacin que va a ser procesada. Entenderemos por informacin al conjunto de datos que hacen referencia o describen las caractersticas o atributos de algo, por lo cual tendremos que definir perfectamente los datos involucrados en la resolucin del problema. Esto lo podemos resumir en la siguiente ecuacin: Pseudocdigo = Instrucciones + Datos Los datos los podemos clasificar en constantes (datos que no cambian durante la ejecucin del pseudocdigo) y variables (datos que pueden ir adoptando diferentes valores durante la ejecucin del pseudocdigo). La ventaja de generar un pseudocdigo es que podemos codificarlo en cualquier lenguaje de programacin, esto implica que utilizaremos los recursos de la computadora para resolver el problema, siendo aqu donde tendremos que utilizar las estructuras de datos (espacio en memoria de la PC para manipular los datos) definidas en el pseudocdigo, para resolver nuestro problema. Los datos variables segn el tipo de datos que almacene pueden ser simple o agrupado, es decisin del programador definir el tipo de datos a utilizar, tomado como base el problema a resolver. Ten mucho cuidado al definir un tipo de dato u otro, ya que de esto depende que la solucin planteada funcione adecuadamente, evitando fallas en el manejo de informacin. Un dato es un atributo o caracterstica de un objeto o individuo; por ejemplo, los atributos de una persona son:
Edad Color del cabello Estatura Sexo

24

Sin embargo los valores o datos varan de una persona a otra (17 aos, negro, 1.70 m, masculino), sin embargo las estructuras de datos (edad, color del cabello, estatura, sexo) siguen siendo las mismas para todos.

Entenderemos por estructuras de datos a los espacios asignados en memoria para almacenar datos. Las estructuras de datos pueden almacenar valores variables y constantes, los cuales definiremos como tipos de datos: variables y constantes. Los datos constantes son objetos que contienen valores que no cambian durante la ejecucin de un programa, son valores fijos. Ejemplo: Los meses del ao = 12 meses Estaciones del ao = 4

Los datos variables son objetos que contienen valores que pueden cambiar a medida que se ejecuta un programa; la forma de escribirlos en el pseudocdigo es asignando un identificador o nombre al tipo de dato variable, indicando que va a almacenar datos cuyos valores sean de una naturaleza determinada. Entenderemos por naturaleza de un dato al valor que se almacena en la estructura de datos, de tal forma que podemos definir datos de tipo numrico, cuando el valor hace referencia a cantidades; de tipo carcter, cuando el dato contiene valores que hacen referencia a un nombre y direccin; de tipo lgico cuando el valor que se almacena puede ser verdadero o falso; de tipo grfico cuando el valor almacenado hace referencia a una fotografa; entre otros. En esta unidad revisaremos los datos constantes y variables y la naturaleza de los ltimos. Los contenidos que conforman esta unidad son los siguientes: Unidad II. Estructura de datos
Tienen una Datos Estructura de datos

Pueden ser Constantes Variables

Simples De tipo

Agrupados Como los

Numricos

Alfanumricos

Ordinales

Lgicos

Grficos

Conjuntos

Registros

Arreglos

25

CMO APRENDO?
1. DATOS Objetivo: Describir la estructura de datos simples con pseudocdigo, a travs de identificar el tipo y naturaleza de los datos e indicaciones tcnicas, para su correcta especificacin en el contexto de la solucin de un problema. Los datos a procesar por una computadora pueden clasificarse en simples y agrupados. La principal caracterstica de los datos simples es que ocupan slo una casilla de memoria, por lo que hacen referencia a un nico valor a la vez. Dentro de este tipo de datos se encuentran: numricos; alfanumricos, ordinales, lgicos y grficos. Numricos : Son valores enteros y reales. Por ejemplo: Total = Entero Pi = 3.1416 Alfanumricos: Son valores de tipo carcter o cadena de caracteres, nmeros y caracteres especiales. Por ejemplo: Nombre = Cadena de caracteres Sexo = Carcter Ordinales: Son valores que son definidos por el usuario en forma enumerada, estos pueden ser enteros, lgicos y caracteres. Por ejemplo: Das = (Domingo, Lunes, Martes, Mircoles, Jueves, Viernes, Sabado) Objetos =(Silla, Mesa, Banca, Pizarrn, Gis, Puerta, ventana) Lgicos: Son valores que slo pueden ser verdadero o falso. Por ejemplo: Casado : Lgico Acreditado: Lgico Grficos : Son valores que contiene una imagen o dibujo asignado a este tipo de dato. Por ejemplo: Dibujo: Grfico Bandera: Grfico Es muy importante que aprendas a definir los tipos datos que vas a utilizar en la resolucin de un problema, indicando su naturaleza si son datos variables, ya que estos son parte esencial para la generacin del pseudocdigo. A continuacin se presentan las actividades que debers realizar; en caso de cualquier duda o problema consulta a tu asesor.

26

Actividades de aprendizaje Recursos Realiza una consulta bibliogrfica Joyanes Aguilar, Luis. sobre tipos de datos constantes y Fundamentos de programacin. variables. Elabora una ficha de pp. 16-17. contenido. Investiga acerca de la naturaleza de los datos simples (numricos, alfanumricos, ordinales, lgicos y grficos) y agrupados o estructurados (conjuntos, registros y arreglos).

Productos Ficha de contenido sobre los tipos de datos constantes y variables.

Joyanes Aguilar, Luis. Op. cit., Fichas de contenido sobre la pp. 13-15, 203, 204, 261-263. naturaleza de los datos simples y agrupados. Eduardo Alcalde y Miguel Garca. Informtica bsica. pp. 219-221. Cuadro comparativo entre datos simples y agrupados. Ejercicio 13 resuelto. Ejercicio 14 resuelto.

Elabora un cuadro comparativo Ficha de contenido sobre entre los tipos de datos simples y datos simples y agrupados. agrupados o estructurados. Realiza el ejercicio 13. Realiza el ejercicio 14. Manual de ejercicios y prcticas. Manual de ejercicios y prcticas.

2. CONJUNTOS Objetivo: Identificar la utilidad de los datos agrupados como conjuntos, mediante la revisin de sus caractersticas y operaciones, para su aplicacin en la solucin de problemas. Un conjunto es un grupo de datos que tiene como caracterstica principal pertenecer al mismo tipo de dato simple. Cada objeto que est en el conjunto recibe el nombre de miembro o elemento del conjunto. Conjunto de nmeros enteros:
53 19

Miembro o elemento
1

Las operaciones que podemos hacer con los conjuntos son las siguientes: Pertenencia. Ver si un elemento o conjunto est incluido en otro conjunto. Igualdad. Dos conjuntos son iguales si tienen exactamente los mismos elementos. Unin. Se crea un nuevo conjunto con los elementos de los dos conjuntos a unir. Interseccin. Se crea un nuevo conjunto con los elementos comunes de interceptar dos conjuntos.

27

Diferencia. Definiendo A y B como dos conjuntos, el resultado de A - B son los elementos de A que no estan en B, de igual forma B A son los elementos de B que no estn en A. A continuacin te presentamos las actividades que debers realizar; en caso de dudas o problemas consulta a tu asesor.
Actividades de aprendizaje Recursos Productos Ficha de contenido sobre la definicin de conjuntos. Cuadro sinptico sobre operaciones de conjuntos.

Realiza una consulta bibliogrfica Enciclopedia Encarta u otra sobre la definicin de conjuntos bibliografa a tu alcance. Elabora un cuadro sinptico Enciclopedia Encarta u otra sobre las posibles operaciones con bibliografa a tu alcance. conjuntos y presenta algunos ejemplos. Realiza el ejercicio 15. Manual de ejercicios y prcticas.

Ejercicio 15 resuelto.

3. REGISTROS Objetivo: Identificar la utilidad de los datos agrupados como registros, mediante la revisin de sus caractersticas tcnicas, para su aplicacin en la solucin de problemas. Los registros son considerados una herramienta poderosa para estructurar datos y organizar informacin de diferentes tipos bajo el nombre de una sola variable. En la prctica a veces se necesitan estructuras que permitan almacenar distintos tipos de datos segn su naturaleza, a los cuales introduciremos en una nueva estructura llamada registro.
REGISTRO Es un dato estructurado, donde cada uno de sus componentes se denomina campo. Tipo de dato que puede ser simple o agrupado (arreglo o registro).

CAMPO

Como un registro es un dato estructurado, no puede accesarse directamente como un todo, sino que debe especificarse qu elemento (campo) del registro interesa. Para ello existe la siguiente sintaxis. Variable_Registro . Nombre_del_campo Nota. No confundas la estructura de datos (medio de almacenamiento de los datos) con los datos estructurados o agrupados (arreglos, registros y archivos).
28

Ejemplo: Registro_Alumno =REGISTRO Nombre : Cadena[20] Calle : Cadena[9] Numero : Entero Telefono : Cadena[9] Edad : Entero TERMINA REGISTRO A continuacin se te presentan las actividades que debers realizar para cubrir con este tema.
Actividades de aprendizaje Realiza una consulta bibliogrfica acerca de la definicin de registro y sus componentes. Recursos Productos Ficha de contenido sobre la definicin de registro y sus componentes.

Joyanes Aguilar, Luis. Fundamentos de programacin. pp. 260-265. Manual de ejercicios y prcticas.

Realiza los ejercicios 16 y 17.

Ejercicios 16 y 17 resueltos.

4. ARREGLOS Objetivo: Identificar la utilidad de los datos agrupados como arreglos, mediante la revisin de sus caractersticas tcnicas y la posibilidad de crear estructuras ms complejas, para su aplicacin en la solucin de problemas. Los arreglos nos permiten organizar un nmero considerable de elementos relacionados y del mismo tipo, simple o estructurado. A continuacin se describen varios de los trminos utilizados en los arreglos.
ARREGLO COMPONENTES O ELEMENTOS Coleccin finita, homognea y ordenada de elementos. Hacen referencia a los elementos que forman el arreglo, es decir, a los valores que almacenan en cada una de las casillas del mismo. Apunta, direcciona o selecciona un elemento o componente de un arreglo. Se requiere de n ndices para n dimensiones. Se pueden manejar arreglos de tipo unidimensional, bidimensional, tridimensional, n-dimensional.

NDICES

Observaciones: 1. El ndice puede ser de tipo carcter, entero o enumerado. 2. Los datos de los componentes del arreglo pueden ser de cualquier tipo. 3. Se utiliza corchetes para indicar el tamao de un arreglo.
29

Ejemplo: Letras = Arreglo [1..13] de caracter Entenderemos por localidad a la direccin o ubicacin de un componente dentro del registro. Existen tambin arreglos multidimensionales, hasta ahora slo hemos definido arreglos en una sola dimensin, es decir, que requieren de un solo ndice para ubicar al elemento deseado. Si hablamos de un arreglo bidimensional implica que requiere de dos ndices, la forma de escribirlo es la siguiente: Artculos_y_Precios = Arreglo[1..4,A..B] de cadenadecaracteres Su representacin grfica sera la siguiente:
A B Comida 123 1 Telas 98 2 Pastelera 71 3 Discos 150 4

La ventaja de utilizar arreglos multidimensionales es que podemos manipular datos direccionados por: uno, dos, tres o ms ndices. Anteriormente se mencion que un arreglo puede ser de cualquier tipo, por lo tanto, un arreglo puede estar formado por componentes de tipo registro, esto se escribira de la siguiente manera: Datos_alumno = REGISTRO Nombre : Cadena Edad : Entero TERMINA REGISTRO Alumnos: Array [1..5] de Datos_alumno Este ejemplo marca que existe un arreglo llamado Alumnos con cinco elementos de tipo registro Datos_alumno con dos campos. Grficamente se vera de la siguiente forma: Campo Nombre
Juan Prez 14

Campo Edad
Pedro Lpez 21 Luis Durn 16

Registro 5
Margarita Irra 24 Rebeca Cruz 45

1 Componente

4 ndice

A continuacin se te presentan algunas formas de accesar la informacin del arreglo anterior: Referencia al campo nombre de la localidad 2. (Pedro Lpez) Alumnos[2].Nombre Referencia al campo edad de la localidad 5. (45) Alumnos[5].Edad

30

Para desarrollar este tema, realiza las siguientes actividades.


Actividades de aprendizaje Recursos Productos Ficha de contenido sobre la definicin de arreglo y sus componentes.

Realiza una consulta bibliogrfica Joyanes Aguilar, Luis. Fundamentos de programacin. sobre la definicin de arreglos (tablas o arrays) y sus pp. 203-215. componentes. Elabora un cuadro sinptico sobre los arreglos bidimensionales y multidimensionales. Realiza los ejercicios 18 y 19. Realiza la Prctica 3, que te introducir a la aplicacin de las estructuras de datos requeridas para la situacin de aprendizaje. Realiza del ejercicio 6.6 al 6.24.

Joyanes Aguilar, Luis. Op. cit., Cuadro sinptico sobre arreglos bidimensionales pp. 215-2224. multidimensionales. Manual de ejercicios y prcticas. Manual de ejercicios y prcticas. Ejercicios 18 y 19 resueltos. Resolucin de la Prctica 3.

Joyanes Aguilar, Luis. Op. cit., Ejercicios resueltos. pp. 235 y 236.

31

QU HE APRENDIDO?
A continuacin te presentamos una pequea evaluacin de esta unidad para que valores tus avances logrados hasta el momento. 1. Lee con atencin cada uno de los siguientes conceptos y coloca dentro del parntesis la letra de la definicin que le corresponda. Concepto ( ( ( ( ) Conjunto. ) Arreglo. ) Dato. ) Registro. Definicin a) Atributo o caracterstica de un objeto o individuo. b) Grupo de datos que tiene como caracterstica pertenecer al mismo tipo de dato simple. c) Dato estructurado, donde cada uno de sus componentes se denomina campo. d) Coleccin finita, homognea y ordenada de elementos.

2. Identifica en los siguientes esquemas el nombre de lo que se seala y escrbelo en las lneas correspondientes. Registro
A L uis 6 5 1 7 A v. de lo s M ila g ro s 118 876-12- 29 876-12- 30 20 B 9 0 5 6 7 8

A.________________________________ Arreglo H 1 A 2 C C.________________________________ J 3 I 4 N 5 M 6 K 7

B.________________________________

O 8

P 9

S 10

E 11 D

T 12

V 13

D.________________________________

3. Lee cuidadosamente las siguientes preguntas y contstalas correctamente. a) Qu son los datos simples? b) Qu son los datos agrupados o estructurados? 4. Del problema 5 de la primera unidad ubicado en la seccin qu he aprendido, define las estructuras de datos ms adecuadas.
32

QUIERO SABER MS

Tomados de Curso de IBM de programacin. Introduccin a la programacin en 32 bits. (Mxico, D.F.), nm. 1, pp. 10 y 14.

33

QU VOY A APRENDER?

PROGRAMACIN ESTRUCTURADA BSICA


Objetivo de la Unidad:
Aplicar los principios bsicos de la programacin estructurada en la solucin de problemas elementales, mediante la especificacin de la estructura de datos y las operaciones a realizar, para desarrollar el pseudocdigo requerido.

UNIDAD III

Como comentbamos en la unidad anterior, el pseudocdigo generado para la solucin de un problema puede ser codificado en cualquier lenguaje de programacin, de tal forma que en esta unidad nos dedicaremos a explicar las estructuras lgicas, la forma de definir la estructura de datos y las posibles operaciones que se pueden realizar con los datos definidos, como parte del pseudocdigo. Por lo anterior, podemos decir que la programacin estructurada permite generar pseudocdigos ms entendibles, ya que la finalidad de utilizar estructuras lgicas es la de permitir al pseudocdigo tomar una serie de decisiones a partir de los datos de entrada, permitiendo llevar el flujo correcto de las instrucciones o sentencias para obtener las salidas deseadas. (informacin procesada). Dentro de este procedimiento de informacin que envuelven la ejecucin o realizacin de sentencias y la toma de decisiones, iremos realizando asignaciones, lecturas, escrituras, evaluacin de expresiones y operaciones bsicas, para que en su totalidad obtengamos una solucin mediante la metodologa de programacin estructurada. Es importante sealar que muchas veces requerimos que esta informacin procesada se almacene en algn dispositivo de almacenamiento secundario, por lo cual definiremos a los archivos como la estructura de datos que permite almacenar informacin de una manera permanente y las posibles operaciones que se pueden realizar con ellos para leerlos, modificarlos o eliminarlos. A continuacin te presentamos los conceptos de la unidad y las posibles relaciones que existen entre ellos.

34

Unidad III. Programacin estructurada bsica


Programacin estructurada bsica Utiliza Pseudocdigo Que tiene Especificaciones Utiliza Archivos Tiene Elementos Como Campo Registro Organizacin Tipos de acceso Tipos de archivos Operaciones De

Utiliza Realiza Operaciones De Asignacin Lectura Escritura Evaluacin de expresiones De tipo Estructuras lgicas

Aritmticas

De relacin

Lgicas

Creacin Eliminacin Lectura

Escritura

Procesamiento

35

CMO APRENDO?
1. DECLARACIN DE LAS ESTRUCTURAS DE DATOS Objetivo: Declarar la estructura de los datos, mediante las especificaciones correspondientes en pseudocdigo, para la referencia apropiada de los datos. A partir de definir un problema y solicitar que desarrolles el pseudocdigo que lo resuelva, identificaremos los datos que intervienen para establecer las estructuras de datos necesarias. Ya hemos revisado los tipos de datos y su naturaleza en la unidad anterior, sin embargo no se ha establecido la forma de declararlos con precisin en el pseudocdigo, segn las especificaciones correspondientes. Para esto, estableceremos que las estructuras de datos y los nombres de los diferentes datos se escribirn en espaol y sin acento (precisiones de idioma). A continuacin te presentamos la estructura tcnica para un pseudocdigo: PROGRAMA: Descripcin breve del programa.
TIPOS Lista de tipos requeridos en el programa CONSTANTES Lista de constantes VARIABLES Lista de variables INICIO DE PROGRAMA {Especificaciones tcnicas, pseudocdigo del programa} FIN DEL PROGRAMA

Estructura de datos

Como podrs observar se requiere identificar a nuestro programa con un nombre significativo, definir las estructuras de datos a utilizar y dar las especificaciones de pseudocdigo necesarias para realizar la tarea planteada. Al momento de generar el pseudocdigo de algn problema, agruparemos en un bloque de declaracin de tipos, constantes y variables, donde se definirn los datos simples y agrupados o estructurados, de tal forma que un ejemplo simple sera el siguiente: Ejemplo: Declaracin de estructuras de datos en el pseudocdigo Se desea generar las estructuras de datos que requiere un sistema que nos informe cuntas horas de clase tiene diarias un alumno, su nombre, grupo, calificaciones de sus cinco asignaturas, las cuales son: matemticas, fsica, qumica, historia e informtica, as como su promedio.

36

ESTRUCTURA DE DATOS TIPOS Asignaturas =(Matematicas, Fisica, Quimica, Historia, Informatica) Dias_de_la_semana = (Lunes, Martes, Miercoles, Jueves, Viernes) Calificacion = (NA, S, B, MB) Calificaciones_de_asignaturas = Arreglo [Asignaturas] de Calificacion Identificadores

CONSTANTES Total_Asignaturas = 5

VARIABLES Registro_alumno = REGISTRO Horario_alumno : Arreglo [Dias_De_la_Semana] de entero Nombre : Cadena Grupo : Cadena[5] Calificaciones : Calificaciones_de_asignaturas Promedio : Real; TERMINA REGISTRO En la seccin de tipos se define cualquier tipo de dato que almacene valores simples o agrupados; en la seccin de constantes se definen tipos de datos que almacenen valores constantes y en la seccin de variables se definen tipos de datos que almacenen valores variables. A continuacin se presentan las actividades que debers realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Realiza la lectura de las paginas sugeridas y contesta las siguientes preguntas: 1. Qu es la cabecera de un programa o algoritmo? 2. Cules son los bloques de declaracin de variables y constantes? 3. Qu es un comentario? Realiza los ejercicios 20 y 21. Recursos Joyanes Aguilar, Luis. Fundamentos de programacin. pp. 84-87. Productos Preguntas resueltas

Manual de ejercicios y prcticas.

Ejercicios 20 y 21 resueltos.

37

2. OPERACIONES BSICAS Objetivo: Especificar en pseudocdigo las operaciones bsicas factibles de realizar, mediante la revisin de cada una de ellas, para ser aplicadas en el contexto de la solucin. La metodologa de programacin estructurada se basa en el uso de las estructuras lgicas y en el uso de operaciones bsicas tales como la asignacin de datos, la evaluacin de expresiones y la lectura y escritura de datos. Cuando hablamos de asignaciones nos referimos a relacionar un valor con el identificador de un dato, es decir, le asignamos un dato o valor al nombre de una estructura de datos. Slo puedes asignar valores equivalentes al tipo de dato que tiene la estructura de datos, es decir, tanto la variable como el valor asignado deben ser del mismo tipo. El valor que se le asigna a una variable puede ser tomado de: una constante, un valor definido, el resultado de una operacin aritmtica o el de otra variable. A los valores constantes se les asigna una sola vez un valor durante todo el pseudocdigo y se definen en el rea de constantes, en cambio en los datos variables, las asignaciones pueden ser en diferentes momentos del pseudocdigo.
Smbolo u operador para asignacin =

Ejemplo: Asignaciones en constantes y variables Constantes: Mayor_de_edad = 18 Meses_del_ao = 12 Variables: Sueldo_Total = Sueldo_Bruto - Descuento Raiz_cuadrada = Raiz(Numero) I.V.A. = Total*0.15

Generalmente las lecturas son datos capturados del teclado y las escrituras son mensajes enviados al monitor; sin embargo, se pueden realizar lecturas desde el mismo pseudocdigo al asignarse un valor o leer de un archivo (los revisaremos ms adelante), asimismo se pueden escribir los datos en la impresora o en un archivo, entre otros. Para procesar informacin muchas veces lo que hacemos es evaluar expresiones en forma de sentencias o instrucciones. Podemos catalogar estas expresiones en tres tipos, las cuales son: Aritmticas. Son operaciones de tipo matemtico, que permiten procesar la informacin de tal forma que se obtenga un valor. Por ejemplo: Suma = A + B Lgicas. Se utiliza para evaluar expresiones que slo pueden devolver un valor de verdadero o falso. Por ejemplo: Edad >18
38

La expresin es verdadera si la variable edad tiene un valor mayor a 18, de lo contrario ser falsa. De relacin. Permite realizar una serie de operaciones anidadas, a partir de una expresin que utilice los conectores and, not y or ( y, no y o respectivamente), generalmente se utilizan en las estructuras lgicas condicionales (las revisaremos ms adelante). Por ejemplo: Si ( A < B) y (J + H = C) entonces D = A Varios autores coinciden en que, para hablar de programacin estructurada hay que hablar de estructuras lgicas, ya que son la base para poder escribir el pseudocdigo requerido para solucionar problemas con esta metodologa. Una estructura lgica es una sentencia que permite evaluar una expresin a partir de ciertas condicionantes, variando la secuencia del proceso segn el resultado obtenido durante el desarrollo del pseudocdigo. Es importante sealar que cuando hablamos de pseudocdigo nos referimos al desarrollo de una solucin con una tendencia estructurada en forma algortmica; sin embargo, cuando hablamos de un programa nos referimos al resultado de la ejecucin de un pseudocdigo codificado en un lenguaje de programacin. Existen tres tipos de estructuras lgicas: Secuencial. Se ejecuta instruccin tras instruccin o bien, mdulo tras mdulo. Condicionales o alternativas . Existen dos tipos: la condicional Si-Entonces-De lo contrario y la condicional Caso-Fincaso. Dependiendo del problema se seleccionar entre un tipo y el otro. La diferencia consiste en que el primer tipo de estructura lgica condicional solo puede evaluar un valor, dando dos posibles secuencias de accin; mientras que el segundo tipo puede evaluar varios valores al mismo tiempo y por ende, dar varias secuencias de accin. Repetitivas o iterativas . En algunas ocasiones deseamos que un conjunto de instrucciones o sentencias se repitan un nmero determinado de veces o hasta que se cumpla una condicin (comnmente se le llama bucle), para esto usamos las estructuras lgicas repetitivas. a) La sentencia MIENTRAS-HAZ-FIN MIENTRAS, repite el bucle hasta que la expresin lgica de la que depende se cumple, es decir, mientras sea verdadera. b) Otra estructura lgica repetitiva es la sentencia REPITE-HASTA, la cual ejecutar sus sentencias internas hasta que se cumpla una condicin. c) Por ltimo la sentencia PARA-FIN PARA, es una estructura lgica en la que utilizando una variable que se identifica como ndice se repiten las sentencias de un mdulo hasta que el ndice alcance un valor determinado. Existen dos tipos: el creciente y el decreciente. Nota. Las estructuras lgicas establecen uno de los principios bsicos de la programacin estructurada.

39

A continuacin te presentamos las actividades que debers realizar; en caso de dudas o problemas consulta a tu asesor.
Actividades de aprendizaje Recursos Realiza una consulta bibliogrfica Joyanes Aguilar, Luis. sobre cmo es una instruccin de Fundamentos de programacin. asignacin de un valor a una pp. 27-29. variable. Elabora fichas de contenido sobre este tema. Productos Fichas de contenido sobre las asignaciones de valores a datos variables.

Investiga sobre la evaluacin de Joyanes Aguilar, Luis. Op. cit., Fichas de contenido sobre la evaluacin de expresiones y expresiones y el uso de las pp. 17-29, 100-144. las estructuras lgicas. estructuras lgicas, elabora fichas de contenido. Realiza los ejercicios 22, 23 y 24. Manual de ejercicios y prcticas. Ejercicios 22, 23 y 24 resueltos. Resolucin de la Prctica 4.

Desarrolla la Prctica 4, que te Manual de ejercicios y prcticas. mostrar la aplicacin de los temas vistos hasta este momento, en el problema propuesto en la situacin de aprendizaje. Realiza del ejercicio 1.2 al 1.11. De las actividades de programacin resueltas (4.1 a la 4.24), identifica el uso de las estructuras lgicas. Realiza del ejercicio 4.2 al 4.10.

Joyanes Aguilar, Luis. Op. cit., Ejercicios resueltos. pp. 37 y 38. Joyanes Aguilar, Luis. Op. cit., Identificacin de las estructuras lgicas. pp. 145-160.

Joyanes Aguilar, Luis. Op. cit., Ejercicios resueltos. p. 160.

3. ARCHIVOS Objetivo: Identificar a los archivos como elementos de almacenamiento permanente de datos, mediante la revisin de sus especificaciones y caractersticas tcnicas, para el desarrollo de soluciones que requieran esta herramienta. Un archivo se define como una estructura de datos que reside en memoria secundaria o dispositivo de almacenamiento, tales como disquetes, cds, discos duros y cintas magnticas, entre otros. Los archivos estn compuestos por registros y a su vez por un conjunto de datos, los cuales se pueden manipular de forma conjunta, en otras palabras, los registros se encuentran conformados por campos, que son datos especficos sobre algn conjunto de individuos u objetos.
40

Archivo de datos alumnos


Registro 6 Registro 5 Registro 4 Registro 3 Registro 2 Registro 1 Nombre: Margarita Irra. Matrcula: 993211-A Grupo: 501 T.M. Capacitacin: Informtica

Campos

Cuando se disea la estructura de datos de un archivo se puede elegir diferentes formas para organizarlo, dependiendo del uso que se le va a dar y del soporte utilizado (cinta o disco). A continuacin te presentamos las tres formas de organizar los registros de un archivo. Organizacin secuencial. Los registros se encuentran organizados en posiciones consecutivas, y slo se puede acceder a ellos de uno en uno a partir del primero. Organizacin relativa. Tambin conocida como organizacin directa o aleatoria. Los registros se colocan y se acceden al indicar el lugar que ocupan dentro del archivo. Organizacin indexada. Para definir esta organizacin es importante considerar tres conceptos: a) rea primaria: Contiene los registros. b) Campo clave: Es un campo con un valor que identifica de forma nica un registro, por lo que su valor no puede aparecer repetido en otro registro. c) rea de ndices: Es un archivo secuencial en el que cada registro establece la clave de un registro del rea primaria y su ubicacin (direccin). De esta manera el sistema accede de forma directa a una direccin del rea primaria a partir del ndice. Para comprender mejor este tipo de organizacin, consideremos el ejemplo clsico en el que buscamos un tema en un libro, primero localizamos en el ndice la pgina del tema y posteriormente abrimos el libro en esa pgina. Una vez definida la organizacin de los registros del archivo, el siguiente paso es hablar sobre el acceso a los registros almacenados, esto es, la forma en que accesaremos los registros almacenados en el dispositivo que maneja el soporte. Existen dos modos de acceso: a) El acceso secuencial a un registro se realiza desde el primero y los sucesivos hasta llegar al registro seleccionado. Este mtodo de acceso se puede utilizar con cualquier soporte y organizacin.
41

b) El acceso aleatorio slo se puede realizar en los denominados soportes direccionables, como los discos magnticos; ste consiste en accesar a un registro directamente, es decir, sin accesar los registros anteriores. Ejemplo: A continuacin te presentamos la comparacin de los modos de acceso entre dos diferentes soportes de almacenamiento:

Las cintas o casetes de msica tienen un tipo de acceso secuencial , ya que para escuchar la cancin No. 5 debes recorrer la cinta a travs de las canciones 1, 2, 3 y 4.

En cambio los CDs tienen un tipo de acceso aleatorio, dado que para escuchar la cancin No. 5 bastar con direccionar esa cancin. El acceso es ms rpido en este tipo de soporte, ya que no se requiere accesar cancin por cancin.

Hasta el momento hemos visto como se organizan y se accesan los archivos, ahora definiremos los tipos de archivos: Archivos tipo binario. Son archivos que no tienen una estructura definida, slo procesan la informacin; generalmente se usan para copiar o mover archivos de estructura desconocida y se requiere de protocolos o lenguajes especiales para codificar el contenido de stos. Archivos tipo texto. Contienen datos de tipo carcter; este tipo de archivo consiste en varias lneas que constan de un nmero variable de caracteres. El archivo puede leerse o escribirse, ya sea lnea por lnea o carcter por carcter. Tambin puede ser accesado desde cualquier editor de texto y programa de aplicacin especfica, como procesadores de palabras, etc. Archivos tipo estructurado. Son Archivos que utilizan estructuras de datos simples y/o agrupadas, donde todos los elementos se encuentran relacionados entre s. El programa no necesita traducir el contenido del archivo para entenderlo, ya que debe disponer de la estructura definida. A partir de conocer qu tipos de archivos existen y la forma de accesarlos, podrs definir de una forma ms simple el dispositivo de almacenamiento a utilizar y la estructura de datos en el pseudocdigo.

42

A continuacin se te presentan las actividades que debers realizar para cubrir con este tema.
Actividades de aprendizaje Consulta acerca de los archivos y elabora una ficha de contenido. Elabora un cuadro sinptico sobre la lgica que se sigue en la organizacin y acceso a los registros de un archivo. Realiza un cuadro comparativo que considere los diferentes tipos de archivos, marcando sus caractersticas primordiales. Realiza los ejercicios 25 y 26. A partir de revisar y analizar la situacin de aprendizaje, explica por qu es conveniente utilizar una metodologa de programacin estructurada. Genera una ficha de contenido. Realiza del ejercicio 8.1 al 8.3. Recursos Joyanes Aguilar, Luis. Fundamentos de programacin. pp. 259-265. Productos Ficha de contenido sobre archivos.

Joyanes Aguilar, Luis. Op. cit., Cuadro sinptico sobre la organizacin y acceso a los pp. 265-270. registros de un archivo. Joyanes Aguilar, Luis. Op. cit., Cuadro comparativo sobre los diferentes tipos de p. 287. archivos. Manual de ejercicios y prcticas. Situacin de aprendizaje. Ejercicios 25 y 26 resueltos. Ficha de contenido con la justificacin del uso de la metodologa estructurada.

Joyanes Aguilar, Luis. Op. cit . Ejercicios resueltos. p. 304.

4. OPERACIONES CON ARCHIVOS Objetivo: Identificar el uso y aplicacin de los archivos, mediante la revisin general de las operaciones que se pueden llevar a cabo con ellos, para ser utilizados en soluciones que as lo requieran. Una vez almacenada la informacin en archivos, podrs manipularla al desarrollar habilidades para crear, borrar, leer, escribir y procesar archivos. Mediante el uso y aplicacin de los archivos podrs plantear soluciones en trminos de la programacin estructurada, manipulando los datos procesados en el pseudocdigo de una forma ms rpida y confiable. A continuacin se te presentan las actividades que debers realizar para desarrollar este tema.

43

Actividades de aprendizaje Recursos Joyanes Aguilar, Luis. Investiga sobre las operaciones bsicas que pueden realizarse con Fundamentos de programacin. los archivos, como son: creacin y pp. 270-278. eliminacin, lectura y escritura. Elabora una ficha de contenido. Elabora un cuadro sinptico con Joyanes Aguilar, Luis. Op. cit., las caractersticas tcnicas para el pp. 265-270, 280-296. acceso a la informacin de los archivos, que pueden ser: secuencial, relativa e indexada. Realiza los ejercicios 27, 28 y 29. Realiza la Prctica 5, que incluye el manejo de los archivos en el problema propuesto en la situacin de aprendizaje. Realiza del ejercicio 8.4 al 8.8. Manual de ejercicios y prcticas. Manual de ejercicios y prcticas.

Productos Ficha de contenido sobre las operaciones bsicas de los archivos.

Cuadro sinptico con las caractersticas tcnicas para el acceso a la informacin de los archivos. Ejercicios 27, 28 y 29 resueltos. Resolucin de la Prctica 5.

Joyanes Aguilar, Luis. Op. cit., Ejercicios resueltos. p. 304.

44

QU HE APRENDIDO?
A continuacin te presentamos una pequea evaluacin de esta unidad para que valores tus avances logrados hasta el momento. 1. Lee con atencin cada uno de las siguientes expresiones y coloca dentro del parntesis la letra de la definicin que le corresponda. Expresiones ( ) Aritmticas. ( ) De relacin. ( ) Lgicas. Definicin a) Permite realizar una serie de operaciones anidadas, a partir de una expresin que utilice los conectores and, not y or. b) Son operaciones de tipo matemtico, que permiten procesar la informacin de tal forma que se obtenga un valor. c) Se utiliza para evaluar expresiones que slo pueden devolver un valor de cierto o falso.

2. Lee con atencin cada una de las siguientes proposiciones y coloca dentro del parntesis una V si es verdadera o una F si es falsa. ( ) Se pueden asignar valores equivalentes al tipo de dato que tiene la estructura de datos, es decir, tanto la variable como el valor asignado deben ser del mismo tipo. ( ) Un registro puede tener varios campos clave, cuyos valores sirven para identificar a un registro.

( ) La organizacin relativa de un archivo tambin es conocida como organizacin indirecta. ( ) La concatenacin establece que dado dos archivos con registros de igual estructura, se trata de obtener uno solo en que configuren todos los registros del primero y a continuacin todos los registros del segundo.

3. Identifica a qu tipo de estructura lgica pertenece cada esquema y escrbelo en las lneas segn su enumeracin. I.
Evalua Expresin Falsa Identificador = Valor inicial Ejecuta Bloque de instrucciones Identificador = Valor final

II.

Verdadera Incremento o decremento en el identificador Ejecuta Mdulo

45

III.
Verdadera Si Expresin

Entonces Ejecuta mdulo 1

IV.
Ejecuta Bloque de instrucciones Evalua Expresin Verdadero

Otro Falsa Ejecuta mdulo 2

Falsa

V.
Instruccin 1 Instruccin 2 Instruccin 3 Instruccin 4

...

Instruccin n

VI.
En Valor 1

Ejecuta

Mdulo 1

En

Valor 2

Ejecuta

Mdulo 2

Caso

En

Valor 3

Ejecuta

Mdulo 3

Expresin

En

Valor 4

Ejecuta

Mdulo 4

. . .
En Valor n Ejecuta

. . .
Mdulo n

En

Diferente a todos los anteriores

Ejecuta

En otro caso Otro Mdulo

I.-________________________________ II.-_______________________________ III.-_______________________________ IV.-_______________________________ V.-________________________________ VI.-_______________________________ 4. Lee cuidadosamente las siguientes preguntas y contstalas correctamente. a) Qu es un archivo de texto? b) Qu es un archivo binario? c) Qu es un archivo estructurado? d) Qu tipos de organizacin para archivos conoces? 5. Del problema 5 de la primera unidad ubicado en la seccin Qu he aprendido, define a nivel de pseudocdigo: los tipos de datos, las constantes y variables que requiere la solucin.

46

QUIERO SABER MS

Tomado de Curso de IBM de programacin. Introduccin a la programacin en 32 bits. (Mxico, D.F.), nm. 1, p. 19.

47

QU VOY A APRENDER?

PROGRAMACIN ESTRUCTURADA INTERMEDIA


Objetivo de la Unidad:
Construir los mdulos requeridos para la solucin de problemas, mediante el uso de procedimientos y funciones, para hacer ms eficiente el desarrollo de las soluciones.

UNIDAD IV

Este es el momento de aplicar todo lo que has aprendido acerca de la metodologa de programacin estructurada para la solucin de la situacin de aprendizaje, generando el pseudocdigo necesario, al construir mdulos que realiza tareas especficas. Es importante notar que para sistematizar proceso(s) de trabajo se requiere de varios elementos, tales como:

Computadora. Impresora. Sistema operativo. Programas de aplicacin general. Programas de aplicacin especfica. Lenguaje de programacin.

Para la generacin de programas puedes apoyarte en la siguiente serie de tareas:


Visualizar el problema a resolver. Mediante una tcnica de segmentacin, elaborar el diagrama de Top-Down. A partir del diagrama de top-Down, define las tareas por mdulos. Realiza la codificacin del pseudocdigo. Codifica en un lenguaje de programacin. Compila o interpreta el cdigo generado en el lenguaje de programacin. Genera el programa ejecutable.

Entenderemos por compilacin e interpretacin a la traduccin de un lenguaje de alto nivel a un lenguaje mquina, siendo ste entendible por la computadora. Primeramente definiremos a los mdulos como procedimientos o funciones, su mbito puede ser global o local, as como el uso de parmetros de valor o variable, segn las necesidades del problema, definiendo las especificaciones de pseudocdigo. Analizaremos las libreras o unidades que pueden ser utilizadas para facilitar un proceso, ya que contienen ciertos procedimientos y/o funciones predefinidos por el lenguaje de programacin o definidos por el usuario. Veremos las ventajas de realizar impresiones de
48

reportes, a partir de definir su estructura y las especificaciones de pseudocdigo para el proceso de impresin y por ltimo, revisaremos brevemente la historia de los lenguajes de programacin estructurados, para que ubiques que existe una variedad de lenguajes para codificar tu pseudocdigo. A continuacin te presentamos el esquema de la unidad: Unidad IV. Programacin estructurada intermedia

Programacin estructurada Pseudocdigo Tiene especificaciones de Utiliza Unidades Con una Que tienen Procedimientos Funciones Estructura Imprimir Utiliza Lenjuajes de programacin Predefinidos Definidos por el usuario Predefinidos Definidas por el usuario Quick Utiliza Mdulos Local Predefinidos Definidos por el usuario Procedimientos De tipo Predefinidas Como Funciones Definidas por el usuario Como Pascal C Crea Reportes Que se pueden

Global

De tipo

Con Parmetros De Valor Variables Globales Variables De tipo Locales Parmetros De Valor

Con Variables De tipo Globales Locales

49

CMO APRENDO?
1. PROCEDIMIENTOS Y FUNCIONES Objetivo: Identificar el proceso de construccin de mdulos, mediante la aplicacin de los procedimientos y funciones, para facilitar el desarrollo de las soluciones. Un mdulo permite realizar una tarea especfica, formando parte de la solucin total del problema. Dependiendo de donde se vea un mdulo puede verse como submdulo, ya que puede estar incluido en un mdulo principal o dependiendo de otros mdulos, por lo cual en ocasiones se usar el trmino mdulo y submdulo como sinnimos. Un pseudocdigo puede constar de varios mdulos. El mdulo principal siempre se encuentra presente, pero puede o no haber submdulos. Entenderemos lo mismo al hablar de programa, programa principal y mdulo principal, donde este puede invocar (llamar) a cualquier submdulo. Existen dos tipos de mdulos: Procedimientos La utilidad de un procedimiento es que realiza una tarea especfica dentro del programa, descrita por un algoritmo; asimismo, un procedimiento se invoca utilizando su nombre como instruccin en el pseudocdigo. Parmetros. Los procedimientos pueden llevar parmetros, que no son ms que datos de entrada al procedimiento, cuyas operaciones internas pueden repercutir o no sobre la variable que se use como parmetro de entrada. Existen dos tipos de parmetro: de valor y variable, el primero nicamente se utiliza como dato de referencia, es decir, puede cambiar de valor durante la ejecucin del procedimiento, pero al trmino de ste el parmetro regresa a su valor original, mientras que el segundo tipo se considera variable, ya que durante la ejecucin del procedimiento ste cambia su valor y al finalizar el procedimiento, el parmetro permanecer con el nuevo valor.
Parmetros de entrada: Parmetros de entrada-salida: Son valores en los que se basa la respuesta del procedimiento. La informacin fluye al submdulo desde el mdulo que hace la llamada. Estos parmetros siempre son de valor. Son las respuestas determinadas por el procedimiento, es decir, representa la informacin que se regresa al mdulo que hace la llamada. Estos deben ser parmetros variables, de uso exclusivo para los procedimientos.

Se declaran de la siguiente forma: PROCEDIMIENTO Nombre (Parametro: tipo) PROCEDIMIENTO Nombre (VAR Parametro: tipo)
50

Los parmetros son el medio de comunicacin entre un mdulo que hace una llamada a uno que es llamado. Los valores que emplea el submdulo se pasan a dicho submdulo por medio de un parmetro, y las respuestas se regresan en un parmetro variable que puede ser el mismo. Ejemplo: Procedimiento CocRes (Dividendo, Divisor: Integer; Var Cociente, Residuo: Integer) COMIENZA Cociente := Dividendo div Divisor Residuo := Dividendo mod Divisor TERMINA Los parmetros dividendo y divisor se utilizan para pasar valores al procedimiento; los parmetros cociente y residuo regresan respuestas. En este ejemplo, dividendo y divisor son parmetros por valor, cociente y residuo son parmetros variables. Funciones Existen diversas funciones predefinidas, de tal forma que el usuario solamente las invoca, marcando los parmetros necesarios para su ejecucin. Tambin se permite que el usuario defina sus funciones segn las necesidades de su problema, por lo general usamos una funcin para realizar una tarea cuya finalidad es la de calcular un valor; una funcin se invoca incluyndola como parte de la expresin, a menudo en una instruccin de asignacin. Las funciones se definen de la siguiente forma: FUNCION Nombre: tipo Donde Nombre ser el identificador que le asignemos a una funcin y tipo ser el valor devuelto por la funcin. Otro formato es: FUNCION Nombre (Parametros): Tipo Donde Parmetros sern los valores introducidos en esta funcin. Nota. No olvides que los parmetros de las funciones nicamente pueden ser de valor. Cuando se llama a una funcin desde el mdulo principal, los valores se calculan y se coloca dicho valor en el nombre de la funcin, mediante una asignacin.

51

PASOS PARA ESCRIBIR UN MDULO 1. Identificar la tarea que realizar. Determinar si se utilizar una funcin o un procedimiento. Elegir un nombre del mdulo y determinar el tipo (real, carcter, lgico, etc.) si va a ser una funcin. 2. Decidir qu parmetros se emplearn. Determinar si se usarn parmetros de valor o variables. 3. Idear un plan para el mdulo. Esto puede implicar la identificacin de otras subtareas. Se debern generar un algoritmo para ejecutar las acciones que se requieran y una lista de variables locales (el algoritmo de una funcin debe incluir la asignacin de un valor al nombre de la funcin). 4. Escribir el mdulo. El primero y segundo pasos que se citaron antes proporcionan informacin para la lnea del encabezado. El tercer paso proporciona las declaraciones de variables locales y el cuerpo del mdulo. Razones para escribir mdulos Existen varias razones para utilizar mdulos, sin embargo solo te explicaremos las ms representativas: Repeticin. Cuando se requiere que una tarea se ejecute varias veces dentro del mismo pseudocdigo, el uso de un procedimiento o funcin evita que se tengan que escribir estos pasos varias veces en l y si se usan los parmetros correctos, hasta se podran unificar varias tareas casi idnticas en un solo mdulo. Uso Universal. Algunas tareas son idnticas para varios problemas, por lo que se pueden escribir procedimientos o funciones que podran ser ocupados en varios programas, al homogeneizar las soluciones, utilizando los parmetros correctos. Trabajo en equipo . Dado que la programacin estructurada utiliza tcnicas de segmentacin, permite que el programa se divida en mdulos, de tal forma que un equipo de trabajo de programacin se pueda dividir estos para generar los algoritmos correspondientes. Modularidad . El uso de mdulos permite dividir un problema en partes ms pequeas y manejables. Esto facilita la elaboracin y mantenimiento del sistema generado. La modularidad permite enfocar la atencin en la tarea especfica a realizar, permitiendo tener una interpretacin ms sencilla del programa. Una tcnica que nos apoya a modular un programa es la tcnica de Top-Down, la cual permite que una tarea compleja sea descompuesta en subtareas ms simples y, por ende, ms fciles de resolver. Es importante marcar que un mdulo puede invocar a su vez a otros submdulos, siempre y cuando los primeros sean de mayor jerarqua y en relacin directa con el mdulo llamado.

52

Generalidades de los mdulos 1. Los mdulos pueden declarar variables propias, pero no se puede tener acceso a stas fuera del mdulo (variables locales), a menos que sea un mdulo hijo el que las use. 2. Los mdulos deben tener funciones especficas. 3. Utilizan parmetros como el medio de comunicacin primario con el pseudocdigo. No utilices variables globales sin meditar su alcance, ya que esto provocara un desperdicio de memoria en la ejecucin del programa. 4. Analiza si el procedimiento requiere parmetros de valor o variables. 5. Una funcin no puede emplearse para calcular una respuesta de tipo arreglo, en lugar de esto, el arreglo deber ser un parmetro variable de un procedimiento. 6. Asigna un valor al nombre de la funcin en el cdigo de la funcin. Nunca asignes un valor a un nombre de un procedimiento. 7. El valor de una variable local calculado en una funcin debe ser asignado al nombre de la funcin. Unidades Una unidad es un conjunto de mdulos que pueden ser utilizados para diferentes programas, son independientes de los pseudocdigos que las utilizan, y forman una entidad independiente con sus propias reglas de implementacin. Las unidades tienen gran importancia, ya que gracias a ellas podemos ahorrar pseudocdigos que sean de considerable tamao; teniendo la particularidad de que las unidades son independientes del pseudocdigo que las use, y pueden ser compiladas y modificadas sin modificar los pseudocdigos que hacen la llamada. Cada mdulo de una unidad puede referenciarse dentro de un programa tantas veces como sea necesario, aunque desconozcamos el pseudocdigo de dicho mdulo. Para generar una unidad utilizable, tendremos que compilarla o generar la traduccin a lenguaje mquina en un medio de almacenamiento, despus de codificarla en un lenguaje de programacin. Antes de empezar a hablar sobre reportes y lenguajes de programacin estructurada, considera los siguientes conceptos generales sobre la programacin: Conceptos Generales de programacin:
Conceptos generales de programacin Son los ambientes utilizados para escribir programas de computadoras que puedan ser entendidos por ellas. Se dividen en tres categoras: mquina, bajo nivel y alto nivel. Es aquel cuyas instrucciones son directamente entendibles por la computadora y no necesitan traduccin posterior para que la computadora pueda comprender y ejecutar el programa. En ste las instrucciones o sentencias para la computadora son escritas con palabras similares al lenguaje cotidiano. 53

Lenguajes de programacin Lenguaje mquina

Lenguaje de alto nivel

Lenguaje de bajo nivel Este lenguaje depende de un conjunto de instrucciones (Ensamblador) especficas de la computadora. Las instrucciones se escriben en cdigos alfabticos conocidos como mnemotcnicos. Compilador Traduce de un lenguaje de alto nivel a lenguaje mquina, mediante un traductor llamado compilador, el cual verifica que todo el cdigo fuente est correcto y posteriormente traduce, permite que la ejecucin del programa sea ms rpida. Intrprete Traduce de lenguaje de alto nivel a lenguaje mquina, mediante un traductor llamado intrprete, el cual traduce lnea por lnea y al mismo tiempo la ejecuta, si en algn momento encuentra algn error, la ejecucin del programa se detiene; por la forma de ejecucin este tipo de traductor es ms lento. Programa Conjunto de instrucciones que tienen una secuencia lgica para realizar un propsito y que estn escritas en algn lenguaje de programacin; es la codificacin del pseudocdigo en un lenguaje de programacin. Algoritmo Se deriva de la traduccin al latn de la palabra rabe Alkhowarizmi, nombre de un matemtico y astrnomo rabe que escribi un tratado sobre manipulacin de nmeros y ecuaciones en el siglo IX. Un algoritmo es un mtodo para resolver un problema mediante una serie de pasos precisos, definidos, lgicos y finitos.

A continuacin se presentan las actividades que debers realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Recursos Realiza una consulta bibliogrfica Joyanes Aguilar, Luis. Fundamentos de programacin. sobre subprogramas (procedimientos y funciones), pp. 163-177. describiendo el proceso de construccin y aplicacin. Realiza los ejercicios 30 y 31. Investiga la utilidad de utilizar variables y constantes en un mbito local (objetos locales) y global (objetos globales) en los procedimientos y funciones. Manual de ejercicios y prcticas. Productos Ficha de contenido sobre subprogramas.

Ejercicios 30 y 31 resueltos.

Joyanes Aguilar, Luis. Op. cit., Ficha de contenido sobre los mbitos global y local. pp. 178-181.

Genera un cuadro comparativo Ficha sobre procedimientos y entre procedimientos y funciones. funciones.

Cuadro comparativo entre procedimientos y funciones.

54

Realiza un resumen sobre los parmetros, indicando su definicin, clasificacin, codificacin y el paso de parmetros. Elabora un cuadro comparativo entre los parmetros de valor y los parmetros variables o de referencia. Realiza los ejercicios 32, 33 y 34.

Joyanes Aguilar, Luis. Op. cit., Ficha de contenido acerca de parmetros. pp. 181-197.

Ficha de contenido sobre los parmetros.

Cuadro comparativo sobre parmetros de valor y variable. Ejercicios 32, 33 y 34 resueltos.

Manual de ejercicios y prcticas.

Realiza la lectura de la pgina Joyanes Aguilar, Luis. Op. cit., Preguntas resueltas. sugerida y contesta las siguientes p. 185. preguntas: Cul es la sintaxis para crear una unidad en Turbo Pascal? Qu tipo de unidades estndar maneja Turbo Pascal? Realiza del ejercicio 5.1 al 5.10. Realiza el ejercicio 35. Realiza la Prctica 6, que incluye el manejo de las funciones y procedimientos en el problema propuesto en la situacin de aprendizaje de esta asignatura. Joyanes Aguilar, Luis. Op. cit., Ejercicios resueltos. p. 202. Manual de ejercicios y prcticas. Manual de ejercicios y prcticas . Ejercicio 35 resuelto. Resolucin de la Prctica 6.

2. IMPRESIN DE REPORTES Objetivo: Identificar el pseudocdigo asociado a la impresin general de un reporte, mediante la revisin del proceso de impresin, para ejemplificar una aplicacin con procedimientos y funciones. Reportes En algunos casos no es suficiente tener la informacin almacenada en disco o presentada en pantalla, ya que para poder consultarla requeriremos forzosamente de la computadora, sin embargo, si generamos un documento impreso con dicha informacin nos facilitar la tarea. Es por esto que identificaremos a los reportes como la visualizacin impresa de la informacin procesada. Todo reporte comprende una serie de apartados o regiones, que se extienden horizontalmente a travs de la pgina y abarcan una o ms lneas impresas. Explicaremos a continuacin siete tipos de apartados, cada uno de los cuales se utiliza para imprimir la informacin en una secuencia determinada en el reporte.
55

Introduccin del reporte. Informacin que va al inicio del reporte, como: ttulo, portada de pgina o un texto introductorio. Encabezado de pgina. Informacin impresa al principio de cada pgina como nmero de pgina, fecha, ttulo de la pgina y los encabezados de las columnas. No se incluye en la introduccin del reporte. Grupo. Si la informacin se puede catalogar con base a un campo clave, entonces podemos crear grupos que contengan ciertos criterios. Cuerpo. Es la impresin de la informacin del archivo bajo ciertos criterios, presentada en columnas segn el campo indicado en los encabezados de pgina. Lnea de subtotales. Informacin impresa al final de cada grupo, tal como subtotales y datos estadsticos que podran contener algn texto explicativo. Pie de pgina. Informacin impresa al final de cada pgina, como fecha o nmero de pgina. Lnea de totales. Informacin impresa al final del reporte, tal como totales, datos estadsticos de resumen o la conclusin del reporte. En un lenguaje de programacin se necesita forzosamente definir la salida de los datos en las posiciones de la hoja, de tal forma que tendremos que direccionar la salida en la impresora. Dado que cada hoja tiene un cierto nmero de filas o lneas, tendremos que definir un mdulo que lleve el conteo de lneas para detectar el final de la hoja y realizar el salto de pgina. A continuacin se te presentan las actividades que debers realizar para cubrir con este tema.
Actividades de aprendizaje Investiga sobre los reportes y su estructura. Recursos Enciclopedia Encarta. Productos Ficha de contenido sobre reportes. Ficha de contenido sobre contadores y acumuladores. Ejercicio 36 resuelto. Resolucin de la Prctica 7.

Realiza una consulta bibliogrfica Joyanes Aguilar, Luis. sobre contadores y acumuladores, Fundamentos de programacin. para apoyar el salto de pgina. pp. 73-83. Realiza el ejercicio 36. Realiza la Prctica 7, que incluye el mdulo de impresin en el problema propuesto en la situacin de aprendizaje de esta asignatura. Manual de ejercicios y prcticas. Manual de ejercicios y prcticas.

56

3. LENGUAJES DE PROGRAMACIN ESTRUCTURADA Objetivo: Identificar los lenguajes de programacin estructurada que existen actualmente, mediante la revisin general de sus caractersticas, para familiarizar al estudiante con el nombre de varios lenguajes de programacin. Es importante que conozcas que existen una gran variedad de lenguajes de programacin, es funcin del programador seleccionar el lenguaje que utilizar para condificar su pseudocdigo valorando las necesidades y caractersticas de la solucin. A continuacin te presentamos la historia de algunos lenguajes de programacin estructurada: Una historia breve de Pascal y Turbo Pascal A principios de los aos 70 y tras los estudios efectuados en la dcada anterior en la realizacin del lenguaje ALGOL-68, Niklaus Wirth, un profesor del Eidgenossische Technische Hochschule (Instituto Tecnolgico) de Zurich (Suiza), diseo Pascal, un lenguaje concebido para la enseanza de tcnicas de programacin a estudiantes universitarios, que con el correr de los tiempos se ha convertido en estndar del mundo de la programacin. El objetivo fundamental de su creador fue desarrollar un lenguaje que permitiera ensear programacin como una disciplina sistemtica basada en determinados conceptos fundamentales. Estos conceptos se reflejan de modo claro y natural en el lenguaje. En 1983 aparece en el mercado norteamericano -comercializado por Borland international, Inc.- un compilador de Pascal denominado Turbo Pascal; la caracterstica ms notable, su precio reducido: $49.95 (dlares). Los programadores profesionales lo compraron masivamente, pues no slo funcionaba, sino que compilaba y corra -ejecutaba- programas ms rpidamente que cualquier otro compilador del mercado. En aos sucesivos aparecieron las versiones 2.0, 3.0, 3.1 y 3.2. Su xito se deba a la facilidad de edicin, compilacin y ejecucin: constitua por s mismo un entorno de programacin: editor, compilador y depurador integrados; tena una limitacin de 64 Kbytes en el tamao de los programas. La versin 4.0 super con creces a las versiones anteriores y elimin la barrera de los 64K incorporando a su vez los mens desplegables, adems ofreca un gran nmero de mejoras y novedades en lo que concierne al confort y al entorno de programacin:
Compilador con editor incorporado similar a las versiones anteriores, pero renovado (mens

desplegables, funciones especiales, etc.). Facilidad para construccin de libreras. Compilador de tipo clsico que puede ser utilizado en batch (proceso por lotes).

La posibilidad de romper la barrera de 64K para la creacin de programas, se consigui mediante la creacin de mdulos que se diseaban con unidades (unit). Cada unidad puede ser compilada separadamente. A finales de 1988 aparece en Estados Unidos la versin 5.0 que, entre otras novedades, ofreca un entorno de desarrollo. Entrado el ao 1989 aparece la versin 5.5, idntica a la 5.0, con una importante excepcin: incorpora facilidades para realizar programacin orientada a objetos
57

(OOP, Object-Oriented Programming), metodologa de programacin clsica pero poco utilizada, que, sin duda, es la clave en el desarrollo de la Ingeniera del Software. Turbo Pascal corre sobre computadoras PC, AT, XT, PS/2, 286, 386, 486, Pentium e incluso Apple; es una herramienta de programacin muy potente que tiene adems la virtud de su facilidad de aprendizaje. Por esta razn, sirve indistintamente en el campo de la educacin y en el profesional. Desde Institutos y Liceos hasta Escuelas y Facultades Universitarias. Historia de C Comenzaremos diciendo que C no est atado a ningn sistema operativo. Este entorno de desarrollo ha dado a C la reputacin de ser un lenguaje de programacin de sistemas porque es til para escribir compiladores y sistemas operativos. UNIX fue desarrollado originalmente en 1969, en lo que ahora sera considerado un pequeo DEC PDP-7; por su diseo se pretenda que este sistema operativo fuera amigable para el programador, ofreciendo herramientas de desarrollo tiles, rdenes claras y un entorno relativamente abierto. Poco despus del desarrollo de UNIX, Ken Thompson implemento un compilador para un nuevo lenguaje llamado B. Thompson estaba intentando simplificar ms el CPL, sin embargo, tanto BCPL como B, se convirtieron en lenguajes limitados, tiles solamente para ciertas clases de problemas. As, poco despus apareci una mquina, el PDP-1. UNIX y el compilador B fueron trasladados a est mquina, pero an resultaba bastante pequeo comparado con los equipos actuales. En 1971 se comenz a trabajar en un sucesor para el B, apropiadamente llamado C. Danniss Ritchie acreditado como el creador de C, que restaur parte de la BCP1 y B. C es el lenguaje a elegir para el diseo de software de sistemas. C es un lenguaje relativamente de bajo nivel, que permite especificar cada detalle en la lgica de un algoritmo para lograr la mxima eficiencia de la computadora. Pero C es tambin un lenguaje de alto nivel que puede ocultar los detalles de la arquitectura de la computadora, incrementando as la eficiencia de la programacin. A continuacin se presenta la actividad que debers realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Recursos Productos Fichas de contenido sobre los lenguajes de programacin estructurada.

Investiga las caractersticas de los Joyanes Aguilar, Luis. siguientes lenguajes de Fundamentos de programacin. programacin: Q. Basic, Quick pp. 9-11. Basic y Visual Basic, Pascal y C, los cuales son de alto nivel.

58

QU HE APRENDIDO?
A continuacin te presentamos una pequea evaluacin de esta unidad para que valores tus avances logrados hasta el momento. 1. Lee con atencin cada uno de los siguientes conceptos y coloca dentro del parntesis la letra de la definicin que le corresponda. Concepto ( ) Procedimiento. ( ) Funcin. Definicin a) Se definen segn las necesidades del problema, utilizndose un mdulo que sirva para calcular un valor nico. b) Son datos de entrada al procedimiento, cuyas operaciones internas pueden repercutir o no sobre la variable que se use de entrada. c) Permite realizar una tarea especfica, formando parte de la solucin total del problema.

( ) Parmetro.

2. Lee con atencin cada una de las siguientes proposiciones y coloca dentro del parntesis una V si es verdadera o una F si es falsa. ( ) Un mdulo debe declararse antes de que lo llamen. ( ) Los mdulos no pueden declarar variables propias. ( ) Utiliza parmetros como el medio de comunicacin primario con el pseudocdigo. ( ) Una funcin no puede emplearse para calcular una respuesta de tipo arreglo. ( ) Asigna a una variable local el valor obtenido del procedimiento. 3. Lee con atencin cada una de las siguientes premisas para escribir una funcin y ordnalas, colocando el nmero correspondiente dentro del parntesis (inicia con el nmero 1). ( ) Declaracin de constantes y variables locales, si las hay. ( ) Una lnea de encabezado que identifica la funcin, su tipo y los parmetros que utiliza. ( ) Lista de instrucciones que forman el cuerpo de la funcin, contenidas entre los delimitadores COMIENZA y TERMINA. 4. Lee cuidadosamente las siguientes preguntas y contstalas. a) Qu es una unidad? b) Qu es un reporte y cul es su estructura? c) Cules lenguajes de programacin estructurada conoces? d) Cules son sus caractersticas? 5. Del problema 5 de la primera unidad ubicado en la seccin Qu he aprendido, elabora el pseudocdigo correspondiente a los mdulos descritos en el diagrama de Top-Down que desarrollaste.
59

QUIERO SABER MS

Tomados de Curso de IBM de programacin. Introduccin a la programacin en 32 bits. (Mxico, D.F.), nm. 1, p. 13.

60

QU VOY A APRENDER?

PROGRAMACIN ORIENTADA A OBJETOS


Objetivo de la Unidad:
Aplicar los conceptos bsicos de la programacin orientada a objetos en la solucin de problemas elementales, mediante la especificacin de la estructura de datos y las operaciones a realizar, para desarrollar el pseudocdigo requerido.

UNIDAD V

La programacin estructurada plantea que un problema se puede dividir en problemas ms simples y la suma de la solucin de cada problema resuelve el problema en general, a esto se conoce modularizacin. El criterio de modulacin de un problema es identificar tareas similares o especficas, de tal forma que un fragmento de pseudocdigo lo pueda resolver; dicho fragmento lo describiremos en un procedimiento o una funcin, el cual es un mdulo que realiza una tarea nica y especfica. De igual forma tendremos que definir el alcance de un mdulo y las variables que utiliza, ya que un mdulo que no tiene relacin directa con el que realiza cierta tarea no podr ser llamado, esto nos lleva a la siguiente afirmacin: Una mala modularizacin implica una mala resolucin del problema implicando un mal uso de una metodologa de programacin estructurada. La unidad o librera no es ms que un mdulo externo que realiza una serie de tareas bien definidas, las cuales pueden ser referenciadas por cualquier pseudocdigo que las requiera; ya que generalmente siempre se desea la impresin de la informacin procesada, explicaremos la forma de definirlo a nivel de pseudocdigo. En la actualidad existen varios lenguajes de programacin con una tendencia estructurada, por lo cual consideramos importante que conozcas algunos de ellos. Actualmente la metodologa de programacin orientada a objetos es la ms usada para generar aplicaciones grficas, ya que al definir una estructura de datos de tipo objeto, la podremos manipular al definir una serie de posibles operaciones que puede realizar aparte de un evento. Definiremos un objeto a partir de describir qu son las clases, los atributos, los datos estructurados, las operaciones y los mtodos asociados a ellos, de tal forma que al seleccionar un objeto se realicen todas las series de instrucciones que tiene asociados. Es importante que trates de identificar el alcance de esta metodologa, ya que actualmente la tendencia de programacin es hacia objetos.

61

Identificars la metodologa de la programacin orientada a objetos para desarrollar soluciones a problemas especficos; de igual modo revisars algunos lenguajes de programacin con esta tendencia. A continuacin te presentamos el siguiente esquema de la unidad: Unidad V. Programacin orientada a objetos
Tiene especificaciones de Objeto Pseudocdigo

Pertenece a una

Utiliza

Utiliza

Realiza ciertas

Clase o Subclase

Datos estructurados

Mtodos

Operaciones

62

CMO APRENDO?
1. ESPECIFICACIONES PARA EL PSEUDOCDIGO Objetivo: Identificar el pseudocdigo requerido para describir la solucin en trminos de la programacin orientada a objetos, a travs de revisar la forma de declarar las clases, subclases, estructura de los datos y objetos, para la correcta especificacin de los diferentes elementos. Un objeto lo podemos definir como la abstraccin de los entes o seres vivos y las cosas inertes del mundo real. La programacin orientada a objetos es una tcnica para el desarrollo de software ms amigable con el usuario, de tal forma que est ms determinada por la organizacin estructural que por las preposiciones de lenguaje mquina o de alto nivel, tales como estructuras de datos o mdulos. La programacin orientada a objetos fue uno de los primeros sistemas de programacin que reconoci que el cambio no slo era inevitable, sino deseable, en estricto sentido, es aquella programacin que enva mensajes entre objetos que no se conocen. Los objetos que comparten ciertas caractersticas se pueden agrupar en colecciones, un ejemplo de esto son los objetos que se presentan en la siguiente pantalla:

Barra de desplazamiento Cajas de chequeo

Botones

Donde cada uno de los objetos responde a los mensajes que enva el usuario en forma de teclas oprimidas o clics de ratn y cosas distintas sucedern dependiendo de cul es el objeto que se apunta cuando se enva un mensaje. Los objetos encapsulan datos y procedimientos en una sola entidad y pueden ser considerados como tareas o procesos. Los programas orientados a objetos con frecuencia se describen como simulaciones, debido a que los objetos en el programa por lo general imitan el comportamiento de sus componentes en el mundo real. Las clases equivaldran en la programacin estructurada a la declaracin de tipos de datos, un mensaje es una llamada entre objetos y un mtodo es la serie de instrucciones que realiza el objeto al ser llamado.
63

Un objeto combina estructura y comportamiento en una simple entidad. El trmino orientado a objetos significa que organizamos el software como una coleccin de objetos descritos que incorporan tanto estructura como comportamiento. Los lenguajes de programacin orientado a objetos, son tiles al remover restricciones debido a la inflexibilidad de los lenguajes tradicionales. El desarrollo orientado a objetos es fundamentalmente una nueva forma de pensar y no una revisin de programacin. A continuacin se presentan las actividades que debers realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Elabora una ficha de contenido sobre la programacin orientada a objetos. Recursos Joyanes Aguilar, Luis. Op. Cit p.p. 70-71 Productos Ficha de contenido sobre la programacin orientada a objetos. Ficha de contenido sobre las caractersticas de la programacin orientada a objetos.

Joyanes Aguilar, Luis. Realiza una consulta bibliogrfica Op. Cit p.p. 76-83, 88-91 sobre los atributos o caractersticas de los objetos (objetos, datos estructurados y mtodos). Elabora una ficha de contenido. Investiga sobre las operaciones bsicas entre objetos. Realiza un cuadro sinptico. Realiza el ejercicio 37. Manual de ejercicios y prcticas. Joyanes Aguilar, Luis. Op. Cit p.p. 20-23, 91-97

Cuadro sinptico sobre las operaciones bsicas entre objetos. Ejercicio 37 resuelto.

2. PROCESO PARA EL DESARROLLO DE SOLUCIONES Objetivo: Comprender la metodologa de la programacin orientada a objetos, mediante la revisin de cada una de sus etapas, para la solucin de problemas. La metodologa de modelado de objetos tiene las siguientes etapas . Anlisis. El modelo de anlisis es una abstraccin precisa y concisa de los requerimientos del usuario sobre lo que realizar el sistema y no como lo har. Un buen modelo puede ser entendido y criticado por expertos de la aplicacin que no son programadores. Abstraccin. Consiste en enfocar aspectos esenciales de una entidad e ignorar las propiedades accidentales. Diseo del sistema. El objetivo es organizar en subsistemas basados en la estructura del anlisis y la arquitectura propuesta.
64

Diseo de objetos. El diseador adiciona detalles al modelo del diseo de acuerdo a la estrategia establecida durante el diseo del sistema. Implementacin. La programacin debe ser relativamente menor y una parte mecnica del ciclo de desarrollo, porque las decisiones difciles deben hacerse durante el diseo. Mtodos Un mtodo es la implementacin de una operacin para una clase. Sin embargo, cada mtodo debe ser implementado por diferentes piezas de cdigo y dependen slo de las clases del objeto. Una clase est representada por una caja, la cual puede tener tres regiones: nombre de la clase, lista de atributos y lista de operaciones. Cada nombre de atributo puede ser distinguido por detalles opcionales. Tales como lista de argumentos y tipos resultados. Sugerencias prcticas. No inicies la construccin de un modelo de objetos solamente juntando clases, asociaciones y herencia. Primero debes entender el problema y resolverlo. El contenido de un modelo de objetos se da por la relevancia de la solucin. Busca hacer tu modelo simple, evita complicaciones. Selecciona los nombres de los objetos cuidadosamente, ya que deben ser descriptivos. Seleccionar nombres apropiados es uno de los ms difciles aspectos del modelado de objetos. A continuacin te presentamos los objetos predefinidos de Visual Basic, as como los atributos y los sucesos referidos a un evento u operacin del objeto.
Atributos del botn

Objetos predefinidos

Botn

Botn de opcin

65

Procedimiento de suceso

Suceso Codificacin de la secuencia de acciones que realiza en objeto.

A continuacin se te presentan las actividades que debers realizar para cubrir con este tema.
Actividades de aprendizaje Recursos Productos Ficha de contenido sobre procedimiento de sucesos de un objeto. Ficha de contenido sobre las etapas para desarrollar soluciones con una metodologa de programacin orientada a objetos. Ejercicio 38 resuelto.

Joyanes Aguilar, Luis. Investiga sobre la forma de Op. Cit, p.p. 87. asignar un procedimiento de sucesos para objetos predefinidos. Joyanes Aguilar, Luis. Realiza una consulta bibliogrfica Op. Cit, p.p. 544-551 sobre el proceso que se requiere para desarrollar soluciones, utilizando una metodologa de programacin orientada a objetos. Define etapas. Realiza una ficha Manual de ejercicios y prcticas. de contenido. Realiza el ejercicio 38.

66

3. LENGUAJES DE PROGRAMACIN ORIENTADA A OBJETOS Objetivo: Identificar los lenguajes de programacin orientada a objetos que existen actualmente, mediante la revisin general de sus caractersticas, para familiarizar al estudiante con el nombre de varios lenguajes de programacin. Existe una gran gama de lenguajes de programacin que tienen esta tendencia de programacin orientada a objetos, dado que es un lenguaje donde el programador puede crear aplicaciones con un ambiente grfico, el cual sea 100% amigable al usuario y fcil de entender. La evolucin de todos los lenguajes de programacin han tendido hacia este tipo de lenguaje, permitiendo que un lenguaje estructurado como lo es Turbo Pascal, incorpore en este momento herramientas para poder programar a un nivel de objetos. Algunos lenguajes de programacin estructurada que incorporan estas herramientas de programacin orientada a objetos son: Smalltalk, Turbo Pascal C++, entre otros. A continuacin se presenta la actividad que debers realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Investiga sobre los principales lenguajes de programacin orientada a objetos. Elabora un cuadro comparativo. Recursos Joyanes Aguilar, Luis. Op. Cit pp. 5-6, 24-32. Productos Cuadro comparativo entre lenguajes de programacin orientada a objetos.

67

QU HE APRENDIDO?
A continuacin te presentamos una pequea evaluacin de esta unidad para que valores tus avances logrados hasta el momento. 1. Lee con atencin cada uno de los siguientes conceptos y coloca dentro del parntesis la letra de la definicin que le corresponda. Concepto ( )Clase. ( )Objeto. ( )Herencia. ( )Polimorfismo. Definicin a) Cuando en clases diferentes, la misma operacin se comporta de manera diferente. b) Es compartir los atributos y operaciones entre clases basadas en una relacin. c) Conjunto de objetos con propiedades similares, comportamiento y semntica comn. d) Es la abstraccin de los entes o seres vivos y las cosas inertes del mundo real.

2. Lee con atencin cada una de las siguientes proposiciones y coloca dentro del parntesis una V si es verdadera o una F si es falsa. ( ) La programacin orientada a objetos es una tcnica para el desarrollo de software ms amigable con el usuario.

( ) Smalltalk, Turbo Pascal y C++, no son lenguajes de programacin orientada a objetos. ( ) Los objetos que comparten ciertas caractersticas se pueden agrupar en colecciones.

( ) Un mtodo es la implementacin de una operacin para un objeto. 3. Lee con atencin cada una de las siguientes etapas de la metodologa para el modelado de objetos y ordnalas colocando el nmero correspondiente dentro del parntesis (inicia con el nmero 1). ( ( ( ( ) Implementacin. ) Anlisis. ) Diseo de objetos. ) Diseo del sistema.

4. Lee cuidadosamente las siguientes preguntas y contstalas. a) b) c) d) e) Qu es un objeto? Cul es la filosofa de la programacin orientada a objetos? Qu es un suceso? Cmo se asocia un objeto a un procedimiento de suceso? Cules son los atributos de un objeto?

5. Del problema 5 de la primera unidad ubicado en la seccin Qu he aprendido, define qu datos y procedimientos se requieren para tratar como objetos al estacionamiento, al chofer y al registro de entradas.
68

QUIERO SABER MS

Tomados de Curso de IBM de programacin. Introduccin a la programacin en 32 bits. (Mxico, D.F.), nm. 1, pp. 16-20.

69

BASES DE DATOS I

Cu adernillo de procedimientos para el aprendizaje (Versin para fase inicial)

C O N LA C OL AB O RA C I N D E L uis Gabriel M ondrag n Torres

BASES DE DATOS I
Cuadernillo de procedimientos para el aprendizaje 2000. Secretara de Educacin Pblica/ Direccin General del Bachillerato COSTO DE RECUPERACIN $ 12.00

NDICE
Presentacin........................................................................................................................................................... UNIDAD I. Introduccin a las bases de datos............................................................................................ 1. Importancia, conceptos bsicos y objetivos de las bases de datos........................................................ 2. Sistema de manejo de bases de datos........................................................................................................... 3. Usuarios de las bases de datos....................................................................................................................... 4. Relaciones entre datos..................................................................................................................................... 5. Tipos de modelos entre datos........................................................................................................................ Qu he aprendido?................................................................................................................................................. Quiero saber ms...................................................................................................................................................... UNIDAD II. Bases de datos relacionales...................................................................................................... 1. Estructuras bsicas de las bases de datos relacionales y normalizacin............................................. 2. lgebra relacional............................................................................................................................................ 3. Vistas o subesquemas...................................................................................................................................... 4. Lenguaje relacional estndar SQL............................................................................................................... Qu he aprendido?................................................................................................................................................. Quiero saber ms...................................................................................................................................................... UNIDAD III. Manipulacin de bases de datos........................................................................................... 1. Creacin de una base de datos....................................................................................................................... 2. Consultas a una base de datos....................................................................................................................... 3. Modificaciones a una base de datos.............................................................................................................. 4. Ordenacin de la informacin....................................................................................................................... Qu he aprendido?................................................................................................................................................. Quiero saber ms..................................................................................................................................................... UNIDAD IV. Caractersticas avanzadas de las bases de datos.............................................................. 1. Manejo de variables y funciones................................................................................................................... 2. Generador de reportes.................................................................................................................................... 3. Generador de pantallas................................................................................................................................... 4. Creacin y manejo de bases de datos mltiples........................................................................................ Qu he aprendido?................................................................................................................................................. Quiero saber ms..................................................................................................................................................... 5 8 11 13 15 17 18 21 23 24 26 29 32 32 34 36 37 38 40 41 42 45 46 47 48 50 52 53 55 56

PRESENTACIN

El uso de las bases de datos se ha ido incrementando con el tiempo, de tal forma

que no dudaramos en decir que actualmente desempean un papel muy importante en todas las instituciones educativas o privadas, as como en las empresas que ofrecen diferentes tipos de servicios.

BASES DE DATOS I

Lo anterior se debe a la necesidad de contar con informacin rpida y oportuna, generndose sistemas de informacin ms eficientes, a partir de definir mejores modelos para representar la informacin. As, la importancia de la informacin en la mayora de las organizaciones ha conducido al desarrollo de una gran cantidad de conceptos y tcnicas para la gestin eficiente de los datos, lo que implica tanto la definicin de estructuras para almacenar la informacin como la bsqueda de mecanismos para su manipulacin. Es as como surgen las bases de datos y en especfico los sistemas gestores de bases de datos, cuyo objetivo es proporcionar un entorno donde sea posible recuperar, almacenar y manipular un conjunto de datos necesarios. Las bases de datos han evolucionado a tal grado que actualmente la demanda y oferta de usuarios y diseadores ha crecido respectivamente. Cuando surgieron las bases de datos se requera de un especialista en tcnicas de estructuracin de datos para disear los sistemas, actualmente muchos tcnicos y profesionistas cuentan con los elementos necesarios para realizar un buen sistema de bases de datos. Es importante que identifiques la importancia de cursar la asignatura de Bases de Datos I, ya que sta te brindar los elementos tericos-prcticos para generar y operar con las bases de datos relacionales y resolver problemas de complejidad creciente a travs de sistemas sencillos. Conforme vayas avanzando en el estudio de esta asignatura, te dars cuenta que no es fcil desarrollar soluciones prcticas en el primer intento, sobre todo cuando disean bases de datos grandes, ya que para lograrlo necesitars utilizar toda una metodologa para disear bases de datos. La ejercitacin en problemas de este tipo te permitir conocer y profundizar en el estudio y manejo de Sistemas de Bases de Datos. Para que puedas realizar el estudio de esta asignatura es conveniente que entiendas la manera particular en la que se estructura esta gua. Las unidades estn constituidas por las siguientes secciones: Qu voy aprender. En este apartado encontrars los propsitos y los objetivos de cada una de las unidades didcticas. Es muy importante que tengas en mente lo que vas a lograr con el estudio de los temas del programa, tener claridad de la meta es fundamental para poder utilizar las herramientas de que disponemos para llegar a ella. Con la intencin de presentarte un proceso real de trabajo, en la primera unidad se describe el planteamiento de una situacin laboral, la cual llamaremos Situacin de aprendizaje. Durante el desarrollo de toda la gua se harn referencias al Manual de Ejercicios y Prcticas, en donde se presentar la solucin parcial de dicha situacin, la parte faltante te corresponder desarrollarla. Tambin debes desarrollar las prcticas, ya que ellas te darn los elementos de modelaje en la solucin de la situacin de aprendizaje. 5

Cmo aprendo? En esta seccin encontrars las actividades de aprendizaje que te irn llevando paso a paso a travs de estrategias de solucin, pero sintete con la libertad de probar otros caminos despus de que hayas dominado el que se te propone. En todos los temas te presentamos una tabla con tres columnas: en la primera de ellas, titulada actividades de aprendizaje se incluye una secuencia de acciones que debes realizar para acercarte con mayor facilidad al estudio de esta asignatura, hacindose referencias al manual de ejercicios y prcticas para reforzar los contenidos revisados y resolver la situacin de aprendizaje; en la segunda, recursos, se proporcionan algunas sugerencias para que encuentres fcilmente la informacin que requieres; finalmente, en la tercera columna, llamada productos, se anotan los resultados concretos que debes obtener al terminar la secuencia de actividades correspondiente a cada tema, tales productos deben servirte como un control de tu propio avance. Te servir tambin para ir formando un glosario con los trminos ms usuales y sus definiciones; es decir, un diccionario personal que te ayudar en caso de dudas al utilizar alguna de las herramientas que ests estudiando. Qu he aprendido? Al concluir el estudio de cada unidad, te convendr detenerte a pensar acerca de tus logros y descubrir qu tan firme y precisa se est llevando a cabo tu formacin en esta asignatura. Se te plantean una serie de reflexiones que te ayudarn a valorar tu esfuerzo. No es un examen sino una evaluacin, se trata de que ejerzas tu capacidad de reflexin acerca de ti mismo y que, en caso necesario, revises aquellos puntos del programa de estudio que consideres que todava no dominas por completo. Ser el momento de revisar tambin tus actitudes con respecto a la manera en que estudias. Te sugerimos que elabores una tabla de logros para que lleves tu registro personal, seguramente al ir anotndolos, te dars cuenta con satisfaccin que el esfuerzo ha valido la pena. Quiero saber ms. En esta seccin se proponen actividades adicionales para que, a tu eleccin, puedas extender tu horizonte de conocimiento. Es muy conveniente que asumas que no todo lo que necesitas saber se te proporcionar en un curso, por el contrario, debers estar siempre alerta a enfrentar nuevos retos para que tu aprendizaje sea realmente el que necesitas para resolver tus propios problemas. Tu participacin es muy importante para que el estudio de las Bases de Datos tenga sentido y utilidad real. Te dars cuenta que es satisfactorio descubrir que puedes ser cada vez ms eficiente en el manejo de nuevos medios para enfrentar tus problemas y, en la mayora de los casos, encontrar la mejor solucin que est a tu alcance. Ubicacin de la asignatura La asignatura de Bases de Datos I, se ubica en el eje bsico de la estructura de la Capacitacin en Informtica y corresponde al quinto semestre. La importancia de esta asignatura es que te permite aprender conceptos, principios generales y operaciones bsicas de las bases de datos relacionales de un modo inmediato, mediante el conocimiento general de la teora y la solucin de problemas de complejidad creciente, para que puedas desarrollar bases de datos sencillas y as facilitar la continuidad de tus estudios sobre el tema.

La ubicacin grfica dentro de la Capacitacin en Informtica es la siguiente.


Sistemas de Informacin I Sistemas de Informacin I

EJE BSICO

Lgica Computacional y Programacin

Bases de Datos I

Bases de Datos II

EJE DE APLICACIN

Aplicaciones Grficas con Programas Integrados

Aplicaciones Especficas con Programas Integrados

EJE COMPLEMENTARIO

Introduccin a las Redes

Relacin directa Relacin indirecta

Objetivo de la asignatura Aplicar los conceptos, principios generales y operaciones bsicas de las bases de datos relacionales en modo inmediato, mediante el conocimiento general de la teora y la solucin de problemas de complejidad creciente, para desarrollar sistemas sencillos y facilitar la continuidad de estudios sobre el tema.

QU VOY A APRENDER?

INTRODUCCIN A LAS BASES DE DATOS


Objetivo de la Unidad:
Comprender el concepto, aplicacin, uso, tipos y estructuras bsicas de las bases de datos, mediante el anlisis de sus objetivos, lenguajes de manipulacin, tipos de usuario, relaciones entre datos y modelos, para identificar los problemas que es posible resolver mediante este tipo de herramientas.

UNIDAD I

Las organizaciones han crecido mucho y por lo tanto han requerido sistematizar la informacin que ocupan para sus transacciones. Es por ello que desde los 70s se opt por cambiar los sistemas de archivos a bases de datos, para facilitar el acceso a la informacin, considerando que es importante en la organizacin y la gestin de recursos de informacin, dado que permite eficientar los tiempos de consulta para tomar desiciones en el momento adecuado. Es importante sealar que tendremos que seguir cierta metodologa para disear bases de datos medianas o grandes, y generar as sistemas de procesamiento de transacciones, es decir, elaborar sistemas que utilizan grandes cantidades de informacin almacenadas en bases de datos, en las cuales se realizan muchas transacciones o modificaciones diariamente. Si nuestro objetivo es generar bases de datos chicas, entonces no ser tan necesario utilizar toda una metodologa para disearla. Por lo anterior, empezaremos por explicarte qu son las bases de datos, cmo se disean y los problemas ms comunes que se presentan al realizar un mal diseo, para poder definir sistemas informticos que permitan procesar informacin de una manera rpida y confiable. Abordaremos la descripcin de las aplicaciones de software que permiten manipular de forma rpida y confiable la informacin contenida en una base de datos, ya que sin ste nuestra base de datos quedara a un nivel descriptivo y con datos contenidos en papel. Estas aplicaciones de software se conocen como Sistemas Gestores de Bases de Datos (SGBD) o Sistemas Manejadores de Bases de Datos (DBMS, siglas en ingls de Data Base Manager System), y se caracterizan por tener una organizacin fsica y lgica, utilizar un lenguaje especfico y tener interfaces con otros sistemas de comunicaciones. Asimismo, definiremos las relaciones entre datos, los principales modelos conceptuales para la representacin de la estructura lgica de los datos, as como los usuarios de las bases de datos. En el desarrollo de la situacin de aprendizaje, las actividades que se te proponen y aquellas que realices por cuenta propia, podrs identificar la forma de disear bases de datos relacionales, apoyndote en el lgebra relacional y el lenguaje SQL.

Los temas que forman el contenido de esta unidad se presentan a continuacin: Unidad I. Introduccin a las bases de datos

Bases de datos

Utilizando Gestores de bases de datos

Tienen una Organizacin

Utilizan Lenguajes

Fsica

Lgica

Describir

Manejar datos

Consultas

Programas

Utilizan el Diseo de datos

Pueden tener Problemas De

Redundancia

Inconsistencia

Integridad

Seguridad

Tienen Usuarios Como Finales Diseadores o programas Operadores o capturitas Lista rbol Modelos conceptuales De tipo Reticular Relacional

Debes notar que los conceptos ms importantes estn sombreados, prstales especial atencin puesto que forman parte del conjunto de conceptos fundamentales en tus estudios de Informtica.

A continuacin te presentamos el eje rector de la gua, en el cual se te presenta un proceso real de trabajo muy similar a los que te podrs encontrar en el campo laboral. SITUACIN DE APRENDIZAJE El servicio de mensajera FQB actualmente cuenta con 50 sucursales distribuidas por todo el pas, stas se encargan de recibir o enviar paquetes a travs de toda la Repblica Mexicana, dichos paquetes pueden ser desde una carta hasta paquetes de 100 kg. El gerente regional ha detectado una serie de problemticas con los envos, ya que en algunas ocasiones se pierden las rdenes de envo o no se llenan correctamente y los paquetes no llegan a sus destinos; de igual manera, llegan paquetes cuyo destino no coincide con la sucursal, por lo cual se tienen que regresar a su origen para volverse a enviar, provocando molestias con los usuarios del servicio de mensajera FQB. La forma en que opera la paquetera es la siguiente: El encargado de recibir los paquetes registra en una libreta de clientes los datos generales de ste y del destinatario, tales como: nombre, direccin y telfono, asignndoles una clave nica de identificacin para tener sus datos a la mano por si surge algn problema en el envo o recepcin del paquete. Como segundo paso, el encargado registra en la libreta de salidas las caractersticas del o los paquetes, tales como: clave del artculo, descripcin y costo. Asimismo, registra la clave nica de identificacin del cliente que enva el paquete. En caso de desconocer alguna caracterstica del paquete se auxilia con una libre de artculos, en donde se encuentran dichos datos. Lo siguiente que realiza es generar una factura de contratacin del servicio con los siguientes datos: nmero de factura, fecha de facturacin, datos generales del cliente remitente y destinatario, as como los datos generales de las sucursales de origen y destino, y por ltimo, la descripcin de los paquetes, costo por paquete y total del envo.

Los datos generales de las sucursales son: Estado, direccin, telfono y clave de identificacin de la sucursal. Cuando llega un paquete, el encargado registra los datos del mismo en la libreta de entradas, incluyendo tanto la clave nica de identificacin del cliente que enva como el que recibe, y en la libreta de clientes tambin registra los datos generales de ambos clientes, incluyendo las claves nicas de identificacin asignadas. Por ltimo cataloga el paquete segn el destino, para que en el momento oportuno se enve.

El gerente regional decide sistematizar el servicio de mensajera, de tal forma que se cuente con una base de datos relacional que almacene la informacin descrita, la cual se pueda manipular a travs de pantallas de captura y consulta, y permita elaborar facturaciones mediante la generacin de reportes, utilizando una aplicacin de bases de datos.

10

CMO APRENDO?
1. IMPORTANCIA, CONCEPTOS BSICOS Y OBJETIVOS DE LAS BASES DE DATOS Objetivo: Familiarizarse con los objetivos, aplicaciones, terminologa y problemas fundamentales de las bases de datos y los sistemas para su manejo, mediante el estudio de su importancia, la problemtica que abordan y sus caractersticas bsicas. Es importante que identifiques la importancia de las bases de datos como medio de almacenamiento de informacin, as como las implicaciones que tiene realizar un mal diseo de la base de datos, ya que esto provoca ciertos problemas con la informacin que podran causar grandes complicaciones en la informacin de una organizacin. Por lo anterior identificaremos a las bases de datos como el medio de almacenamiento de informacin, la forma de realizar un diseo confiable y, por ende, los principales problemas que implicara realizar un mal diseo. En la actualidad las bases de datos son el elemento crucial en las reas que utilizan sistemas computarizados, ya que permite mantener y operar informacin en forma organizada, segura, confiable y en grandes cantidades. Primero empezaremos por definir algunos conceptos indispensables para entender aspectos importantes de la asignatura. Una base de datos es un conjunto de datos organizados y relacionados entre s, de forma lgica, que en su totalidad dan informacin sobre aspectos reales. Entenderemos como dato un hecho real conocido que podemos registrar, el cual por s solo no da informacin. Definiremos informacin como un conjunto de datos que le dan significado a diversos aspectos del mundo real. Imaginemos que la Secretara de Hacienda y Crdito Pblico al momento de hacer sus recaudaciones de impuestos de las personas fsicas (personas que trabajan por honorarios o que prestan algn servicio), registraran los pagos en un conjunto de bases de datos iguales en cada entidad federativa y como nosotros tenemos la obligacin de hacer nuestra declaracin, pero nos encontramos en una entidad federativa diferente de donde tenemos nuestro domicilio y es el ltimo da para entregarla, lo ms sencillo sera ir a pagar en donde estamos; pero al regresar a casa y al cabo de un mes nos llega un requerimiento de incumplimiento de nuestro pago de impuestos. Por qu se nos requiere, si pagamos puntualmente? La respuesta es que existe un problema de redundancia de informacin en las bases de datos, es decir, tenemos una serie de bases de datos de gran tamao que almacenan la misma informacin, provocando una duplicacin innecesaria de informacin y desperdicio de espacio por almacenamiento, esto provoca al mismo tiempo un problema de inconsistencia, ya que la base de datos de nuestra localidad no est actualizada con respecto de donde realizamos el pago y en caso de que si se encuentre actualizada, pudieron haber surgido irregularidades al momento de capturar la informacin, provocando un problema, que en este caso se trata de un requerimiento por parte de Hacienda.
11

La solucin a este problema es que exista una sola base de datos, donde se registre toda la informacin actualizada de los pagos y a la cual puedan acceder las oficinas de Hacienda de cada entidad federativa. A su vez, esto provoca una serie de problemticas de integridad y seguridad de informacin, ya que van a existir varios usuarios que utilicen la misma base de datos. La integridad se refiere a que se deben especificar restricciones en el tipo de dato que contiene la informacin a almacenar, es decir, si se va a registrar el pago de impuestos de un contribuyente, el dato impuesto deber contener un valor numrico y el dato contribuyente un conjunto de letras, de tal forma que dichos datos no acepten otros valores diferentes a los especificados. Con respecto a la seguridad nos referimos a los usuarios que tienen autorizacin o privilegios para manipular la base de datos, de tal forma que algunos usuarios slo tendrn autorizacin para introducir informacin especfica como el pago del impuesto, pero no para modificar el R.F.C. del contribuyente, esto implica que algunos usuarios tendrn el privilegio de visualizar los datos, mientras que otros tendrn el privilegio de consultarlos y actualizarlos. La Secretara de Hacienda y Crdito Pblico en la actualidad cuenta con una sola base de datos compartida entre todas las entidades federativas, tomando las precauciones necesarias para evitar los problemas de redundancia, inconsistencia, integridad y seguridad de su informacin. A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Recursos Productos Adoracin de Miguel y Mario Resumen y definicin de las Realiza un resumen sobre la importancia de las bases de datos, Piattini. Fundamentos y modelos bases de datos. as como su definicin. de Bases de Datos. Mxico, Alfaomega Grupo Editor, 1999, pp. 3-33. En un cuadro sinptico marca las Adoracin de Miguel y Mario principales problemticas que se Piattini. Op. cit., pp. 6-7. presentan al realizar un mal diseo de una base de datos, tales como redundancia, inconsistencia, integridad y seguridad. Investiga sobre la independencia de datos y funciones (operaciones). Realiza los ejercicios 1 y 2. A partir de revisar y analizar la situacin de aprendizaje, identifica qu problemas de redundancia e inconsistencia pueden existir. Cuadro sinptico sobre las principales problemticas que se presentan al realizar un mal diseo de una base de datos.

Adoracin de Miguel y Mario Ficha de contenido sobre la independencia de datos y Piattini. Op. cit., pp. 21-22. funciones. Manual de ejercicios y prcticas. Situacin de aprendizaje. Ejercicios 1 y 2 resueltos. Ficha de contenido sobre las posibles problemticas de redundancia e inconsistencia que puedan existir en la situacin de aprendizaje.

12

2. SISTEMAS DE MANEJO DE BASES DE DATOS Objetivo: Reconocer los componentes fundamentales de los sistemas de manejo de bases de datos, a travs del estudio de sus elementos fsicos y lgicos, los diferentes lenguajes de que se compone un manejador de bases de datos y las posibles interfaces con otros sistemas de comunicaciones como la INTERNET. Los sistemas de base de datos se disean para almacenar grandes cantidades de informacin. La gestin de datos implica tanto la definicin de estructuras para el almacenamiento de la informacin como la provisin de mecanismos para la manipulacin de la misma. Los sistemas de base de datos deben proporcionar la seguridad de la informacin almacenada en ellos y evitar prosibles fallas o resultados errneos como la cada del sistema del acceso de personas ajenas a ste. El propsito principal de un sistema de bases de datos es proporcionar un entorno que sea conveniente y eficiente, para las personas que lo usan en la recuperacin y almacenamiento de la informacin. As, los Sistemas de Manejo de Bases de Datos, tambin conocidos como Sistemas Gestores de Bases de Datos (SGBD), sirven para realizar una serie de operaciones con los datos almacenados en una base de datos. Se podra decir que la base de datos es el recurso que contiene la organizacin de la informacin y el SGBD es el medio para manipularla. En otras palabras un SGBD es un conjunto de programas o software de aplicacin general, que permite crear y manipular una cantidad variable de bases de datos computarizada, a partir de utilizar un diccionario de datos o catlogo que es donde se definen los datos, la estructura de stos y las restricciones de los datos que se almacenarn en la base de datos. Cabe aclarar que no siempre es necesario usar un SGBD de aplicacin general para crear una Base de Datos computarizada (el cual requerir siempre de un catlogo), tambin se podra crear a partir de escribir una serie de programas en un lenguaje de programacin, como el Turbo Pascal, para manipular una base de datos especfica creando as nuestro propio SGBD de aplicacin especfica (no requiere de catlogo). Los elementos de un SGBD se pueden presentar a travs de la definicin de tres niveles de abstraccin que pueden ser observados y que son: el nivel fsico, el nivel lgico o interno y nivel conceptual o externo, los cuales conforman la estructura y nos brindan los detalles de cmo se almacenan y mantienen los datos. Cuando ya se ha implementado una base de datos, es decir, se ha diseado la base de datos, se ha seleccionado el SGBD y se ha llenado sta de datos, el usuario lo que requerir en este momento ser usarla; las operaciones ms comunes que se usan son: la consulta, modificacin, actualizacin y el borrado de datos, para esto el SGBD ofrece un lenguaje de manipulacin de datos (DML, siglas en ingls de data manipulation language).

13

NIVEL EXTERNO

VISTA EXTERNA1

...
ESQUEMA CONCEPTUAL

VISTA EXTERNAn

NIVEL CONCEPTUAL

NIVEL LGICO O INTERNO

ESQUEMA INTERNO

BASE DE DATOS ALMACENADA

El nivel externo es la vista que tienen los usuarios del sistema, es decir, el usuario n slo ve lo que requiere de la informacin de la base de datos, el resto est ocult. El nivel conceptual presenta informacin referente a las entidades, datos, relaciones, operaciones y restricciones que tienen los usuarios en la base de datos. El nivel lgico o interno detalla la estructura fsica de almacenamiento de la base de datos, as como los direccionamientos de la informacin. Sin embargo, cuando estas bases de datos son usadas por personas que nicamente realizan transacciones simples y predefinidas por el sistema, se deben desarrollar interfaces amigables para ellos, para que puedan manipular la base de datos. Entenderemos por interface al medio que permite comunicar a dos dispositivos electrnicos entre s (por ejemplo dos computadoras) o a un dispositivo electrnico con un usuario. A continuacin te presentamos las interfaces ms utilizadas por un SGBD: Interfaces basadas en mens. Mediante la presentacin de un men desplegable se le presentan al usuario una serie de opciones a elegir para realizar ciertas solicitudes o transacciones. Es un ambiente que evita al usuario memorizar toda una serie de instrucciones para realizar sus movimientos, ya que ste lo va llevando paso a paso. Interfaces grficas. El usuario selecciona o realiza una serie de movimientos o transacciones, a travs de seleccionar con un apuntador en un grfico o imagen presentada en la pantalla lo que desea hacer. Sin embargo, existen otros tipos de interfaces a nivel de comunicacin, como la INTERNET, en donde un usuario de cualquier parte del mundo puede compartir informacin con otros usuarios, sin importar las distancias.

14

A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Recursos Adoracin de Miguel y Elabora un resumen sobre los Sistemas Gestores de Bases de Datos Mario Piattini. Op. cit., (SGBD), sus elementos fsicos y pp. 28-31, 62,63. lgicos (nivel de abstraccin) y su arquitectura segn el modelo ANSI/ESPARC o de tres esquemas. Realiza una ficha de contenido sobre Adoracin de Miguel y los lenguajes de los SGBD. Mario Piattini. Op. cit., pp. 43-51. Productos Resumen y arquitectura sobre los SGBD, segn el modelo de ANSI/ESPARC o tres esquemas, comentando dicho modelo. Ficha de contenido sobre los lenguajes de los SGBD.

3. USUARIOS DE LAS BASES DE DATOS Objetivo: Identificar los principales tipos de usuarios de bases de datos, mediante el anlisis de situaciones reales de trabajo o vida, para ubicar el papel del operador y desarrollador de bases de datos. Cuando se disea una base de datos mediana o grande se debe tener en cuenta que estn involucradas personas en el desarrollo, mantenimiento, diseo y uso de las bases de datos, cada una de estas personas tiene un rol determinante en el manejo de la base de datos. Cuando se genera una base de datos pequea como la agenda, lo ms comn es que una sola persona la disee, construya y use. Entre los diferentes tipos de usuarios que pueden intervenir en el desarrollo de una base de datos se encuentran: Usuarios diseadores y desarrolladores Son las personas encargadas de disear la base de datos y realizar las definiciones en el SGBD a nivel interno, para cubrir los requerimientos de los dems usuarios de la base de datos. stos se encargan de disear e implementar los mdulos e interfaces del SGBD en forma de paquetes de software. Un SGBD es un sistema complejo de software que consta de diversos componentes o mdulos, como los mdulos para implementar el catlogo, los lenguajes de consulta, los procesadores de interfaz, el acceso a los datos y la seguridad. El SGBD debe poder comunicarse con otros programas del sistema, como el sistema operativo y los compiladores de diversos lenguajes de programacin.1

Elmasri y Navarrete. Sistemas de Bases de Datos, conceptos fundamentales . 2a. edicin, Mxico, Eddison-Wesley Iberoamericana, 1997, p. 11.

15

Usuarios operadores y capturistas Son las personas encargadas de hacer el vaciado de informacin en la base de datos, as como de llevar a cabo el funcionamiento y mantenimiento del sistema de informacin. Usuarios finales Requieren tener acceso directo a la base de datos para realizar consultas, modificaciones y generar reportes, de hecho la base de datos existe para ellos. Dentro de este tipo de usuarios tenemos la siguiente clasificacin: Espordicos. Personas que utilizan la base de datos algunas veces para solicitar informacin con diferentes criterios. Smples o paramtricos. Forman el grueso de la poblacin de los usuarios finales, realizan operaciones o transacciones de uso comn, que se han probado exhaustivamente. En este grupo se encuentran las personas que utilizan a los sistemas bancarios, reservaciones de cualquier tipo, entre otras. Avanzados. Son las personas capacitadas para manipular al SGBD, las cuales tienen requerimientos complejos de informacin. Autnomos. Utilizan bases de datos personalizadas de fcil uso, cuyo ambiente es de tipo grfico, es decir, mantiene un ambiente amigable. A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.

Actividades de aprendizaje Recursos Desarrolla un cuadro sinptico sobre Adoracin de Miguel y Mario Piattini. Op. cit., los tipos de usuarios: finales, diseadores, desarrolladores, pp. 35-38. operadores y capturistas. A partir de revisar y analizar la situacin de aprendizaje, identifica en que momentos intervendrn los diferentes tipos de usuarios para realizar el diseo de la base de datos. Situacin de aprendizaje.

Productos Cuadro sinptico acerca de los diferentes tipos de usuarios de una base de datos. Ficha de contenido sobre los usuarios que intervendrn en el diseo de la base de datos.

16

4. RELACIONES ENTRE DATOS Objetivo: Clasificar un conjunto de datos, mediante el anlisis de las relaciones existentes entre ellos, para preparar la identificacin del modelo conceptual. Un conjunto de datos puede describir un objeto del mundo real, al cual llamaremos ENTIDAD, dichos datos o atributos pueden servir para relacionar una entidad con otra al tener stas datos en comn, es decir, los valores que pueden tomar los datos son de caractersticas similares en las entidades, a stos se les conoce como atributo clave (dato que permite la relacin entre entidades). A continuacin te presentamos un ejemplo de una entidad cualquiera con sus atributos y valores asignados. Atributos Valores

Zapato

Tipo = Tenis Color = Blanco Nmero = 21 1/2 Marca = Reebok Modelo = Clsico

Entidad Supongamos que adems de la entidad Zapato incorporamos otra entidad: Persona cuyos atributos son nombre, edad y sexo. Podramos relacionar las dos entidades mediante la relacin Tiene, quedando el siguiente esquema de ER:
Nombre 1 N Tipo Color

Edad

PERSONA

TIENE

ZAPATO

Nmero

Sexo

Modelo

Marca

Este tipo de relacin se conoce como binaria o vnculo binario, ya que tenemos dos entidades conectadas a una misma relacin, y los ndices 1 y N (1:N) significan que a la entidad PERSONA se le pueden relacionar o vincular a N entidades ZAPATO. Igualmente, si tuviramos tres entidades conectadas a una misma relacin se entender que es una relacin ternaria, y si los ndices indican (1:1) significa que la relacin entre entidades es de una a una, asimismo si los ndices son (N:1) quiere decir que la relacin entre entidades es de N a una.
17

A continuacin se te presentan las actividades que debes realizar para cubrir con este tema.
Actividades de aprendizaje Elabora un resumen sobre las relaciones entre datos, identificando elementos como: entidad, atributo, atributo clave, valor y relacin o interrelacin. Realiza el ejercicio 3. Recursos Productos Adoracin de Miguel y Mario Resumen sobre el modelado Piattini. Op. cit. , pp. 103-109. de datos utilizando el modelo Entidad Relacin o Entidad-Interrelacin. Manual de ejercicios y prcticas. Ejercicio 3 resuelto.

5. TIPOS DE MODELOS DE DATOS Objetivo: Identificar la estructura lgica subyacente en un conjunto de datos, a partir de modelos conceptuales de lista, rbol o red, para identificarlos como casos particulares del modelo relacional y preparar el diseo de una base de datos relacional. Para realizar el diseo conceptual de la base de datos, primero debemos saber que existen varios tipos de modelos de datos, los cuales son un conjunto de elementos que sirven para describir la estructura de una base de datos, entenderemos por conjunto de elementos a los tipos de datos, relaciones entre ellos y las posibles restricciones que se establecen para esos datos. Conforme se han ido implementado las bases de datos, se han creado varios modelos de datos, los cuales se clasifican en tres niveles dependiendo del conjunto de elementos que presentan en la estructura de datos. 1. Modelo de alto nivel o conceptual. Los usuarios no expertos en el rea de informtica podran interpretar o leer este tipo de modelo, ya que el conjunto de elementos que presenta (entidades, atributos y relaciones) son muy significativos para cualquier persona. Entenderemos por entidad a la representacin real de un objeto o cosa, por ejemplo: una persona, un documento, un perro, etc. Un atributo es una propiedad o caracterstica importante que da una informacin ms completa de una entidad; y una relacin describe la interfaz o relacin que existe entre dos o ms entidades. 2. Modelo de bajo nivel o fsicos. Este tipo de modelo va dirigido a los usuarios expertos en el rea de informtica, ya que es ms abstracto, presenta la forma en como se almacena la base de datos en la computadora y las rutas de acceso de la misma. 3. Modelo de representacin o de implementacin. Es el punto intermedio entre los dos modelos anteriores, de tal forma que un usuario no experto podra interpretarlo, pero podra ver ciertos detalles de la forma en que se encuentran organizados los datos. En este ltimo modelo se encuentran los SGBD comerciales. De este modelo se desprenden tres esquemas o modelos ms: relacional, de red, jerrquico.

18

Modelo relacional. Tiene un mayor sustento terico y es el ms utilizado actualmente en el mundo de las aplicaciones de bases de datos, implicando un mayor desarrollo de SGBD de tipo relacional. Este modelo presenta a la base de datos como un conjunto de tablas (concepto que revisaremos a detalle en la unidad II) relacionadas entre s. Modelo de red. Los datos de la base se presentan como registros y conjuntos, cada conjunto define una relacin de uno a n registros. Los conjuntos pueden tener a un mismo registro como participante o propietario. Modelo jerrquicos o arborescentes. Presenta una estructura de tipo Padre Hijo. Un esquema de este tipo presenta a los registros ordenados de forma jerrquica, es decir, en forma de rbol Cuando se define el modelo de datos el diseador de la base elabora un modelo conceptual de los datos a utilizar en sta, de tal forma que sea independiente de cualquier SGBD. Para lograrlo se debe considerar que este modelo sea: 1. Expresivo, para distinguir los tipos datos, restricciones y relaciones. 2. Sencillo, ya que cualquier usuario debe entenderlo, independientemente de tener o no elementos de diseo de bases de datos. 3. Diagramtico, para que de forma visual se pueda interpretar el esquema conceptual del diseo de la base de datos (utilizando como base al diagrama de Entidad Relacin). 4. Formal, ya que el modelo del diseo conceptual no debe ser ambiguo, sino claro y confiable. Para el diseo conceptual nos apoyaremos solamente en el modelo relacional: el diagrama o modelo de Entidad-relacin, el cual explicaremos a continuacin. Modelo de Entidad Relacin (ER). Es utilizado en diseo de bases de datos relacionales. Lo importante de este modelo es representar a los datos como entidades que se pueden relacionar con otras, cuya caracterstica es que tienen atributos propios. Para empezar a entender el modelo definiremos a la ENTIDAD como un objeto del mundo real, independiente de los dems objetos existentes, cuya principal propiedad es que tienen caractersticas o ATRIBUTOS propios, donde cada atributo de cada entidad podr almacenar un VALOR, pero si este valor hace nico a la entidad, entonces a este atributo se le conoce como ATRIBUTO CLAVE.

19

La siguiente tabla presenta la notacin bsica para realizar diagramas de Entidad Relacin.
Smbolo Entidad Significado

Vnculo o relacin

Atributo

Atributo clave

De tal forma que la entidad Zapato con sus atributos la podramos representar en el siguiente diagrama:
Tipo Color Nmero Marca Modelo

ZAPATO

A continuacin se te presentan las actividades que debes realizar para cubrir con este tema.
Actividades de aprendizaje Recursos Realiza un cuadro sinptico sobre Adoracin de Miguel y Mario los modelos de datos de alto nivel Piattini. Op. cit., pp. 92, 123o conceptual, de bajo nivel o fsico 129, 297-312, 357-370. y de representacin o de implementacin y a partir de este ltimo sus esquemas de datos ms comerciales: relacional (modelo de Entidad-Relacin), de red y Jerrquico. Realiza el ejercicio 4. Manual de ejercicios y prcticas. Productos Cuadro sinptico sobre los modelos de datos y los esquemas de stos ms comerciales.

Ejercicio 4 resuelto. Resolucin de la Prctica 1.

Con relacin a la situacin de Manual de ejercicios y prcticas. aprendizaje, desarrolla la prctica 1, donde realizars el diagrama de entidad relacin.

20

QU HE APRENDIDO?
A continuacin encontrars la evaluacin de la unidad, para que valores tus avances hasta el momento. I Lee con atencin cada uno de los siguientes conceptos y coloca dentro del parntesis la definicin que le corresponda. Concepto ( ) Dato. ( ) SGBD. ( ) Base de datos. ( ) Informacin. ( ) Catlogo. Definicin a) Conjunto de datos organizados y relacionados entre s, de forma lgica. b) Hecho real conocido que podemos registrar. c) Conjuntos de elementos relacionados que indican un aspecto del mundo real. d) Conjunto de programas o software de aplicacin general. e) Estructura donde se definen los datos, la estructura y las restricciones de stos.

II. Lee con atencin cada una de las siguientes proposiciones y coloca dentro del parntesis una V si es verdadera o una F si es falsa. ( ) Existen dos niveles para realizar un modelo de base de datos: el de alto nivel o conceptual y el de bajo nivel o fsico. ( ) El modelo relacional es el que tiene un mayor sustento terico, adems de ser el ms utilizado actualmente. ( ) Una entidad es la representacin virtual de un objeto o cosa. ( ) Para seleccionar un SGBD no es necesario considerar el costo por la gestin de la base de datos. III. Identifica en el siguiente Diagrama de Entidad Relacin lo que se seala y escribe qu significa en las lneas segn su enumeracin.
1 Direccin 3 Nombre R.F.C.

Niveles

CASA

TIENE UN

DUEO

Edad

Color 4 2

Nacionalidad

Edo Civil

21

1.-_______________________________ 2.-_______________________________ 3.-_______________________________ 4.-_______________________________ 5.-_______________________________ IV. Lee las siguientes preguntas y contstalas correctamente. 1. 2. 3. 4. 5. Qu es redundancia en una base de datos? Qu es inconsistencia en una base de datos? Qu es integridad en una base de datos? Qu es seguridad en una base de datos? Qu tipos de relaciones se pueden hacer entre datos?

V. Selecciona la opcin correcta para cada enunciado y coloca la letra correspondiente dentro del parntesis. 1. ( ) En el modelo de ANSI/ESPARC se presenta informacin referente a las entidades datos, relaciones, operaciones y restricciones que tienen los usuarios en la base de datos.

a) b) c) d) e)

Nivel interno. Nivel conceptual. Nivel externo. Nivel lgico. Nivel fsico.

2. ( ) Forman el grueso de la poblacin de usuarios, los cuales realizan transacciones de uso comn. a) b) c) d) e) Usuarios diseadores. Usuarios capturistas. Usuarios desarrolladores. Usuarios finales. Usuarios operadores. ) Los mens desplegables se consideran como...

3. ( a) b) c) d) e)

lenguajes de la base de datos. interfaces amigables del usuario. elementos del diseo de la base de datos. conjunto de esquemas que se utilizan en el modelo ER. arquitectura del diagrama de ANSI/ESPARC o de tres esquemas.

22

QUIERO SABER MS
Explica en qu consiste el ciclo de vida de una base de datos. Investiga sobre otros modelos para representar los datos, por ejemplo el orientado a objetos. Investiga acerca del modelo de entidad - relacin extendido. Identifica otros lenguajes lenguajes que utiliza el SGBD.

23

QU VOY A APRENDER?

BASES DE DATOS RELACIONALES


Objetivo de la Unidad:
Conocer las caractersticas de las bases de datos relacionales y la forma estndar de expresarlas, mediante el anlisis de sus estructuras bsicas, distintas vistas, as como la utilizacin de herramientas de lgebra relacional y lenguaje SQL, para poder comunicar un diseo conceptual.

UNIDAD II

Hoy en da el modelo relacional se ha establecido como el principal modelo para las aplicaciones de procesamiento de datos, dejando atrs a los sistemas de bases de datos basados en el modelo de red o jerquico, cuya principal diferencia es que mientras en el modelo de red y jerrquico los datos se representan mediante conjuntos de registros y las relaciones entre ellos mediante enlaces, en el modelo relacional los datos y las relaciones se representan a travs de tablas. Las bases de datos relacionales se presentan como un conjunto de entidades, relaciones o vnculos y atributos, que hoy en da se utilizan en numerosas organizaciones. Es por ello que en esta unidad nos encargaremos de revisar a detalle las caractersticas de las bases de datos relacionales, la forma de realizar consultas utilizando el lgebra relacional y la forma de crearlas y manipularlas al utilizar un lenguaje estructurado de consultas. En este modelo de datos relacional utilizaremos estructuras bsicas como lo son las tablas o relaciones, renglones o tuplas y columnas o atributos. Tambin revisaremos las reglas de normalizacin. Realizars ejercicios de lgebra relacional para empezar a introducirte en las posibles operaciones que se pueden realizar con una base de datos relacional. En la unidad anterior revisamos la arquitectura de un SGBD con el modelo de ANSI/ESPARC, en el cual se establece una serie de vistas en el nivel externo, es decir, partes de la informacin contenida en la base de datos que el usuario ve, segn los privilegios o restricciones de acceso, y en esta unidad te explicaremos a detalle, precisamente esas vistas. Los SGBD como ya se ha mencionado sirven para manipular la informacin contenida en una base de datos. En la actualidad existe una gran variedad de SGBD de tipo relacional, por lo cual se ha creado un lenguaje nico para expresar los elementos, relaciones, bsquedas y otras operaciones posibles con la base de datos, para manipularla. Este lenguaje, mejor conocido por sus siglas en ingls SQL (Structured Query Lenguage, en espaol: Lenguaje Estructurado de Consultas), es independiente de cualquier SGBD, por lo cual facilita a los usuarios diseadores y desarrolladores de bases de datos su trabajo de diseo.

24

A continuacin te presentamos los contenidos organizados de esta unidad. Unidad II. Bases de datos relacionales
Bases de datos relacionales

Maneja Base de datos relacional

Se apoya en lgebra relacional

Tiene Vistas Segn los Privilegios de acceso

Utiliza un Lenguaje relacional estndar SQL

No olvides que para resolver la situacin de aprendizaje que se planteo en la unidad anterior, tendrs que incorporar nuevos aprendizajes que se te indicarn en las actividades de aprendizaje y que ser resuelta parcialmente en las prcticas planteadas en toda la Gua.

25

CMO APRENDO?
1. ESTRUCTURAS BSICAS DE LAS BASES DE DATOS RELACIONALES Y NORMALIZACIN Objetivo: Disear y normalizar una base de datos sencilla, a partir de la identificacin de relaciones, la especificacin de campos y la aplicacin de las reglas de normalizacin, para contar con una especificacin susceptible de desarrollarse. El modelo de datos relacional considera a la base de datos como un conjunto de relaciones, donde cada relacin equivaldra a una tabla. Si visualizamos una relacin o entidad como una tabla de valores, cada fila de la tabla representa una coleccin de valores de datos relacionados entre s. Dichos valores se pueden interpretar como hechos que describen una entidad o un vnculo entre entidades del mundo real. El nombre de la tabla y los nombres de las columnas ayudan a interpretar el significado de los valores que estn en cada fila de la tabla... En la terminologa del modelo relacional, una fila o rengln se denomina tupla, una cabecera de columna un atributo y la tabla es una relacin. El tipo de datos que describe los tipos de valores que pueden aparecer en cada columna se llama dominio.2 A continuacin te presentamos una tabla o relacin llamada Alumnos, con los siguientes atributos: nombre, matrcula, direccin y telfono, con seis tuplas, filas o renglones. Tambin identificaremos a las tuplas como registros, donde cada dominio de stos se considera como la unidad mnima de almacenamiento en el modelo de datos relacional.
Nombre de la relacin Atributos

ALUMNO Tuplas

NOMBRE Juan Luis Prez Pedro Gmez C. Rebeca Cruz Montes Jos Lpez Canseco Margarita Godnez I. Luis Ramrez Ramos

MATRCULA 8945678 8987654 8976541 8973635 8973526 8927262

DIRECCIN Av. de los Remedios No. 18 San Juan de los Lagos No. 8 Satlite No. 123 Av. Corregidora No. 12 Av. Tlhuac No. 89 Av. de los Nios Hroes No . 1

TELFONO (5) 674-89-00 (5) 844-78-66 (5) 625-19-89 (5) 876-09-12 (5) 738-28-19 No tiene

En el ejemplo anterior se puede ver que una tabla o relacin se ve como un conjunto de filas, tuplas o registros; debemos considerar que pueden existir atributos o columnas cuyos valores sean nicos en cada tupla de la relacin, de tal forma que no podamos identificar dos tuplas con valores idnticos en la misma columna, a estas columnas las llamaremos claves candidatas. Identificaremos como clave primaria a una clave candidata, la cual seguir conservando sus caractersticas en todo momento, es decir, los valores sern siempre nicos en cada tupla sin importar que se anexen ms tuplas o registros.
2

Elmasri y Navathe. Op. cit., p. 140.

26

Si en la relacin existen ms de dos claves candidatas, el usuario asignar una como clave primaria y las dems como claves secundarias. Una clave externa o fornea es una clave candidata que hace referencia a otra relacin mediante un atributo en comn. Un atributo primo es cualquier clave candidata y un atributo no primo es cualquier atributo que no sea clave candidata. Es importante hacer notar que las siguientes palabras las utilizaremos como sinnimos: Entidad = Relacin = Tabla Atributo = Campo = Columna (pueden ser utilizadas como claves) Fila = Tupla = Registro Como hemos definido, las claves primas son los valores de una columna los cuales no se repiten en ningn dominio; sin embargo, para cuidar la integridad de la relacin, estos valores no pueden ser nulos, ya que si en algunas tuplas definimos los valores de dicha columna con un valor nulo, tendremos serios problemas para distinguir una tupla de otra, basndonos en este campo. Sin embargo, existen ciertas reglas para lograr un mejor diseo del modelo de datos relacional, tales como: 1. Significado de los campos. Al disear una relacin procura que los campos sean por s solos significativos, no mezcles atributos de dos o ms entidades para realizar el modelo de datos relacional, ya que esto provocar que sea confuso. 2. Redundancia en las tuplas por valores similares en los campos. Si existe mucha repeticin de dominios de un campo en una relacin, esto provocar una saturacin en el almacenamiento de la informacin. Si dividimos dicha relacin en dos o ms relaciones, la primera con los atributos de la entidad principal y la segunda con los datos que podra crear redundancia en las tuplas de un campo, esto ahorrar espacio y evitar problemas de inconsistencia. A continuacin te presentamos un ejemplo donde existe redundancia e inconsistencia en una relacin. Empleado
Nombre Juan Prez Pulido Pedro Acacio Lpez Luis Manuel Pedrasa Homero Snchez S. ... Institucin Bachilleres Bachilleres Bachilleres Bachilleras Direccin Institucin Av. de los Milagros S/N Av. de los Milagros S/N Av. de los Milagros S/N Av. de los Milagros S/N rea CFT CFT CFT CFT Subrea Tcnica Pedaggica Pedaggica Tcnica

2,000 Tuplas

La redundancia se encuentra en los campos: Institucin, direccin, rea y subrea.

27

Si la persona que captura dicha informacin lo realiza incorrectamente, es decir, tiene errores de captura, podra causar problemas de inconsistencia, sobre todo en los campos Institucin, direccin, rea y subrea. A continuacin te presentamos la forma en que se resolveran los problemas de redundancia e inconsistencia.
Empleado Nombre Juan Prez Pulido Pedro Acacio Lpez Luis Manuel Pedrasa Homero Snchez S. ... Clave Institucin 1115 1115 1115 1115 2,000 Tuplas Clave 14A 14B 123J reas rea Subrea CFT Tcnica CFT Pedaggica ASD Almacn Clave rea 14A 14B 14A 14B

Institucin Clave Institucin 1115 Bachilleres 1116 Conalep ...

Direccin Institucin Av. de los Milagros S/N Calle Santiago No. 125

15 Tuplas

50 Tuplas

Donde los campos subrayados presentan problemas de redundancia e inconsistencia. La relacin principal Empleado, evita completamente la redundancia y en general la inconsistencia, ya que solamente se escriben una vez los datos de la Institucin, as como los datos del rea donde pertenece. Si desde la relacin Empleado requerimos el nombre o la direccin de la Institucin, solamente haremos referencia a estos datos mediante la clave primaria Institucin ->Clave desde la clave externa empleado ->Clave Institucin. Nota . La forma de hacer referencia a un campo de una relacin ser: Relacin > Campo Normalizacin En el ejemplo anterior utilizamos un criterio de normalizacin: cuando nuestro modelo de datos relacional es insatisfactorio, debe dividirse en relaciones ms pequeas con algunos atributos del primero. En el proceso de la normalizacin, segn la propuesta original de Codd (1972a), se somete un esquema de relacin a una serie de pruebas para certificar si pertenece o no a una cierta forma normal . En un principio, Codd propuso tres formas normales, a las cuales llam primera, segunda y tercera formas normales.3 A continuacin te las explicamos.

Elmasri y Navathe. Op. cit., p. 413.

28

Primera forma de normalizacin: Establece que los dominios de una relacin deben ser indivisibles; esto quiere decir que los valores que toman las tuplas de cualquier campo no pueden ser otras relaciones. Segunda forma de normalizacin: Establece que para vincular dos relaciones debe existir solamente una clave primaria en la relacin que vincula y un clave fornea en la relacin vinculada. Tercera forma de normalizacin: Primero debe cumplir con la segunda forma de normalizacin, y si eliminamos la clave primaria de la relacin que vincula, no debe afectar las definiciones de los otros campos. A continuacin se te presentan las actividades que debes realizar para cubrir con este tema.
Actividades de aprendizaje Recursos Productos Realiza una consulta bibliogrfica Adoracin de Miguel y Mario Ficha de contenido con los conceptos solicitados. sobre los conceptos bsicos que se Piattini. Op. cit., pp.129-135, utilizan para describir al diseo 265-273. de datos relacionales (estructuras bsicas de las bases de datos relacionales). En un cuadro sinptico seala las Adoracin de Miguel y Mario Cuadro sinptico sobre las reglas o formas de normalizacin. Piattini. Op. cit., pp. 273-287. formas de normalizacin. Realiza los ejercicios 5 y 6. Manual de ejercicios y prcticas. Ejercicios 5 y 6 resueltos.

2. LGEBRA RELACIONAL Objetivo: Construir bsquedas en bases de datos relacionales, mediante el uso de operaciones bsicas de lgebra relacional, para seleccionar registros especficos. El lgebra relacional sirve para manipular relaciones enteras y para que vayamos ubicando las posibles operaciones de seleccin y consulta en bases de datos relacionales, as como las operaciones de conjuntos. Podemos catalogar las operaciones del lgebra relacional en dos:
Operaciones de conjuntos Unin Diferencia Interseccin Producto cartesiano Operaciones con bases de datos relacionales Seleccin Proyeccin Reunin (esta operacin
no se verisar en la gua).

29

Operaciones de conjuntos Las operaciones de la teora de conjuntos se aplican al modelo relacional, porque las tablas o relaciones se pueden ver como un conjunto de registros o tuplas y podemos tratar los registros de dos tablas como conjuntos. La nica restriccin que existe en las operaciones de unin, diferencia e interseccin es que las relaciones contengan los mismos campos o atributos. A continuacin se definen estas operaciones. Unin. Cuando tenemos una o ms tablas, la operacin de unin junta en el resultado todas las tuplas o registros existentes en dichas tablas, eliminando las tuplas repetidas. Su sintaxis es la siguiente: Tabla1 Tabla2 Diferencia. Cuando tenemos una o ms tablas, la operacin diferencia junta en el resultado todas las tuplas o registros que no se repiten en ninguna de las tablas, eliminando las tuplas repetidas. Su sintaxis es la siguiente: Tabla1Tabla2 Interseccin. Cuando tenemos una o ms tablas, la operacin de interseccin junta en el resultado todas las tuplas o registros que se encuentren repetidas en dichas tablas, eliminando las tuplas que son nicas Su sintaxis es la siguiente: Tabla1 Tabla2 Producto cartesiano. Crea registros con los campos combinados de las dos tablas, es decir, el resultado ser una nueva tabla que contenga los campos o atributos de las dos tablas y los registros se llenarn de la siguiente manera: Desde ndice1 = Registro uno hasta el registro n de la tabla 1 Haz Desde ndice2 = Registro uno hasta registro n de la tabla 2 Haz Llena la tabla respuesta con ndice1 + ndice 2 Grficamente lo veramos de la siguiente manera:
Tabla 1 Clave 1 1115 1116 Institucin Bachilleres Conalep Direccin Institucin Av. de los Milagros S/N Calle Santiago No. 125 Tabla 2 Clave 2 14A 14B 123J rea CFT CFT ASD Subrea Tcnica Pedaggica Almacn

Tabla Resultado (Tabla 1 PRODUCTO CARTESIANO Tabla 2)


Clave 1 1115 1115 1115 1116 1116 1116 Institucin Bachilleres Bachilleres Bachilleres Conalep Conalep Conalep Direccin Institucin Av. de los Milagros S/N Av. de los Milagros S/N Av. de los Milagros S/N Calle Santiago No. 125 Calle Santiago No. 125 Calle Santiago No. 125 Clave 2 14A 14B 123J 14A 14B 123J rea CFT CFT ASD CFT CFT ASD Subrea Tcnica Pedaggica Almacn Tcnica Pedaggica Almacn

30

Operaciones con base de datos relacionales Seleccionar: esta operacin sirve para seleccionar ciertos registros o tuplas que cumplan con un criterio especfico, si tomamos en consideracin la tabla Resultado del ejemplo anterior, un criterio de seleccin podra ser: todas las tuplas de tabla Resultado cuya clave2 sea 123J. El resultado sera el siguiente:
Clave 1 1115 1116 Institucin Bachilleres Conalep Direccin Institucin Av. de los Milagros S/N Calle Santiago No. 125 Clave 2 123J 123J rea ASD ASD Subrea Almacn Almacn

La sintaxis que se ocupar ser la siguiente: <Criterio de seleccin> (<Nombre de la Tabla o relacin>), donde s significa seleccin. Proyectar: selecciona algunos atributos o campos de una relacin y desecha las otras columnas, ya que lo nico que permite visualizar son los campos seleccionados, proyectando as una seccin de la relacin. Si tomamos nuevamente la tabla Resultado, y seleccionamos las columnas Institucin y Direccin Institucin, el resultado sera el siguiente:
Institucin Bachilleres Bachilleres Bachilleres Conalep Conalep Conalep Direccin Institucin Av. de los Milagros S/N Av. de los Milagros S/N Av. de los Milagros S/N Calle Santiago No. 125 Calle Santiago No. 125 Calle Santiago No. 125

La sintaxis que se ocupar ser la siguiente: <Lista de atributos> (<Nombre de la Tabla o relacin>), donde p significa seleccin. A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Recursos Productos Realiza un cuadro sinptico sobre Adoracin de Miguel y Mario Cuadro sinptico sobre el Piattini. Op. cit., pp. 167-182. lgebra relacional. el lgebra relacional, indicando las operaciones de conjuntos y las operaciones con bases de datos relacionales. Realiza los ejercicios 7 y 8. Manual de ejercicios y prcticas. Ejercicios 7 y 8 resueltos.

31

3. VISTAS O SUBESQUEMAS Objetivo: Describir el uso y aplicacin de las vistas en las bases de datos relacionales, mediante la enumeracin de sus caractersticas en trminos de privilegios de consulta y ordenamiento, para satisfacer las necesidades de los diferentes tipos de usuarios. Al elaborar una base de datos, es necesario tener claridad de qu es lo que se va a realizar y para quin, ya que si bien el desarrollador de sta debe conocer perfectamente los componentes o niveles de la base, existen partes o componentes a los que los usuarios slo pueden accesar por razones de seguridad, quedando as algunos datos ocultos al usuario. As, las relaciones de datos que se hacen visibles a los usuarios se les denomina vistas. Por s mismas las vistas constituyen un importante mecanismo de autorizacin discrecional. Por ejemplo, si el propietario A de una relacin R desea que otra cuenta B pueda leer nicamente ciertos campos de R, A puede crear una vista V de R que incluya slo esos atributos, y despus otorgar a B el privilegio de SELECT para V. Lo mismo se aplica cuando se desea limitar a B a la lectura de slo ciertas tuplas de R; se puede crear una vista V definindola por medio de una consulta que seleccione slo las tuplas de R que A desea poner al alcance de B.4 Hablaremos ms sobre vistas en el siguiente tema. A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Recursos Productos Realiza un resumen sobre el uso y Adoracin de Miguel y Mario Resumen sobre vistas. aplicacin de las vistas en las Piattini. Op. cit., pp. 136, bases de datos relacionales, 423-425. mediante el establecimiento de privilegios y la forma de ordenarlas por medio de ndices. Realiza los ejercicios 9 y 10. Manual de ejercicios y prcticas. Ejercicios 9 y 10 resueltos.

4. LENGUAJE RELACIONAL ESTNDAR SQL Objetivo: Expresar elementos, relaciones, bsquedas y vistas sencillas, mediante el lenguaje estandarizado SQL, para contar con un instrumento de diseo independiente de cualquier manejador especfico. Ante la necesidad de contar con un lenguaje de consultas cmodas para el usuario de bases de datos comerciales, surge el SQL, el cual se ha convertido en el lenguaje comercial de mayor influencia para realizar consultas en las bases de datos relacionales.

Elmasri y Navathe. Op. cit., p. 604.

32

En este tema definiremos los trminos que se utilizarn en el lenguaje SQL: esquema SQL, al cual se le hace referencia mediante un nombre y se establece el nombre del usuario que es propietario de dicho esquema. Asimismo, definiremos otros elementos que se encuentran dentro del esquema, como son: las tablas, vistas, dominios y concesiones de autorizacin. A continuacin te presentamos la forma en que se encuentran organizados los elementos del esquema. NOMBRE DEL ESQUEMA SQL

Relacin 1 Usuario propietario Usa al

Vista 1

Relacin 2

Vista 2

. . .
Relacin n

. . .
Vista n

Dominios

Usuarios x

Ve si tiene

Restricciones de acceso/ autorizacin

A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Recursos Productos Adoracin de Miguel y Mario Resumen sobre el lenguaje Realiza un resumen sobre el Piattini. Op. cit., pp. 215-260. SQL. lenguaje de relacin estndar SQL, considerando sus elementos, las relaciones, bsquedas y vistas que se puedan expresar en dicho lenguaje. Realiza los ejercicios 11 y 12. Manual de ejercicios y prcticas. Ejercicios 11 y 12 resueltos. Resolucin de la prctica 2.

Con relacin a la situacin de Manual de ejercicios y prcticas. aprendizaje, desarrolla la prctica 2, donde realizars la transformacin del diagrama de entidad relacin al diseo de datos relacional.

33

QU HE APRENDIDO?
A continuacin encontrars la evaluacin de la unidad, para que valores tus avances hasta el momento. I. Lee con atencin cada uno de los siguientes conceptos y coloca dentro del parntesis la definicin que le corresponda. Concepto ( ( ( ) Clave externa o fornea. ) Clave primaria. ) Clave candidata. Definicin a) Clave candidata que hace referencia a otra relacin mediante un atributo en comn. b) Si en la relacin existen ms de dos claves candidatas, el usuario asignar una segunda. c) Clave candidata, la cual seguir conservando sus caractersticas en todo momento siendo esta la principal. d) Columnas cuyos valores sean nicos en cada tupla de la relacin, de tal forma que no podamos identificar dos tuplas con valores idnticos en la misma columna.

) Clave secundaria.

II. Lee con atencin cada una de las siguientes proposiciones y coloca dentro del parntesis una V si es verdadera o una F si es falsa. ( ) A una base de datos relacional se le considera un conjunto de relaciones.

( ) Cada atributo de la tabla representa una coleccin de valores de datos relacionados entre s. ( ) Una fila se denomina tupla, una cabecera de columna un atributo y la tabla es una relacin. ( ) Un atributo no primo es cualquier clave candidata y un atributo primo es cualquier atributo que no sea clave candidata. III. Lee las siguientes preguntas y contstalas correctamente. 1. En qu consiste la primera forma de normalizacin? 2. Explica la segunda forma de normalizacin. 3. En qu consiste la tercera forma de normalizacin? 4. Qu es seguridad en una base de datos?

34

IV. Selecciona la opcin correcta para cada enunciado y coloca la letra correspondiente dentro del parntesis. 1. ( ) Para realizar una consulta en SQL, uno de los pasos debe ser... a) seleccionar campos. b) plantear una pregunta. c) seleccionar las tuplas. d) plantear relaciones. e) establecer modelos. 2. ( ) Una vista se puede considerar como una tabla... a) base. b) relacional. c) virtual. d) entidad. e) secundaria.

35

QUIERO SABER MS
Revisa otras formas de transformar modelos conceptuales a modelos lgicos de datos. Investiga sobre otros lenguajes de consulta a bases de datos relacional como lo es el SQL3. Estudia la operacin Reunin del lgebra relacional. Analiza el clculo relacional. Como comentbamos en la unidad I, las bases de datos estn tomando una importancia nica, ya que facilitan el acceso rpido y confiable a la informacin de una organizacin. Es necesario escoger un SGBD entre todos los comerciales que existen para crear aplicaciones de bases de datos, es sabido que actualmente el ritmo con que cambia el software es bastante acelerado provocando que posiblemente en algunos aos el SGBD que seleccionamos sea obsoleto. Sin embargo, nuestra preocupacin nos lleva a tratar de darte todos los elementos necesarios para que, cuando llegue el momento de cambiar o utilizar otro SGBD, seas capaz de entenderlo y aplicar las herramientas que contiene.

36

QU VOY A APRENDER?

MANIPULACIN DE BASES DE DATOS


Objetivo de la Unidad:
Disear y construir una base de datos sencilla, mediante su modificacin, ordenacin y realizacin de consultas, para desarrollar aplicaciones elementales.

UNIDAD III

Las bases de datos han tomado gran importancia, ya que facilitan el acceso rpido y confiable a la informacin de una organizacin, asimismo se ha desarrollado un sinnmero de SGBD comerciales de tipo relacional los cuales permiten la creacin y manipulacin de las bases de datos diseadas bajo un modelo relacional, permitiendo seleccionar uno con base a las necesidades y posibilidades de la organizacin. El ritmo con que cambia el software es bastante acelerado provocando que posiblemente en algunos aos el SGBD que seleccionamos no se encuentre en el mercado, sin embargo se seguir utilizando el lenguaje de consultas SQL para definir y realizar operaciones con la informacin contenida en la base de datos. En general, todos los SGBD se basan en el lenguaje de consultas SQL, por lo cual trataremos de darte todos los elementos necesarios para que puedas manejar cualquier SGBD de tipo relacional. Empezaremos por realizar operaciones bsicas con Visual Fox Pro 5.0 tales como la creacin, uso y cierre de una base de datos, en un segundo momento realizaremos operaciones de consulta y modificacin de la base de datos y de su estructura, finalizando con ordenaciones lgicas y fsicas de la informacin contenida en la base de datos, funciones ya revisadas en lgebra relacional y el lenguaje estndar relacional SQL. A continuacin te presentamos el esquema de los contenidos que se revisarn en esta unidad. Unidad III. Manipulacin de bases de datos
Bases de datos Operaciones Crear Consultar Modificar Ordenar las genera Sistema gestor de bases de datos

Estructura

Registros

Fsicamente

Lgicamente (ndices)

37

CMO APRENDO?
1. CREACIN DE UNA BASE DE DATOS Objetivo: Crear y manipular bases de datos elementales, mediante las instrucciones de creacin de archivos, definicin de campos e incorporacin de registros, para familiarizarse con los comandos bsicos del programa. Hemos creado modelos de base de datos a un nivel lgico, mediante el modelo de base de datos relacional, sin embargo, el diseo de la base de datos no se ha completado todava, falta crear el diseo fsico de la base de datos en un SGBD de tipo relacional, dado que nuestro modelo lleva ese enfoque. Hasta el momento hemos definido un modelo de datos relacional, sin embargo es necesario llegar a la construccin de un diseo fsico para poder aplicarlo utilizando una computadora; esto se logra al crear una base de datos en un SGBD, que en nuestro caso ser el Visual Fox Pro 5.0, el cual nos permitir consolidar todo nuestro diseo de la base de datos. Es importante que no olvides que as como seleccionamos Visual Fox Pro 5.0 como nuestro SGBD, podrs utilizar cualquier otro para realizar aplicaciones prcticas, sin embargo ste debe ser de tipo relacional para que puedas aplicar lo que propone este curso. Primero tendremos que revisar qu estructuras de datos tiene definidas nuestro SGBD seleccionado, para poder ajustar el modelo lgico de la base de datos al modelo fsico, por lo cual revisaremos a continuacin los datos que maneja nuestro SGBD.
TIPO DE DATO
Carcter Monetario Numrico Flotante Fecha FechaHora Doble Entero Lgico Memo General Carcter (binario) Memo (binario)

Un conjunto de hasta 254 letras o caracteres. 20 dgitos, con signo de pesos y punto decimal. 20 dgitos, con signo y punto decimal. Para nmeros muy cortos o muy largos de tipo exponencial. Son fechas con el formato mm/dd/aa. Informacin de calendario y hora en formato de 8 bytes. Ms preciso que el punto flotante. Almacena valores enteros. Acepta el valor cierto/falso (True/False). Almacena informacin de cualquier tipo. Almacena objetos OLE (imgenes). Almacena informacin de tipo texto con base en una pgina de cdigos. Almacena informacin de tipo memo con base en una pgina de cdigos.

DESCRIPCIN

Realizaremos el ejercicio con la primer tabla presentada en la unidad II, en donde aparecen los atributos de la relacin alumnos. Alumno
NOMBRE MATRCULA DIRECCIN TELFONO 38

Estableceremos un tipo de dato y tamao para cada campo de la tabla alumno, segn juzguemos conveniente, de tal forma que tendramos la siguiente estructura de datos: Tabla: Alumnos.
NOMBRE DEL CAMPO NOMBRE MATRCULA DIRECCIN TELFONO TIPO DE DATO CARCTER NUMRICO CARCTER CARCTER TAMAO 25 7 35 12 DECIMALES (S ES NUMRICO) 0

Al terminar el diseo fsico o creacin de la base de datos (estructura de la base de datos), procederemos a capturar las tuplas o registros de la tabla, quedando la informacin capturada como se muestra en la siguiente tabla.
ALUMNOS NOMBRE Juan Luis Prez Pedro Gmez C. Rebeca Cruz Montes Jos Lpez Canseco Margarita Godnez I. Luis Ramrez Ramos MATRCULA 8945678 8987654 8976541 8973635 8973526 8927262 DIRECCIN Av. de los Remedios No. 18 San Juan de los Lagos No. 8 Satlite No. 123 Av. Corregidora No. 12 Av. Tlhuac No. 89 Av. de los Nios Hroes No 1 TELFONO (5) 674-89-00 (5) 844-78-66 (5) 625-19-89 (5) 876-09-12 (5) 738-28-19 No tiene

Cuando es la primera vez que creamos una estructura de base de datos de forma fsica, nuestro SGBD nos pregunta si queremos capturar los registros en ese momento o despus. Si por alguna razn no aceptaste capturarlos en este momento, tendremos que poner en uso la tabla Alumnos. Nota. La extensin DBF significa Data Base File (Archivo de base de datos). A continuacin se te presentan las actividades que debes realizar para cubrir con este tema.
Actividades de aprendizaje Recursos Realiza una consulta bibliogrfica Susan L. Reber y otros. Visual sobre la forma de crear una base Fox Pro 5.0. Mxico, Prentice de datos, as como incorporar Hall, 1998, Captulos 1 y 2. registros, abrirla y cerrarla. Realiza los ejercicios propuestos en los Captulos 1 y 2. Realiza el ejercicio 13. Susan L. Reber y otros. Op. cit. Manual de ejercicios y prcticas. Productos Ficha de contenido sobre la creacin de una base de datos, incorporacin de registros, abrirla y cerrarla. Ejercicios resueltos. Ejercicio 13 resuelto.

39

2. CONSULTAS A UNA BASE DE DATOS Objetivo: Realizar consultas a una base de datos, aplicando expresiones de lgebra relacional, para construir filtros y criterios de bsqueda. Una vez capturada la informacin se podrn realizar consultas simples a la base de datos. A continuacin te presentamos la estructura de una consulta: En el lenguaje estndar relacional SQL, ya hemos realizado consultas de la siguiente forma: 1. Seleccionar los campos que intervendrn en la consulta. 2. Seleccionar las tablas que contienen dichos campos. 3. Poner el criterio o condicin de bsqueda. De tal forma que los comandos en SQL son los siguientes: SELECT <lista de campos> FROM <lista de tablas> WHERE <criterio de bsqueda> Cuando realizamos una consulta en un SGBD se realiza de una manera muy similar, la cual describimos a continuacin: 1. Seleccionar las tablas que contienen dichos campos. 2. Seleccionar los campos que intervendrn en la consulta. 3. Poner el criterio o condicin de bsqueda. La sintaxis o forma de realizar la consulta depender del SGBD, pero en general la forma simple de hacerla sera la siguiente serie de rdenes (stas se pueden escribir directamente en la ventana de comandos): USES <base de datos> LIST <lista de campos> FOR <condicin > Una consulta podra ser: qu alumnos no tienen telfono de la base de datos Alumnos, la serie de rdenes sera la siguiente: USES Alumnos LIST Nombre FOR Telfono =No tiene A continuacin se te presentan las actividades que debes realizar para cubrir con este tema.

40

Actividades de aprendizaje Recursos En un cuadro sinptico seala la Susan L. Reber y otros. forma de crear consultas en un Op. cit., Captulos 5 y 7. SGBD, a travs de establecer la estructura y comandos bsicos de un Query. Realiza los ejercicios propuestos en los Captulos 5 y 7. Susan L. Reber y otros. Op. cit.

Productos Cuadro sinptico sobre el Query.

Ejercicios resueltos.

3. MODIFICACIONES A UNA BASE DE DATOS Objetivo: Modificar una base de datos tanto en su estructura como en su contenido, mediante el uso de las instrucciones para agregar o eliminar campos, cambiar los atributos de los campos o el contenido de los mismos. Si deseas modificar la estructura de la base de datos, nicamente tendrs que volver a accesar a estructura de la base de datos y realizar las modificaciones correspondientes, igualmente, si deseas modificar el contenido de los registros, lo nico que tendrs que hacer es editar o desplegar los registros. Dentro del SGBD tendrs que seleccionar la base de datos y seleccionar la opcin de modificar estructura. Para modificar los registros de la base de datos bastar con editarlos, existen varias formas de hacerlo, por ejemplo, la edicin de registros o el despliegue de registros, la forma de hacerlo es abrir o poner en uso la base de datos y solicitar la edicin o el despliegue con los comandos Edit o Browse respectivamente. En cualquier modo de despliegue o edicin del SGBD, el usuario podr modificar el contenido de los registros. Si visualizamos los registros desplegados en el modo Browse, veremos que stos no estn ordenados de ninguna forma, es decir, no hay una ordenacin ascendente o descendente en ninguno de los campos. A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Elabora una ficha de contenido sobre la forma de modificar una estructura de bases de datos y la informacin contenida en la tabla (registros). Recursos Susan L. Reber y otros. Op. cit., Captulo 3. Productos Ficha de contenido sobre modificaciones a la estructura de una base de datos y a los registros. Ejercicios resueltos. Resolucin de la prctica 3.

Realiza los ejercicios propuestos en el Susan L. Reber y otros. Captulo 3. Op. cit. Con relacin a la situacin de aprendizaje, desarrolla la prctica 3, donde realizars la creacin, consulta y modificacin de la base de datos. Manual de ejercicios y prcticas.

41

4. ORDENACIN DE LA INFORMACIN Objetivo: Ordenar lgica y fsicamente los registros de una base de datos, mediante el uso de instrucciones, para construir ndices y reordenar registros. A continuacin te explicaremos qu son las ordenaciones y qu tipos de ordenaciones existen en las bases de datos. En bases de datos una ordenacin significa que los registros se encuentren colocados en un orden ascendente o descendente de acuerdo con los valores alfabticos o numricos, dependiendo del tipo de dato del campo. Generalmente una tabla se ordena para facilitar las bsquedas de informacin en la base de datos, si la tabla base se encuentra desordenada, podremos ordenarla mediante la seleccin de un campo que nosotros consideremos significativo para dicha bsqueda. Podemos ordenar de dos formas, la primera se refiere a usar una ordenacin fsica la cual se refiere a crear una copia de la tabla original, pero con los registros ordenados en relacin al campo seleccionado o de ordenacin, esto implica una duplicacin de informacin y de espacio en el dispositivo de almacenamiento. La serie de rdenes para realizar la ordenacin fsica ser: USES <Base de datos original o base> SORT ON <Campo de ordenacin> TO <Base de datos copia ordenada> (Con esto se ha creado otra base de datos ordenada, pero no se encuentra activa) Ejemplo: Para ordenar la tabla Alumno debemos seleccionarla y crear una nueva tabla con los registros ordenados. La ordenacin que se solicita en este ejemplo es por matrcula del alumno. Tabla original o base
ALUMNOS NOMBRE Juan Luis Prez Pedro Gmez C. Rebeca Cruz Montes Jos Lpez Canseco Margarita Godnez I. Luis Ramrez Ramos MATRCULA 8945678 8987654 8976541 8973635 8973526 8927262 DIRECCIN Av. de los Remedios No. 18 San Juan de los Lagos No. 8 Satlite No. 123 Av. Corregidora No. 12 Av. Tlhuac No. 89 Av. de los Nios Hroes No. 1 TELFONO (5) 674-89-00 (5) 844-78-66 (5) 625-19-89 (5) 876-09-12 (5) 738-28-19 No tiene

La serie de rdenes para crear la ordenacin fsica ser: USES ALUMNOS SORT ON <MATRCULA > TO <ALUMATRI>

42

Si ponemos en uso la base de datos ALUMATRI con la orden USE ALUMATRI y pedimos visualizar la informacin con algn modo de despliegue, la tabla que veremos ser la siguiente:
ALUMNOS NOMBRE Luis Ramrez Ramos Juan Luis Prez Margarita Godnez I. Jos Lpez Canseco Rebeca Cruz Montes Pedro Gmez C. MATRCULA 8927262 8945678 8973526 8973635 8976541 8987654 DIRECCIN Av. de los Nios Hroes No 1 Av. de los Remedios No. 18 Av. Tlhuac No. 89 Av. Corregidora No. 12 Satlite N0. 123 San Juan de los Lagos No. 8 TELFONO No tiene (5) 674-89-00 (5) 738-28-19 (5) 876-09-12 (5) 625-19-89 (5) 844-78-66

Si observas la tabla podrs ver que se encuentra ordenada ascendentemente por la matrcula, lamentablemente esta forma de ordenacin no es muy prctica cuando tratamos grandes cantidades de informacin, dado que el tiempo que requiere el SGBD para realizarla es demasiado, adems de que podramos saturar nuestro dispositivo de almacenamiento. La segunda forma de ordenacin y la ms recomendable en todos los aspectos, es la ordenacin por medio de ndices o lgica, actualmente los SGBD ya traen integrado en el diseo de la estructura de la base de datos la especificacin de ordenacin por ndices, de tal forma que la nueva informacin que se registre en nuestra base de datos ocupar su lugar en la tabla de forma ordenada con base en nuestro ndice. Esta forma de ordenacin ocupa menos espacio de almacenamiento porque se trabaja sobre la misma base de datos original, haciendo referencia a un archivo ndice (ms pequeo que una copia de la misma base de datos) para desplegar la informacin de forma ordenada. A continuacin te presentamos como interacta el archivo ndice con la base de datos, al ordenar de forma lgica y ascendentemente la tabla Alumnos, con el campo de ordenacin matrcula. Consideraremos nicamente los campos nombre y matrcula e incluiremos un nmero de registro para referenciar. ARCHIVO NDICE
Orden 1 2 3 4 5 6 No. Reg. 6 1 5 4 3 2 No. Reg. 1 2 3 4 5 6

ALUMNOS
NOMBRE Juan Luis Prez Pedro Gmez C. Rebeca Cruz Montes Jos Lpez Canseco Margarita Godnez I. Luis Ramrez Ramos MATRCULA 8945678 8987654 8976541 8973635 8973526 8927262

Si se solicitar el despliegue de informacin de los tres primeros registros ordenados, se hara referencia al archivo ndice y de ah se vera que son los registros 6,1 y 5. Este archivo ndice se encuentra integrado en la base de datos original, cuando se definen en la estructura de base de datos en un SGBD relacional.

43

A continuacin se presentan las actividades que debers realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Realiza un resumen sobre los tipos de ordenacin fsico y por ndices. Realiza los ejercicios propuestos en el Captulo 4. Recursos Susan L. Reber y otros. Op. cit., Captulo 4. Susan L. Reber y otros. Op. cit. Productos Resumen sobre tipos de ordenacin. Ejercicios resueltos. Resolucin de la prctica 4.

Con relacin a la situacin de Manual de ejercicios y prcticas. aprendizaje, desarrolla la prctica 4, donde realizars la ordenacin fsica y lgica de la base de datos.

44

QU HE APRENDIDO?
Contesta la siguiente evaluacin, para que valores tus avances hasta el momento. I. Lee con atencin cada uno de los siguientes tipos de datos y coloca dentro del parntesis la descripcin que le corresponda. Tipo de dato ( ) OLE. ( ( ( ( ( ( ) Float. ) Binary. ) Logical. ) Date. ) Numeric. ) Character. Descripcin a) Un conjunto de letras o caracteres. b) Valores numricos reales o enteros. c) Acepta el valor cierto/falso (True/False). d) Son fechas con el formato dd/mm/aa. e) Para nmeros muy cortos o muy largos de tipo exponencial. f) Objetos que se pueden vincular o incrustar. g) Permite manipular imgenes.

II. Lee con atencin cada una de las siguientes proposiciones y coloca dentro del parntesis una V si es verdadera o una F si es falsa. ( ) Las declaraciones, consultas y otras operaciones en el SGBD se tendrn que escribir en ingls.

( ) En el SGBD Visual Fox Pro 5.0 existe una venta para escribir comandos. ( ) Cuando es la primera vez que creamos una estructura de base de datos de forma fsica, nuestro SGBD nos pregunta si queremos capturar los registros en ese momento.

( ) Existen dos modos de despliegue de informacin en nuestro SGBD. III. Lee las siguientes preguntas y contstalas correctamente. 1. 2. 3. 4. 5. Qu es una consulta? Qu es un SGBD? Qu es una ordenacin fsica? Qu es una ordenacin lgica o por medio de ndices? Incorpora 5 registros ms a la tabla Alumnos y realiza otra serie de consultas: a) Cuntos alumnos se apellidan Godnez?, b) Despliega los nombres de los alumnos cuyas matrculas comienzan con 89 y no tienen telfono, c) Despliega la matrcula de los alumnos cuya primera letra de su nombre o apellido sea C. 6. Ordena la tabla alumnos por direccin, matrcula y telfono.

45

QUIERO SABER MS
Revisa cul es la forma de consultar informacin de varias tablas a la vez. Investiga cules son los comandos para realizar todas las operaciones que se realizaron en la ventana del Navegador.

46

QU VOY A APRENDER?

CARACTERSTICAS AVANZADAS DE LAS BASES DE DATOS


Objetivo de la Unidad:
Instrumentar estructuras relacionales de mediana complejidad, mediante el manejo de variables, la generacin de reportes, pantallas y bases de datos mltiples, para implementar aplicaciones ms poderosas y agregar elementos que faciliten el manejo de la base a otros usuarios.

UNIDAD IV

En esta unidad te presentaremos la forma de implementar aplicaciones ms poderosas, a partir de definir la utilizacin de variables y las funciones ya definidas en el Sistema Gestor de Bases de Datos, para obtener resultados de la base de datos. Describiremos la forma de crear reportes y pantallas (formatos), para presentar la informacin al usuario con una presentacin amigable, de tal forma que las consultas y la operacin de la base de datos sean fciles de realizar. Por ltimo, realizaremos una serie de operaciones con una base de datos relacional, al crear y manejar varias tablas interconectadas. A continuacin te presentamos un esquema con los que contenidos de en esta unidad.

Sistema Gestor de Base de Datos Maneja

Variables

Funciones

Generador de

Base de datos mltiples

Reportes

Pantallas

47

CMO APRENDO?
1. MANEJO DE VARIABLES Y FUNCIONES Objetivo: Utilizar variables y las funciones interconstruidas en la base de datos, mediante la aplicacin de las reglas de construccin y empleo correctas, para sintetizar o completar informacin de la base de datos. Algunas veces requerimos datos que se pueden calcular a partir de los datos almacenados en la base de datos, por lo cual para evitar la redundancia de la informacin se considera que no se requiere almacenarlos. Sin embargo, estos datos, aunque sean temporales para realizar consultas, deben almacenarse en lo que se conoce como variables, para poder manipularse. Entenderemos por variable a un espacio asignado en memoria para manipular un dato de cualquier tipo. En los Sistemas Gestores de Base de Datos a las variables se les conoce como campos calculados, es decir, es el campo virtual que opera con los campos de una tabla y permite consultar su resultado. Las consultas que se realizan con campos calculados ocupan las siguiente expresiones de clculo:
Operadores aritmticos + * / Funcin Suma Resta Multiplicacin Divisin Funcin Menor que Mayor que Diferente Igual Menor o igual Mayor o igual Funcin El resultado es cierto cuando se presentan dos preposiciones y stas son verdaderas, en caso de que una preposicin sea falsa, el resultado ser falso. El resultado es cierto cuando una de las dos preposiciones presentadas es verdadera, en caso de que las dos sean falsas, el resultado ser falso. Niega la proposicin presentada.

Operadores de comparacin < > <> = <= >= Operadores lgicos Y (and) O (Or) No (Not)

48

Ejemplo: Supongamos que tenemos la siguiente tabla sobre nuestros clientes, los cuales compran n productos a un costo m. CLIENTES
Nombre Juan Luis Guerra Prez Pedro Torres Alcantar Maritza Galindo Escalante Luis Manuel Pelayo Montes Antonio Torres Heredia David Hernndez Martnez Jos Luis Mndez Lpez Telfono 612-98-00 786-00-98 844-98-09 612-23-72 768-09-87 876-09-09 844-40-22 Cantidad de productos 3 7 6 12 1 5 20 Costo unitario/ producto $50.00 $47.00 $129.00 $18.50 $20.00 $1,203.00 $420.00

Si quisiramos saber lo que gasto el cliente en todos los productos, necesitaramos utilizar un campo calculado llamado totales, el cual se calculara al multiplicar el campo cantidad de productos por el campo costo unitario/producto. De tal forma, tendramos lo siguiente: Totales = Cantidad de productos * Costo unitario/producto.
Totales $ 150.00 $ 329.00 $ 774.00 $ 222.00 $ 20.00 $ 6,015.00 $ 8,400.00

Cuando ocupamos funciones en una base de datos, lo hacemos generalmente para resumir informacin contenida en una tabla, las funciones a final de cuentas sirven para realizar consultas especficas sobre algn campo de la base de datos. Las funciones interconstruidas ms comunes son las siguientes:
Funcin Suma Promedio Mnimo Mximo Cuenta Para Descripcin Calcula la suma de todos los valores de un campo numrico. Calcula la media aritmtica sobre todos los valores de un campo numrico. Devuelve el valor ms pequeo de un campo numrico. Devuelve el valor ms grande de un campo numrico. Devuelve el nmero de registros que contiene una tabla. Condiciona las funciones anteriores bajo un criterio especfico.

49

Si consideramos la tabla del ejemplo anterior Clientes, podemos realizar las siguientes consultas utilizando funciones: Consulta 1 Suma Cantidad de productos Resultado: 54 Consulta 3 Mnimo Cantidad de productos Resultado: 1 Consulta 5 Cuenta Clientes Resultado: 7 Consulta 2 Promedio Costo unitario/producto Resultado: $ 269.643 Consulta 4 Mximo Cantidad de productos Resultado: 20 Consulta 6 Cuenta Clientes para Cantidad productos >=7 Resultado: 3

Consulta 7 Suma Costo unitario/producto para Cantidad de Productos <6 Resultado: $ 1,273.00 A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje En una ficha de contenido desarrolla el tema de variables o campos calculados, as como las funciones. Realiza los ejercicios propuestos para campos calculados en el Captulo 8. Recursos Susan L. Reber y otros. Op. cit.. Productos Ficha de contenido sobre variables y funciones. Ejercicios resueltos.

Susan L. Reber y otros. Op. cit.

2. GENERADOR DE REPORTES Objetivo: Elaborar reportes de presentacin de resultados en pantalla y por escrito, a partir de informacin seleccionada de una base de datos de una manera organizada y esttica, para facilitar su consulta. A continuacin estudiaremos el tema de REPORTES O INFORMES, a partir de definir la estructura general de estos, la forma de crearlos y modificarlos en un SGBD, as como la generacin del reporte. Hasta el momento slo hemos visualizado la informacin en pantalla, segn las vistas que presenta el SGBD, sin embargo, un reporte permite presentar la informacin de una base de datos de forma organizada y esttica en una hoja impresa, esta informacin es extrada o calculada a partir de los datos almacenados en la tabla.
50

Visto un reporte desde el Sistema Gestor de Base de Datos se considera como un archivo que contiene la definicin de la estructura del reporte, la cual utiliza etiquetas o encabezados, informacin de los campos de la base de datos y algunos campos calculados o variables. Un reporte presenta la siguiente estructura: Cabecera de pgina
Etiqueta

Detalles

Campo 1

Pie de pgina En la cabecera de pgina se encuentran los siguientes datos:


Encabezado del reporte: contiene informacin que ir al principio del reporte. Encabezado de pgina: contiene informacin que aparecer en todas las pginas del reporte.

Pueden ser las etiquetas de los campos. Encabezado de grupo: cuando el informe est dividido en grupos, aparecern los datos del grupo.

La seccin de detalles contiene la informacin general del reporte, es aqu donde se despliegan los registros de una base de datos al poner el campo dentro de esta seccin, para que se desplieguen sus registros partir de los criterios establecidos para el reporte. Dentro del pie de pgina se encuentran los siguientes datos:
Pie de grupo: contiene la informacin que va al final del grupo, puede ser un valor calculado. Pie de pgina: contiene la informacin que se requiere que aparezca en todas las pginas, Pie de reporte: contiene la informacin que va al final de todo el reporte, como pueden ser

como lo es el nmero de pgina.

las sumas totales y el nombre del responsable del reporte.

La forma de crear, modificar y generar un reporte queda a disposicin del SGBD. A nivel de SQL, las instrucciones que podramos usar seran las siguientes: Para crear un reporte: CREATE REPORT <Nombre del reporte> Para modificar un reporte: MODIFY REPORT <Nombre del reporte> Para generar un reporte: REPORT FORM <Nombre del reporte> Es importante recalcar que para generar un reporte debemos considerar la orientacin del papel de la impresora que se va a utilizar para imprimirlo.

51

A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Elabora un resumen sobre las ventajas de los reportes, su estructura, la forma de crearlos, modificarlos y generarlos. Recursos Susan L. Reber y otros. Op. cit., Captulos 6 y 8. Productos Resumen sobre reportes.

Realiza los ejercicios relacionados Susan L. Reber y otros. con reportes propuestos en los Op. cit. Captulos 6 y 8. Con relacin a la situacin de Manual de ejercicios y prcticas. aprendizaje, desarrolla la prctica 5, donde realizars un reporte de la base de datos.

Ejercicios resueltos.

Resolucin de la prctica 5.

3. GENERADOR DE PANTALLAS Objetivo: Desplegar campos y registros seleccionados en pantalla, mediante el uso de las instrucciones o controles de creacin de pantallas, para construir vistas sobre la base de datos que satisfaga necesidades especficas. Una PANTALLA o FORMULARIO es una herramienta visible en todos los SGBD para introducir o editar informacin de una o varias tablas de una base de datos relacional, en una secuencia personalizada por el usuario. Los formularios los disea el usuario para interactuar con la base de datos contenida en el SGBD de una forma ms amigable, adems de que al usuario comn le presenta nicamente la informacin que requiere, generando vistas de la informacin. En una pantalla el usuario puede incluir imgenes (al igual que en los reportes), encabezados de la pantalla, etiquetas de los campos a utilizar y los campos. Existen ciertos objetos o herramientas para navegar entre los registros, que pueden facilitar las ediciones o consultas de los usuarios, stas varan segn el tipo de SGBD. No olvides que para crear una pantalla se debe seleccionar la base de datos a visualizar. Cuando ya se tiene diseada la pantalla, la podemos poner en uso para editar, capturar o consultar informacin. La forma de crear, modificar y poner en uso una pantalla queda a disposicin del SGBD. A nivel de SQL, las instrucciones que podramos usar seran las siguientes: Para crear una pantalla: CREATE SCREEN <Nombre de la pantalla> Para modificar una pantalla: MODIFY SCREEN <Nombre de la pantalla> Para generar una pantalla: SELECT SCREEN <Nombre de la pantalla>
52

A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Realiza un resumen sobre pantallas, su estructura, la forma de crearlas, modificarlas y generarlas. Realiza los ejercicios propuestos en el Captulo 10. Recursos Susan L. Reber y otros. Op. cit., Captulo 10 . Productos Resumen sobre pantallas.

Susan L. Reber y otros. Op. cit., Captulo 10 .

Ejercicios resueltos. Resolucin de la prctica 6.

Con relacin a la situacin de Manual de ejercicios y prcticas. aprendizaje, desarrolla la prctica 6, donde realizars una pantalla para manipular la base de datos.

4. CREACIN Y MANEJO DE BASES DE DATOS MLTIPLES Objetivo: Construir bases de datos mltiples, a partir de la vinculacin de bases de datos sencillas, para reducir la redundancia y asegurar la consistencia de la informacin. Cuando nuestra base de datos es de tipo relacional, es decir, contiene ms de dos tablas, stas deben tener un campo en comn, tal y como lo vimos en la unidad II. La idea de usar bases de datos relacionales es para evitar la redundancia y la inconsistencia de la informacin, cuyo diseo revisamos a detalle tambin en esta unidad. Ahora te explicaremos cmo conectar dos tablas a nivel fsico en un SGBD. Ubiquemos el ejercicio de la unidad II, cuando hablbamos de los datos del empleado, recordars que dividimos la tabla principal en varias para evitar los errores de redundancia e inconsistencia, quedando las siguientes tablas:
Empleado Nombre Juan Prez Pulido Pedro Acacio Lpez Luis Manuel Pedrasa Homero Snchez S. Clave Institucin 1115 1115 1115 1115 Clave rea. 14A 14B 14A 14B Direccin Av. de los Milagros S/N Calle Santiago No. 125

reas Clave 14A 14B 123J

Institucin Clave Nombre 1115 Bachilleres 1116 Conalep rea CFT CFT ASD Subrea Tcnica Pedaggica Almacn 53

Donde los campos sealados son claves primarias. La forma de realizar dichas conexiones en un nivel fsico y en un SGBD ser el siguiente:
INSTITUCIN CLAVE NOMBRE DIRECCIN

EMPLEADO NOMBRE CVEINSTITU CVEAREA

REAS CLAVE REA SUBREA

Podemos generar reportes o pantallas usando bases de datos relacionales, slo hay que hacer referencia a la tabla de la que se est leyendo el campo y eso es todo. A continuacin se presentan las actividades que debes realizar; en caso de cualquier duda o problema consulta a tu asesor.
Actividades de aprendizaje Realiza un resumen sobre la forma de crear y manipular bases de datos mltiples a un nivel fsico, en un SGBD (en especfico Visual Fox Pro V 5.0). Recursos Susan L. Reber y otros. Op. cit., Captulo 5 y 7. Productos Resumen sobre bases de datos relacionales en un SGBD.

Con relacin a la situacin de Manual de ejercicios y prcticas. aprendizaje, desarrolla la prctica 7, donde realizars un reporte y una pantalla para manipular la base de datos relacional.

Resolucin de la prctica 7.

54

QU HE APRENDIDO?
A continuacin te presentamos la evaluacin de la unidad, para que valores tus avances hasta el momento. I Lee con atencin cada uno de los siguientes conceptos y coloca dentro del parntesis la definicin que le corresponda. Concepto ( ( ( ( ( ( ) Para ) Promedio ) Cuenta ) Mximo ) Suma ) Mnimo Definicin a) Calcula la suma de todos los valores de un campo numrico. b) Calcula la media aritmtica sobre todos los valores de un campo numrico. c) Devuelve el valor ms pequeo de un campo numrico. d) Devuelve el valor ms grande de un campo numrico. e) Devuelve el nmero de registros que contiene una tabla. f) Condiciona las funciones anteriores bajo un criterio especfico.

II. Lee con atencin cada una de las siguiente proposiciones y coloca dentro del parntesis una V si es verdadera o una F si es falsa. ( ( ( ( ) Los campos que conectan dos tablas en las bases de datos relacionales deben ser del mismo tipo. ) Un reporte desde el Sistema Gestor de Base de Datos, se considera como un archivo que contiene la definicin de la estructura del reporte. ) Los formularios los disea el usuario para interactuar con el Sistema Gestor de Bases de Datos. ) Una base de datos de tipo relacional contiene una o ms tablas.

III. Lee las siguientes preguntas y contstalas correctamente. 1. Qu es un reporte? 2. Qu es una pantalla? 3. Explica brevemente qu es una base de datos relacional. 4. Explica la estructura de una pantalla del SGBD Visual Fox Pro 5.0 5. Explica la lgica para relacionar dos tablas de una base de datos relacional.

55

QUIERO SABER MS
Investiga sobre la forma de generar reportes y pantallas en otros SGBD, como son: Visual dBase 5.5 y Access 97 o 2000, entre otros. Realiza consultas con campos calculados en bases de datos relacionales. Elabora un cuadro comparativo de la forma de conectar dos o ms tablas en diferentes SGBD.

56

BASES DE DATOS II

Cu adernillo de procedimientos para el aprendizaje (Versin para fase inicial)

C O N L A C O LAB OR A C I N DE C lau dia Adriana Lp ez Go nzle z

BASES DE DATOS II
Cuadernillo de procedimientos para el aprendizaje 2000. Secretara de Educacin Pblica/ Direccin General del Bachillerato COSTO DE RECUPERACIN $ 12.00

NDICE Presentacin............................................................................................................................................................ UNIDAD I. Programacin de Bases de Datos............................................................................................ Situacin de aprendizaje......................................................................................................................................... 1. Conceptos generales........................................................................................................................................... 2. Estructura general de un programa............................................................................................................... 3. Procedimientos bsicos...................................................................................................................................... Qu he aprendido?................................................................................................................................................. Quiero saber ms..................................................................................................................................................... UNIDAD II. Elementos bsicos de programacin de Bases de Datos............................................... 1. Uso de variables................................................................................................................................................... 2. Expresiones........................................................................................................................................................... 3. Instrucciones o comandos bsicos................................................................................................................... 4. Control del flujo lgico del programa............................................................................................................ Qu he aprendido?................................................................................................................................................. Quiero saber ms...................................................................................................................................................... UNIDAD III. Manejo de registros................................................................................................................... 1. Comandos para la consulta de informacin.................................................................................................. 2. Altas bajas y cambios.......................................................................................................................................... 3. Funciones de registros........................................................................................................................................ Qu he aprendido?................................................................................................................................................. Quiero saber ms...................................................................................................................................................... UNIDAD IV. Manejo de informacin por pantalla................................................................................... 1. Diseo y despliegue de pantallas..................................................................................................................... 2. Control de la captura de informacin por pantalla..................................................................................... 3. Diseo de pantallas de ayuda........................................................................................................................... Qu he aprendido?................................................................................................................................................. Quiero saber ms...................................................................................................................................................... UNIDAD V. Procedimientos.............................................................................................................................. 1. Concepto y estructura general de un procedimiento.................................................................................. 2. Ejecucin o llamada de procedimientos y funciones................................................................................... 3. Variables locales y globales............................................................................................................................... 4. Trasnferencia de variables a parmetros de procedimientos y subprogramas..................................... 5. Integracin de programas................................................................................................................................ Qu he aprendido?................................................................................................................................................. Quiero saber ms...................................................................................................................................................... UNIDAD VI. Impresin de informacin....................................................................................................... 1. Diseo de formatos de impresin.................................................................................................................... 2. Comandos de impresin.................................................................................................................................... 3. Impresin de informacin................................................................................................................................. Qu he aprendido?................................................................................................................................................. Quiero saber ms...................................................................................................................................................... 5 8 10 12 14 16 18 20 21 22 23 25 26 29 31 32 33 34 35 37 39 40 41 42 43 45 47 48 50 51 51 52 52 54 56 57 59 60 61 62 64

PRESENTACIN

Si comparramos a las Bases de Datos con libros stas seran best sellers, ya que

son los productos informticos ms utilizados y vendidos a lo largo del mundo y se siguen vendiendo, pues son el cimiento de la mayor parte de los sistemas de informacin que se manejan a travs de las computadoras. Obviamente el producto que se vende es el sistema, pero en ste va implcita la base de datos.

BASES DE DATOS II

A donde quiera que voltees encontrars situaciones dignas de sistematizarse, en tu escuela, en tu trabajo, incluso en tu comunidad, existen aspectos que alguna vez has deseado que sean ms rpidos, menos complicados, con menos papeleo y ms resultados, y quisieras contar con una varita mgica que te permitiera hacer todo esto; pero es posible que no se necesite tanto y que solamente se requiera de una computadora con un buen sistema de informacin instalado, manejando toda la informacin a travs de una base de datos adecuada. Porque de nada servira la computadora si no puedes hacer nada til con ella. Hasta el momento has aprendido a travs de asignaturas como Bases de Datos I y Sistemas de Informacin I la importancia de los sistemas y su implementacin a travs de bases de datos relacionales, sin embargo, en estas ltimas has llegado nicamente a crear aplicaciones a travs de las herramientas proporcionadas por el sistema generador de bases de datos pero, por qu quedarte nicamente a este nivel si puedes empezar a realizar implementaciones que cumplan con todos los requerimientos que te has establecido?, qu sucede cuando un procedimiento de los que creas a travs del asistente no funciona correctamente?, hay que volver a crearlo?, no sera ms sencillo conocer cmo trabaja dicho procedimiento y slo hacer las correcciones pertinentes? Por supuesto que s, pero para esto es necesario que conozcas de qu forma trabajan, qu tipo de codificacin permite que cumplan las funciones que te presentan. La asignatura Bases de Datos II est encaminada a proporcionarte las herramientas de programacin que te permitan resolver problemas como los planteados; retomaremos temas vistos en la asignatura de Lgica Computacional para las cuestiones de anlisis y diseo, y empezaremos nuestro proceso de aprendizaje partiendo desde los primeros pasos para crear un programa, pasando por la identificacin de las primeras instrucciones y funciones, avanzando as en el grado de complejidad para, finalmente, crear una aplicacin que resuelva la problemtica inicialmente planteada, a travs de un sistema que sea amigable al usuario, proporcione ventanas de ayuda que le permitan conocer el mismo sistema y adems, faciliten la impresin de la informacin que se requiera. Con lo anterior te acercas cada vez ms a alcanzar el objetivo de esta capacitacin que es: prepararte para desarrollar procesos de trabajo del campo laboral de la Informtica haciendo uso de procedimientos, tcnicas e instrumentos, adems de generar actitudes de valoracin y responsabilidad ante el trabajo. Recuerda que en la modalidad a distancia el esfuerzo mayor est sobre tus hombros, eres la pieza clave que determina tu grado de avance, aprovecha los materiales que se te brindan y apyate en el asesor correspondiente. Al igual que en las asignaturas anteriores trabajaremos con una gua de estudio y un manual de ejercicios y prcticas, as como ejercicios que facilitarn la adquisicin de los 5

conocimientos terico-prcticos necesarios para que logres introducirte a la programacin en bases de datos. De la misma manera que en las guas anteriores, sta tambin contar en cada unidad con las secciones: Qu voy a aprender?, Cmo aprendo?, Qu he aprendido? y Quiero saber ms. La primera seccin Qu voy a aprender? te presenta los objetivos de la unidad, los temas a cubrir, pero sobre todo te brinda una panormica de la importancia que tienen los temas que se incluyen. En la unidad nmero 1 se incluye, la actividad de aprendizaje, que no es otra cosa que el planteamiento del problema que irs resolviendo a lo largo del curso. La segunda seccin Cmo aprendo? contiene los objetivos particulares de los temas de cada unidad, su relevancia y los cuadros de actividades que facilitarn tu proceso de aprendizaje (no slo de la teora que requieres para programar, sino tambin de la prctica necesaria para lograrlo) a travs de su conexin con el manual de prcticas y ejercicios que mencionaremos ms adelante. En la seccin Qu he aprendido? encontrars una serie de reactivos que te permitirn autoevaluar si realmente ya cuentas con los conocimientos necesarios para abordar los temas de la siguiente unidad. Es esencial que domines cada una de las unidades planteadas para poder pasar a la siguiente, porque este curso tiene un avance completamente gradual, siempre ser importante que tengas las bases anteriores para la completa comprensin de un nuevo tema. Finalmente en la cuarta seccin, Quiero saber ms , se realizan sugerencias de estudio acerca de temas relacionados con lo que se ha visto en la unidad, proporcionando para ello la referencia bibliogrfica o la direccin mediante la cual puedes tener acceso a la informacin correspondiente. Recuerda que el conocimiento es poder y mientras ms domines un tema, ms herramientas tendrs para resolver los problemas que se te presenten. Esta gua se apoya en el Manual de ejercicios y prcticas del curso, que en este caso es el complemento indispensable para la aplicacin de todos los conocimientos tericos que se adquirirn. Lo que se estudia y no se practica es como si jams se hubiese estudiado, de qu te sirve tener dinero en la bolsa si no te lo puedes gastar? De nada, lo mismo practicando constantemente, cometiendo errores para as aprender las formas de solucin en cada caso, y comentiendo aciertos que te dan la seguridad para seguir adelante, aprendiendo no slo lo que el curso abarque sino todo lo que en determinado momento necesites. Los ejercicios y prcticas de tu manual estn encaminados a la aplicacin de los temas que se irn tocando a travs de la gua. De tal manera que la experiencia prctica slo ser posible a travs de la resolucin de tu manual. Ubicacin de la asignatura Como hemos mencionado con anterioridad, Bases de Datos II no es una asignatura aislada, se ubica en el eje de aplicacin de la estructura de la Capacitacin en Informtica y corresponde al sexto semestre; es un punto de unin entre las asignaturas Bases de Datos I y Lgica Computaciona y Programacin y tambin de manera indirecta de Sistemas de Informacin. La importancia de la asignatura radica precisamente en la unin de los conceptos de bases de datos y la programacin estructurada, proporcionando as un mayor nmero de herramientas de desarrollo, para aplicaciones reales; partiendo de lo elemental y dejando as las bases que te permitan la elaboracin de aplicaciones con una complejidad mayor.

La ubicacin grfica dentro de la Capacitacin en Informtica es la siguiente:


Sistemas de Informacin I Sistemas de Informacin II

EJE BSICO

Lgica Computacional y Programacin

Bases de Datos II

Bases de Datos II

EJE DE APLICACIN

Aplicaciones grficas con programas integrados

Ap licaciones especficas con programas integrados

EJE COMPLEMENTARIO

Introduccin a las Redes

Relacin directa Relacin indirecta

Una vez visto lo anterior es un buen momento para dar los primeros pasos hacia la programacin Bienvenido. Objetivo de la asignatura Aplicar los conceptos, principios generales y operaciones bsicas de las bases de datos en su modalidad de programacin, mediante el conocimiento de su estructura y elementos bsicos, las instrucciones para el manejo de registros, la construccin de procedimientos y la preparacin de reportes en pantalla e impresos, para desarrollar aplicaciones sencillas e integrarse a equipos responsables del desarrollo de sistemas complejos.

QU VOY A APRENDER?

PROGRAMACIN DE BASES DE DATOS


Objetivo de la Unidad:
Reconocer los elementos fundamentales de anlisis, diseo y programacin de sistemas, mediante el estudio o repaso de sus conceptos generales, los componentes y estructura de un programa y los procedimientos bsicos para su desarrollo, con el fin de asegurar una base comn mnima de informacin para las unidades siguientes.

UNIDAD I

Para poder hablar de programacin de bases de datos, tenemos que remitirnos a las diferentes tcnicas de anlisis, diseo y programacin que existen y de stas tomar las que ms se adecuen a nuestras necesidades. Como posiblemente recordars, algunas de las tcnicas mencionadas fueron estudiadas en la asignatura de Lgica Computacional y Programacin, por otra parte, en Base de Datos I se retomaron aquellas tcnicas que se aplican a las bases de datos y se complement la informacin para lograr un panorama integral de los requerimientos que deben cubrirse para la implementacin de un sistema de bases de datos. A lo largo de esta unidad haremos un repaso de los conceptos ms importantes hasta ahora vistos e iremos enfocndolos hacia la programacin de bases de datos. Elaborar un buen sistema de informacin no es una tarea que pueda realizarse sentndose a programar directamente en la computadora, despus de haber escuchado brevemente el planteamiento del problema. Los sistemas de informacin logrados de esta manera la mayor parte de las veces no dan respuesta a las diferentes problemticas que se presentan al utilizarlo. Pero si por el contrario, previamente a la programacin se realiza un anlisis detallado de todas las necesidades del sistema, del tipo de usuario que lo utilizar, de los aspectos no slo tcnicos sino incluso econmicos y sobre todo esto se realiza un diseo detallado que cubra todos los puntos analizados, entonces se contar con la garanta de que el sistema implementado tendr el alcance deseado. Para tal fin es necesario tomar en cuenta las tcnicas de anlisis y diseo de sistemas (las cuales recordaremos a travs de esta unidad) e identificar aquellas que nos sirvan para la implementacin de un sistema de informacin que elaboraremos (mismo que se plantea en la Situacin de Aprendizaje). Nos apoyaremos en las reglas de normalizacin (objeto de estudio en esta unidad), por tratarse de la base ms importante para cualquier implementacin de bases de datos relacionales. El sistema generador de bases de datos con el que se trabajar es Visual FoxPro (el cual ya se utiliz en Base de Datos I), sin embargo, es importante que reconozcas que la teora de anlisis, diseo, normalizacin, y tcnicas de programacin, as como mucho de lo que a lo largo de las unidades se presentar, no es excluyente para otros sistemas generadores de bases de datos o para otros sistemas de informacin en general. En esta unidad repasaremos tambin las tcnicas de programacin estructurada y orientada a objetos que trabajaste en Lgica Computacional y Programacin, y puntualizaremos a partir
8

de tu propio anlisis las diferencias ms importantes entre stas as como sus ventajas y desventajas. Visual FoxPro permite los dos tipos de programacin, sin embargo nos apoyaremos principalmente en la estructurada, ya que permite al nuevo programador el desarrollo de una estructura mental de programacin que le ayudar posteriormente a desarrollar a otras tcnicas de programacin. Una vez definida la tcnica de programacin se proceder al establecimiento de la estructura general de un programa, aprendiendo a reconocer las partes principales de ste. Empezaremos a identificar cmo asignar valores a las variables que se utilizan, a realizar funciones de distintos tipos dentro del programa y elaborar clculos o analizar situaciones basndose en expresiones aritmticas, lgicas e incluso relacionales. A continuacin se presentan de forma esquemtica los temas de la presente unidad.
Sistema de base de datos Requieren de Anlisis Diseo Utiliza Normalizacin Orientada a objetos Tcnicas de Programacin Como Estructurada Genera Programas Mediante Estructura Procedimientos

Los temas que aparecen sombreados se identifican como los ms relevantes dentro de la unidad. Para la completa comprensin de los temas es muy importante que realices completamente las actividades sugeridas (ya que son la base para el desarrollo de los temas) y resuelvas las prcticas y ejercicios sugeridos. Todo sistema de informacin debe tener una aplicacin prctica real de acuerdo a las necesidades planteadas; las aplicaciones pueden ser muchas y muy variadas, incluso t en este momento puedes estar pensando en alguna, por ejemplo un control de las direcciones y telfonos de tus amigos o un sistema que te permita controlar sueldos, puestos, asistencias, permisos, en el lugar donde trabajas o incluso, un sistema que te permita llevar el registro de la produccin lograda por mes, con las ganancias o prdidas que esto implique. En cada lugar encontraremos distintos requerimientos y por lo tanto, los ms variados sistemas de informacin. Para aterrizar los conocimientos que a lo largo del curso abarcaremos es necesario plantear una situacin real que implique la creacin de un sistema de informacin en bases de datos relacionales, la cual se encuentra en la Situacin de Aprendizaje. Esta situacin ser el eje rector de todas las unidades de la gua y de las prcticas establecidas en el Manual de prcticas y ejercicios. Es importante comentar que todos los aspectos aqu presentados no son un invento, sino producto de la investigacin, para as, obtener un producto de calidad que te permita plantear de forma prctica todos los conocimiento adquiridos a travs del esfuerzo de investigacin y anlisis que realizars a lo largo de la gua.

SITUACION DE APRENDIZAJE El consultorio odontolgico VzquezAguilar requiere de un sistema que le permita llevar un mejor control de sus pacientes, de los tratamientos que reciben y sus costos, con la finalidad de agilizar algunos procesos que son repetitivos pero importantes. Un aspecto relevante es el registro de los pacientes que se atienden, ya que la mayor parte de ellos realiza distintos tratamientos o se convierten en pacientes regulares, por lo que es importante contar con sus datos generales. En el consultorio el comprobante de pago principal es el recibo de honorarios, por lo que los documentos que generar el sistema cumplen nicamente la funcin de desglosar por paciente los tratamientos que se requieren o aplicaron y sus costos, as como el total a pagar, ya que todos estos datos difcilmente se pueden incluir completos en el recibo de honorarios. Una de las ventajas de un documento con las caractersticas ya mencionadas es que puede utilizarse no slo como complemento del recibo de honorarios, sino tambin como presupuesto para el paciente que as lo requiera. Los datos que el odontlogo necesita manejar de su paciente son los siguientes: Nombre completo Direccin Cdigo Postal Telfono RFC Sexo Edad Peso Edo. Civil Observaciones Los datos: nombre, direccin, cdigo postal y RFC sirven para elaborar el recibo de honorarios; por otra parte, el nombre, sexo, edad, peso y estado civil permiten al doctor realizar clculos de anestesia y tipos de tratamientos y, por ltimo, en observaciones anota informacin que le permita evaluar de manera concreta al paciente: las alergias, padecimientos crnicos o enfermedades como diabetes, hipertensin u otras. Otra parte importante del sistema es la que maneja los tratamientos y costos, ya que son el complemento para la elaboracin de los presupuestos o desgloses de pagos totales. Dado que VzquezAguilar es un consultorio de odontologa general, se realizan tratamientos bsicos como obturacin de resinas y amalgamas, extracciones, endodoncias, prtesis, placas totales y radiografas, entre otros tratamientos de carcter general. A continuacin se presentan dichos tratamientos con sus costos correspondientes.
Endodoncias (se cobran por conducto)

Pulpotoma Un conducto (dientes) Tres conductos (molares) Coronas de acero cromo


Profilaxis (limpieza)

$100.00 $250.00 $750.00 $120.00 $150.00 $100.00


10

Profunda Superficial

Aplicaciones tpicas de fluor Blanqueamiento de dientes Obturacin con amalgamas y resinas Extracciones Piezas temporales Piezas permanentes Incrustaciones Liga de plata Oro Porcelana Unidad de prtesis fija (se cobra por unidad) Metal acrlico Metal porcelana Jacket acrlico Jacket metal acrlico Jacket porcelana Prtesis removibles Metal acrlico (se cobra por unidad) Placas parciales acrlico 2 a 4 piezas 5, 6 y 7 piezas 8, 9, 10 y 11 piezas Placas parciales porcelana 2 a 4 piezas 5, 6 y 7 piezas 8, 9, 10 y 11 piezas Placas parciales de valplast Unilateral Bilateral Placas totales Acrlico Porcelana Ciruga menor de tercer molar Radiografa periatical Radiografa oclusal

$150.00 $3000.00 $100.00 $80.00 $100.00 $270.00 $800.00 $850.00 $400.00 $850.00 $220.00 $400.00 $850.00 $200.00 $700.00 $1200.00 $1600.00 $1800.00 $3100.00 $4900.00 $1800.00 $3600.00 $2000.00 $4000.00 $1000.00 $60.00 $80.00

La informacin descrita ser la base para la elaboracin del sistema, es importante que ste no presente un manejo complejo ya que la persona que lo utilizar no es experta en el uso de la computadora. Otra funcin que se quiere cubrir es la obtencin de nombres y direcciones completas de los pacientes para, a travs de correo, enviar promociones, informacin sobre nuevos materiales o tratamientos e incluso, si el paciente as lo solicita, enviar tambin presupuestos. En este punto se debe tomar en cuenta factores como la edad, ya que a diferencia de los adultos a un nio no se le enva este tipo de material.

11

CMO APRENDO?
1. CONCEPTOS GENERALES Objetivo: Ubicar la programacin de bases de datos en el contexto del desarrollo de sistemas, mediante un repaso de los conceptos y tcnicas de anlisis y diseo de sistemas y de programacin para identificar las tcnicas de programacin adecuadas para el paquete que se vaya a usar. Dos de las partes fundamentales en el desarrollo de cualquier sistema son el anlisis y el diseo del mismo. Contrariamente a lo que muchos programadores piensan, analizar aspectos como identificacin de necesidades, viabilidad, especificaciones o diseo de datos o procedimientos es ms una inversin que una prdida de tiempo, ya que si desde un principio se analizan los aspectos que a lo largo del camino influirn en el desarrollo del sistema, cuando se presente una situacin a resolver ya se contar con las herramientas necesarias para dar solucin efectiva y, por lo tanto, se puede continuar avanzando hasta ver terminado el proyecto planteado inicialmente. Como t mismo reconocers, el anlisis del sistema no est referido nicamente al software que se va a desarrollar sino tambin a aspectos como: estructuras, tiempos, cuestiones de costos, viabilidad, asignacin de funciones (personas involucradas), establecimiento de restricciones y otros. Por supuesto te encontrars con que cada sistema tiene su grado de complejidad. Por ejemplo, se debe eliminar el paso de anlisis referente a la asignacin de personal para desarrollo, cuando desde un principio se sabe que es slo una persona la que va a trabajar. El siguiente aspecto importante a considerar es el diseo de sistemas. Una vez que se analizaron y cubrieron todos los aspectos que pueden influir en el desarrollo del sistema, debes hacer las consideraciones tcnicas y lgicas que te permitirn la codificacin ordenada del nuevo sistema. En la etapa de diseo debes tomar en cuenta aspectos tan importantes como la estructura de datos que se va a requerir en la implementacin del sistema, las relaciones entre los principales elementos estructurales y los procedimientos que integrarn dichos elementos, es en este punto donde se da la definicin del tipo de programacin que se va a utilizar, e incluso se elaboran las interfaces del sistema con el usuario. A lo largo del curso se trabajar en Visual FoxPro, por lo que es necesario conocer los pasos a seguir en el diseo de una base de datos en dicho sistema. Lo primero que debes saber es que base de datos relacional y tabla no son sinnimos, como recordars, el primero se refiere a un conjunto de tablas relacionadas que se manejan como un todo, mientras el segundo es indispensable de otras tablas. Los pasos que se van a cubrir a lo largo del curso son: 1. 2. 3. 4. 5. Determinar el propsito de base de datos Desarrollar el diagrama entidad-relacin de la base de datos Precisar las tablas y campos necesarios Establecer las relaciones Perfeccionar el diseo

12

Un aspecto relevante en el manejo de bases de datos relacionales se encuentra en las reglas de normalizacin, que ya has revisado en otras asignaturas, por lo que se dar un repaso a este punto para poder aplicarlo en la resolucin de nuestra Situacin de Aprendizaje. Existen variadas tcnicas de programacin, sin embargo dos de las ms utilizadas son la programacin estructurada y la orientada a objetos. La tcnica de programacin que se desarrollar durante el curso es la estructurada ya que permite al nuevo programador desarrollar una estructura mental bsica para su formacin. Sin embargo, y como te dars cuenta a travs Visual FoxPro y del texto sugerido, Visual maneja objetos y permite la creacin de los mismos, lo que utilizaremos como una ventaja ms que nos evitar trabajar sobre aspectos ya desarrollados y que simplemente se incorporarn de manera transparente en nuestro desarrollo estructurado. Por lo tanto es muy importante que sepas identificar sus similitudes y diferencias para as aprovechar al mximo los recursos con los que cuentas. A travs de la siguientes actividades podrs tener un panorama ms especfico de los temas que se te han mencionado, para que puedas adems aplicarlos en el desarrollo de tus propios sistemas.
Actividades de aprendizaje Menciona y define cada una de las etapas del anlisis de sistemas Recursos Pressman, Roger S. Ingeniera del Software, un enfoque prctico. 3 ed., Mxico, McGraw-Hill, pp. 155-165 Productos Ficha de contenido que considere las etapas del anlisis de sistemas.

Especifica por qu es importante la Pressman, Roger S. Op. cit. , Ficha de contenido acerca del diseo en etapa de diseo para cualquier pp. 329-376 los sistemas. sistema, y explica de manera concisa los siguientes aspectos: a) Sus fundamentos. b) Importancia de un buen diseo modular. c) El diseo de datos, arquitectnico y procedimental. d) Documentacin del diseo. Explica para qu se utiliza el modelo Entidad-Relacin (E/R), identifica cules son sus principales elementos y proporciona un ejemplo que te permita comprender este tipo de modelado. Realiza el ejercicio No. 1. Piattini, Mario/Adoracin Ficha de contenido de diagramas Entidadde Miguel. Fundamentos y modelos de Bases de Datos. 2 Relacin. ed., Mxico, Alfaomega, pp. 103-114 y 266-273. Manual de ejercicios y prcticas. Ejercicio resuelto.

Expresa brevemente qu es la teora Piattini, Mario/Adoracin Resumen sobre la de normalizacin y cules son su de Miguel. Op. cit. , pp. 273- teora de la normalizacin. formas. 287.

13

Actividades de aprendizaje Revisa el ejemplo de normalizacin propuesto e identifica las formas de nomalizacin en la base de datos establecida para VisualPro. Resuelve los ejercicios No. 2 y 3.

Recursos Pinter Les/Pinter John. Visual FoxPro 3.0 y 5.0 Manual de Programacin , pp. 50 y 51. Manual de ejercicios y prcticas.

Productos Ficha de contenido que considere las formas de normalizacin en tablas. Ejercicios resueltos.

Describe cules son las diferencias Pressman, Roger S. Op. cit. , Ficha de contenido sobre programacin ms obvias entre la programacin pp. 252-270 y 358-363. estructurada y la estructurada y la orientada a objetos. orientada a objetos. Realiza un anlisis de la informacin que se requiere para el control de la biblioteca de tu Centro de Servicios. Toma en cuenta los siguiente aspectos: 1. Datos que se necesitan conocer para el manejo de los libros con que se cuenta. 2. Informacin sobre las personas a las que se realizan prstamos de material (alumnos, maestros o personal del centro). 3. Tiempo de prstamo, fecha de entrega y fecha de recepcin del material. 4. Consecuencia por exceder el tiempo de prstamo: multas o sanciones y sus montos por da, etc. Personal del Centro de Servicios que pueda proporcionarte la informacin que requieres. Anlisis de la informacin.

Elabora el diagrama entidad-relacin Anlisis de la informacin de tu biblioteca, basndote en la de biblioteca. informacin obtenida.

Diagrama entidadrelacin biblioteca.

Establece las tablas normalizadas de Diagrama entidad-relacin Tablas normalizadas de biblioteca. la informacin planteada en el biblioteca. diagrama entidad-relacin de la biblioteca.

14

2. ESTRUCTURA GENERAL DE UN PROGRAMA Objetivo: Identificar las partes o secciones de un programa, la funcin que cumplen y las relaciones entre ellas, a travs de reconocer el encabezado, las definiciones de variables y constantes, los procedimientos, subprogramas o clases de objetos y su cuerpo principal de instrucciones. Todo programa cuenta con una estructura base para su creacin, que permite la identificacin de lo que se est codificando, no slo por parte del programador sino tambin de aquellos que estn interesados en el anlisis del cdigo para mejorar o mantener la aplicacin. Un programa consta normalmente de los siguientes elementos: Encabezado Definicin de variables y constantes Expresiones y comandos Procedimientos Funcin Cierre y terminacin.

Estos elementos por lo regular conservan el orden en que se presentan, sin embargo, y como ya tendrs oportunidad de trabajar, para el caso de Visual FoxPro existen algunas variaciones sobre esta estructura en particular. Por ejemplo, en Visual FoxPro no se requiere de encabezados formales o propios de las instrucciones del cdigo del sistema; pero se puede agregar a los programas como encabezado de la documentacin referente al nombre del programa, su objetivo y quien lo elabor; si deseas agregar informacin adicional lo puedes hacer ya que esto realmente depender de tu propio estilo o necesidad. Otro aspecto diferente con el que te enfrentars en Visual FoxPro es que no es necesario que la definicin de variables y constantes globales se realice al inicio del programa, sin embargo s se recomienda, ya que si la variable en algn momento se escribe mal el compilador la interpreta como la declaracin de otra variable y este tipo de errores es muy difcil de identificar. En lo que toca a los procedimientos o funciones estos se definen en mdulos separados del programa principal, cuidando nicamente que al ser llamados se establezca la ruta correcta. Finalmente podrs notar, cuando empieces a programar, que a diferencia de otros lenguajes, en Visual FoxPro no existen comandos especficos para indicar el inicio o fin de un programa principal (no as en el caso de los procedimientos o funciones), por lo que los elementos de cierre o terminacin no sern encontrados en este tipo de programas. A continuacin se presentan las actividades que debes realizar para entender este tema, y empezar con la programacin en Visual FoxPro.

15

Actividades de aprendizaje Recursos Describe con tus propias palabras los Ayuda de Visual Fox Pro siguientes elementos de un Presiona F1, selecciona programa: ndice y digita de acuerdo a cada caso: - Encabezados - Encabezado, agregar en el asistente para la - Constante documentacin - Variable Constante, asignar - Expresin valores a - Comando Variable, definicin - Procedimiento - Comando, definicin - Funcin. - Procedimiento, definicin - Procedimientos de funcin definidos por el usuario - Funcin, definicin. Explica cmo trabaja Visual FoxPro con las variables. Pinter Les/Pinter John. Op. cit., pp. 174-176. Resuelve la prctica No. 1. Manual de ejercicios y prcticas.

Productos Ficha de contenido acerca de los elementos de Programa.

Ficha de contenido sobre las variables de Visual FoxPro. Prctica resuelta.

3. PROCEDIMIENTOS BSICOS Objetivo: Explicar el proceso de elaboracin de una base de datos, a partir de describir la secuencia de procedimientos para la captura, depuracin, ejecucin y compilacin de un programa de bases de datos y los instrumentos disponibles para llevarlas a cabo. Para esta asignatura la creacin de la base de datos y su manejo estar fundamentada en Visual FoxPro, que permitir el correcto funcionamiento del sistema en general. Por eso, es importante que puedas reconocer los pasos que se siguen para la elaboracin de un programa, ya que de esto depende el que puedas identificar en el caso de una falla, cul de los pasos no se ha realizado completamente. Dichos pasos son los siguientes: 1. Captura 2. Depuracin 3. Compilacin 4. Ejecucin De stos el que podemos identificar de forma inmediata es el proceso de captura, pues se refiere a la insercin del cdigo que forma el programa. En el caso de Visual FoxPro el proceso de captura se realiza en la ventana de Programas que se obtiene seleccionando Administrador de Proyectos, la pestaa Cdigo y el botn Nuevo o Modificar, si ya existe el archivo.
16

Por su parte, el proceso de compilacin permite pasar el cdigo generado por el usuario a lenguaje de mquina y en ocasiones a lenguaje ensamblador; ser parte de tu empresa identificar de qu forma trabaja el compilador de Visual FoxPro. Mientras tanto, en el proceso de depuracin se pueden identificar errores de sintaxis, que al irse analizando, permiten al usuario ubicar errores de lgica y de entrada de datos. Finalmente, una vez que el programa ha sido depurado y compilado se ejecuta, lo que no es otra cosa que poner en funcionamiento el programa que se realiz. Visual FoxPro cuenta con sus propias herramientas de depuracin y ejecucin que aprenders a identificar. Existen herramientas que analizan una lnea de cdigo y despus realizan las acciones especficas, en lugar de producir una traduccin de cdigo de mquina para que se ejecute posteriormente; estas herramientas se conocen como intrpretes, pero no son muy utilizadas en los sistemas generadores de bases de datos por lo que no sern objeto de profundizacin. Adicionalmente en Visual FoxPro como en otros sistemas generadores de bases de datos se pueden generar programas ejecutables con la extensin .EXE que pueden correrse sin necesidad de tener Visual FoxPro. Visual FoxPro cuenta con una forma propia para realizar todos los pasos que se han mencionado, incluso en algunos de ellos cuenta adems con una lgica distinta, es por eso que se presentan las siguientes actividades de aprendizaje que te permitirn adquirir los conocimientos tericoprcticos necesarios para el correcto manejo del proceso descrito.
Actividades de aprendizaje Recursos Define cmo se realizan los procesos Pinter Les/Pinter John. de ejecucin y compilacin en Visual Op. cit., p. 171 FoxPro. Explica los siguientes pasos para la elaboracin de un programa, incluyendo las instrucciones con su sintaxis, a travs de las cules se realizan en Visual FoxPro. Depurar Compilar Ejecutar Ayuda de Visual FoxPro Presiona F1, selecciona ndice y digita lo siguiente en cada caso: Depurar, definicin Debug Compilar Compile Ejecutar programas Do Productos Ficha de contenido acerca de la ejecucin y compilacin en Visual FoxPro. Ficha de contenido sobre la depuracin, compilacin y ejecucin en Visual FoxPro.

Describe el proceso de generacin de Pinter Les/Pinter John. una aplicacin y su relacin con la Op. cit., pp. 84-86 generacin de ejecutables. Genera la base de datos y las tablas correspondientes a travs del Diseador de Bases de Datos de Visual FoxPro, estableciendo tambin sus relaciones. Puedes tomar como ejemplo la prctica No. 1 de tu Manual de prcticas y ejercicios. Tablas normalizadas de biblioteca y el sistema generador de Bases de Datos de Visual FoxPro 5.0.

Ficha de contenido acerca de la generacin de aplicaciones y ejecutables. Base de Datos de biblioteca en Visual FoxPro.

17

QU HE APRENDIDO?
A continuacin encontrars unas actividades de evaluacin para esta unidad que te permitirn valorar tus avances hasta este momento. 1. Identifica el nombre del proceso de anlisis que se est describiendo: a) Implica la evaluacin del anlisis de costo-beneficio. b) En este proceso se realizan las entrevistas con el cliente y la informacin recogida se organiza en un documento de conceptos del sistema. c) A travs de este proceso se evitan inversiones en sistemas que no se pueden concretar por cuestiones econmicas, tcnicas o legales. d) En este proceso es asignada a uno o ms elementos, cada funcin del sistema con sus caractersticas de interfaz y rendimiento requerido. 2. Responde las preguntas: a) Explica brevemente qu implica la normalizacin para los sistemas en Visual FoxPro. b) Qu es programacin estructurada? 3. Relaciona las columnas: ( ) Encabezado ( ) Variable ( ) Procedimiento ( ) Comando a) Respuesta=.F. b)FOR I = 1 TO valor final ENDFOR c)&& Elaborado por: Claudia Lpez && Elimina registros en blanco. d) PROCEDURE Buscar . : ENDPROC 4. Selecciona la respuesta correcta: 4.1. Verificacin del funcionamiento por lnea o mdulo de un programa. a) Compilacin b) Verificacin c) Depuracin d) Fraductor
18

______________________

______________________

_____________________

______________________

4.2. Son los programas que corren sin necesidad de tener Visual FoxPro instalado. a)Aplicaciones b) Ejecutables c) Independientes d) Mixtos 4.3. Introduccin del cdigo del programa. a) Captura b) Codificacin c) Compilacin d) Interpretacin 4.4. Visual FoxPro realiza de manera transparente este paso al ejecutar el programa. a) Compilacin b) Depuracin c) Generacin de .Exe d) Ejecucin 5. Resume paso a paso cmo llevaste a cabo el proceso de planeacin y creacin de la Base de Datos biblioteca, cubriendo los aspectos:

Anlisis de los datos Modelado (diagrama entidad-relacin) Tablas y Normalizacin. Creacin de la B.D.

19

QUIERO SABER MS
Otra tcnica de programacin aprovechada por Visual FoxPro es la orientada a eventos, que es un modelo de programacin que hace nfasis en el cdigo de evento, en lugar del cdigo secuencial empleado en la programacin por procedimientos, para que lo vayas comprendiendo te sugerimos que consultes el libro de apoyo: Visual FoxPro 3.0 y 5.0 Manual de Programacin. Pinter Les/Pinter John pginas 90,91, 243 y 244. El diseo del sistema es fundamental, por lo cual te sugerimos que analices el ejemplo del diseo de un sistema de bases de datos de una situacin real, el cual encontrars en la direccin de internet http://members.xoom.com/analista/directorio/tecinf/basedatos.htm. Por otra parte, si quieres saber un poco ms acerca del modelado y gestin de bases de datos puedes consultar la direccin http://www.inei.gob.pe/cpi/bancopub/libfree/lib607/n00.htm.

20

QU VOY A APRENDER?

ELEMENTOS BSICOS DE PROGRAMACIN DE BASES DE DATOS


Objetivo de la Unidad:
Manejar las operaciones bsicas y los elementos bsicos de los programas de bases de datos, mediante la aplicacin de las reglas para el uso de variables y constantes, la construccin de expresiones y las instrucciones de control de entrada-salida y de flujo lgico, con el fin de utilizarlas correctamente en la construccin de programas.

UNIDAD II

Para la construccin de un programa se requiere de una serie interminable de comandos, asignaciones y estructuras, muchos de los cuales son fundamentales en cualquier programa y los podemos ver repetirse una y otra vez debido a que son la base de muchos procedimientos, funciones e incluso del programa principal. Siempre necesitars asignar el valor a una variable, o repetir un proceso un nmero n de veces hasta que se cumpla una condicin o tambin, elegir entre opciones distintas e incluso decidir qu pasa si se cumple una condicin y qu ocurre en el caso contrario. La presente unidad abarca todos los temas bsicos que te permitirn dar solucin a situaciones como las ya mencionadas, sin olvidar que todo se abordar bajo las estructuras que plantea Visual FoxPro que es el Sistema Manejador de Bases de Datos utilizado. El siguiente esquema presenta los temas a tratar durante esta unidad:
Programa Cuenta con

Variables Para
Asignacin de valores Funciones de conversin

Expresiones De tipo
Apertura y cierre

Comandos De
Control de pantalla Lectura y escritura Inst. de seleccin

Flujo lgico A travs de


Comandos de control Comandos de seleccin

Aritmticas

Lgicas

Recuerda que seguimos manejando la situacin de aprendizaje planteada inicialmente, por lo que los nuevos conceptos van encaminados a dirigirte en el proceso de solucin de dicha situacin, mediante esta gua y el Manual de ejercicios y prcticas.
21

CMO APRENDO?
1. USO DE VARIABLES Objetivo: Dominar el uso de variables y funciones, mediante el estudio y aplicacin de las instrucciones para asignar y convertir valores de variables y constantes, con el fin de construir expresiones correctamente y permitir controlar el flujo del programa. Como recordars, una variable es un espacio en memoria representado por una cadena de caracteres que almacena datos de cualquier tipo. La asignacin se establece cuando defines los datos o el valor que contiene una variable. Dentro de Visual FoxPro esta asignacin se realiza de varias maneras: es posible definirlas dentro del cuadro de Comandos, dentro de la ventana de programa en procedimientos y funciones e incluso en el programa principal. Algo muy importante es que la variable se define en el momento de asignar un dato o valor, esto podrs verificarlo a travs de las prcticas y ejercicios de todo el curso. Las variables pueden ser de varios tipos: de memoria, memoria del sistema, locales, privadas y pblicas. La asignacin a variables de memoria del sistema es realizada de forma inmediata por Visual FoxPro y el usuario no interviene. Los valores del resto de las variables s son asignadas por el usuario. Ejemplos de este tipo de asignacin son: Impuesto IVA = 1.15 Costo Bucal = costo Donde costo es el campo perteneciente a la tabla Tratamientos.

Si observas las asignaciones anteriores son idnticas a las que nosotros realizamos de forma manual. Otra herramienta importante que podemos utilizar son las funciones, las cuales son un conjunto de instrucciones que generan como salida un valor nico una vez introducidos los parmetros de entrada. Dichas funciones pueden ser propias de Visual FoxPro o tambin pueden ser generadas por el usuario. El uso de funciones es indispensable para cualquier aplicacin de all la relevancia que tendr para ti como nuevo programador. Ms adelante aprenders a generar funciones, sin embargo, hasta este momento lo indispensable es que conozcas algunas de las ms utilizadas y que son proporcionadas por Visual FoxPro. Las sintaxis de una funcin es la siguiente: Nombrefuncin(argumentos) Donde argumentos(o parmetros) son los datos, campos o variables a introducir en la funcin.

Y puede utilizarse dentro de otras instrucciones.

22

Dentro de las funciones encontramos una clasificacin interesante, y que corresponde a las funciones de conversin, estas son funciones ya creadas en Visual FoxPro que tienen como finalidad:
Transformar los datos o valores de una variable de un tipo a otro. Cambiar las caractersticas de la variable. Obtener operaciones de extraccin o concatenacin de cadenas de caracteres entre otros.

Existen otras clasificaciones de funciones que t mismo descubrirs. A continuacin se presentan las actividades de aprendizaje que te permitirn cubrir todos los aspectos de este subtema.
Actividades de aprendizaje Recursos Productos Menciona y explica brevemente las Pinter Les/Pinter John. Resumen que considere las cinco formas de asignacin de Op. cit., pp. 175-177. asignaciones de valores a variables que se utilizan en valores a variables. Visual FoxPro. Realiza una tabla con un mnimo de cuatro funciones por cada una de las siguientes clasificaciones: - Bsqueda - Clculos en tablas - Tratamiento de caracteres - Manipulacin de fechas - Arreglos Recuerda la sintaxis de la funcin, nombrefuncin() Elabora una tabla con las funciones de conversin entre variables en Visual FoxPro y proporciona un ejemplo distinto al que proporciona la ayuda por cada funcin. Iglesias, Rubn. Op. cit., p. Tabla de Variables de conversin en Visual 15. FoxPro. Ayuda de Visual FoxPro F1, ndice, Nombre de la Funcin, Ejemplos. Iglesias, Rubn. Visual Tabla de las funciones FoxPro 5.0 Fundamentos y de Visual FoxPro. Tcnicas de Programacin. 3 ed., Mxico, Alfaomega, pp. 29-32,51-58.

2. EXPRESIONES Objetivo: Evaluar y utilizar expresiones de diferentes tipos, mediante el estudio y aplicacin de las reglas de construccin de las mismas, para incorporarlas en las instrucciones del programa. Como recordars, una expresin es una sentencia que nos permite realizar operaciones con constantes, variables, cadenas o campos, entre otros. Has utilizado expresiones desde que aprendiste a sumar hasta la fecha. Las expresiones pueden ser de tipo aritmtico, lgico y relacional.
23

Las expresiones aritmticas son aquellas que incluyen operadores matemticos como +, -, *, / y () los cuales cuando se trata de clculos en la computadora tienen un estricto orden de procedencia. Algunos ejemplos de expresiones aritmticas son los siguientes: Suma=5 + 5 Multisuma=6*7+9 lgebra=a4-8b*8c Parntesis=(7+5)/((5-1)*9) Tambin existen las expresiones lgicas, este tipo de expresiones son bsicas dentro de la programacin, ya que se utilizan mucho en condicionantes o en el control de ciclos entre otras. Estas expresiones arrojan valores de cierto (T) o falso (F). Las ms utilizadas son AND, OR y NOT, y como quizs recuerdes (de tus clases de matemticas) cada una tiene su propio comportamiento como veremos a continuacin:
E T T F F And E T F T F S T F F F E T T F F Or E T F T F S T T T F Not E S T F F T

Un ejemplo de expresin lgica es: sexo= M and apellidos >= M Otro tipo de expresiones que tambin es importante que tengas presente es la relacional, que se utiliza para construir condiciones de comparacin de variables, constantes y campos, entre otros. Manipulan valores numricos y de otros tipos para producir valores lgicos. Los operadores que se utilizan son >, <, >=, <=, <> e =. Este tipo de expresin se puede ejemplificar de la siguiente manera: Costo > 100 Costo < 50 and costo >= 51 Es importante que manejes de forma correcta los diferentes tipos de expresiones mencionados, ya que son parte de las bases para una correcta programacin en un Visual FoxPro. Enseguida se presentan las actividades de aprendizaje que te permitirn reforzar y complementar lo visto hasta el momento.
Actividades de aprendizaje Explica cmo funciona el Generador de Expresiones y los elementos que lo conforman. Recursos Pinter Les/Pinter John. Op. cit., pp. 5 y 371. Productos Ficha de contenido sobre el generador de Expresiones. Ficha de contenido que considere el uso de operadores aritmticos en datos numricos y tipo carcter. Tabla sobre la procedencia de Operadores aritmticos. Ejercicio resuelto.

Describe brevemente el uso de los Pinter Les/Pinter John. Op. operadores aritmticos + y para cit., pp. 177-178. el caso de datos numricos y tipo carcter. Elabora una tabla con el orden de preferencia de los operadores aritmticos y proporciona tres ejemplos. Resuelve el ejercicio No. 4. Ayuda de Visual FoxPro Presiona F1, selecciona ndice, digita operadores, numricos. Manual de ejercicios y prcticas. 24

3. INSTRUCCIONES O COMANDOS BSICOS Objetivo: Aplicar las instrucciones mnimas necesarias para construir un programa, mediante el uso de los comandos o instrucciones para iniciar, terminar y controlar la pantalla de entrada-salida, con el fin de observar el comportamiento integral de un primer programa. Existen instrucciones que te permitirn reconocer el inicio y final de procedimientos, funciones, comando, y para algunos lenguajes el inicio o final de un programa principal, que es como se conoce a aquel del cual se ejecutan los diferentes mdulos del sistema. Este tipo de instrucciones se conocen ms propiamente como de apertura y cierre. Por darte un ejemplo, en algunos lenguajes de programacin estructurada, el programa principal puede llevar como instruccin de apertura un Begin y como instruccin de cierre un End, sin embargo, algo realmente interesante en Visual FoxPro y que aplica para algunos sistemas generadores de bases de datos similares, es que en stos el programa principal no requiere de instrucciones o comandos que indiquen el inicio o fin del programa, no as cuando se trata de procedimientos, funciones o comandos como vers mas adelante a detalle. An cuando no se puede identificar como un encabezado de programa principal, te recomendamos que al inicio del programa escribas datos como los siguientes: && Nombre del programa: Nombre && Autor(es): && Propsito Esto con la finalidad de indicar, entre otras cosas, que aqu empieza tu programa principal. Los datos a incluir dependern de tu propia necesidad. Ahora bien, otro aspecto que debes tener siempre en cuenta cuando ests generando un sistema es el control de la pantalla. Lo primero es definir de qu pantalla se est hablando, si de la principal de Visual FoxPro conocida como consola o de una ventana de entrada y salida de datos, ya que involucran un manejo distinto. En el caso de la consola se usan instrucciones simples que permiten visualizar datos de salida provenientes de consultas o variables. Es importante recalcar que la consola no es un medio de lectura, es decir, que es posible desplegar informacin ms no escribir en ella. En el caso de las ventanas de entrada salida, podrs generarlas a travs de la herramienta de creacin de formularios y aprenders a programar las instrucciones requeridas para cada uno de los eventos del formulario. Existen instrucciones (que t mismo reconocers y aplicars) que te permitirn controlar la consola o un formulario desde un programa principal. Paralelamente tambin se cuenta con instrucciones de lectura y escritura. Las de escritura se utilizan para desplegar los datos de salida en la consola o las diferentes ventanas. Manejar correctamente este tipo de instrucciones te evitar muchos problemas en el despliegue de la informacin que lo requiera. Entre los ms comunes se encuentran los comandos de Display o Display Fields, Browse o Browse Fields, ? o Print; ms las instrucciones de ejecucin de los reportes y formularios dentro de los programas o la ventana de Comandos. Debe tomarse en cuenta que cada reporte o formulario posee su propio cdigo, el cual trabajaremos posteriormente.
25

Por su parte las instrucciones de lectura permiten, como su nombre lo dice, leer la informacin que el usuario introduce al sistema. Nunca debes olvidar que es el usuario el que finalmente va a alimentar la base de datos del sistema, por lo que es tambin primordial que utilices correctamente este tipo de instrucciones. Para que puedas conocer todas las instrucciones de las que hasta aqu se te ha hablado y aprendas a utilizarlas, es importante que realices las actividades que se presentan a continuacin:
Actividades de aprendizaje Describe la sintaxis de procedimientos y funciones, e identifica los elementos de apertura y cierre. Recursos Ayuda de Visual FoxPro . Presiona F1, selecciona ndice y digita procedimientos, crear y funciones, crear definidos por el usuario. Productos Ficha de contenido sobre las instrucciones de Apertura y Cierre en Procedimientos y funciones. Tabla de las instrucciones de entrada y salida de Visual FoxPro. Ficha de contenido acerca de los formularios.

Pinter Les/Pinter John. Elabora una tabla con las instrucciones de entrada y salida de Op. cit., pp. 181,182. datos que pueden utilizarse en Visual FoxPro. Explica brevemente las principales Pinter Les/Pinter John. caractersticas y funciones de los Op. cit., pp. 208-216. formularios, incluye cul es la instruccin que permite la ejecucin del formulario. Investiga cmo se utilizan las siguientes instrucciones de escritura en Visual FoxPro y proporciona un ejemplo: - Display - Browse - ? Proporciona mediante una tabla las instrucciones de lectura ms utilizadas para formularios y ventanas, con su descripcin y un ejemplo. Resuelve los ejercicios No. 5 y 6. Ayuda de Visual FoxPro Presiona F1, selecciona ndice y digita display, Browse y?

Ficha de contenido que considere las principales instrucciones de escritura o despliegue en Visual FoxPro. Tabla sobre las principales instrucciones de lectura. Ejercicios resueltos.

Ayuda de Visual FoxPro . Presiona F1, selecciona ndice y digita This, Thisform yThisformset. Manual de Prcticas y Ejercicios.

26

4. CONTROL DEL FLUJO LGICO DEL PROGRAMA Objetivo: Aplicar las instrucciones para controlar la lgica de flujo del programa, mediante el uso de las instrucciones de condicin, repeticin, iteracin y seleccin de casos, para la captura de tablas y la construccin de programas ms complejos. A fin de completar todas las instrucciones que integran los elementos bsicos de la programacin de base de datos, no se deben pasar por alto las instrucciones de seleccin (los famosos If s que t mismo aprenders ms adelante), ya que te permiten la ejecucin de varios comandos dependiendo del resultado de una expresin lgica. Este tipo de instrucciones lo encuentras en todos los lenguajes de programacin y por supuesto Visual FoxPro no es la excepcin. Un ejemplo de su utilizacin es el siguiente: Supongamos que tienes una base de datos con los nombres, sexo, telfonos y edades de tus amigos y quisieras calcular la edad promedio de las amigas que estn registradas, no aplicaras la funcin promedio() sobre el campo edad para toda la base, porque incluiras las edades de los hombres; necesitas primero seleccionar los registros cuyo sexo sea femenino y despus aplicar la funcin. Las instrucciones que te permiten hacer este tipo de discriminacin son precisamente las de seleccin y como ves son indispensables, ya que en cualquier momento del funcionamiento del sistema se requerir de una toma de decisin. Ahora bien, tambin existen comandos que permiten la repeticin de instrucciones conforme a una condicin lgica establecida. Dicha condicin puede incluir una variable que se incremente dentro del propio ciclo. Los ciclos son estructuras repetitivas que se ejecutan mientras se cumple una condicin lgica, a diferencia de las iteraciones en donde se define previamente el nmero de veces que se repetir la estructura. Retomando el ejemplo anterior para verificar cules de los registros contienen femenino en el campo sexo, necesitas recorrer todos los registros de la base de datos hasta encontrar el final de archivo e ir seleccionando los que cumplan con la condicin. Lo que utilizaras en este caso sera un ciclo, el cual puedes implementar, mediante un scan o un while, entre otros, que por supuesto aprenders y practicars en tus actividades de aprendizaje correspondientes. En lo que toca a algunos casos en los que las alternativas de solucin a una misma interrogante pueden ser n y se necesita algo mas que un if o ifs anidados para cubrir las distintas posibilidades; stos se pueden resolver a travs de instrucciones de seleccin de casos como CASE la cual ejecuta el conjunto de comandos de la expresin condicional que se evala como verdadera (.T.). Por ejemplo, si a una pregunta se tienen 4 distintas soluciones y para cada solucin existe una accin distinta, esto se puede implementar mediante un case. En el caso de un cajero automtico la pregunta podra ser: Qu operacin desea realizar? 1) Retirar efectivo 2) Consultar su saldo 3) Cambiar nip 4) Salir
27

Donde por supuesto cada opcin implica una operacin distinta. Como ves las instrucciones de seleccin de casos pueden simplificarte mucho la programacin. A continuacin se presentan las actividades de aprendizaje que te permitirn aprender y practicar las instrucciones mencionadas.
Actividades de aprendizaje Identifica las siguientes instrucciones de control de flujo: - If - While - For - Scan A partir de stas elabora una tabla en la que incluyas su sintaxis, la descripcin de su funcionamiento y un ejemplo. Explica cules son las ventajas y Rubn Iglesias. Op. cit., desventajas entre utilizar el WHILE pp.80-82. y utilizar el FOR. Describe cmo se utiliza la Pinter Les/Pinter John. instruccin scan, incluyendo sus tres Op. cit., pp. 46, 47 y178. diferentes formas de implementacin; proporciona un ejemplo Menciona para qu se utiliza la instruccin Case, proporcionando adems su sintaxis y un ejemplo. Realiza la prctica 2. Elabora un programa que analice la fecha de entrega y recepcin de los libros que se prestan, calcula si se adeuda o no por multa y a cunto asciende, poniendo dicho monto en un campo correspondiente al adeudo. Debes cubrir los siguientes puntos: Realiza el clculo para todos los registros de la tabla en la que tienes a las personas autorizadas para prstamo de material. Documenta tu programa con los comentarios correspondientes. Para la elaboracin de tu programa puedes tomar como referencia la prctica No. 2 de tu manual de prcticas y ejercicios. Ayuda de Visual FoxPro Presiona F1, selecciona ndice y digita case. Manual de prcticas y ejercicios. Sistema Generador de Bases de Datos de Visual FoxPro y Base de Datos de Biblioteca Ficha de contenido WHILE VS FOR. Ficha de contenido sobre la instruccin SCAN. Recursos Pinter Les/Pinter John. Op. cit., pp. 173,178 y 179. Productos Tabla de instrucciones de control ms utilizadas.

Ficha de contenido acerca de la instruccin Case. Prctica resuelta. Programa que calcule adeudos por multa del prstamo en Biblioteca.

28

QU HE APRENDIDO?
Enseguida se presenta un conjunto de actividades que te permitirn evaluar el grado de aprendizaje adquirido hasta el momento. 1. Relaciona las columnas correctamente: Concepto ( ) Variables de memoria ( ) Average [] Definicin a) Permite la conversin de un dato tipo FechaHora a un dato de tipo carcter. b) Cadena de caracteres con la capacidad de almacenar un dato numrico o alfanumrico c) Permite cambiar las caractersticas de los datos de una variable d) Funcin que permite calcular el promedio de una lista de valores o conjunto de registros. e) Son variables no definidas por el usuario.

( ) TTOC() ( ) Variable

( ) Funcin de conversin 2. Resuelve las siguientes expresiones: (7+(4+3)*5*2-5)/9= _____________________ *7+4/2+(9*11-5)/2= ____________________ 10-8/2*5+5*4-10= ______________________ J and K ________________________________ J and L ________________________________ J or IL 3. Selecciona la respuesta correcta: ( ) Es una expresin relacional. a) NOTA b) A <= B

donde J,L=True y K,I=False

c) A OR B

( ) Son instrucciones de apertura y cierre en Visual FoxPro. a) FUNCTION...ENDFUNC b) Inicio...Fin c)Begin...End

( ) Permite la lectura de un dato introducido por el usuario en una ventana. a) ? costo b) costo = this.value c) display costo

29

Despliega directamente en la ventana activa el valor de una variable a) BROWSE fields b) ? dato c) DISPLAY fields

4. Identifica el nombre del comando de acuerdo a la descripcin brindada: a) Recorre automticamente toda una tabla y permite filtrar la bsqueda mediante For o While. b) Permite la realizacin del ciclo marcando por s misma el nmero de iteraciones a realizar. c) Brinda N+1 conjunto de instrucciones para N+1 opciones distintas planteadas. d) Establece las acciones a seguir en caso de cumplirse o no una condicionante. e) Es recomendable la instruccin de este comando para la realizacin de ciclos en los que no intervengan muchos registros. 5. Elabora un programa que verifique cuntas personas tienen adeudo de material. Documntalo mediante los comentarios en el programa. Utiliza alguna de las instrucciones de control de flujo.

30

QUIERO SABER MS
Para que puedas reconocer que todo lo que se ha manejado hasta aqu son los principios bsicos de la programacin estructurada, te invitamos a revisar el Captulo 2 del libro Programacin en Pascal de Arthur M. Keller, pp. 9-29. Crea tus propios formularios a travs de los asistentes de Visual FoxPro, esto te proporcionar nuevas ideas sobre la programacin orientada a eventos, adems de que te permitir familiarizarte con la entrada y salida de informacin a travs de stos. Para poder trabajar con dichos asistentes te recomendamos revisar la unidad IV de tu gua de Bases de Datos I.

31

QU VOY A APRENDER?

UNIDAD III
MANEJO DE REGISTROS
Objetivo de la Unidad:
Instrumentar las operaciones fundamentales sobre los registros de la base de datos, mediante la aplicacin de las instrucciones para consultar, dar de alta, de baja y modificar el contenido de los mismos, con el fin de incorporar estas capacidades a los programas y satisfacer las especificaciones de diseo.

En base de datos, el lugar donde se guarda la informacin correspondiente a una entidad se conoce como registro; la presente unidad pretende abarcar los temas correspondientes al manejo en general de estas entidades fundamentales. Como sabes un registro puede agregarse a una base de datos, modificarse e incluso borrarse; pero no slo eso, se pueden buscar registros dentro de una base de datos atendiendo a un filtro determinado o basndose en los ndices correspondientes, tambin pueden realizarse operaciones sobre algunos campos de registros. Todo esto ya lo has realizado a travs de los asistentes, ahora se trata de que puedas hacerlo a travs de programas elaborados por ti. Por eso la presente unidad est especialmente dedicada a introducir los conceptos e instrucciones que te permitirn, a travs de la programacin, manejar los registros tal y como sabes que se pueden utilizar. A continuacin se presenta un esquema con los temas a tratar a lo largo de la unidad.
Registros
Se pueden realizar con

Consultas
A travs de Despliegue y bsqueda ndices y filtros

Bajas
Mediante Eliminacin

Altas
A travs de Insercin

Cambios
Mediante Modificacin

Funciones

No olvides que todos los temas y habilidades correspondientes a esta unidad sern desarrollados a travs de la gua de estudio y tu manual de prcticas y ejercicios.

32

CMO APRENDO?
1. COMANDOS PARA LA CONSULTA DE INFORMACIN Objetivo: Instrumentar la consulta de informacin, mediante la aplicacin de las instrucciones para encontrar, indizar y filtrar registros, as como para desplegar registros y campos seleccionados, con el fin de utilizar estas capacidades en el desarrollo de programas. El despliegue de informacin del contenido de una tabla no es muy diferente a los tipos de despliegue que has visto hasta el momento. De hecho los nicos que cambian son los argumentos con los que se combinan las instrucciones vistas, sin embargo, tambin stos ya han sido considerados en las actividades de aprendizaje que has realizado. No obstante existe una instruccin que no hemos visto por ser muy especfica de tablas, dicha instruccin es List que despliega los datos de una tabla en una rea de trabajo actual, pero en forma de listado, es decir, a lo largo de la ventana y de forma continua. Para la correcta utilizacin de esta instruccin se requiere de la combinacin de esta con otras instrucciones que conocers y que van a ser de mucha utilidad para el despliegue de resultados en el momento de la programacin. En otro orden e ideas, en ocasiones necesitamos localizar informacin especfica en registros o campos, ya sea para su despliegue o para realizar operaciones sobre los mismos. En estos casos se habla de bsqueda de informacin, para lo cual se cuenta con instrucciones que permiten esta bsqueda de acuerdo a un criterio establecido. Una de las ms comunes es Locate, ya que puede utilizarse sin necesidad de indexar la tabla; sin embargo, hay otros tan poderosos como ste y lo importante no es saber que existen sino saber cmo utilizarlos y entender las ventajas que cada instruccin ofrece. Tambin existen funciones ya creadas en Visual FoxPro que puedes utilizar como herramientas importantes en tus procesos de bsqueda. Hay que mencionar que los procesos de bsqueda pueden valerse tambin de los ndices de la base de datos an cuando estos ltimos cobran importancia por s mismos, ya que los ndices son archivos que se utilizan para determinar el orden de los registros de una tabla dependiendo de un requerimiento establecido. Es importante que sepas cmo se establecen, su utilidad y cmo se clasifican para que puedas hacer un uso correcto de ellos. Muchas veces el correcto establecimiento de un ndice permite salvar la integridad de una tabla. A fin de complementar debemos decir que existe una herramienta muy importante la cual permite clasificar y discriminar la informacin contenida en la base de datos, dicha herramienta se encuentra en los filtros que muchas veces se apoyan en los ndices establecidos y se utilizan cuando se desea visualizar informacin con ciertas caractersticas. Por lo tanto, se dice que los filtros se implementan en conjunto con las instrucciones de bsqueda e indexacin. Es necesario que aprendas y apliques todas las instrucciones y funciones que te permiten realizar las bsquedas, indexaciones, filtraciones y despliegues de la informacin que requieras; todo lo cual logrars mediante la resolucin de las actividades de aprendizaje que a continuacin se presentan.

33

Actividades de aprendizaje Explica en qu ocasiones es adecuado utilizar las siguientes instrucciones y cmo se utilizan: - List - Set Escape

Recursos Pinter Les/Pinter John. Op. cit., pp. 40 y 41.

Productos Ficha de contenido que considere otras instrucciones de despliegue. Ficha de contenido sobre las instrucciones Locate y Seek. Ficha de contenido acerca de las funciones Seek y Found. Ficha de contenido sobre los ndices.

Pinter Les/Pinter John. Describe cmo se utilizan y funcionan las instrucciones Locate y Op. cit., pp. 180 y 181. Seek . Define para qu sirven las funciones Rubn Iglesias. Op. cit., p. Seek () y Found() y explica cul es la 30. diferencia de la primera con la instruccin Seek. Pinter Les/Pinter John. Menciona cmo funcionan los Op. cit., pp. 47-50. ndices en las bases de datos, qu diferencia hay entre los archivos idx y cdx , y cmo se pueden crear y usar ndices. Pinter Les/Pinter John. Explique cmo funciona la Op. cit., pp. 45, 382 y383. instruccin Set Filter y por qu es importante la filtracin en el anlisis del contenido de una tabla. Proporciona tambin algunos ejemplos de expresiones de filtro. Realiza el ejercicio No. 7. Manual de prcticas y ejercicios.

Ficha de contenido acerca de los filtros.

Ejercicio resuelto.

2. ALTAS BAJAS Y CAMBIOS Objetivo: Dar de alta, modificar y eliminar registros, mediante la aplicacin de instrucciones para agregar, eliminar y modificar, con el fin de permitir la actualizacin por programa de bases de datos. Una base de datos normalmente va cambiando de tamao de acuerdo a las necesidades del usuario. En ocasiones se agregarn nuevos registros, por ejemplo: para el caso de nuestra situacin de aprendizaje se puede requerir agregar ms pacientes a la tabla correspondiente; este proceso de alta de registros se conoce tambin como insercin de registros. Las instrucciones que te permiten introducir dichos registros son Append blank e Insert que ya estudiars ms a detalle. Otras veces lo que se requiere es quitar registros completos, retomando el ejemplo, podran quitarse pacientes que tienen ms de tres aos de no hacerse un tratamiento; en este caso se procede a la eliminacin de registros. Dentro de Visual FoxPro y otros sistemas generadores de bases de datos se definen dos tipos de eliminacin llamadas lgica y fsica.
34

En la eliminacin lgica se marca el registro que se desea eliminar y en la eliminacin fsica se aplica una instruccin a la tabla, despus de la cual no es posible recuperar los registros eliminados. Sin embargo, se puede desmarcar un registro elegido mediante la eliminacin lgica. Sers t el responsable de identificar dichas instrucciones de eliminacin de registros y aprender a utilizarlas. Existen tambin los casos en que se desea modificar slo algunas partes de un(os) registro(s) ya integrados a la base de datos. Siguiendo con el ejemplo, podra modificarse el peso de un paciente, para hacer los clculos correctos de anestesia, o quizs otras observaciones como cuando a alguien le han diagnosticado recientemente diabetes, en general, datos importantes que se deben considerar. Tambin podran aumentarse en un 10% el precio de los tratamientos y se realizara una modificacin general. Para estos casos se cuenta con instrucciones que permiten la modificacin del contenido de los registros. Tales como replace y update, que tambin estudiars e implementars. Enseguida se presentan las actividades de aprendizaje que te permitirn cubrir los puntos que se han mencionado.
Actividades de aprendizaje Recursos Productos Rubn Iglesias. Op. cit., pp. Ficha de contenido Describe el funcionamiento y la sobre append Blank e sintaxis de las instrucciones Append 11, 65 y 66. e . Insert. Blank Insert Explica brevemente el funcionamiento de las instrucciones Delete, Recall y Pack . Pinter Les/Pinter John. Op. cit., pp. 39, 388 Ficha de contenido acerca de delete, Recall y Pack .

Ayuda de Visual FoxPro Ficha de contenido Define el funcionamiento de las Presiona F1, elige ndice y sobre Replace o instrucciones Replace y Update, digita: proporcionando su sintaxis y Update. - Replace estableciendo adems la diferencia en el uso de una u otra. - Update, update sql Resuelve los ejercicios 8, 9 y 10. Genera un programa en Visual FoxPro que inserte un nuevo registro en blanco a la tabla que contiene a las personas que puede prestarse el material de biblioteca. Elabora un programa que elimine el registro creado en el programa Insercin de registros de biblioteca. Manual de prcticas y ejercicios. Sistema Generador de Bases de Datos de Visual FoxPro. Ejercicios resueltos. Programa Insercin de registros en blanco de biblioteca.

Sistema Generador de Bases de Datos de Visual FoxPro.

Programa Eliminacin de registros de biblioteca.

35

3. FUNCIONES DE REGISTROS Objetivo: Manipular registros, mediante la utilizacin de los comandos y funciones propias de ellos, con el fin de obtener campos o registros nuevos. El manejo de registros y sus campos muchas veces implica que se realicen operaciones sobre los mismos, para lo cual existen funciones e instrucciones que nos permiten hacerlo de forma inmediata y sin necesidad de que el programador genere ms cdigo. Este tipo de funciones se conocen como de registro. Para ilustrar en qu ocasiones se pueden aplicar, retomaremos nuestra situacin de aprendizaje. Si queremos saber cuntos pacientes son menores de 18 podemos utilizar la funcin count() acompaada de la condicionante de la edad<18. La funcin nos libera de introducir contadores o cdigo adicional cada que se cumple la condicin. Como sta existen otras funciones que son de gran ayuda para la implementacin y simplificacin del cdigo. Resuelve las siguientes actividades de aprendizaje que te permitirn conocer las principales instrucciones y funciones para el manejo de registros.
Actividades de aprendizaje Describe el funcionamiento del comando Calculate, estableciendo su relacin con las funciones de registros. Prepara una tabla con algunas de las funciones de registros que pueden utilizarse en combinacin con la instruccin Calculate. Resuelve la prctica No. 3. Realiza un programa que permita insertar un nuevo libro (registro) en la tabla correspondiente, puedes utilizar los siguientes datos: Fundamentos y modelos de Bases de Datos. Adoracin de Miguel/Mario Piattini. 2 Edicin Alfaomega Grupo Editor S.A. Colocacin: C172 Recursos Rubn Iglesias. Op. cit., p. 32. Productos Resumen acerca de la funcin Calculate.

Rubn Iglesias.Op. cit., p. 32.

Tabla de funciones de registros.

Manual de prcticas y ejercicios. Sistema Generador de Bases de Datos de Visual FoxPro

Prctica resuelta Programa Insercin de registro con informacin de biblioteca.

Elabora un programa que establezca Sistema Generador de a cunto asciende el adeudo mayor Bases de Datos de Visual por multa en la tabla de las personas FoxPro. autorizadas al uso del material. 36

Programa Mayor adeudo de biblioteca.

QU HE APRENDIDO?
Las siguientes actividades te permitirn evaluar el grado de aprendizaje adquirido hasta el momento. 1. Indica si las siguientes expresiones son verdaderas o falsas. ( ) La visualizacin del contenido de la base de datos parcial o total se conoce como despliegue de informacin. ( ) La instruccin LIST es la nica que se utiliza para desplegar informacin en la consola. ( ) El comando Browse despliega los datos en ventana. ( ) La bsqueda de informacin se lleva a cabo nicamente por comandos de men. ( ) Seek permite la bsqueda de registros en tablas indexadas. ( ) La funcin FOUND() permite encontrar registros en una tabla. 2. Explica la diferencia entre un archivo IDX y un archivo CDX. 3. Para qu se utilizan los filtros en Visual FoxPro? 4. Proporciona tres ejemplos de expresiones filtro. 5. Relaciona las columnas correctamente: Concepto ( ( ( ( ( ) Append Blank ) Updatee ) Recall ) Insert ) Pack Definicin a) Desmarca los registros seleccionados para liminacin. b) Inserta datos en una tabla. c) Actualiza los datos de un registro. d) Eliminacin fsica de los registros. e) Inserta un registro en blanco.

6. Proporciona la tabla final despus de haber aplicado las siguientes instrucciones.


Cveaplicacion A001 A002 A003 A004 A005 Rfc JULO560212 MAFC690328 JULO560212 MOHL950812 MOHL950812 Clavetrat T002 T001 T003 T001 T001 Fecha 23/12/99 3/05/00 30/01/00 12/11/99 16/02/00

INSERT INTO aplicacion (cveaplicacion,rfc,cvetrat,fecha) ; VALUES (A006, LOPA651212, T002,06/01/00) UPDATE aplicacion SET clavetrat= T004; where cveaplicacion=A005 Delete for clavetrat = T002 Recall All
37

Delete for clavetrat = T001 Pack


Cveaplicacion Rfc Clavetrat Fecha

7. Selecciona la respuesta correcta: ( ) Proporciona el nmero de registros de una tabla que cumpla con la condicin lgica sexo = F. b)calculate count(sexo)=F c)count for sexo=F to cuenta

a) count()

( ) Detecta el nmero mayor del campo edad de la tabla Pacientes. a) count() b) calculate max(edad) c) max (edad)

( ) Calcula el valor total del campo costo de la tabla Tratamientos. a) sum (costo) b) sum() c) calculate sum(costo)

( ) Arroja el promedio de edades de la tabla Pacientes. a) CALCULATE AVG(edad) b) CALCULATE AVERAGE(edad) c) AVERAGE()

8. Realiza un programa que agregue un nuevo registro con informacin en todos sus campos a la tabla del personal autorizado para el prstamo de libros de tu Centro de Servicios.

38

QUIERO SABER MS
Algunas de las instrucciones que se utilizan en los manejadores de bases de datos incluyendo Visual FoxPro vienen del lenguaje SQL. Investiga qu instrucciones de SQL pueden ser aplicadas a Visual FoxPro, para esto puedes entrar a la ayuda de Visual FoxPro, seleccionar ndice y digitar SQL, introduccin a comandos; tambin, una vez seleccionado el folder ndice puedes verificar las funciones que inician con SQL (por ejemplo SQLCOMMIT() ). SQL es tan poderoso que se utiliza en variados sistemas generadores de bases de datos. Otros aspectos interesantes a repasar, ya que SQL es tan relevante, son:
De dnde surge SQL? Cmo ha evolucionado?

Para lo cual te sugerimos retomes el libro Fundamentos y modelos de bases de datos de Miguel Castao y Piattini Velthuis, en las pginas 215 a 218. A lo largo del texto se hace referencia a las ventajas de la tecnologa Rushmore, te invitamos a que entiendas de qu se trata, consultando uno de los libros de apoyo del curso: Iglesias, Rubn. Visual FoxPro 5.0 Fundamentos y Tcnicas de Programacin, pp. 73 y 74. Para investigar ms a fondo este tema accesa a la siguiente direccin de Internet http:// www.facea.uchile.cl/intranet/uca/soporte/academia/ddocencia/c_labbe/foxpro/fp_indic.htm en la secciones de Manejo de una tabla y Operaciones en una tabla.

39

QU VOY A APRENDER?

MANEJO DE INFORMACIN POR PANTALLA


Objetivo de la Unidad:
Disear y construir interfaces de pantalla amigables para los programas de bases de datos, mediante la aplicacin de las instrucciones para el diseo de presentaciones y pantallas, as como para la captura y validacin de los datos introducidos por el usuario, con el fin de coadyuvar a mantener la integridad de la base de datos, desarrollar aplicaciones susceptibles de ser utilizadas por usuarios no expertos y mejorar el aspecto de las mismas.

UNIDAD IV

Para cualquier sistema se requiere de una interfaz que permita al usuario trabajar de forma sencilla y agradable en el mismo. Por lo tanto, la creacin de dichas interfaces ocupan una parte importante del diseo y del tiempo que se emplea en la implementacin. Una buena interface es la conclusin de todas las estructuras de manejo desarrolladas en la base de datos. En los sistemas generadores de bases de datos se proporcionan las herramientas que permiten la elaboracin de dichas interfaces, tambin conocidas como formularios. Las herramientas son bsicamente los asistentes para la creacin de formularios (que ya has trabajado en la asignatura anterior) y el generador de formularios que nos permitir disearlos, pero que proporciona un mayor control al programador sobre los datos que lo conforman. A travs de esta unidad aprenders a manipular la base de datos mediante los formularios, proporcionando una interaccin real al usuario final. Trabajars con las propiedades de los campos, y te valdrs de los eventos propios de los controles del formulario, creando, a travs del cdigo de Visual FoxPro, nuevos mtodos cuando sea necesario. Finalmente, bajo la misma lgica de desarrollo realizars ventanas de ayuda que por supuesto no pueden faltar en cualquier interface, ya que son el medio por el cual el usuario se introduce al manejo del sistema. Los temas a cubrir en esta unidad son lo siguientes:
Pantallas
Existen de

Despliegue
Mediante

Control de captura
Mediante

Ayuda

Ttulos, etiquetas y campos

Control de cursor

Formato

Control x propiedades

Control x x Control props.des lim. de rango

40

CMO APRENDO?
1. DISEO Y DESPLIEGUE DE PANTALLAS Objetivo: Disear y programar pantallas de captura de datos, mediante el conocimiento y aplicacin de las instrucciones o procedimientos para incorporar ttulos y etiquetas, controlar el cursor y dar formato a las mismas, para facilitar las operaciones sobre la base de datos. La generacin de pantallas no tiene que convertirse en un proceso complicado, de hecho en la asignatura de Base de Datos I cubriste este tema a travs del asistente de generacin de formularios. El problema con el que te puedes enfrentar cuando se realizan las pantallas por este medio, es que ests sujeto a los parmetros de diseo del asistente, adems de que si en algn momento la pantalla no funciona como esperabas, es ms complicado resolver los problemas ya que muchas veces los mtodos implementados no son transparentes al usuario. Por esto, si quieres tener un control absoluto sobre la pantalla que diseas el mejor mtodo es realizarla a travs del generador de formularios, el cual te permite un contacto directo con los datos y con los controles propios del formulario. Dentro de los aspectos a cubrir en este tema estn; el correcto uso de los controles de formulario, tales como: etiquetas, ttulos y campos, que son los que finalmente te proporcionan el control sobre la informacin de la base de datos. Otro aspecto es el control del movimiento cursor dentro del formulario, el cual se realiza mediante la definicin del orden de los tabuladores de los distintos controles del formulario. Por otro lado, todo lo referente a formato lo podrs manejar a partir de las propiedades de los controles correspondientes. Existen formas para simplificar el manejo de la informacin contenida en la base de datos, una de ellas es la vista que estudiars y que ser uno de los ejes para la implementacin de la pantalla principal de nuestro sistema. La realizacin de las siguientes actividades de aprendizaje te permitir alcanzar el objetivo inicialmente planteado.
Actividades de aprendizaje Recursos Pinter Les/Pinter John. Explica la importancia de las propiedades para los objetos que Op. cit., pp. 211 y 212. integran el formulario y para el formulario. Productos Ficha de contenido sobre la Importancia de las propiedades en los objetos del formulario.

Elabora una tabla con las Pinter Les/Pinter John. Tabla acerca de las propiedades ms propiedades ms utilizadas de los Op. cit., pp. 252-257. utilizadas en objetos objetos del formulario y su de formulario. funcionamiento. Realiza una comparacin entre Rubn Iglesias. Op. cit., pp. Ficha de contenido sobre las vistas vs consultas y vistas, estableciendo sus 42-49. consultas. similitudes en diseo y sus diferencias en funcionamiento.

41

Actividades de aprendizaje Realiza el ejercicio 11.

Recursos Manual de ejercicios y prcticas

Productos Ejercicio resuelto. Ficha de contenido sobre: etiqueta, cuadro de texto, cuadro de edicin, cuadro combinado y cuadro de lista

Establece las diferencias y similitudes Pinter Les/Pinter John. entre: etiqueta, cuadro de texto, cuadro Op. cit. , pp. 221 y 225. de edicin, cuadro combinado y cuadro de lista, adems de su relacin con los campos de la base de datos. Describe brevemente el proceso para establecer las paradas de tabulador dentro del formulario. Elabora un cuadro sinptico con los elementos que te permiten dar formato al formulario, tomando en cuenta la herramienta de Visual FoxPro y las propiedades de los objetos del formulario.

Pinter Les/Pinter John. Descripcin del proceso de paradas de Op. cit. , pp. 237 y 238. tabulacin. Pinter Les/Pinter John. Cuadro sinptico que Op. cit., pp. 229,233,234, considere el formato al formulario y sus 253 y 254. objetos.

Crea un vista que relacione la tabla del Sistema Generador de personal autorizado a prstamo de Bases de Datos de material y la tabla de libros que Visual FoxPro manejas en tu sistema de Biblioteca. Puedes tomar los campos ms importantes del personal y agregar dos o tres (los que requieras) campos para identificar qu libros tiene en prstamo. Cuida de establecer correctamente las relaciones. Puedes tomar como referencia el ejercicio No. 11 de tu manual de prcticas y ejercicios.

Vista de Biblioteca.

2. CONTROL DE LA CAPTURA DE INFORMACIN POR PANTALLA Objetivo: Incorporar a las pantallas de captura mecanismos de control de la informacin, mediante el conocimiento y aplicacin de las instrucciones para restringir el tipo, tamao y dominio de los datos, para coadyuvar a mantener la integridad de la base de datos. Una vez que hemos creado el diseo de la pantalla, a travs del formulario se deben definir los procedimientos que deseamos ejecuten cada uno de los controles que se establecen, para lo cual aprenderemos a trabajar con los eventos correspondientes, creando en stos mtodos bajo la lgica de programacin estructurada y utilizando las instrucciones apropiadas para el manejo del formulario. Por ejemplo, podrs especificar qu va a hacer un botn del formulario cuando des un clic sobre l, y podrs modificar su accin de acuerdo a lo que realmente requieras. Esto te permite la libertad de establecer y controlar todas las acciones que consideres necesarias sin apegarte a un esquema establecido.
42

La codificacin no es el nico medio de control en los formularios, tambin la correcta definicin del dominio permite la regulacin de funcionamiento del mismo. Las siguiente actividades te permitirn conocer y aplicar las instrucciones que requieres para la creacin de mtodos en eventos, estableciendo a travs de stas y el dominio de la base de datos el control que se requiere.
Actividades de aprendizaje Genera un cuadro sinptico con las propiedades de control de los campos del formulario con su descripcin, tales como: ControlSource, Enabled, Name, TabIndex, Value, Visible, RowSource, RowSourceType y Style, explica por qu se denominan propiedades de control. Recursos Rubn Iglesias. Op. cit. , pp. 191,193-195,219 y 220. Ayuda de Visual FoxPro Selecciona Propiedades, elige Style y presiona F1. Productos Cuadro sinptico acerca de las propiedades de control.

Explica qu son los mtodos (eventos) Rubn Iglesias. Op. cit. , y describe cules son los ms comunes pp. 166-169,196-203. para el formulario y sus controles. Pinter Les/Pinter John. Describe para qu se utilizan las Op. cit. , P.p. 249-259 propiedades de formulario: - Release - Hide - Load Estableciendo adems sus diferencias. Realiza los ejercicios No. 12 y 13. Elabora un resumen del concepto Dominios y establece qu elementos de las tablas utilizadas (Aplicacin, Tratamientos y Pacientes) forman parte de los dominios de la base de datos Consultorio. Resuelve la prctica No. 4. Manual de ejercicios y prcticas.

Ficha de contenido sobre mtodos. Ficha de contenido acerca de las propiedades Hide y Release y Load.

Ejercicios resueltos.

Piattini Mario. Op. cit., Resumen acerca de dominio. pp. 129-131.

Manual de Ejercicios y Prcticas.

Prctica resuelta. Formulario de Biblioteca.

Utilizando la vista que creaste para tu Sistema Generador de Bases de Datos de Visual aplicacin de Biblioteca, genera un FoxPro. formulario para el manejo de la informacin. El formulario debe permitirte el movimiento entre los registros existentes, adems de agregar o eliminar registros. Puedes utilizar la tcnica de arrastre planteada en el ejercicio 12 y tomar la prctica 4 como gua para la elaboracin de tu formulario. 43

3. DISEO DE PANTALLAS DE AYUDA Objetivo: Disear pantallas de ayuda y analizar estticamente una pantalla, mediante el conocimiento y aplicacin de las instrucciones especficas y la aplicacin de reglas generales de composicin grfica, para facilitar el uso de la aplicacin y mejorar su aspecto. Una vez que se ha diseado la pantalla principal debes proporcionar al usuario la informacin necesaria para poder utilizar cada uno de los controles de la misma, esto lo logras mediante la creacin de pantallas de ayuda que no son otra cosa que ventanas de despliegue de informacin que contienen la explicacin de cada uno de los controles del formulario. Pero que son indispensables en cualquier aplicacin. Este es un tema breve pero muy importante que logrars comprender a travs de las siguientes actividades de aprendizaje.
Actividades de aprendizaje Describe las siguientes instrucciones en un cuadro sinptico. - Set - Set Path to - Set Help to - SetAll - Help Id - HelpContextId - WhatThisButton - WhatThisHelp - WhatThisHelpId Define tambin de qu forma puedes utilizar las instrucciones anteriores en la ejecucin de la ayuda de tu aplicacin Realiza la prctica No. 5. Explica la diferencia entre Tablas dependientes y Tablas libres. Resuelve la prctica No. 6. Manual de Prcticas y Ejercicios. Rubn Iglesias. Op. cit., pp. 7 y 8. Manual de Ejercicios y Prcticas. Prctica resuelta. Ficha de contenido acerca de las tablas dependientes y libres. Prctica resuelta. Mdulo de Ayuda de Biblioteca integrado a formulario de Biblioteca. Recursos Ayuda de Visual FoxPro Presiona F1, selecciona el botn de ndice y escribe las instrucciones a definir. Productos Cuadro sinptico con las instrucciones.

Crea el mdulo de ayuda para tu Sistema Generador de sistema de Biblioteca e intgralo a tu Bases de Datos de Visual formulario. Puedes tomar como base FoxPro. lo realizado en las prcticas 5 y 6 de tu manual de prcticas y ejercicios. 44

QU HE APRENDIDO?
A continuacin encontrars unas actividades de evaluacin para esta unidad que te permitirn valorar tus avances hasta el momento. 1. Identifica el nombre del proceso de anlisis que se est describiendo. a) Es la pantalla que permite visualizar e insertar datos. b) Slo permiten la introduccin de texto. c) Es la propiedad que permite ligar un dato de una tabla con la caja de texto. d) Es el evento que permite ejecutar instrucciones al momento de cargar una forma. e) Contiene los datos de una tabla o ms y permite actualizar los datos de las tablas sin necesidad de ejecutarla nuevamente. 2. Responde brevemente lo siguiente: a) Explica qu significa dominio en la base de datos. b) Define las diferencias principales entre eventos y propiedades. 3. Relaciona correctamente las siguientes columnas: Control ( ) ( ) ( ) ( ) ( ) Definicin a) Permite varias lneas de texto y se utiliza para los campos memo. b) Se utiliza para ejecutar instrucciones y su evento principal es click. c) Posibilita la visualizacin del contenido de un campo. d) Despliega los elementos en forma de lista, como: valores, matrices o campos. e) Funciona para introducir texto como etiqueta.

4. Selecciona la respuesta correcta: ( ) Activa la ayuda del programador en el formulario y desactiva la del usuario. a) Set b) Set path to c) Set help to

( ) Permiten cambiar las caractersticas de los controles de un formulario. a)Mtodos b) Propiedades


45

c) Eventos

( ) Se utilizan para crear la ayuda de una aplicacin. a) Vista b) Tablas dependientes c) Tablas libres

( ) Establece ayuda interactiva a los controles de un formulario. a) HelpContextID b) SET c) WhatThisHelp

( ) Es la propiedad que establece el orden de tabulacin en los controles de un formulario. a) Tab b) TabIndex c) Orden de tabulacin

5. Presenta a tu asesor el formulario de biblioteca que generaste en esta unidad, incluyendo las pantallas de ayuda correspondientes. Describe adems el proceso de creacin en tu sistema de Biblioteca incluyendo los siguientes aspectos: Vistas Formulario Pantallas de Ayuda Integracin de ayuda al formulario

46

QUIERO SABER MS
Es importante la profundizacin del tema de formularios en Visual FoxPro para lo cual te sugerimos consultes el documento proporcionado en Internet en la direccin http:// www.guegue.com.ni/free/emmysoft/vfp.html en el archivo formularios.zip. A lo largo de la unidad tambin se desarroll la implementacin de la ayuda dentro de un formulario. Sin embargo, esta ayuda se cre nicamente para explicar el funcionamiento de un formulario, pero la ayuda puede utilizarse tambin para auxiliar al usuario o al programador sobre otros aspectos de la programacin. El siguiente texto te permite identificar los tres tipos de ayuda que se pueden implementar. Identifcalos e investiga como implementar en tu formulario los tipo de ayuda a los que se hace mencin.
LOS TIPOS DE AYUDA QUE PUEDES USAR Tu puedes crear tres tipos de Ayuda para tus aplicaciones y hacer as ms amigable tu presentacin La ayuda sensible al contexto se utiliza para describir los elementos que conforman la interface de tu aplicacin. Se puede crear ayuda sensible al contexto para cajas de dilogo creadas por formularios elaborados por el usuario o para formatos de acceso a la aplicacin. Este tipo de ayuda se puede desplegar a) dando click en el signo de interrogacin propio de la barra de ttulo y dando click posteriormente sobre el control del que se desea la ayuda o tambin b) posicionando el cursor sobre el control y presionando SHIFT-F1; en este ltimo caso un signo de interrogacin flotante aparece sobre el control que se seleccion. Se puede crear este tipo de ayuda para barras de herramientas. La ayuda sensible al contexto para estas barras se accesa presionando SHIFT-F1 y dando click en el control correspondiente o seleccionando Qu es esto? en el men de ayuda antes de presionar el control sobre el que se desea consultar. Los temas de ayuda estndares pueden tambin ser retomados del buscador de objetos para as documentar las propiedades y mtodos que se definen en los distintos mdulos elaborados. Finalmente los temas de ayuda estndares pueden ser desplegados mediante la seleccin del botn de ayuda en la caja de dilogo o en un control de la barra de herramientas.

Cuando se da click en un botn de ayuda en una caja de dilogo o ventana de despliegue, la ayuda se presenta en una ventana separada. Se puede tambin asociar el tema de ayuda a un botn de una caja de dilogo crendolo a travs de las funciones InputBox y MsgBox, adems de que se puede proporcionar temas de ayuda sobre los errores resultantes de la utilizacin de los mtodos Raise. De forma similar se puede incluir un men o un botn en la barra de herramientas para desplegar un tema de ayuda.

47

QU VOY A APRENDER?

UNIDAD V
PROCEDIMIENTOS
Objetivo de la Unidad:
Incorporar procedimientos (sub-rutinas u objetos) a los programas, mediante el conocimiento y aplicacin de sus componentes, estructura y forma de relacin con el programa principal, con el fin de minimizar el volumen de cdigo necesario y facilitar la comprensin y mantenimiento del mismo.

En los tiempos donde slo se ocupaban interfaces textuales difciles de comprender y manejar, con una pobre presentacin, despliegue y edicin de datos a veces incomprensibles y pantallas austeras, se necesitaban crear lneas y lneas de instrucciones que a veces para el programador representaban una prdida de tiempo y se terminaba con un programa pesado en cdigo, diseando la pantalla de interfaz de usuario hasta la impresin de un reporte. Es por eso que en la actualidad los sistemas son pensados para los usuarios, en el manejo de la interfaz, y para los desarrolladores, en mtodos menos complicados de programar. No viene de ms convenir que los manejadores de bases de datos contienen todas las herramientas necesarias para que nuestro sistema final cumpla con perspectivas que en tiempos anteriores eran imposibles de cumplir, tales como: la presentacin de un producto impecable, robustez y soporte del sistema a niveles local y global (redes), y amigabilidad cumpliendo con los estndares establecidos. En Visual FoxPro slo es necesario crear procesos que manejen los datos dentro de una consulta o vista, e instrucciones que ejecuten un formulario o reporte por medio de controles. Es muy importante recalcar que gracias a la programacin de procedimientos y funciones dentro de este sistema generador de bases de datos, es posible crear verdaderas pantallas de interface de usuario y menos dolores de cabeza para los programadores. Aunque el lenguaje de Visual FoxPro se basa en la programacin de eventos, no son menos importantes los procedimientos y funciones, ya que pueden ejecutarse desde cualquier evento de un control que contenga un formulario, reporte, men o funcin. Asimismo, con los conceptos separados de la implementacin de procedimientos o funciones y la programacin de eventos, podramos hablar de una programacin estructurada en trminos de facilidad de unin y ejecucin de cdigo en la creacin de sistemas. Tambin es muy importante comprender el uso de variables entre procedimientos y funciones, cmo se transfieren, si por valor o por parmetro (conceptos que entendidos pueden ser herramientas muy poderosas), y que garanticen la funcionalidad y facilidad de uso de un sistema.
48

Complementars tu aprendizaje con reglas de programacin muy importantes, que te ayudarn a ti y a otros a comprender con facilidad la lgica de un sistema, siendo estas reglas las que establecen conceptos de estandarizacin, documentacin y robustez del sistema. El siguiente esquema muestra los temas a cubrir en esta unidad.
Procedimientos Basndose en

Estructura Utilizan
Variables locales y globales

Integracin A travs de

Ejecucin o llamada

Estandarizacin

Documentacin

Pruebas

Mediante su
Transfencia

Como ves todo va enfocado hacia procedimientos, por lo que deseamos que con el desarrollo de la teora y la prctica propuestas llegues a manejarlos eficientemente.

49

CMO APRENDO?
1. CONCEPTO Y ESTRUCTURA GENERAL DE UN PROCEDIMIENTO Objetivo: Comprender el concepto, la utilidad y estructura de los procedimientos (sub-rutinas o clases de objetos) a partir de la revisin de su aplicabilidad y componentes, para simplificar la estructura y reducir el volumen de cdigo y trabajo necesarios para instrumentar una aplicacin. Crear procedimientos y funciones es la forma ms fcil de hacer que una pantalla funcione correctamente segn sus requerimientos. Sin la programacin de cdigo, el manejo de informacin se vuelve un caos. Es importante utilizar conceptos de programacin, ya que con ello te dars cuenta de la utilidad de los procedimientos y las funciones dentro de una pantalla de edicin de datos y sabrs que no slo es necesario usar la programacin de eventos. Es importante que entiendas que la programacin de eventos y los procedimientos o funciones no estn peleados, podramos decir que son los complementos perfectos para crear interfaces maestras confiables y robustas. Conocers estructuras de procedimientos y funciones, a travs de sus diferencias principales de programacin. Para el procedimiento, sus instrucciones iniciales, el cuerpo principal e instrucciones finales lo complementarn, tal que contenga la capacidad de ejecutarse de cualquier elemento con instrucciones de llamada, todo en Visual FoxPro. A continuacin te introducirs al mundo de los procedimientos desarrollando las actividades de aprendizaje de este captulo.
Actividades de aprendizaje Define qu es un procedimiento y para qu se utiliza. Especfica su estructura e identifica las instrucciones de: Encabezado, Declaraciones, Cuerpo principal y Fin. Define qu es una funcin y establece sus diferencias con un procedimiento. Especifica su estructura. Recursos Ayuda de Visual FoxPro Presiona F1, selecciona el botn ndice y escribe: - procedimiento, definicin - procedimientos, crear Productos Ficha de contenido sobre los procedimientos.

Ficha de contenido Ayuda de Visual FoxPro Presiona F1, selecciona el acerca de las funciones. botn ndice y escribe: - funcin definida por el usuario, definicin. - Funcin

50

2. EJECUCIN O LLAMADA DE PROCEDIMIENTOS Y FUNCIONES Objetivo: Aplicar las formas de llamada o ejecucin de procedimientos, mediante el estudio de la sintaxis de las instrucciones respectivas, para incorporarlas a los programas de aplicacin. En el lenguaje de Visual FoxPro existen instrucciones que nos permiten realizar llamadas de procedimientos o funciones. stas se realizan desde un control del formulario en el caso de los programas; las llamadas para funciones pueden ser realizadas desde un reporte, el evento correspondiente en el control del formulario, etiquetas y consultas. Realizando las siguientes actividades de aprendizaje aprenders la aplicacin y sintaxis de las instrucciones para la llamada o ejecucin de los procedimientos y funciones dentro de un sistema.
Actividades de aprendizaje Recursos Productos Ficha de contenido Describe y explica la sintaxis de las Ayuda de Visual FoxPro instrucciones que permiten llamar a Presiona F1, selecciona el sobre las llamadas a funciones y botn ndice y escribe: procedimientos y funciones. procedimientos. - Do - Do <programa> - Funciones, llamar Resuelve el ejercicio 14. Realiza la prctica No. 7. Manual de Ejercicios. Manual de Ejercicios. Prcticas Prcticas y Ejercicio resuelto.

y Prctica resuelta. Programa principal y procedimiento de clculo de adeudo total en Biblioteca.

Elabora un procedimiento que Sistema Generador de calcule la suma total de los adeudos Bases de Datos de Visual generados por multas en el momento FoxPro. en que se corre el procedimiento. Despliega el resultado en una ventana temporal (usa wait widow). Crea tambin el programa desde el cual se ejecuta dicho procedimiento. Puedes tomar como referencia el ejercicio No. 14.

3. VARIABLES LOCALES Y GLOBALES Objetivo: Comprender las ventajas y aplicacin de variables locales y globales en procedimientos, por medio de una discusin del uso de memoria y la portabilidad del cdigo, para reducir el consumo de recursos de los programas y el trabajo implcito en la construccin de nuevas aplicaciones.

51

Uno de los aspectos indispensables en la programacin de procedimientos es el manejo de variables. De all la importancia de entender los tipos de variables que se manejan y su campo de accin. Es relevante definir cundo una variable puede ser accesada por cualquier procedimiento o funcin y cundo son especficas de un procedimiento, lo cual se determina a travs de su declaracin. La siguiente actividad de aprendizaje te permitir manejar los tipos de declaracin de variables dentro de los programas de Visual FoxPro.
Actividades de aprendizaje Recursos Establece la diferencia entre variable Ayuda de Visual FoxPro local y variable pblica, y su campo Presiona F1, selecciona el de accin en procedimientos y/o botn ndice y escribe: programas principales. - local - public. Pinter Les/Pinter John, Op. cit., pp. 103, 115, 116, 433 y 434. Productos Ficha de contenido acerca de las diferencias entre variables Locales y Pblicas.

4. TRANSFERENCIA DE VARIABLES A PARMETROS DE PROCEDIMIENTOS Y SUBPROGRAMAS Objetivo: Transferir valores de variables entre programas y procedimientos o subrutinas, a travs del conocimiento y aplicacin de las reglas especficas, para el uso adecuado de las variables entre rutinas. Continuando con el tema anterior, otro punto relevante acerca de las variables es que pueden ser utilizadas en un procedimiento o funcin, a travs de su transferencia por valor o referencia, conceptos simples y muy importantes porque hacen posible controlar el envo de parmetros entre los mismos. Resuelve las actividades de aprendizaje para que puedas comprender lo antes mencionado.
Actividades de aprendizaje Explica ampliamente cmo se realiza el paso de parmetros por variable o por referencia entre procedimientos, funciones y programa principal. Resuelve el ejercicio 15. Resuelve la prctica No. 8. Recursos Ayuda de Visual FoxPro Presiona F1, selecciona el botn ndice y escribe set udfparms. Manual de Prcticas y Ejercicios. Manual de Prcticas y Ejercicios. Productos Explicacin sobre el paso de parmetros por valor y por referencia. Ejercicio resuelto. Prctica resuelta. Programa y funcin incremento de adeudos por multas de Biblioteca.

Elabora un programa que aumente un Sistema Generador de 10% el monto de adeudo por multa Bases de Datos de Visual para todos los registros de la tabla del FoxPro. personal autorizado a prstamos de material. Hazlo mediante la creacin de una funcin que reciba parmetros por referencia. 52

5. INTEGRACIN DE PROGRAMAS Objetivo: Completar un ciclo de desarrollo de sistemas en equipo, incorporando reglas de estandarizacin de pantallas y reportes, instructivos de operacin para el usuario, documentacin tcnica y procedimientos de prueba, con el fin de obtener una imagen de las complicaciones y responsabilidades implcitas en el desarrollo de un sistema profesional. Recuerda que antes de crear un sistema se toman en cuenta puntos importantes, desde el diseo mismo hasta la liberacin del sistema. Para la elaboracin de los procedimientos del sistema se establecen reglas de programacin tales como: formato de letra del cdigo (maysculas, minsculas), estandarizacin de los datos y pantallas (tablas, campos, vistas, formularios e informes). Paralelamente se tiene que realizar la documentacin del sistema desde cmo funciona ( a travs incluso de manuales de usuario y para el programador), hasta la descripcin del funcionamiento del mismo cdigo. Una vez cubiertos estos puntos, se procede a las pruebas que nos permitan evaluar la funcionalidad, facilidad de uso y todos lo factores de mtrica y calidad necesarios que permiten hablar de la robustez del sistema. Las siguientes actividades de aprendizaje te proporcionarn las bases para que puedas determinar la integracin de los programas del sistema.
Actividades de aprendizaje Investiga los siguientes tipos de documentacin que se generan para los sistemas de informacin y descrbelos brevemente: - Manual de Usuario - Manual Preliminar de operacin/instalacin - Documentacin del diseo *Herramientas de documentacin. Recursos Productos Pressman Roger S. Op. Resumen sobre los cit. , pp. 210, 374, 376-379 tipos de documentacin. y 754.

Define brevemente los procesos de: Pressman Roger S. Op. correccin, fiabilidad, eficiencia, cit., pp. 576-581. integridad, facilidad de uso, facilidad de mantenimiento, flexibilidad, facilidad de prueba, portabilidad, reusabilidad e interoperabilidad. Todos estos son factores y mtricas utilizadas para probar que un software es robusto y funciona ptimamente, incluye tambin los factores de estandarizacin y funcionalidad. Te sugerimos analizar la tabla 17.1 de Factores y Mtricas de calidad. 53

Ficha de contenido acerca de los Factores y Mtricas de Calidad del Software.

Actividades de aprendizaje Recursos El formulario de Biblioteca creado es Formulario de Biblioteca. la ventana principal de interaccin Pressman Roger S. Op. cit. , del sistema con el usuario y la parte p. 577. fundamental de tu sistema. Basndose en el funcionamiento de ste elabora: a) Un manual de usuario que permita a cualquier usuario hacer uso de tu sistema. b) Un cuestionario con las preguntas de los Factores de calidad del software de Mc Call resueltas con base en tu perspectiva del sistema de biblioteca creado; explica tambin el porqu de tus respuestas.

Productos Manual de Usuario del Sistema de Biblioteca. Cuestionario de Factores de Calidad.

54

QU HE APRENDIDO?
A continuacin se presentan algunos reactivos que te permitirn evaluar el grado de aprendizaje adquirido hasta el momento. 1. Relaciona las columnas correctamente: Concepto ( ) ENDPROC ( ) Do ( ) PROCEDURE nombre ( ) Return() ( ) FUNCTION() ( ) Declaraciones Definicin a) Regresa un valor dado un parmetro de entrada. b) Devuelve el control del programa al programa que llama. c) Es la instruccin que finaliza un procedimiento. d) Ejecuta el procedimiento en la ventana de comandos o en formulario e) Es la definicin de variables locales o pblicas dentro de un procedimiento. f) Establece el inicio de un procedimiento

2. Verifica la sintaxis de las siguientes instrucciones e indica si son verdaderas (V) o falsas (F). a) DO PROCEDURE miprocedimiento b) PROCEDURE miproc . . ENDPROC c) PUBLIC private Listadevariables d) LOCAL Listadevariables e) SET UDFPARMS TO VALUE STORE valor TO variable 3. Selecciona la respuesta correcta: ( ) Es el grado en que un programa satisface sus especificaciones y consigue los objetivos de la misin encomendada por el cliente. a) Correccin b) Integridad c) Fiabilidad ( )

( ) ( ) ( ) ( )

( ) Es el esfuerzo requerido para modificar un programa operativo. a) Facilidad de uso b) Facilidad de operacin c) Flexibilidad

55

( ) Se refiere al uso de estructuras de datos y de tipos iguales a lo largo de todo el sistema. a) Consistencia b) Estandarizacin en los datos c) Eficiencia en la ejecucin

( ) La independencia funcional de los componentes del programa. a) Autodocumentacin b) Simplicidad c) Modularidad

( ) Son los conceptos que se utilizan en el cuerpo de un procedimiento. a) Procedure miproc Declaraciones Cuerpo principal Endproc b) Procedure miproc Cuerpo principal Declaraciones Endproc c) Procedure miproc Declaraciones Endproc

4. Identifica el nombre del concepto de acuerdo a la descripcin brindada: a) Se obtiene mediante la evaluacin del conjunto de caractersticas y de posibilidades del programa, la generalidad de las funciones que se entregan y la seguridad de todo el sistema. b) Permite la introduccin de parmetros para generar un resultado. c) Orienta al usuario sobre el manejo del sistema. d) Es el concepto que define a un software que cumple con todos los factores y mtricas de calidad establecidos. e) Es la instruccin que permite enviar datos por valor o referencia. 5. Presenta a tu asesor el sistema de Biblioteca funcionando, incluyendo: a) Los diferentes programas y procedimientos creados para su funcionamiento b) El manual de usuario elaborado c) Un anlisis basado en el cuestionario de Mc Call realizado sobre la calidad del sistema generado.

56

QUIERO SABER MS
Uno de los temas ms complicados, cuando de procedimientos y funciones, se trata es quizs el manejo de variables. No debes perder de vista que en este tema en particular se trabaja bajo la lgica de la programacin estructurada. Esto permite que los conceptos tericos puedan compartirse en los lenguajes que permitan este tipo de programacin. Por esta razn y para ampliar el tema de paso de variables, te invitamos a revisar el material correspondiente en el libro Programacin en Pascal de Arthur M. Keller, pginas 114-124. Es importante que no observes el proceso de programacin como algo aislado y propio de Visual FoxPro, ya que muchos de los conceptos y prcticas que utilizas en ste son tambin vlidos para otros lenguajes, pues la programacin estructurada no es exclusiva de Visual FoxPro. Para que puedas realizar un comparativo y adems establecer las similitudes que te permitan en un futuro actuar en otros lenguajes, te sugerimos revisar la siguiente tabla comparativa. Procedimientos y su definicin
Procedimientos en Visual FoxPro Definicin El procedimiento imprime el valor de I, este procedimiento se almacena como programa en una ventana independiente I.prg procedure I I=10 ?I endproc Llamada o ejecucin Para ejecutarlo se utiliza la instruccin Do al inicio del programa. Do I Estructura del programa El siguiente cdigo se guarda dentro del programa I.prg Do I procedure I I=10 ?I endproc La siguiente instruccin se incluye desde cualquier programa en el que se quiera ejecutar el procedimiento. do c:\I.prg Definicin Procedimientos en Pascal

El procedimiento imprime el valor de I y se incluye como parte del programa principal que se est ejecutando. procedure I begin I=10; Writeln (I =, I); end Llamada o ejecucin Para ejecutarlo se escribe el nombre del procedimiento dentro del programa principal. I; Estructura del programa Esta es la estructura de un programa completo en Pascal en donde no es necesario dividir en varios programas procedimientos y programa principal, si no que todo est en un solo programa. Program impresin Var I:integer Procedure I begin I=10; Writeln (I =, I); End; Begin I; End

57

QU VOY A APRENDER?

IMPRESIN DE INFORMACIN
Objetivo de la Unidad:
Incorporar a los programas de bases de datos la posibilidad de generar reportes impresos, mediante el conocimiento y aplicacin de las instrucciones para el diseo y uso de formatos de impresin, con el fin de satisfacer las especificaciones de diseo.

UNIDAD VI

Una manera de tener constancia del trabajo que se realiza a travs de un sistema o de la informacin que contiene, es a travs de un medio escrito que puede ser de lo ms variado. Los ms comunes se conocen como reportes y permiten presentar la informacin requerida bajo un formato definido. Todos los sistemas deben contar con este tipo de salidas. Imagina que en un lugar de trabajo existe un sistema que entre otras cosas lleva el registro de las horas extras de cada trabajador en una quincena, y para el pago de las mismas se requiere por un lado, una relacin de los trabajadores que tuvieron horas extras y el total a pagar, y por otro lado la impresin de los recibos individuales con el clculo realizado para dicho pago y el total. Obviamente este tipo de reportes debe haberse definido en el sistema para que el usuario lo pueda ejecutar sin ningn problema. De no hacerlo, en vez de simplificarse las cosas se complicarn, piensa en la persona que realiza el clculo generando los recibos por separado y copiando los datos del sistema, una locura verdad? De situaciones como esta podemos recalcar que la generacin de reportes por un sistema es una cuestin indispensable. A travs de la presente unidad aprenders a generar reportes a travs del sistema generador de bases de datos, aprovechando la informacin que la base de datos contiene y aplicando los formatos necesarios para cubrir los requerimiento que se planteen. El diseo de reportes no es algo nuevo para ti, puesto que ya lo manejaste en Base de Datos I a travs del asistente correspondiente. La meta en Base de Datos II, es que aprendas a realizar los reportes sin necesidad de un asistente, definiendo tus propios formatos e introduciendo la codificacin necesaria para lograrlo. Otro aspecto que abarcaremos es la impresin de etiquetas, que forma parte de la impresin de reportes especiales y que es muy til para ayudar a la clasificacin de la informacin que se imprime. Por ejemplo, si una editorial requiere mandar a sus suscriptores mensualmente la revista X se imprimen las etiquetas con toda la informacin de cada suscriptor que est registrado en la base de datos correspondiente, para poder enviarlas por correo, el tiempo que tardan en generarse las etiquetas es el tiempo de impresin y no ms.

58

Los reportes que se generan van en relacin directa con la necesidad de cada usuario (empresa o particular), por lo que el diseo de los mismos siempre estar en manos del encargado de crear el sistema. A continuacin se presentan de forma esquemtica los temas que se abarcarn durante la unidad y que te permitirn alcanzar el objetivo de la misma.
Impresin A travs de

Formatos

Comandos de Impresin

Mens u otros

Al finalizar esta unidad contars con los elementos necesarios para la generacin de un sistema completo, apoyado en la programacin y el mayor aprovechamiento del sistema generador de bases de datos elegido.

59

CMO APRENDO?
1. DISEO DE FORMATOS DE IMPRESIN Objetivo: Disear formatos de impresin, mediante el uso de las instrucciones, lenguajes o procedimientos especficos del paquete, para presentar la informacin que exija la especificacin. Hasta este momento la generacin de reportes ha sido para ti un proceso sencillo pero poco profundizado, por lo que para poder programar aqu primero tendrs que aprender a crear y utilizar los reportes sin necesidad de asistente, recuerda que el hacerlo te brinda la posibilidad de adecuar la aplicacin a tus requerimientos reales y de corregir los funcionamientos que no se apeguen a lo deseado. Existen procedimientos especficos en el sistema generador de base de datos que te permitirn disear tus propios formatos de impresin, lo importante es no slo que los conozcas, sino tambin que los utilices y aproveches para as mas adelante poder reconocer en donde es necesaria la programacin de un procedimiento, programa o funcin, para la optimizacin de la aplicacin y en donde el sistema generador puede cumplir con lo inicialmente especificado. Como reconocers la generacin de reportes es un proceso sencillo que no requiere de tanto esfuerzo como las unidades anteriores, quizs tambin porque con lo visto hasta el momento, esto resulta mas simple de lo que podra esperarse. Por eso en este tema se incluir como complemento la agrupacin, que no es otra cosa que poder imprimir todos los registros de una base de datos dada que cumpla con una cierta condicin. La agrupacin es muy importante en la generacin de reportes ya que te permite dar solucin a situaciones como la siguiente: Se necesita un reporte de todas las personas que estn trabajando por honorarios para cierta empresa y se debe incluir los datos completos de cada empleado, incluyendo su sueldo. En este caso se forma un grupo que en el campo tipo_contratacin registre honorarios, y se imprime la informacin de todas las personas que cumplen la condicin. Como ves la agrupacin puede resolver muchas situaciones que por su cotidianeidad se deben atender. Enseguida se presentan las actividades de aprendizaje que te permitirn cubrir el objetivo del tema inicialmente planteado.
Actividades de aprendizaje Recursos Productos Menciona cules son los comandos Pinter Les/Pinter John. Ficha de contenido del men Informe y cmo funcionan. Op. cit., pp. 348-351. sobre el Men Informe. Realiza un esquema donde Rubn Iglesias. Op. cit., pp. identifiques las bandas del generador 262-263. Ficha de contenido de reporte y explica para que se acerca del generador utilizan. de reportes. Explica en qu consiste la Ayuda de Visual FoxPro Ficha de contenido agrupacin en los reportes, y cmo Presiona F1, selecciona sobre la agrupacin. se realiza. ndice y busca: agrupar datos

60

Actividades de aprendizaje Recursos Productos Especifica cmo se crean e insertan Ayuda de Visual FoxPro Resumen acerca de las las variables de memoria en los Presiona F1, selecciona variables de informe. ndice y busca: reportes. Variables del informe, cuadro de dilogo. Resuelve los ejercicios 16 y 17. Manual de ejercicios. prcticas y Ejercicios resueltos.

Disea un reporte en el cual se Sistema Generador de Reporte de Biblioteca agrupen los datos de la vista de Bases de Datos de Visual agrupado por nombre del libro. Biblioteca, basndote en las personas FoxPro que tienen en prstamo un determinado libro. Para lograr dicho reporte puedes tomar como referencia los procedimientos realizados en los ejercicios 16 y 17.

2. COMANDOS DE IMPRESIN Objetivo: Construir procedimientos de impresin de reportes, mediante el conocimiento y aplicacin de las instrucciones especficas, para imprimir reportes en los formatos prediseados. De la misma manera que existen instrucciones especficas para la generacin de formulario, procedimientos, funciones y otros , tambin existen instrucciones propias de la generacin de reportes o informes como tambin se les conoce. Dichas instrucciones se aplican bajo la misma lgica de programacin hasta el momento trabajada, pero permiten manipular la impresin, las ventanas que se presentan al usuario e incluso el tipo de reporte que se imprimir. Si en lugar de crear un procedimiento que permita elegir el reporte a imprimir y lo cargue en la ventana de vista previa, utilizas la instruccin que te permite realizar todo esto en un solo paso, comprenders cuan importante es no slo saber programar, sino tambin conocer y saber utilizar las instrucciones, funciones o procedimientos ya creados en el sistema generador de bases de datos, para la simplificacin de cualquier implementacin. A continuacin se proporcionan las actividades de aprendizaje que te permitirn identificarte con las instrucciones ms importantes dentro de la generacin de reportes, para su implementacin en programas o procedimientos.

61

Actividades de aprendizaje Recursos Describe cmo trabaja la funcin Ayuda de Visual FoxPro selected, proporcionando tambin su Presiona F1, selecciona sintaxis y un ejemplo. ndice y busca selected. Proporciona la explicacin del funcionamiento y sintaxis de las siguientes instrucciones - report form ... preview - report form ... to printer [prompt] Especifica qu diferencia existe en poner o no el prompt en la ltima expresin. Define cmo funcionan la variable _pageno y la funcin date () Pinter Les/Pinter John. Op. cit., pp. 363 y 364.

Productos Ficha de contenido sobre la funcin Selected. Ficha de contenido acerca de la instruccin Report Form.

Ayuda de Visual FoxPro Presiona F1, selecciona ndice y busca: - _pageno - date() Sistema Generador de Bases de Datos de Visual FoxPro.

Resumen sobre _pageno y date().

Implementa un reporte que despliegue la informacin que se requiere presentar en la bilblioteca de tu centro de servicios. Para esto es necesario que tengas detectado qu tipo de reportes son necesarios en dicha Biblioteca. Realiza la prctica No. 9.

Reporte principal de Biblioteca.

Manual de Prcticas y Ejercicios.

Prctica resuelta.

3. IMPRESIN DE INFORMACIN Objetivo: Construir mens u otros mecanismos de control de impresin, mediante las tcnicas aprendidas anteriormente, para la impresin selectiva de reportes. Una vez que se genera el diseo de formato de un reporte se requiere de la creacin de un medio que permita la impresin del reporte diseado, este puede ser un men, una barra de herramientas o incluso una ventana con las opciones de impresin necesarias para el sistema, cualquiera es vlida, lo importante es que cumpla la finalidad con la que ha sido creada. Para ilustrar un poco lo anterior recordemos que siempre que se desea imprimir un documento ya diseado (para el caso de un procesador de palabras), es necesario seleccionar la opcin de impresin (ya sea mediante un botn o mediante el men) y dependiendo de la seleccin se presenta una caja de dilogo en la que definimos las caractersticas de impresin que requerimos. Esto mismo lo podemos facilitar al usuario en la aplicacin que se ha implementando, por
62

ejemplo, poner un botn que mande a impresin y la caja de dilogo correspondiente. Este tipo de aspectos son los que le dan calidad a una aplicacin y son este tipo de herramientas las que sern objeto del tema. Una de las impresiones de reportes especiales que se utilizan es la generacin de etiquetas, la cual no difiere mucho de la impresin de reportes, ya que es solamente un tipo de reporte ms, sin embargo, ser objeto de nuestra atencin para poder as completar los objetivos inicialmente planteados. Resuelve las siguientes actividades de aprendizaje para que puedas comprender no slo la importancia de los temas, sino la forma de trabajarlos.
Actividades de aprendizaje Describe el funcionamiento de los elementos que conforman los siguientes cuadros de dilogo: - Imprimir informes - Imprimir etiquetas - Imprimir, cuadro de dilogo Realiza la prctica No. 10. Recursos Productos Ayuda de Visual FoxPro Ficha de contenido Presiona F1, selecciona ndice sobre la impresin de y busca: documentos. - Imprimir informes - Imprimir etiquetas - Imprimir, cuadro de dilogo Manual de Prcticas y ejercicios. Prctica resuelta. Formulario de Impresin.

Elabora un formulario desde el cual Sistema Generador de Bases se pueda mandar a imprimir, a de Datos de Visual FoxPro gusto del usuario, los diferentes tipos de reportes de Biblioteca hasta el momento generados.

63

QU HE APRENDIDO?
Resuelve las siguientes preguntas, mismas que te permitirn evaluar el grado de aprendizaje adquirido hasta el momento. 1. Indica si las siguientes expresiones son verdaderas o falsas. ( ) Se utilizara la variable de memoria Date() para insertar la fecha en un informe. ( ) Con el comando Informe rpido es posible crear un informe sin necesidad de seleccionar una fuente de datos en el entorno de datos. ( ) La seccin principal de un informe consta de los datos de la banda Detalle. ( ) No es necesario que se ordene una tabla o vista para agrupar datos. ( ) Se muestra la caja de dilogo de imprimir con la expresin Preview. ( ) Para la creacin de un informe se selecciona la pestaa Documentos del Administrador de Proyectos. 2. Responde lo siguiente: a) Define la variable _pageno. b) Para qu se utilizan las variables de memoria dentro de los informes? c) Con qu control insertas una variable de memoria? 3. Relaciona las columnas correctamente: Concepto ( ) ( ) Selected ( ) report form informe.frx preview ( ) Etiquetas ( ) report form informe.frx to printer Definicin a) Manda a impresin un informe de manera inmediata. b) Se utilizan para la rotulacin de folders o sobres. c) Permite insertar una etiqueta. d) Indica cuando un elemento est seleccionado. e) Despliega un informe en pantalla como vista previa.

64

4. Selecciona la respuesta correcta: ( ) Inserta el nmero de pgina a un informe a) page b ) _page c) _pageno

( ) Funcin que permite totalizar un campo. a) suma() b) sum(campo) c) suma(campo)

( ) Opcin que se activa al manejar etiquetas en el cuadro de dilogo Preparar pgina. a) Orden al imprimir b) Columnas c) rea de impresin

( ) Opcin del men Archivo que da acceso a la seleccin de orientacin de impresin de un informe. a) Preparar pgina b) Imprimir c) Vista preliminar

5. Explica el proceso de creacin de los distintos tipos de reporte por agrupacin abarcados, anexando la impresin de dichos reportes y la descripcin (documentacin) de cmo se maneja y pone en funcionamiento el proceso de impresin.

65

QUIERO SABER MS
Existen algunos sistemas cuya salida no es precisamente un reporte o informe como lo conocemos, el tipo de salida que generan es muy diferente pero tambin se basa en la informacin almacenada en un sistema de bases de datos como lo que conocemos. Este tipo de reportes especiales como tambin se les denominan reciben el nombre de cdigo de barras. Para que puedas darte una idea de en qu consisten, te sugerimos leer en el libro Cdigo de Barras de Guillermo E. Erdei. 3a ed., Mxico, Mc. Graw Hill, pginas 13, 25-30. Tambin puedes consultar la direccin de internet http://www.guegue.com.ni/free/emmysoft/ vfp.html en la seccin de reportes para completar la informacin de los temas abarcados en esta unidad. Una de las herramientas avanzadas para la impresin de reportes es la seleccin mediante criterios de los elementos de una tabla. Esto se puede lograr a travs de la combinacin de instrucciones; logrando as reportes de mejor calidad. El siguiente texto te da algunas ideas de cmo puedes implementar la generacin de este tipo de impresiones.
Imprimiendo reportes o etiquetas mediante un criterio Si tu reporte o etiquetas incluye agrupaciones o necesitas ordenar los datos, puedes utilizar varias de las acepciones de la instruccin SELECT SQL, para obtener los resultados que deseas. A continuacin se presentan dos ejemplos que te permitirn seleccionar los datos enviados a un reporte o etiqueta. a) Este ejemplo utiliza tambin los casos de agrupacin vlidos mediante GROUP BY y ORDER BY, as como el comando REPORT FORM. SELECT * ; FROM tastrade!customer ; WHERE customer.country = Canada ; GROUP BY customer.region ; ORDER BY customer.postal_code, customer.company_name ; INTO CURSOR MyCursor REPORT FORM MYREPORT.FRX b) Para el siguiente ejemplo se utiliza el comando LABEL FORM SELECT * ; FROM tastrade!customer ; WHERE customer.country = Canada ; GROUP BY customer.region ; ORDER BY customer.postal_code, customer.company_name ; INTO CURSOR mycursor LABEL FORM MYLABEL.LBX La instruccin SELECT-SQL brinda otras posibilidades en la impresin de reportes y etiquetas.

66

S-ar putea să vă placă și