Você está na página 1de 69

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

Você também pode gostar