Вы находитесь на странице: 1из 112

LGICA COMPUTACIONA. Y PROGRAMACI.

Cuadernillo de procedimientos para el aprendizaje (Versin para fase inicial) CON LA COLABORACIN DE Luis Gabriel Mondragn Torres

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

NDIC. Presentacin...................................................................... ................................................................................ ..... . UNIDAD I. Lgica computacional.................................................... ............................................................. . 1. Conceptos generales.......................................................... ................................................................................ 1. 2. Programacin lineal............................................................ .............................................................................. 1. 3. Programacin estructurada...................................................... ....................................................................... 1. 4. Programacin orientada a objetos............................................... ................................................................... 1. Qu he aprendido?.................................................................. ............................................................................. 2. Quiero saber ms.................................................................. ................................................................................ .. 2. UNIDAD II. Estructura de datos.................................................. .................................................................. 2. 1. Datos........................................................................ ................................................................................ ............. 2. 2. Conjuntos.................................................................... ................................................................................ ......... 2. 3. Registros.................................................................... ................................................................................ ........... 2. 4. Arreglos..................................................................... ................................................................................ ........... 2. Qu he aprendido?.................................................................. .............................................................................. 3. Quiero saber ms.................................................................. ................................................................................ .. 3. UNIDAD III. Programacin estructurada bsica........................................ ............................................. 3.

1. Declaracin de las estructuras de datos........................................ ................................................................. 3. 2. Operaciones bsicas............................................................ ............................................................................... 3. 3. Archivos..................................................................... ................................................................................ ........... 4. 4. Operaciones con archivos..................................................... ............................................................................ 4. Qu he aprendido?.................................................................. ............................................................................. 4. Quiero saber ms.................................................................. ................................................................................ .. 4. UNIDAD IV. Programacin estructurada intermedia................................... .......................................... 4. 1. Procedimientos y funciones................................................... ........................................................................... 5. 2. Impresin de reportes.......................................................... ............................................................................. 5. 3. Lenguajes de programacin estructurada......................................... ............................................................ 5. Qu he aprendido?.................................................................. .............................................................................. 5. Quiero saber ms.................................................................. ................................................................................ .. 6. UNIDAD V. Programacin orientada a objetos........................................ ................................................. 6. 1. Especificaciones para el pseudocdigo.......................................... ................................................................. 6. 2. Proceso para el desarrollo de soluciones..................................... .................................................................. 6. 3. Lenguajes de programacin orientada a objetos.................................. ....................................................... 6. Qu he aprendido?.................................................................. .............................................................................. 6. Quiero saber ms.................................................................. ................................................................................ .. 6.

5 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 proces os 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 conside ra 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,

por lo cual se requiri de un traductor a lenguaje mquina, dichos lenguajes se cono cen como lenguaje. de programacin de alto nivel. A partir de esta evolucin es como surgen las diferentes metodologas de programacin, empezand. por la programacin lineal, la cual resuelve problemas simples de una forma secuen cial. Con el pas. del tiempo se ha visto que esta metodologa no siempre permite generar programas g randes o complejo. de una forma organizada, ya que el programador puede perder la secuencia lgica de l programa a. revisar los cdigos generados para resolver dichos problemas. Es as como surge la p ropuesta de un. nueva metodologa orientada a resolver problemas grandes de una forma estructurada , al segmenta. un problema en problemas ms simples, programando soluciones especficas para cada s egmento . mdulo. Es as como la programacin estructurada permiti por primera vez realizar grand e. programas de cmputo organizados y estructurados, fciles de leer y corregir, esta m etodologa sigu. vigente hasta nuestros das. Al empezar a implementarse aplicaciones de tipo grfico diseadas en un lenguaje de programaci. lineal o estructurado, se ve la necesidad inminente de evolucionar nuestras meto dologas d. programacin a un lenguaje de programacin que permita generar objetos grficos, los c uales realice. tareas especficas al operarlos de formas diferentes, pero sin perder de vista la modularidad de lo. procesos. Es as como surge la programacin orientada a objetos, la cual se fundamen ta en un. metodologa de programacin estructurada. Actualmente, la tendencia es a una metodologa de programacin orientada a eventos, ya que en st. nicamente definimos los procesos para los objetos ya definidos por el lenguaje de programacin y n. 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 ca da una d. las unidades didcticas. Es muy importante que tengas en mente lo que vas a lograr con el estudio d. los temas del programa, tener claridad de la meta es fundamental para poder util izar las herramienta. de que disponemos para llegar a ella. Con la intencin de presentarte un proceso d e trabajo, en l. primera unidad se describe el planteamiento de una situacin laboral .real., la cu al llamaremos situaci.

de aprendizaje. Durante el desarrollo de toda la gua se harn referencias al Manual de Ejercicios . Prcticas, en donde se presentar la solucin parcial de dicha situacin; la parte falta nte te corresponder. desarrollarla. Tambin debes desarrollar las prcticas, ya que ellas te darn los elem entos de modelaj. en la solucin de la situacin de aprendizaje. Cmo aprendo? En esta seccin encontrars las actividades de aprendizaje, mismas que te ir. llevando paso a paso a travs de estrategias de solucin, pero sintete con la liberta d de probar otro. caminos despus de que hayas dominado el que se te propone. Para que puedas realiz ar las actividades. es conveniente que entiendas la manera particular en la que se estructura el Cua dernillo d. procedimientos para el aprendizaje con respecto a un tema determinado. Te presen tamos en todo. los temas una tabla con tres columnas: en la primera de ellas, titulada activida des de aprendizaje s. incluye una secuencia de acciones que debes realizar para acercarte con mayor fa cilidad al estudio d. la Lgica Computacional y Programacin, hacindose referencias al manual de ejercicios y prctica. para reforzar los contenidos revisados y resolver la situacin de aprendizaje; en la segunda recursos, s. proporcionan algunas sugerencias para que encuentres fcilmente la informacin que r equieres. finalmente, en la tercera columna, llamada productos, se anotan los resultados c oncretos que debe. obtener al terminar la secuencia de actividades correspondiente a cada tema, tal es productos debe. servirte como un control de tu propio avance. Te servirn tambin para ir formando u n glosario co. los trminos ms usuales y sus definiciones; es decir, un diccionario personal que t e ayudar, en cas. 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 pen sar acerca d. 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 un. evaluacin, se trata de que ejerzas tu capacidad de reflexin acerca de ti mismo y q ue, en caso de se. necesario, revises aquellos puntos del programa de estudio que consideres que to dava no domina. por completo. Ser el momento de revisar tambin tus actitudes con respecto a la man era en qu. estudias. Te sugerimos que elabores una tabla de logros para que lleves tu regis tro personal. seguramente al ir anotndolos, te dars cuenta con satisfaccin que el esfuerzo ha val ido la pena. Quiero saber ms. En esta seccin se te presentan artculos interesantes relacionados con la unida. para que puedas extender tu horizonte de conocimiento. Es muy conveniente que as umas que no tod. lo que necesitas saber se te proporcionar en un curso, por el contrario, debers es tar siempre alerta. a enfrentar nuevos retos para que tu aprendizaje sea realmente el que necesitas para resolver tu. propios problemas. Ubicacin de la asignatur. La asignatura de Lgica Computacional y Programacin, se ubica en el eje bsico de la Capacitaci. en Informtica. La importancia de esta asignatura es que contribuye en tu formacin dentro de l. capacitacin y te brinda elementos necesarios para la implantacin de sistemas de in formacin de un. organizacin. Su ubicacin grfica se representa del siguiente modo. BSIC. EJE D. APLICACI. COMPLEMENTARI. Sistemas deInformacin ISistemas deInformacin IIBases de Datos IAplicaciones grficas con programasintegradosBases de Datos IIAplicacionesespecficas conprogramas integ radosIntroduccin a lasRedes LgicaComputacional yProgramacin Relacin direct. Relacin indirec.

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

QU VOY A APRENDER?QU VOY A APRENDER? ........ UNIDAD IUNIDAD IUNIDAD IUNIDAD IUNIDAD I LGICA COMPUTACIONA. Objetivo de la Unidad. Construir algoritmos elementales, utilizando los principios de l. programacin lineal, la programacin estructurada y la programaci. orientada a objetos, para propiciar en el estudiante la habilidad d. proponer soluciones sistemticas a problemas sencillos. En esta primera unidad aprenders a desarrollar habilidades para realizar modelos lgicos. mismos que te ayudarn a resolver diferentes tipos de problemas y procesar informa cin d. una manera sistemtica y razonada, y algoritmos elementales a travs del uso de dife rente. metodologas para el desarrollo de soluciones relacionadas con el campo de la info rmtica. Para ello, debers primero aprender el uso de los algoritmos como un proceso descr iptivo de l. solucin de un problema y la representacin grfica de los datos de entrada y salida d e u. proceso, para proponer soluciones factibles de realizar. Conforme ha pasado el tiempo y dada las experiencias de los diferentes programad ores, la. formas de programacin han variado de tal forma que las metodologas han sufrido un. evolucin constante, por lo que en esta unidad explicaremos tres de estas metodolo gas seg. fueron apareciendo. Al revisar las diferentes metodologas (lineal, estructurada y orientada a objetos ) para resolve. problemas, te dars cuenta que cada una de ellas utiliza diferentes representacion es grficas. stas te permitirn visualizar de una forma ms clara el proceso necesario para elabor ar dicha. metodologas. Para desarrollar un programa primeramente debes identificar cual es su finalidad y que proceso. intervienen en su solucin, posteriormente tendrs que definir las acciones que real iza cad. proceso y por ltimo, podrs codificar todos los procesos en un lenguaje de programa cin, e. cual al ser traducido al lenguaje mquina (conjunto de sentencias o instrucciones especfica.

entendibles por la computadora) nos permitir lograr nuestro objetivo, que podra se r l. sistematizacin del proceso de entrada y salida de un estacionamiento, la administ racin de u. hotel, el registro de mensajera, etc. En el desarrollo de la situacin y las actividades de aprendizaje que se te propon en y aquella. que realices por cuenta propia, podrs identificar las diferentes tcnicas que exist en para resolve. cualquier tipo de problema, ya sea simple o complejo. 8

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

representad. por e.

Diagrama de entrad. Algoritm. proceso salid. utiliza tcnica.

Programacinorientada a objetosPseudocdigo Programaci. Programaci. linea. estructurad. utiliza e. utiliza l. tien. utiliza a. tien.

Tcnica d. Objeto.

Diagrama de fluj. Estructuras lgica. Pseudocdig. segmentaci. Clase. Mtodo. Debes notar que los conceptos ms importantes estn sombreados. Prstales especia. atencin puesto que forman parte del conjunto de conceptos fundamentales en tus es tudio. de informtica. 9

A continuacin te presentamos la situacin de aprendizaje, la cual te presenta un pr oceso rea. de trabajo, muy similar a los que puedes encontrar en el campo laboral. SITUACIN DE APRENDIZAJ. Una empresa distribuidora al mayoreo de aparatos elctricos para el hogar, en su re a d. ventas, registra y controla su informacin de manera manual. En un sentido de mode rniza. sus procesos, solicita el apoyo tcnico para que se adquiera y programe una comput adora qu. se utilizar como parte del proceso de registro y control de ventas. El personal encargado de proporcionar el apoyo tcnico, realiza una investigacin de tallada d. las operaciones y movimientos manuales que se realizan para llevar a cabo el tra bajo cotidiano. Como resultado de la investigacin, se obtiene una descripcin de los procesos que s e resume. en los siguientes puntos. 1. La Sra. Mercedes Surez es quien recibe las solicitudes de compra. El origen de la solicitu. puede ser de cualquiera de las siguientes tres formas.

Va telefnica. El cliente, mediante el uso del telfono solicita los artculos y la. cantidades que requiere. Por correo. La empresa recibe constantemente los pedidos por escrito, mismo. que llegan por el servicio del correo. Personal. Los clientes acuden personalmente y realizan su pedido de maner. 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 secuenc ial qu. identifica de manera unvoca al pedido (Clave del pedido). Sin embargo, antes de r egistra. 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, s e procede . asentar el pedido correspondiente. Si el pedido se recibi por va telefnica o por co rreo y.

si el caso lo amerita, se ratifica el pedido telefnicamente, como una manera de c hecar lo. 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, pr ocede a darlo d. alta en la libreta, anotando los siguientes datos: Nombre de la empresa, razn soc ial, 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 nmer. secuencial precedido por la letra .C. (C1234). Posteriormente se registra la sol icitud . 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 info rmacin. mismas que se describen a continuacin.

Libreta de clientes: Es producto. en la empresa, ordenada e l. empresa, sus telfonos, acto. fecha del primer pedido 10

una relacin consecutiva de los clientes que han adquirido por la clave del cliente. En sta se registran el nombre d domicilio, nombre de la persona con quien se realiz el cont y su nmero de cliente.

Tarjeta de clientes: Cada uno de los clientes tiene asociada una tarjeta de regi stro detallad. con los datos incluidos en la Libreta de Clientes, adems de los artculos que ha ad quirido. S. anota para cada uno de ellos las fechas, cantidades, precios y referencia de las facturas co. que se remitieron a los clientes. Las tarjetas estn ordenadas alfabticamente por e l nombr. de la empresa para su fcil ubicacin. . Catlogo de artculos: Aqu se incluyen los artculos que dispone la empresa para su ven ta. el catlogo es actualizado semestralmente en dos versiones por el rea de mercadotec nia. a) Catlogo de artculos por orden alfabtic. b) Catlogo de artculos ordenados por Clave de artculo. Cada artculo se identifica con una clave similar a las anteriores (A9999). La inf ormaci. 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 varia. fotografas del artculo. 4. En otro momento, la Sra. Mercedes S. y con la ayuda de una secretaria, elabora l as facturas. tomando como base la Libreta de pedidos. Las facturas se identifican mediante un nmer. (F99999) e incluyen la informacin del cliente, destino, fecha de elaboracin y se d etalla l. informacin relacionada con los artculos solicitados por el cliente: Clave del artcu lo. descripcin genrica, cantidad de artculos, costo unitario de venta e importe por el nmer. de artculos. En cada factura es posible registrar hasta cinco artculos distintos, en caso d. requerirse, se utilizarn tantas facturas como sean necesarias. En la parte inferi or de cad. factura se incluyen adems el subtotal por la totalidad de los artculos, I.V.A. y t otal . 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 e nvia. los artculos a los clientes. La copia para el rea de Contabilidad se remite a esa r ea y la d. 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 e l ciclo de registr. de la informacin. 7. Finalmente, cada dos semanas se elabora un listado con los artculos solicitados y vendido. durante este periodo, mismo que se turna a los directivos de la empresa. El list ado contien. informacin detallada y global como son: Clave de los artculos vendidos, su descrip ci. genrica, cantidades, fechas, importes, los clientes a quienes se les vendi con su. correspondientes subtotales y totales. El grupo tcnico tendr que desarrollar varios programas y definir los archivos que almacenar. la informacin del registro y control de ventas. La interaccin de los programas y a rchivo. sustituirn el proceso manual que se utiliza. Se agilizar el registro de la informa cin as com. la posibilidad de considerar procesos de la informacin adicionales a los ya estab lecidos. 11

12 CMO APRENDO? 1. CONCEPTOS GENERALES Objetivo: Identificar los elementos de la programacin moderna, mediante la revisin del conce pto 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 previ amente su utilidad, la cual es que adquieras habilidades para resolver problemas informt icos utilizando la computadora, a travs de desarrollar un pensamiento lgico, sistemtico y razonado que te permita proponer soluciones al elaborar algoritmos elementales, utilizando las d iferentes metodologas que existen para su desarrollo. En nuestra vida cotidiana, cualquier actividad que realizamos la podemos describ ir con una serie de acciones o tareas. Igualmente, siempre estamos valorando si dicha activ idad va a lograr lo que nosotros queremos, a partir de ir tomando decisiones durante el de sarrollo de la misma, sin perder de vista qu es lo que queremos lograr y qu requerimos para logra rla. De esta misma forma podemos ver un proceso informtico, el cual nace a partir de u n problema que requiera del uso de la computadora. Para resolverlo se deber desarrollar un a lgoritmo, 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 r esultado o resolver un problema. Muchas veces aplicamos el algorimo de manera inadvertida, inconsciente o automat ica, 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 e tapas1: 1 Tomado de Osvaldo Cair. Metodologa de la Programacin. Tomo 1, Mxico, Alfaomega, p. 5. Problema Anlisis profundo del problema Construccin del algoritmo Verificacin del algoritmo Etapa 1 Etapa 2 Etapa 3

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, deb e arroja. siempre los mismos resultados. c) Finitud. El algoritmo, independiente de la complejidad del mismo, siempre deb e ser d. longitud finita. Es importante considerar los datos de entrada para la verificacin de nuestro algo ritmo. A continuacin se presentan las actividades que debers realizar; en caso de cualqui er duda . problema consulta a tu asesor. Actividades de aprendizaj. Recurso. Producto. Realiza la lectura de la pgina. sugeridas y contesta la. siguientes preguntas. 1. Qu es un algoritmo. 2. Cules son la. caractersticas que poseen lo. algoritmos. 3. Para qu sirven lo. lenguajes de programacin . cul es su relacin. Consulta en la enciclopedi. Encarta lo referente . programacin y lenguajes d. programacin y elabora un. ficha. Realiza la lectura de las pagina. sugeridas y contesta la. siguientes preguntas. 1. Cules son lo. inconvenientes de l. programacin convencional . lineal (secuencias d. instruciones maquina). 2. Cul es el objetivo de l. programacin estructurad. utilizando la programaci. modular. 3. Cul es la ventaja de l. programacin orientada . objetos sobre la estructurada. Realiza los ejercicios 1-4. Joyanes Aguilar, Luis. Fundamentos de programacin. pp. 2-6, 40-46. Enciclopedia Encarta.

Joyanes Aquilar, Luis. Fundamentos d. Programacin. pp. 95-97. Joyanes Aguilar, Luis. Programacin orientada . objetos. Espaa McGraw-Hill. Osborne, 1998. p.p. 4-18. Manual de ejercicios y prcticas. Preguntas resueltas. Ficha con los conceptos. Preguntas resueltas. Ejercicios 1-4 resueltos. 13

De tu entorno, consulta con un. o ms personas las actividade. que realizan en su trabajo . represntalas en un algoritmo. Algoritmo. 2. PROGRAMACIN LINEA. Objetivo. Comprender las bases y principios de la programacin lineal, mediante la revisin ge neral de los diagrama. 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 dec ir, cad. instruccin se ejecuta hasta que la anterior se haya realizado, no obstante, podem os referencia. a una lnea desde nuestra secuencia que no sea la siguiente, de tal forma que al t erminar un. secuencia de instrucciones podremos referenciar a la lnea que continuaba en nuest ra ejecucin. Visto grficamente su representacin sera la siguiente. Instruccin .

Instruccin Instruccin Instruccin Instruccin . . .

. . . . para representar este tipo de algoritmo basado en una metod flujo, que no es ms que la representacin grfica del algori diagrama de flujo est completo y correcto, el paso del mis es relativamente simple y directo.

La herramienta ms comn olog. lineal es el diagrama de tmo po. medio de smbolos. Si el mo a u. lenguaje de programacin

En el tema anterior mencionbamos que siempre que se incorpore un dato correcto en u. proceso, el dato de resultado tendr que ser correcto. Lo que haremos en la prueba de escritori. ser valorar si nuestro proceso contiene y toma las decisiones correctas al seguir la lgica d. sus tareas definidas.

La intencin de una prueba de escritorio es identificar los posibles errores de lgi ca, sintaxis . de entrada que existen en un proceso, ste puede estar descrito a travs de un algor itmo. diagrama de flujo, pseudocdigo, diagrama de Top-Down, etc. La forma de verificarl o ser. introduciendo al proceso un dato de entrada, del cual conocemos su salida, de ta l forma qu. sigamos toda la lgica del proceso para ir identificando como se va procesando la informaci. y, en dado caso, ajustar nuestro proceso o validarlo. Un ejemplo simple de una p rueba d. escritorio es el siguiente. Realizar la prueba de escritorio del siguiente algoritmo. 1. Solicitar dato A. 2. Solicitar dato B. 3. Multiplicar dato A con dato B y el resultado asignarlo en C. 4. Despliega el mensaje .El resultado es:.,. 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 algor itmo. Paso 1: Asignar A=. Paso 2: Asignar B=. Paso 3: Multiplicar 12 y el resultado asignarlo en C, es decir, C=. Paso 4: Escribir .El resultado es: 2. Dado que el resultado obtenido es el esperado en la prueba de escritorio, podemo s valida. dicho algoritmo, es decir, el algoritmo es correcto. A continuacin te presentamos las actividades que debers realizar; en caso de dudas o problema. consulta a tu asesor. Actividades de aprendizaj. Recurso. Producto. Realiza una consulta bibliogrfic. referente a las reglas d. construccin y simbologa bsic. para el desarrollo de diagrama. de flujo. A partir de la consulta anterio. explica la importancia del uso d. diagramas para representa. algoritmos. Realiza los ejercicios 5-7. De los algoritmos de lo. ejercicios 1 y 2 realiza su. pruebas de escritorio. Con relacin a la situacin d. aprendizaje, desarrolla la Prctic. 1, donde realizars el diagrama d. flujo correspondiente. De las actividades d. programacin resueltas (2.1 a l. 2.5), interpreta los diagramas d. flujo presentados. Joyanes Aguilar, Luis. Fundamentos de programacin. pp. 46-5. Manual de ejercicios y prcticas. Manual de ejercicios y prcticas. Joyanes Aguilar, Luis. Op. cit.. pp. 59-64. Ficha de contenido sobr. las reglas de construccin . simbologa bsica para e. desarrollo de diagramas d. flujo. Importancia del uso de lo. diagramas de flujo. Ejercicios 5-7 resuletos. Pruebas de escritorio.

Resolucin de la Prctica 1. Interpretacin de lo. diagramas de flujo. 15

3. PROGRAMACIN ESTRUCTURAD. Objetivo. Comprender las bases y principios de la programacin estructurada, mediante la rev isin general de l. tcnica Top-Down, las estructuras lgicas y el pseudocdigo, para la solucin de problem as y s. representacin. La metodologa de programacin estructurada se fundamenta en tcnicas de segmentacin, l . cual plantea que un problema se puede dividir en problemas ms pequeos (mdulos) y m. simples de resolver, de tal forma que la suma de las soluciones de cada problema sea el resultad. de la solucin total de ste. Problema Solucin Solucin Solucin Solucin 8Problema 7Problema 6Problema 5Problema 4Problema 3Problema 2Problema 1 8Solucin 7Solucin 6Solucin 5Solucin 4Solucin 3Solucin 2Solucin 1 Total = Solucin1 + Solucin 2 . 3 + Solucin 4 + Solucin 5 . 6 + Solucin 7 + Solucin .

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

La tcnica Top-Down (Arriba-Abajo) es la que se utiliza frecuentemente en la progr amaci. estructurada, la cual no es ms que la representacin grfica de la divisin del problem a e. subproblemas ms simples, estableciendo un orden jerrquico y relaciones entre ellos , pued. ser vista de la siguiente manera. Mdulo . Mdulo . Mdulo .

16

Mdulo Ra.

Mdulo . Mdulo .

Mdulo 1.. Mdulo 1.. Mdulo 2.. Mdulo 2..

Mdulo 2.1.. El diagrama de Top-Down, se lee de arriba hacia abajo y de izquierda a derecha, la relacin d. los mdulos es jerrquica, es decir, el mdulo padre puede hacer uso de los mdulos hijo s per. no viceversa. Entenderemos por mdulo padre al mdulo inmediato superior al mdulo actual y por mdul. hijo al mdulo inmediato inferior del mdulo actual. Cuando hablemos de programacin estructurada vamos a hacer referencia al pseudocdig o. que es la descripcin de la solucin de un problema por bloques o mdulos, donde dich. descripcin de la solucin se apoya en las estructuras lgicas(se revisarn a detalle en la unida. III), las cuales son una serie de sentencias que permiten evaluar expresiones se gn los criterio. establecidos para la solucin. Si consideramos la figura anterior, podemos afirmar que cada mdulo ejecuta una ta rea especfica. la cual se describe con el pseudocdigo que a su vez utiliza a las estructuras lgic as para da. solucin al problema planteado. La metodologa estructurada se apoya en la metodologa modular para conseguir elabor a.

programas eficaces y es la base para la metodologa orientada a objetos y la metod olog. orientada a eventos. A continuacin se te presentan las actividades que debers realizar para cubrir con este tema. Actividades de aprendizaj. Recurso. Producto. Elabora un cuadro sinptico d. las caractersticas de l. programacin estructurada . modular. Realiza una consulta bibliogrfic. referente a la tcnica Top-Dow. o de segmentacin. Joyanes Aguilar, Luis. Fundamentos de programacin. . pp. 95-100. Joyanes Aguilar, Luis. Op. cit.. pp. 41-32, 99 y 100. Cuadro sinptico con la. caractersticas de l. programacin estructurad. y modular. Ficha de contenido sobre l. tcnica Top-Down. 17

Consulta el texto y elabora u. cuadro donde se visualice. grficamente las estructura. lgicas, describiendo su. caractersticas. Investiga la definicin d. pseudocdigo y su utilidad par. describir tareas. Elabora una fich. de contenido. Realiza los ejercicios 8 -10. Desarrolla la Prctica 2, dond. aplicars los concepto. relacionados con la metodolog. de programacin estructurada. De las actividades d. programacin resueltas (4.18 a l. 4.24), verifica que e. pseudocdigo responda a l. solucin planteada en el anlisis. Joyanes Aguilar, Luis. Op. cit.. pp. 100-121. Joyanes Aguilar, Luis. Op. cit.. pp. 58-59. Manual de ejercicios y prcticas. Manual de ejercicios y prcticas. Joyanes Aguilar, Luis. Op. cit.. pp. 154-160. Cuadro grfico-descriptiv. de las estructuras lgicas. Ficha de contenido sobre e. pseudocdigo. Ejercicios 8.10 resueltos. Resolucin de la Prctica 2. Anlisis de pseudocdigos. que valide la lgica de. pseudocdigo y el uso de la. estructuras lgicas. 4. PROGRAMACIN ORIENTADA A OBJETO. Objetivo. Comprender las bases y principios de la programacin orientada a objetos, mediante la revisin de su. conceptos bsicos y el proceso de construccin de programas, para la solucin de probl emas y s. representacin. La programacin orientada a objetos se apoya en la programacin estructurada y utili za su. tcnicas para disear programas, se caracteriza por definir objetos con un determina do conjunt. de atributos, como pueden ser: las clases, herencias, mtodos, poliformismos, entr e otros. Po. 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 e. usuario, ya que ste nicamente hace uso del objeto y el programa se encarga de real izar toda. las actividades asignadas. 18

A continuacin se te presentan las actividades que debers realizar para desarrollar este tema. Actividades de aprendizaj. Recurso. Producto. Realiza la lectura de las pagina. sugeridas y contesta la. siguientes preguntas. 1. Qu es un objeto. 2. Qu es la programaci. orientada a objetos. 3. Qu es poliformismo, herenci. y encapsulado. 4. Cul es la estructura de u. programa. 5. Cmo se comunican lo. objetos y qu son los mtodos. 6. Cul es la importancia de l. programacin orientada . objetos. Realiza los ejercicios 11 y 12. Define los datos y procedimiento. que requerirn los objetos libret. y tarjeta, planteados en l. situacin de aprendizaje. Joyanes Aguilar, Luis. Programacion orientada . objetos. Espaa .McGraw-Hill. Osborne, 1998. p.p. 13, 14, 17, 23, 74, 75, 83. 87, ,91-44 y184-18. Manual de ejercicios y prcticas. Situacin de aprendizaje. Preguntas resueltas. Ejercicios 11 y 12 resueltos. Definicin de datos . procedimientos de l. situacin de aprendizaje. 19

20 QU HE APRENDIDO? A continuacin te presentamos una pequea evaluacin de esta unidad para que valores t us avances logrados hasta el momento. 1. Lee con atencin cada uno de los siguientes conceptos y coloca dentro del parnte sis la letra de la definicin que le corresponda. Concepto Definicin ( ) Diagrama de flujo. a) Serie de instrucciones o pasos a seguir para lograr un a tarea o la resolucin de un problema. ( ) Dato de entrada. b) Al trmino del proceso se obtendr la informacin procesada, la cual nos dar la solucin del problema planteado. ( ) Mdulo. c) Representacin grfica del algoritmo, por medio de smbolos. ( ) Dato de salida. d) Realiza tareas definidas, de tal forma que si un proceso se requiere varias veces se har referencia a ste varias veces. ( ) Procedimiento. e) Informacin necesaria para iniciar un proceso o tarea y resolver un problema definido. 2. Lee con atencin cada una de las siguientes proposiciones y coloca dentro del p arntesis 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-Do wn. ( ) Objetos, mensajes y herencias son conceptos utilizados en la programacin orie ntada a objetos. ( ) El pseudocdigo es el paso anterior a la codificacin de un programa estructurad o.

3. Identifica los siguientes smbolos utilizados en los diagramas de flujo y escribe lo qu. significa cada uno, segn su enumeracin. 12347895131415106161112 1.-______________________________. 2.- _____________________________. 3.-______________________________. 4.- _____________________________. 5.-______________________________. 6.-_____________________________. 7.-______________________________. 8.-_____________________________. 9.-______________________________. 10.-____________________________. 11.-_____________________________. 12.-____________________________. 13.-_____________________________. 14.-____________________________. 15.-_____________________________. 16.-____________________________. 4. Lee cuidadosamente las siguientes preguntas y contstalas correctamente. a) b) c) d) Qu Qu Qu Qu es es es es un la la la algoritmo. programacin lineal. programacin estructurada. programacin orientada a objetos.

5. Lee cuidadosamente los siguientes casos y desarrolla los algoritmos, diagrama s de flujo . diagramas de Top-Down que los describan. A) La Unidad de Registro y Control Escolar decide sistematizar la expedicin de Ce rtificado. parciales, ya que actualmente se realizan de la siguiente forma.

El auxiliar solicita al alumno su credencial y tira de materias del ltimo semestr e; si n. debe materias procede a registrarlo para elaborar su certificado parcial, solici tndole a. estudiante que regrese en una semana. El auxiliar consulta el expediente del estudiante buscando datos personales y ca lificaciones. para llenar el certificado parcial. Una vez capturado el certificado parcial el auxiliar solicita al responsable que lo firme . 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 lo. particulares que deseen dejar su vehculo en un lugar seguro. Dicho estacionamiento cuenta con tres niveles, donde en cada nivel tiene 70 cajo nes d. estacionamiento enumerados de la siguiente forma: P1-01, donde el P1 nos indica el piso y lo. 21

dos ltimos nmeros el cajn, asimismo cuenta con 20 choferes los cuales tienen una cl ave d. registro nica (Ch01). El dueo del estacionamiento propone que el control de entradas de los vehculos y p agos de. servicio sea de la siguiente forma.

Se recibe al vehculo particular entregndole a cambio un boleto de estacionamiento, el cua. tiene un nmero de folio. Se le asigna a dicho vehculo un cajn que se encuentre disponible y se registra la hora d. 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 registr. 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 impo rte . pagar; en caso de que el vehculo no se encuentre en las mismas condiciones que cu and. 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 ca j. 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 vehculo . estacionados. 22

23 QUIERO SABER MS Artculos tomados de Curso IBM de programacin. Introduccin a la programacin en 32 bit s. (Mxico, D.F.), nm. 1, pp. 2 y 5.

QU VOY A APRENDER? QU VOY A APRENDER? ......... UNIDAD IIUNIDAD IIUNIDAD IIUNIDAD IIUNIDAD II ESTRUCTURA DE DATO. Objetivo de la Unidad. Identificar las estructuras de datos, mediante el reconocimient. de la informacin y la forma de estructurarla para su procesamiento. Hasta el momento hemos revisado de forma muy genrica las metodologas de programaci. lineal y estructurada para resolver diferentes tipos de problemas, sin embargo, el defini. algoritmos o pseudocdigos que planteen la descripcin de la solucin de un problema e s sl. 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 la. caractersticas o atributos de algo, por lo cual tendremos que definir perfectamen te los dato. involucrados en la resolucin del problema. Esto lo podemos resumir en la siguient e ecuacin. Pseudocdigo = Instrucciones + Dato. Los datos los podemos clasificar en constantes (datos que no cambian durante la ejecucin de. pseudocdigo) y variables (datos que pueden ir adoptando diferentes valores durant e la ejecuci. del pseudocdigo). La ventaja de generar un pseudocdigo es que podemos codificarlo en cualquier leng uaje d. programacin, esto implica que utilizaremos los recursos de la computadora para re solver e. problema, siendo aqu donde tendremos que utilizar las estructuras de datos (espac io en memori. de la PC para manipular los datos) definidas en el pseudocdigo, para resolver nue stro problema. Los datos variables segn el tipo de datos que almacene pueden ser simple o agrupa do, e. decisin del programador definir el tipo de datos a utilizar, tomado como base el problema . resolver. Ten mucho cuidado al definir un tipo de dato u otro, ya que de esto de pende que l.

solucin planteada funcione adecuadamente, evitando fallas en el manejo de informa cin. Un dato es un atributo o caracterstica de un objeto o individuo; por ejemplo, los atributos d. una persona son. Color del cabell. Estatur. 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) s iguen siendo la. mismas para todos. Entenderemos por estructuras de datos a los espacios asignados en memoria para a lmacena. datos. Las estructuras de datos pueden almacenar valores variables y constantes, los cuale. definiremos como tipos de datos: variables y constantes. Los datos constantes son objetos que contienen valores que no cambian durante la ejecuci. de un programa, son valores fijos. Ejemplo. Los meses del ao = 12 mese. Estaciones del ao = . Los datos variables son objetos que contienen valores que pueden cambiar a medid a que s. ejecuta un programa; la forma de escribirlos en el pseudocdigo es asignando un id entificado. o nombre al tipo de dato variable, indicando que va a almacenar datos cuyos valo res sean d. una naturaleza determinada. Entenderemos por naturaleza de un dato al valor que se almacena en la estructura de datos, d. tal forma que podemos definir datos de tipo numrico, cuando el valor hace referen cia . cantidades; de tipo carcter, cuando el dato contiene valores que hacen referencia a un nombr. y direccin; de tipo lgico cuando el valor que se almacena puede ser verdadero o fa lso; de tip. 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 l os ltimos. Lo. contenidos que conforman esta unidad son los siguientes. Unidad II. Estructura de dato. Estructura de datosDatosVariablesAgrupadosSimplesConstantesTienenunaPueden serDe tipoArreglosRegistrosComo losGrficosOrdinalesAlfanumricosNumricosLgicosConjuntos 25

26 CMO APRENDO? 1. DATOS Objetivo: Describir la estructura de datos simples con pseudocdigo, a travs de identificar e l 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 agrupa dos. La principal caracterstica de los datos simples es que ocupan slo una casilla de memo ria, por lo que hacen referencia a un nico valor a la vez. Dentro de este tipo de datos se en cuentran: 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 caracter es especiales. Por ejemplo: Nombre = Cadena de caracteres Sexo = Carcter Ordinales: Son valores que son definidos por el usuario en forma enumerada, esto s 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 dat o. Por ejemplo: Dibujo: Grfico Bandera: Grfico Es muy importante que aprendas a definir los tipos datos que vas a utilizar en l a resolucin de un problema, indicando su naturaleza si son datos variables, ya que estos son pa rte esencial para la generacin del pseudocdigo. A continuacin se presentan las actividades que debers realizar; en caso de cualqui er duda o problema consulta a tu asesor.

Actividades de aprendizaj. Recurso. Producto. Realiza una consulta bibliogrfic. sobre tipos de datos constantes . variables. Elabora una ficha d. contenido. Investiga acerca de la naturalez. de los datos simples (numricos. alfanumricos, ordinales, lgico. y grficos) y agrupados . estructurados (conjuntos. registros y arreglos). Elabora un cuadro comparativ. entre los tipos de datos simples . agrupados o estructurados. Realiza el ejercicio 13. Realiza el ejercicio 14. Joyanes Aguilar, Luis. Fundamentos de programacin. pp. 16-17. Joyanes Aguilar, Luis. Op. cit.. pp. 13-15, 203, 204, 261-263. Eduardo Alcalde y Migue. Garca. Informtica bsica. pp. 219-221. Ficha de contenido sobr. datos simples y agrupados. Manual de ejercicios y prcticas. Manual de ejercicios y prcticas. Ficha de contenido sobre lo. tipos de datos constantes . variables. Fichas de contenido sobre l. naturaleza de los dato. simples y agrupados. Cuadro comparativo entr. datos simples y agrupados. Ejercicio 13 resuelto. Ejercicio 14 resuelto. 2. CONJUNTO. Objetivo. Identificar la utilidad de los datos agrupados como conjuntos, mediante la revis in de sus caracterstica. y operaciones, para su aplicacin en la solucin de problemas. Un conjunto es un grupo de datos que tiene como caracterstica principal pertenece r al mism. tipo de dato simple. Cada objeto que est en el conjunto recibe el nombre de miembro o elemento del con junto.

Miembro o element. Conjunto de nmeros enteros. 153 19 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 d o. conjuntos. 27

Diferencia. Definiendo A y B como dos conjuntos, el resultado de A - B son los e lementos d. 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 problema. consulta a tu asesor. Actividades de aprendizaj. Recurso. Producto. Realiza una consulta bibliogrfic. sobre la definicin de conjunto. Elabora un cuadro sinptic. sobre las posibles operaciones co. conjuntos y presenta alguno. ejemplos. Realiza el ejercicio 15. Enciclopedia Encarta u otr. bibliografa a tu alcance. Enciclopedia Encarta u otr. bibliografa a tu alcance. Manual de ejercicios y prcticas. Ficha de contenido sobre l. definicin de conjuntos. Cuadro sinptico sobr. operaciones de conjuntos. Ejercicio 15 resuelto. 3. REGISTRO. Objetivo. Identificar la utilidad de los datos agrupados como registros, mediante la revis in de sus caracterstica. tcnicas, para su aplicacin en la solucin de problemas. Los registros son considerados una herramienta poderosa para estructurar datos y organiza. informacin de diferentes tipos bajo el nombre de una sola variable. En la prctica a veces s. necesitan estructuras que permitan almacenar distintos tipos de datos segn su nat uraleza, . los cuales introduciremos en una nueva estructura llamada registro. REGISTROEs un dato estructurado, donde cada uno de suscomponentes se denomina ca mpo. CAMPOTipo de dato que puede ser simple o agrupado (arreglo oregistro). Como un registro es un dato estructurado, no puede accesarse directamente como u n todo. sino que debe especificarse qu elemento (campo) del registro interesa. Para ello

existe l. siguiente sintaxis. Variable_Registro . Nombre_del_camp. Nota. No confundas la estructura de datos (medio de almacenamiento de los datos) con lo. datos estructurados o agrupados (arreglos, registros y archivos). 28

Ejemplo. Registro_Alumno =REGISTR. Nombre : Cadena[20. Calle : Cadena[9. Numero : Enter. Telefono : Cadena[9. Edad : Enter. TERMINA REGISTR. A continuacin se te presentan las actividades que debers realizar para cubrir con este tema. Actividades de aprendizaj. Recurso. Producto. Realiza una consulta bibliogrfic. acerca de la definicin de registr. y sus componentes. Realiza los ejercicios 16 y 17. Joyanes Aguilar, Luis. Fundamentos de programacin. pp. 260-265. Manual de ejercicios y prcticas. Ficha de contenido sobre l. definicin de registro y su. componentes. Ejercicios 16 y 17 resueltos. 4. ARREGLO. Objetivo. Identificar la utilidad de los datos agrupados como arreglos, mediante la revisin de sus caracterstica. 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 relacionad os y de. mismo tipo, simple o estructurado. A continuacin se describen varios de los trmino s utilizado. en los arreglos. ARREGLOColeccin finita, homognea y ordenada de elementos. COMPONENTES OELEMENTOSHacen referencia a los elementos que forman el arreglo, es decir, a los valores que almacenan en cada una de las casillasdel mismo. NDICESApunta, direcciona o selecciona un elemento o componentede un arreglo. Se r equiere de n ndices para n dimensiones. Se pueden manejar arreglos de tipo unidimensional, bidimensional, tridimensional, n-dimensional. 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 caracte. Entenderemos por localidad a la direccin o ubicacin de un componente dentro del re gistro. Existen tambin arreglos multidimensionales, hasta ahora slo hemos definido arreglo s e. una sola dimensin, es decir, que requieren de un solo ndice para ubicar al element o deseado. Si hablamos de un arreglo bidimensional implica que requiere de dos ndices, la fo rma d. escribirlo es la siguiente. Artculos_y_Precios = Arreglo[1..4,A..B] de cadenadecaractere. Su representacin grfica sera la siguiente. AComidaTelasPasteleraDiscosB12398711501234 La ventaja de utilizar arreglos multidimensionales es que podemos manipular dato . direccionados por: uno, dos, tres o ms ndices. Anteriormente se mencion que un arre gl. puede ser de cualquier tipo, por lo tanto, un arreglo puede estar formado por co mponentes d. tipo registro, esto se escribira de la siguiente manera. Datos_alumno = REGISTR. Nombre : Caden. Edad : Enter. TERMINA REGISTR. Alumnos: Array [1..5] de Datos_alumn. Este ejemplo marca que existe un arreglo llamado Alumnos con cinco elementos de tipo registr. .Datos_alumno. con dos campos. Grficamente se vera de la siguiente forma. Campo NombreCampo EdadRegistro 5 Juan PrezPedro LpezLuis DurnMargarita IrraRebeca Cruz14211624451 2 3 4 5Componentend ice 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].Nombr. Referencia al campo edad de la localidad 5. (45. Alumnos[5].Eda.

30

Para desarrollar este tema, realiza las siguientes actividades. Actividades de aprendizaj. Recurso. Producto. Realiza una consulta bibliogrfic. sobre la definicin de arreglo. (tablas o arrays) y su. componentes. Elabora un cuadro sinptic. sobre los arreglo. bidimensionales . multidimensionales. Realiza los ejercicios 18 y 19. Realiza la Prctica 3, que t. introducir a la aplicacin de la. estructuras de datos requerida. para la situacin de aprendizaje. Realiza del ejercicio 6.6 al 6.24. Joyanes Aguilar, Luis. Fundamentos de programacin. pp. 203-215. Joyanes Aguilar, Luis. Op. cit.. pp. 215-2224. Manual de ejercicios y prcticas. Manual de ejercicios y prcticas. Joyanes Aguilar, Luis. Op. cit.. pp. 235 y 236. Ficha de contenido sobre l. definicin de arreglo y su. componentes. Cuadro sinptico sobr. arreglos bidimensionale. multidimensionales. Ejercicios 18 y 19 resueltos. Resolucin de la Prctica 3. Ejercicios resueltos. 31

32 A continuacin te presentamos una pequea evaluacin de esta unidad para que valores t us avances logrados hasta el momento. 1. Lee con atencin cada uno de los siguientes conceptos y coloca dentro del parnte sis la letra de la definicin que le corresponda. Concepto Definicin ( ) Conjunto. a) Atributo o caracterstica de un objeto o individuo. ( ) Arreglo. b) Grupo de datos que tiene como caracterstica pertenecer al mismo tipo de dato simple. ( ) Dato. c) Dato estructurado, donde cada uno de sus componentes se denomina campo. ( ) Registro. d) Coleccin finita, homognea y ordenada de elementos. 2. Identifica en los siguientes esquemas el nombre de lo que se seala y escrbelo e n las lneas correspondientes. Registro A B Luis 6 5 1 7 9 0 5 6 7 8 Av. de los Milagros 118 876-12-29 876-12-30 20 A.________________________________ B.________________________________ Arreglo H A J I N M K O P S E T V 1 2 3 4 5 6 7 8 9 10 11 12 13 C D C.________________________________ 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, defin e las estructuras de datos ms adecuadas. QU HE APRENDIDO?

33 QUIERO SABER MS Tomados de Curso de IBM de programacin. Introduccin a la programacin en 32 bits. (Mx ico, D.F.), nm. 1, pp. 10 y 14.

QU VOY A APRENDER? QU VOY A APRENDER? .......... UNIDAD IIIUNIDAD IIIUNIDAD IIIUNIDAD IIIUNIDAD III PROGRAMACIN ESTRUCTURADA BSIC. Objetivo de la Unidad. Aplicar los principios bsicos de la programacin estructurad. en la solucin de problemas elementales, mediante l. especificacin de la estructura de datos y las operaciones . realizar, para desarrollar el pseudocdigo requerido. Como comentbamos en la unidad anterior, el pseudocdigo generado para la solucin de u. problema puede ser codificado en cualquier lenguaje de programacin, de tal forma que e. esta unidad nos dedicaremos a explicar las estructuras lgicas, la forma de defini r la estructur. de datos y las posibles operaciones que se pueden realizar con los datos definid os, como part. del pseudocdigo. Por lo anterior, podemos decir que la programacin estructurada permite generar ps eudocdigo. ms entendibles, ya que la finalidad de utilizar estructuras lgicas es la de permit ir a. pseudocdigo tomar una serie de decisiones a partir de los datos de entrada, permi tiend. llevar el flujo correcto de las instrucciones o sentencias para obtener las sali das deseadas. (informacin procesada). Dentro de este procedimiento de informacin que envuelven la ejecucin o realizacin d . sentencias y la toma de decisiones, iremos realizando asignaciones, lecturas, es crituras. evaluacin de expresiones y operaciones bsicas, para que en su totalidad obtengamos un. solucin mediante la metodologa de programacin estructurada. Es importante sealar que muchas veces requerimos que esta informacin procesada se almacen. en algn dispositivo de almacenamiento secundario, por lo cual definiremos a los a rchivo. como la estructura de datos que permite almacenar informacin de una manera perman ente . las posibles operaciones que se pueden realizar con ellos para leerlos, modifica rlos o eliminarlos. A continuacin te presentamos los conceptos de la unidad y las posibles relaciones que existe.

entre ellos. 34

Unidad III. Programacin estructurada bsic. Programaci. estructurada bsic. Utiliz. Que tien.

Pseudocdig.

Especificacione. RealizaOperacionesAsignacinEvaluacin deexpresionesEscrituraLecturaDeDe tipoElement osArchivosTipos deaccesoOrganizacinTipos dearchivosOperacionesCreacinLecturaElimin acinEscrituraProcesamientoCampoRegistroUtilizaTieneComoDeEstructuraslgicasUtilizaD e relacinAritmticasLgicas 35

36 CMO APRENDO? 1. DECLARACIN DE LAS ESTRUCTURAS DE DATOS Objetivo: Declarar la estructura de los datos, mediante las especificaciones correspondien tes 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 dat os 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 d e idioma). A continuacin te presentamos la estructura tcnica para un pseudocdigo: PROGRAMA: Descripcin breve del programa. Como podrs observar se requiere identificar a nuestro programa con un nombre sign ificativo, definir las estructuras de datos a utilizar y dar las especificaciones de pseudo cdigo 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 inform e 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 . TIPOS Lista de tipos requeridos en el programa CONSTANTES Lista de constantes VARIABLES Lista de variables Estructura de datos INICIO DE PROGRAMA {Especificaciones tcnicas, pseudocdigo del programa} FIN DEL PROGRAMA

ESTRUCTURA DE DATO. TIPO. 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 Calificacio. Total_Asignaturas = 5 IdentificadoresRegistro_alumno = REGISTRO CONSTANTE. VARIABLE. Horario_alumno : Arreglo [Dias_De_la_Semana] de enter. Nombre : Caden. Grupo : Cadena[5. Calificaciones : Calificaciones_de_asignatura. Promedio : Real. TERMINA REGISTR. En la seccin de tipos se define cualquier tipo de dato que almacene valores simpl es o agrupados. en la seccin de constantes se definen tipos de datos que almacenen valores consta ntes y en l. seccin de variables se definen tipos de datos que almacenen valores variables. A continuacin se presentan las actividades que debers realizar; en caso de cualqui er duda . problema consulta a tu asesor. Actividades de aprendizaj. Recurso. Producto. Realiza la lectura de las pagina. sugeridas y contesta la. siguientes preguntas. 1. Qu es la cabecera de u. programa o algoritmo. 2. Cules son los bloques d. declaracin de variables . constantes. 3. Qu es un comentario. Realiza los ejercicios 20 y 21. Joyanes Aguilar, Luis. Fundamentos de programacin. pp. 84-87. Manual de ejercicios y prcticas. Preguntas resuelta.

Ejercicios 20 y 21 resueltos. 37

2. OPERACIONES BSICA. Objetivo. Especificar en pseudocdigo las operaciones bsicas factibles de realizar, mediante la revisin de cad. 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 lgic as y e. el uso de operaciones bsicas tales como la asignacin de datos, la evaluacin de expr esiones . la lectura y escritura de datos. Cuando hablamos de asignaciones nos referimos a relacionar un valor con el ident ificador d. un dato, es decir, le asignamos un dato o valor al nombre de una estructura de d atos.. Sl. puedes asignar valores equivalentes al tipo de dato que tiene la estructura de d atos, e. 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 pse udocdigo y s. definen en el rea de constantes, en cambio en los datos variables, las asignacion es pueden se. en diferentes momentos del pseudocdigo. Smbolo u operador para asignacin . Ejemplo: Asignaciones en constantes y variable. Constantes. Variables. Mayor_de_edad = 1. Sueldo_Total = Sueldo_Bruto - Descuent. Meses_del_ao = 1. Raiz_cuadrada = Raiz(Numero. I.V.A. = Total*0.1. Generalmente las lecturas son datos capturados del teclado y las escrituras son mensaje. enviados al monitor; sin embargo, se pueden realizar lecturas desde el mismo pse udocdigo a.

asignarse un valor o leer de un archivo (los revisaremos ms adelante), asimismo s e puede. escribir los datos en la impresora o en un archivo, entre otros. Para procesar informacin muchas veces lo que hacemos es evaluar expresiones en fo rma d. sentencias o instrucciones. Podemos catalogar estas expresiones en tres tipos, l as cuales son. Aritmticas. Son operaciones de tipo matemtico, que permiten procesar la informacin d. tal forma que se obtenga un valor. Por ejemplo. Suma = A + . Lgicas. Se utiliza para evaluar expresiones que slo pueden devolver un valor de ve rdader. o falso. Por ejemplo. Edad >1. 38

La expresin es verdadera si la variable edad tiene un valor mayor a 18, de lo con trario ser. falsa. De relacin. Permite realizar una serie de operaciones anidadas, a partir de una e xpresin qu. utilice los conectores and, not y or (y, no y o respectivamente), generalmente s e utilizan en la. estructuras lgicas condicionales (las revisaremos ms adelante). Por ejemplo. Si ( A < B) y (J + H = C) entonces D = . Varios autores coinciden en que, para hablar de programacin estructurada hay que hablar d. estructuras lgicas, ya que son la base para poder escribir el pseudocdigo requerid o par. solucionar problemas con esta metodologa. Una estructura lgica es una sentencia que permite evaluar una expresin a partir de cierta. condicionantes, variando la secuencia del proceso segn el resultado obtenido dura nte e. desarrollo del pseudocdigo. Es importante sealar que cuando hablamos de pseudocdigo nos referimos al desarroll o d. una solucin con una tendencia estructurada en forma algortmica; sin embargo, cuand . hablamos de un. programa. nos referimos al resultado de la ejecucin de un pseudocdig. 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 l o contrari. y la condicional Caso-Fincaso. Dependiendo del problema se seleccionar entre un t ipo y e. otro. La diferencia consiste en que el primer tipo de estructura lgica condiciona l solo pued. evaluar un valor, dando dos posibles secuencias de accin; mientras que el segundo tipo pued. 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 instr ucciones .

sentencias se repitan un nmero determinado de veces o hasta que se cumpla una con dici. (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 expresi. lgica de la que depende se cumple, es decir, mientras sea verdadera. b) Otra estructura lgica repetitiva es la sentencia REPITE-HASTA, la cual ejecuta r su. sentencias internas hasta que se cumpla una condicin. c) Por ltimo la sentencia PARA-FIN PARA, es una estructura lgica en la que utiliza ndo un. variable que se identifica como ndice se repiten las sentencias de un mdulo hasta que e. ndice alcance un valor determinado. Existen dos tipos: el creciente y el decrecie nte. Nota.. Las estructuras lgicas establecen uno de los principios bsicos de la programaci. estructurada. 39

A continuacin te presentamos las actividades que debers realizar; en caso de dudas o problema. consulta a tu asesor. Actividades de aprendizaj. Recurso. Producto. Realiza una consulta bibliogrfic. sobre cmo es una instruccin d. asignacin de un valor a un. variable. Elabora fichas d. contenido sobre este tema. Investiga sobre la evaluacin d. expresiones y el uso de la. estructuras lgicas, elabora ficha. de contenido. Realiza los ejercicios 22, 23 y 24. Desarrolla la Prctica 4, que t. mostrar la aplicacin de lo. temas vistos hasta este momento. en el problema propuesto en l. situacin de aprendizaje. Realiza del ejercicio 1.2 al 1.11. De las actividades d. programacin resueltas (4.1 a l. 4.24), identifica el uso de la. estructuras lgicas. Realiza del ejercicio 4.2 al 4.10. Joyanes Aguilar, Luis. Fundamentos de programacin. pp. 27-29. Joyanes Aguilar, Luis. Op. cit.. pp. 17-29, 100-144. Manual de ejercicios y prcticas. Manual de ejercicios y prcticas. Joyanes Aguilar, Luis. Op. cit.. pp. 37 y 38. Joyanes Aguilar, Luis. Op. cit.. pp. 145-160. Joyanes Aguilar, Luis. Op. cit.. p. 160. Fichas de contenido sobr. las asignaciones de valores . datos variables. Fichas de contenido sobre l. evaluacin de expresiones . las estructuras lgicas. Ejercicios 22, 23 y 2. resueltos. Resolucin de la Prctica 4. Ejercicios resueltos. Identificacin de la. estructuras lgicas. Ejercicios resueltos. 3. ARCHIVO.

Objetivo. Identificar a los archivos como elementos de almacenamiento permanente de datos, mediante la revisi. de sus especificaciones y caractersticas tcnicas, para el desarrollo de soluciones que requieran est. herramienta. Un. archivo. se define como una estructura de datos que reside en memoria secundaria . dispositivo de almacenamiento, tales como disquetes, cd.s, discos duros y cintas magnticas. entre otros. Los archivos estn compuestos por registros y a su vez por un conjunto de datos, l os cuales s. pueden manipular de forma conjunta, en otras palabras, los registros se encuentr an conformado. por campos, que son datos especficos sobre algn conjunto de individuos u objetos. 40

Archivo de datos alumno. Registro 1Registro 2Registro 3Registro 4Registro 5Registro 6Nombre: Margarita Ir ra. Matrcula: 993211-AGrupo: 501 T.M. Capacitacin: InformticaCampos Cuando se disea la estructura de datos de un archivo se puede elegir diferentes f ormas par. organizarlo, dependiendo del uso que se le va a dar y del soporte utilizado (cin ta o disco). . continuacin te presentamos las tres formas de organizar los registros de un archi vo. Organizacin secuencial. Los registros se encuentran organizados en posiciones con secutivas. 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 reg istro. se colocan y se acceden al indicar el lugar que ocupan dentro del archivo. Organizacin indexada. Para definir esta organizacin es importante considerar tre. 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 qu. su valor no puede aparecer repetido en otro registro. c) rea de ndices: Es un archivo secuencial en el que cada registro establece la cl ave de u. registro del rea primaria y su ubicacin (direccin). De esta manera el sistema acced e d. forma directa a una direccin del rea primaria a partir del ndice. Para comprender m ejor est. 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 libr o en es. pgina. Una vez definida la organizacin de los registros del archivo, el siguiente paso e s hablar sobr. el. acceso a los registros almacenados, esto es, la forma en que accesaremos los reg istro. 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 sucesivo s hasta llega. al registro seleccionado. Este mtodo de acceso se puede utilizar con cualquier so porte . 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, si. accesar los registros anteriores. Ejemplo. A continuacin te presentamos la comparacin de los modos de acceso entre dos difere nte. soportes de almacenamiento. Las cintas o casetes de msica tienenEn cambio los CDs tienen un tipo deacceso alea torio, dado que para escuchar un tipo de acceso secuencial, ya qu. la cancin No. 5 bastar con direcciona. para escuchar la cancin No. 5 debe. esa cancin. El acceso es ms rpido e. recorrer la cinta a travs de la. este tipo de soporte, ya que no s. canciones 1, 2, 3 y 4. requiere accesar cancin por cancin. Hasta el momento hemos visto como se organizan y se accesan los archivos, ahora definiremo. los tipos de archivos. Archivos tipo binario. Son archivos que no tienen una estructura definida, slo pr ocesan l. informacin; generalmente se usan para copiar o mover archivos de estructura desco nocida . se requiere de protocolos o lenguajes especiales para codificar el contenido de s tos. Archivos tipo texto. Contienen datos de tipo carcter; este tipo de archivo consis te en varia. lneas que constan de un nmero variable de caracteres. El archivo puede leerse o es cribirse. ya sea lnea por lnea o carcter por carcter. Tambin puede ser accesado desde cualquie. editor de texto y programa de aplicacin especfica, como procesadores de palabras, etc.

Archivos tipo estructurado. Son Archivos que utilizan estructuras de datos simpl es y/. agrupadas, donde todos los elementos se encuentran relacionados entre s. El progr ama n. necesita traducir el contenido del archivo para entenderlo, ya que debe disponer de la estructur. definida. A partir de conocer qu tipos de archivos existen y la forma de accesarlos, podrs d efinir d. una forma ms simple el dispositivo de almacenamiento a utilizar y la estructura d e datos en e. pseudocdigo. 42

A continuacin se te presentan las actividades que debers realizar para cubrir con este tema. Actividades de aprendizaj. Recurso. Producto. Consulta acerca de los archivos . elabora una ficha de contenido. Elabora un cuadro sinptic. sobre la lgica que se sigue en l. organizacin y acceso a lo. registros de un archivo. Realiza un cuadro comparativ. que considere los diferentes tipo. de archivos, marcando su. caractersticas primordiales. Realiza los ejercicios 25 y 26. A partir de revisar y analizar l. situacin de aprendizaje, explic. por qu es conveniente utiliza. una metodologa d. programacin estructurada. Genera una ficha de contenido. Realiza del ejercicio 8.1 al 8.3. Joyanes Aguilar, Luis. Fundamentos de programacin. pp. 259-265. Joyanes Aguilar, Luis. Op. cit.. pp. 265-270. Joyanes Aguilar, Luis. Op. cit.. p. 287. Manual de ejercicios y prcticas. Situacin de aprendizaje. Joyanes Aguilar, Luis. Op. cit . p. 304. Ficha de contenido sobr. archivos. Cuadro sinptico sobre l. organizacin y acceso a lo. registros de un archivo. Cuadro comparativo sobr. los diferentes tipos d. archivos. Ejercicios 25 y 26 resueltos. Ficha de contenido con l. justificacin del uso de l. metodologa estructurada. Ejercicios resueltos. 4. OPERACIONES CON ARCHIVO. Objetivo. Identificar el uso y aplicacin de los archivos, mediante la revisin general de las operaciones que s. pueden llevar a cabo con ellos, para ser utilizados en soluciones que as lo requi eran.

Una vez almacenada la informacin en archivos, podrs manipularla al desarrollar hab ilidade. para crear, borrar, leer, escribir y procesar archivos. Mediante el uso y aplica cin de los archivo. podrs plantear soluciones en trminos de la programacin estructurada, manipulando lo . 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 aprendizaj. Recurso. Producto. Investiga sobre las operacione. bsicas que pueden realizarse co. los archivos, como son: creacin . eliminacin, lectura y escritura. Elabora una ficha de contenido. Elabora un cuadro sinptico co. las caractersticas tcnicas para e. acceso a la informacin de lo. archivos, que pueden ser. secuencial, relativa e indexada. Realiza los ejercicios 27, 28 y 29. Realiza la Prctica 5, que incluy. el manejo de los archivos en e. problema propuesto en l. situacin de aprendizaje. Realiza del ejercicio 8.4 al 8.8. Joyanes Aguilar, Luis. Fundamentos de programacin. pp. 270-278. Joyanes Aguilar, Luis. Op. cit.. pp. 265-270, 280-296. Manual de ejercicios y prcticas. Manual de ejercicios y prcticas. Joyanes Aguilar, Luis. Op. cit.. p. 304. Ficha de contenido sobre la. operaciones bsicas de lo. archivos. Cuadro sinptico con la. caractersticas tcnicas par. el acceso a la informacin d. los archivos. Ejercicios 27, 28 y 2. resueltos. Resolucin de la Prctica 5. Ejercicios resueltos. 44

45 QU HE APRENDIDO? A continuacin te presentamos una pequea evaluacin de esta unidad para que valores t us avances logrados hasta el momento. 1. Lee con atencin cada uno de las siguientes expresiones y coloca dentro del parn tesis la letra de la definicin que le corresponda. Expresiones Definicin ( ) Aritmticas. a) Permite realizar una serie de operaciones anidadas, a partir d e una expresin que utilice los conectores and, not y or. ( ) De relacin. b) Son operaciones de tipo matemtico, que permiten procesar la informacin de tal forma que se obtenga un valor. ( ) Lgicas. 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 p arntesis una V si es verdadera o una F si es falsa. ( ) Se pueden asignar valores equivalentes al tipo de dato que tiene la estructu ra 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 ident ificar a un registro. ( ) La organizacin relativa de un archivo tambin es conocida como organizacin indir ecta. ( ) La concatenacin establece que dado dos archivos con registros de igual estruc tura, 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 la s lneas segn su enumeracin. I. II. Expresin Ejecuta Mdulo Evalua Falsa Verdadera Bloque de instrucciones Ejecuta Identificador = Valor inicial Identificador = Valor final Incremento o decremento en el identificador

III. Entonce. IV. Ejecutamdulo 1Ejecutamdulo 2 Ejecut. Evalu. Verdader.

Verdader. Expresi.

Fals.

ExpresinCasoValor 1Valor 2Valor 3Valor 4Valor nEnEnEnEnEnEnVI. Instruccin 1Instruccin 2 Ejecut. Diferente a todos lo. anteriore. Instruccin . Ejecut. Ejecut. Ejecut. Ejecut. Ejecut.

Bloque d.

Expresi. instruccione.

Fals. Instruccin . . . . Instruccin .

Mdulo .

Mdulo . Mdulo . Mdulo . Mdulo . En otro cas. Otro Mdul.

. . . .. . I.-_______________________________. II.-______________________________. III.-______________________________. IV.-______________________________. V.-_______________________________. VI.-______________________________. 4. Lee cuidadosamente las siguientes preguntas y contstalas correctamente. a) b) c) d) Qu Qu Qu Qu es un es un es un tipos archivo de texto. archivo binario. archivo estructurado. de organizacin para archivos conoces.

5. Del problema 5 de la primera unidad ubicado en la seccin Qu he aprendido, define a nive. de pseudocdigo: los tipos de datos, las constantes y variables que requiere la so lucin. 46

47 QUIERO SABER MS Tomado de Curso de IBM de programacin. Introduccin a la programacin en 32 bits. (Mxi co, D.F.), nm. 1, p. 19.

QU VOY A APRENDER? QU VOY A APRENDER? ......... UNIDAD IVUNIDAD IVUNIDAD IVUNIDAD IVUNIDAD IV PROGRAMACIN ESTRUCTURADA INTERMEDI. Objetivo de la Unidad. Construir los mdulos requeridos para la solucin de problemas. mediante el uso de procedimientos y funciones, para hacer m. eficiente el desarrollo de las soluciones. Este es el momento de aplicar todo lo que has aprendido acerca de la metodologa d . programacin estructurada para la solucin de la situacin de aprendizaje, generando e . pseudocdigo necesario, al construir mdulos que realiza tareas especficas. Es importante notar que para sistematizar proceso(s) de trabajo se requiere de v arios 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 n ivel . un lenguaje mquina, siendo ste entendible por la computadora. Primeramente definiremos a los mdulos como procedimientos o funciones, su mbito pu ed. ser global o local, as como el uso de parmetros de valor o variable, segn las neces idades de. problema, definiendo las especificaciones de pseudocdigo. Analizaremos las libreras o unidades que pueden ser utilizadas para facilitar un proceso, y. que contienen ciertos procedimientos y/o funciones predefinidos por el lenguaje d.

programacin o definidos por el usuario. Veremos las ventajas de realizar impresio nes d. 48

reportes, a partir de definir su estructura y las especificaciones de pseudocdigo para el proces. de impresin y por ltimo, revisaremos brevemente la historia de los lenguajes de pr ogramaci. estructurados, para que ubiques que existe una variedad de lenguajes para codifi car t. pseudocdigo. A continuacin te presentamos el esquema de la unidad. Unidad IV. Programacin estructurada intermedi. ProgramacinestructuradaPseudocdigoUnidadesReportesProcedimientosFuncionesQuickPasc alCLenjuajes deprogramacinEstructuraImprimirPredefinidosDefinidos porel usuarioPr edefinidosDefinidas porel usuarioTieneespecificaciones deUtilizaCon unaQue se pu edenComoUtilizaQue tienenMdulosGlobalLocalFuncionesProcedimientosPredefinidosDefi nidos porel usuarioParmetrosVariablesValorVariablesGlobalesLocalesParmetrosVariabl esValorGlobalesLocalesPredefinidasDefinidas porel usuarioUtilizaDe tipoDe tipoCo moConConDeDeCreaDe tipoDe tipo 49

50 CMO APRENDO? 1. PROCEDIMIENTOS Y FUNCIONES Objetivo: Identificar el proceso de construccin de mdulos, mediante la aplicacin de los proce dimientos y funciones, para facilitar el desarrollo de las soluciones. Un mdulo permite realizar una tarea especfica, formando parte de la solucin total d el 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 c ual en ocasiones se usar el trmino mdulo y submdulo como sinnimos. Un pseudocdigo puede constar de varios mdulos. El mdulo principal siempre se encuen tra 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 pro grama, 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 sobr e la variable que se use como parmetro de entrada. Existen dos tipos de parmetro: de valor y variable, el primero nicamente se utiliz a como dato de referencia, es decir, puede cambiar de valor durante la ejecucin del proc edimiento, pero al trmino de ste el parmetro regresa a su valor original, mientras que el segu ndo 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. Se declaran de la siguiente forma: PROCEDIMIENTO Nombre (Parametro: tipo) PROCEDIMIENTO Nombre (VAR Parametro: tipo) Parmetros de entrada: Son valores en los que se basa la respuesta del procedimien to. La informacin fluye al submdulo desde el mdulo que hace la llamada. Estos parmetros siempre son de valor. Parmetros de entrada-salida: 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.

Los parmetros son el medio de comunicacin entre un mdulo que hace una llamada a un. que es llamado. Los valores que emplea el submdulo se pasan a dicho submdulo por m edi. de un parmetro, y las respuestas se regresan en un parmetro variable que puede ser e. mismo. Ejemplo. Procedimiento CocRes (Dividendo, Divisor: Integer; Var Cociente, Residuo: Intege r. COMIENZ. Cociente := Dividendo div Diviso. Residuo := Dividendo mod Diviso. TERMIN. Los parmetros dividendo y divisor se utilizan para pasar valores al procedimiento ; los parmetro. cociente y residuo regresan respuestas. En este ejemplo, dividendo y divisor son parmetros por valor, cociente y residuo son parmetro. variables. Funcione. Existen diversas funciones predefinidas, de tal forma que el usuario solamente l as invoca. marcando los parmetros necesarios para su ejecucin. Tambin se permite que el usuario defina sus funciones segn las necesidades de su p roblema. por lo general usamos una funcin para realizar una tarea cuya finalidad es la de calcular u. valor; una funcin se invoca incluyndola como parte de la expresin, a menudo en un. instruccin de asignacin. Las funciones se definen de la siguiente forma. FUNCION Nombre: tip. Donde .Nombre. ser el identificador que le asignemos a una funcin y .tipo. ser el v

alo. devuelto por la funcin. Otro formato es. FUNCION Nombre (Parametros): Tip. 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 s e coloc. dicho valor en el nombre de la funcin, mediante una asignacin. 51

PASOS PARA ESCRIBIR UN MDUL. 1. Identificar la tarea que realizar. Determinar si se utilizar una funcin o un proced imiento. Elegir un nombre del mdulo y determinar el tipo (real, carcter, lgico, etc.) si va a ser un. funcin. 2. Decidir qu parmetros se emplearn. Determinar si se usarn parmetros de valor . variables. 3. Idear un plan para el mdulo. Esto puede implicar la identificacin de otras subtare as. S. debern generar un algoritmo para ejecutar las acciones que se requieran y una lis ta d. variables locales (el algoritmo de una funcin debe incluir la asignacin de un valo r a. nombre de la funcin). 4. Escribir el mdulo. El primero y segundo pasos que se citaron antes proporciona. informacin para la lnea del encabezado. El tercer paso proporciona las declaracion es d. variables locales y el cuerpo del mdulo. Razones para escribir mdulo. Existen varias razones para utilizar mdulos, sin embargo solo te explicaremos las m. representativas. Repeticin. Cuando se requiere que una tarea se ejecute varias veces dentro del mi sm. pseudocdigo, el uso de un procedimiento o funcin evita que se tengan que escribir esto. pasos varias veces en l y si se usan los parmetros correctos, hasta se podran unifi car varia. tareas casi idnticas en un solo mdulo. Uso Universal. Algunas tareas son idnticas para varios problemas, por lo que se p uede. escribir procedimientos o funciones que podran ser ocupados en varios programas, a. homogeneizar las soluciones, utilizando los parmetros correctos. Trabajo en equipo. Dado que la programacin estructurada utiliza tcnicas de segment acin.

permite que el programa se divida en mdulos, de tal forma que un equipo de trabaj o d. programacin se pueda dividir estos para generar los algoritmos correspondientes. Modularidad. El uso de mdulos permite dividir un problema en partes ms pequeas . manejables. Esto facilita la elaboracin y mantenimiento del sistema generado. La modularida. permite enfocar la atencin en la tarea especfica a realizar, permitiendo tener una interpretaci. ms sencilla del programa. Una tcnica que nos apoya a modular un programa es la tcnica de Top-Down, la cual p ermit. que una tarea compleja sea descompuesta en subtareas ms simples y, por ende, ms fci les d. resolver. Es importante marcar que un mdulo puede invocar a su vez a otros submdul os. siempre y cuando los primeros sean de mayor jerarqua y en relacin directa con el md ul. llamado. 52

Generalidades de los mdulo. 1. Los mdulos pueden declarar variables propias, pero no se puede tener acceso a stas fuer. 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. N. utilices variables globales sin meditar su alcance, ya que esto provocara un desp erdicio d. 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 lug ar d. 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 v alo. a un nombre de un procedimiento. 7. El valor de una variable local calculado en una funcin debe ser asignado al nombr e de l. funcin. Unidade. Una unidad es un conjunto de mdulos que pueden ser utilizados para diferentes pro gramas. son independientes de los pseudocdigos que las utilizan, y forman una entidad ind ependient. con sus propias reglas de implementacin. Las unidades tienen gran importancia, ya que gracias a ellas podemos ahorrar pse udocdigo. que sean de considerable tamao; teniendo la particularidad de que las unidades so . independientes del pseudocdigo que las use, y pueden ser compiladas y modificadas si. modificar los pseudocdigos que hacen la llamada. Cada mdulo de una unidad puede referenciarse dentro de un programa tantas veces c omo se.

necesario, aunque desconozcamos el pseudocdigo de dicho mdulo. Para generar una unidad utilizable, tendremos que compilarla o generar la traduc cin a lenguaj. mquina en un medio de almacenamiento, despus de codificarla en un lenguaje d. programacin. Antes de empezar a hablar sobre reportes y lenguajes de programacin estructurada, consider. los siguientes conceptos generales sobre la programacin. Conceptos Generales de programacin. Conceptos generales de programaci. Lenguajes d. programaci. Son los ambientes utilizados para escribir programas d. computadoras que puedan ser entendidos por ellas. Se dividen en tres categoras: mquina, bajo nivel y alto nivel. Lenguaje mquin. Es aquel cuyas instrucciones son directamente entendible. por la computadora y no necesitan traduccin posterior par. que la computadora pueda comprender y ejecutar e. programa. Lenguaje de alto nive. En ste las instrucciones o sentencias para la computador. son escritas con palabras similares al lenguaje cotidiano. 53

Lenguaje de bajo nive. (Ensamblador. Este lenguaje depende de un conjunto de instruccione. especficas de la computadora. Las instrucciones se escriben e. cdigos alfabticos conocidos como mnemotcnicos. Compilado. Traduce de un lenguaje de alto nivel a lenguaje mquina. mediante un traductor llamado compilador, el cual verifica qu. todo el cdigo fuente est correcto y posteriormente traduce. permite que la ejecucin del programa sea ms rpida. Intrpret. Traduce de lenguaje de alto nivel a lenguaje mquina, mediant. un traductor llamado intrprete, el cual traduce lnea por lne. y al mismo tiempo la ejecuta, si en algn momento encuentr. algn error, la ejecucin del programa se detiene; por la form. de ejecucin este tipo de traductor es ms lento. Program. Conjunto de instrucciones que tienen una secuencia lgica par. realizar un propsito y que estn escritas en algn lenguaje d. programacin; es la codificacin del pseudocdigo en u. lenguaje de programacin. Algoritm. Se deriva de la traduccin al latn de la palabra rab. Alkhowarizmi, nombre de un matemtico y astrnomo rabe qu. escribi un tratado sobre manipulacin de nmeros . ecuaciones en el siglo IX. Un algoritmo es un mtodo para resolver un problem. mediante una serie de pasos precisos, definidos, lgicos . finitos. A continuacin se presentan las actividades que debers realizar; en caso de cualqui er duda . problema consulta a tu asesor. Actividades de aprendizaj. Recurso. Producto. Realiza una consulta bibliogrfic. sobre subprograma. (procedimientos y funciones). describiendo el proceso d. construccin y aplicacin. Realiza los ejercicios 30 y 31. Investiga la utilidad de utiliza. variables y constantes en u. mbito local (objetos locales) . global (objetos globales) en lo. procedimientos y funciones. Genera un cuadro comparativ. entre procedimientos y funciones. Joyanes Aguilar, Luis. Fundamentos de programacin. pp. 163-177. Manual de ejercicios y prcticas. Joyanes Aguilar, Luis. Op. cit.. pp. 178-181. Ficha sobre procedimientos .

funciones. Ficha de contenido sobr. subprogramas. Ejercicios 30 y 31 resueltos. Ficha de contenido sobre lo. mbitos global y local. Cuadro comparativo entr. procedimientos y funciones. 54

Realiza un resumen sobre lo. parmetros, indicando s. definicin, clasificacin. codificacin y el paso d. parmetros. Elabora un cuadro comparativ. entre los parmetros de valor . los parmetros variables o d. referencia. Realiza los ejercicios 32, 33 y 34. Realiza la lectura de la pgin. sugerida y contesta las siguiente. preguntas. Cul es la sintaxis para crear un. unidad en Turbo Pascal. Qu tipo de unidades estnda. maneja Turbo Pascal. Realiza del ejercicio 5.1 al 5.10. Realiza el ejercicio 35. Realiza la Prctica 6, que incluy. el manejo de las funciones . procedimientos en el problem. propuesto en la situacin d. aprendizaje de esta asignatura. Joyanes Aguilar, Luis. Op. cit.. pp. 181-197. Ficha de contenido sobre lo. parmetros. Manual de ejercicios y prcticas. Joyanes Aguilar, Luis. Op. cit.. p. 185. Joyanes Aguilar, Luis. Op. cit.. p. 202. Manual de ejercicios y prcticas. Manual de ejercicios y prcticas. Ficha de contenido acerca d. parmetros. Cuadro comparativo sobr. parmetros de valor . variable. Ejercicios 32, 33 y 3. resueltos. Preguntas resueltas. Ejercicios resueltos. Ejercicio 35 resuelto. Resolucin de la Prctica 6. 2. IMPRESIN DE REPORTE. Objetivo. Identificar el pseudocdigo asociado a la impresin general de un reporte, mediante la revisin de. proceso de impresin, para ejemplificar una aplicacin con procedimientos y funcione s.

Reporte. En algunos casos no es suficiente tener la informacin almacenada en disco o prese ntada e. pantalla, ya que para poder consultarla requeriremos forzosamente de la computad ora, si. embargo, si generamos un documento impreso con dicha informacin nos facilitar la t area. Es por esto que identificaremos a los reportes como la visualizacin impresa de la informaci. procesada. Todo reporte comprende una serie de apartados o regiones, que se exti ende. horizontalmente a travs de la pgina y abarcan una o ms lneas impresas. Explicaremos . continuacin siete tipos de apartados, cada uno de los cuales se utiliza para impr imir l. informacin en una secuencia determinada en el reporte. 55

Introduccin del reporte. Informacin que va al inicio del reporte, como: ttulo, port ada d. pgina o un texto introductorio. Encabezado de pgina. Informacin impresa al principio de cada pgina como nmero d. pgina, fecha, ttulo de la pgina y los encabezados de las columnas. No se incluye en l. introduccin del reporte. Grupo. Si la informacin se puede catalogar con base a un campo clave, entonces po demo. crear grupos que contengan ciertos criterios. Cuerpo. Es la impresin de la informacin del archivo bajo ciertos criterios, presen tada e. columnas segn el campo indicado en los encabezados de pgina. Lnea de subtotales. Informacin impresa al final de cada grupo, tal como subtotales y dato. 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 estadstico. de resumen o la conclusin del reporte. En un lenguaje de programacin se necesita forzosamente definir la salida de los d atos en la. posiciones de la hoja, de tal forma que tendremos que direccionar la salida en l a impresora. Dado que cada hoja tiene un cierto nmero de filas o lneas, tendremos que definir u n mdul. que lleve el conteo de lneas para detectar el final de la hoja y realizar el salt o de pgina. A continuacin se te presentan las actividades que debers realizar para cubrir con este tema. Actividades de aprendizaj. Recurso. Producto. Investiga sobre los reportes y s. estructura. Realiza una consulta bibliogrfic. sobre contadores y acumuladores. para apoyar el salto de pgina. Realiza el ejercicio 36. Realiza la Prctica 7, que incluy.

el mdulo de impresin en e. problema propuesto en l. situacin de aprendizaje de est. asignatura. Enciclopedia Encarta. Joyanes Aguilar, Luis. Fundamentos de programacin. pp. 73-83. Manual de ejercicios y prcticas. Manual de ejercicios y prcticas. Ficha de contenido sobr. reportes. Ficha de contenido sobr. contadores y acumuladores. Ejercicio 36 resuelto. Resolucin de la Prctica 7. 56

3. LENGUAJES DE PROGRAMACIN ESTRUCTURAD. Objetivo. Identificar los lenguajes de programacin estructurada que existen actualmente, me diante la revisi. general de sus caractersticas, para familiarizar al estudiante con el nombre de v arios lenguajes d. programacin. Es importante que conozcas que existen una gran variedad de lenguajes de program acin, e. funcin del programador seleccionar el lenguaje que utilizar para condificar su pse udocdig. valorando las necesidades y caractersticas de la solucin. A continuacin te presentamos la historia de algunos lenguajes de programacin estru cturada. Una historia breve de Pascal y Turbo Pasca. A principios de los aos 70 y tras los estudios efectuados en la dcada anterior en la realizaci. del lenguaje ALGOL-68, Niklaus Wirth, un profesor del Eidgenossische Technische Hochschul. (Instituto Tecnolgico) de Zurich (Suiza), diseo Pascal, un lenguaje concebido para l. enseanza de tcnicas de programacin a estudiantes universitarios, que con el correr de lo. tiempos se ha convertido en estndar del mundo de la programacin. El objetivo fundamental de su creador fue desarrollar un lenguaje que permitiera .ensea. programacin como una disciplina sistemtica basada en determinados concepto. fundamentales.. Estos conceptos se reflejan de modo claro y natural en el lengua je. En 1983 aparece en el mercado norteamericano -comercializado por Borland interna tional. Inc.- un compilador de Pascal denominado Turbo Pascal; la caracterstica ms notable , s. precio reducido: $49.95 (dlares). Los programadores profesionales lo compraron ma sivamente. pues no slo funcionaba, sino que compilaba y corra -ejecutaba- programas ms rpidamen t. que cualquier otro compilador del mercado. En aos sucesivos aparecieron las versi ones 2.0. 3.0, 3.1 y 3.2. Su xito se deba a la facilidad de edicin, compilacin y ejecucin: cons titua po. s mismo un entorno de programacin: editor, compilador y depurador integrados; tena

un. 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 lo s 64. incorporando a su vez los mens desplegables, adems ofreca un gran nmero de mejoras . novedades en lo que concierne al confort y al entorno de programacin. Compilador con editor incorporado similar a las versiones anteriores, pero renov ado (men. 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 consi gui mediant. la creacin de mdulos que se diseaban con unidades (unit). Cada unidad puede ser com pilad. separadamente. A finales de 1988 aparece en Estados Unidos la versin 5.0 que, entre otras noveda des, ofrec. un entorno de desarrollo. Entrado el ao 1989 aparece la versin 5.5, idntica a la 5. 0, con un. importante excepcin: incorpora facilidades para realizar programacin orientada a o bjeto. 57

(OOP, Object-Oriented Programming), metodologa de programacin clsica pero poc. utilizada, que, sin duda, es la clave en el desarrollo de la Ingeniera del Softwa re. Turbo Pascal corre sobre computadoras PC, inclus. Apple; es una herramienta de programacin s. facilidad de aprendizaje. Por esta razn, educacin y e. el profesional. Desde Institutos y Liceos rias. Historia de . Comenzaremos diciendo que C no est atado a ningn sistema operativo. Este entorno d . desarrollo ha dado a C la reputacin de ser un lenguaje de programacin de sistemas porqu. es til para escribir compiladores y sistemas operativos. UNIX fue desarrollado originalmente en 1969, en lo que ahora sera considerado un peque. DEC PDP-7; por su diseo se pretenda que este sistema operativo fuera amigable para e. programador, ofreciendo herramientas de desarrollo tiles, rdenes claras y un entor n. relativamente abierto. Poco despus del desarrollo de UNIX, Ken Thompson implemento un compilador para u. nuevo lenguaje llamado B. Thompson estaba intentando simplificar ms el CPL, sin e mbargo. tanto BCPL como B, se convirtieron en lenguajes limitados, tiles solamente para c ierta. clases de problemas. As, poco despus apareci una mquina, el PDP-1. UNIX y el compilador B fueron traslada do. a est mquina, pero an resultaba bastante pequeo comparado con los equipos actuales. E. 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 e. lenguaje a elegir para el diseo de software de sistemas. C es un lenguaje relativ amente de baj. nivel, que permite especificar cada detalle en la lgica de un algoritmo para logr ar la mxim. eficiencia de la computadora. Pero C es tambin un lenguaje de alto nivel que pued e ocultar lo. detalles de la arquitectura de la computadora, incrementando as la eficiencia de AT, XT, PS/2, 286, 386, 486, Pentium e muy potente que tiene adems la virtud de sirve indistintamente en el campo de la hasta Escuelas y Facultades Universita

la programacin. A continuacin se presenta la actividad que debers realizar; en caso de cualquier d uda . problema consulta a tu asesor. Actividades de aprendizaj. Recurso. Producto. Investiga las caractersticas de lo. siguientes lenguajes d. programacin: Q. Basic, Quic. Basic y Visual Basic, Pascal y C. los cuales son de alto nivel. Joyanes Aguilar, Luis. Fundamentos de programacin. pp. 9-11. Fichas de contenido sobr. los lenguajes d. programacin estructurada. 58

59 QU HE APRENDIDO? A continuacin te presentamos una pequea evaluacin de esta unidad para que valores t us avances logrados hasta el momento. 1. Lee con atencin cada uno de los siguientes conceptos y coloca dentro del parnte sis la letra de la definicin que le corresponda. Concepto Definicin ( ) Procedimiento. a) Se definen segn las necesidades del problema, utilizndose un mdulo que sirva para calcular un valor nico. ( ) Funcin. b) Son datos de entrada al procedimiento, cuyas operaciones internas pueden repercutir o no sobre la variable que se use de entrada. ( ) Parmetro. c) Permite realizar una tarea especfica, formando parte de la solucin total del problema. 2. Lee con atencin cada una de las siguientes proposiciones y coloca dentro del p arntesis 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 ut iliza. ( ) 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, elabo ra el pseudocdigo correspondiente a los mdulos descritos en el diagrama de Top-Down que desarrollaste.

60 QUIERO SABER MS Tomados de Curso de IBM de programacin. Introduccin a la programacin en 32 bits. (Mx ico, D.F.), nm. 1, p. 13.

QU VOY A APRENDER? QU VOY A APRENDER? ........ UNIDAD VUNIDAD VUNIDAD VUNIDAD VUNIDAD V PROGRAMACIN ORIENTADA A OBJETO. Objetivo de la Unidad. Aplicar los conceptos bsicos de la programacin orientada . objetos en la solucin de problemas elementales, mediante l. especificacin de la estructura de datos y las operaciones . realizar, para desarrollar el pseudocdigo requerido. La programacin estructurada plantea que un problema se puede dividir en problemas m. simples y la suma de la solucin de cada problema resuelve el problema en general, a esto s. conoce modularizacin. El criterio de modulacin de un problema es identificar tareas similares o especfic as, de ta. forma que un fragmento de pseudocdigo lo pueda resolver; dicho fragmento lo descr ibiremo. 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 u tiliza, y. que un mdulo que no tiene relacin directa con el que realiza cierta tarea no podr s er llamado. esto nos lleva a la siguiente afirmacin. Una mala modularizacin implica una mala resolucin del problema implicando un mal u so d. una metodologa de programacin estructurada. La unidad o librera no es ms que un mdulo externo que realiza una serie de tareas b ie. definidas, las cuales pueden ser referenciadas por cualquier pseudocdigo que las requiera; y. que generalmente siempre se desea la impresin de la informacin procesada, explicar emos l. forma de definirlo a nivel de pseudocdigo. En la actualidad existen varios lenguajes de programacin con una tendencia estruc turada. por lo cual consideramos importante que conozcas algunos de ellos. Actualmente l a metodolog. de programacin orientada a objetos es la ms usada para generar aplicaciones grficas , y. que al definir una estructura de datos de tipo objeto, la podremos manipular al

definir un. 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 dato. estructurados, las operaciones y los mtodos asociados a ellos, de tal forma que a l selecciona. 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 act ualmente l. tendencia de programacin es hacia objetos. 61

Identificars la metodologa de la programacin orientada a objetos para desarrollar s olucione. a problemas especficos; de igual modo revisars algunos lenguajes de programacin con est. tendencia. A continuacin te presentamos el siguiente esquema de la unidad. Unidad V. Programacin orientada a objeto. Tien. especificacione. PseudocdigoClaseDatos estructuradosObjetoSubclaseMtodosOperacionesdePertenece a un aoUtilizaUtilizaRealiza ciertas 62

63 CMO APRENDO? 1. ESPECIFICACIONES PARA EL PSEUDOCDIGO Objetivo: Identificar el pseudocdigo requerido para describir la solucin en trminos de la pro gramacin orientada a objetos, a travs de revisar la forma de declarar las clases, subclases, estruct ura 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 d atos 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: Donde cada uno de los objetos responde a los mensajes que enva el usuario en form a de teclas oprimidas o clics de ratn y cosas distintas sucedern dependiendo de cul es el objet o que se apunta cuando se enva un mensaje. Los objetos encapsulan datos y procedimientos en una sola entidad y pueden ser c onsiderados 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 co mponentes en el mundo real. Las clases equivaldran en la programacin estructurada a la declaracin de tipos de d atos, un mensaje es una llamada entre objetos y un mtodo es la serie de instrucciones que realiza el objeto al ser llamado. Botones Barra de desplazamiento Cajas de chequeo

Un objeto combina estructura y comportamiento en una simple entidad. El trmino or ientad. a objetos significa que organizamos el software como una coleccin de objetos desc ritos qu. incorporan tanto estructura como comportamiento. Los lenguajes de programacin orientado a objetos, son tiles al remover restriccion es debid. a la inflexibilidad de los lenguajes tradicionales. El desarrollo orientado a ob jetos e. fundamentalmente una nueva forma de pensar y no una revisin de programacin. A continuacin se presentan las actividades que debers realizar; en caso de cualqui er duda . problema consulta a tu asesor. Actividades de aprendizaj. Recurso. Producto. Elabora una ficha de contenid. sobre la programacin orientad. a objetos. Realiza una consulta bibliogrfic. sobre los atributos . caractersticas de los objeto. (objetos, datos estructurados . mtodos). Elabora una ficha d. contenido. Investiga sobre las operacione. bsicas entre objetos. Realiza u. cuadro sinptico. Realiza el ejercicio 37. Joyanes Aguilar, Luis. Op. Cit p.p. 70-7. Joyanes Aguilar, Luis. Op. Cit p.p. 76-83. 88-9. Joyanes Aguilar, Luis. Op. Cit p.p. 20-23, 91-9. Manual de ejercicios y prcticas. Ficha de contenido sobre l. programacin orientada . objetos. Ficha de contenido sobre la. caractersticas de l. programacin orientada . objetos. Cuadro sinptico sobre la. operaciones bsicas entr. objetos. Ejercicio 37 resuelto. 2. PROCESO PARA EL DESARROLLO DE SOLUCIONE. Objetivo.

Comprender la metodologa de la programacin orientada a objetos, mediante la revisin de cada un. 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 requerimie ntos de. usuario sobre lo que realizar el sistema y no como lo har. Un buen modelo puede se r entendid. y criticado por expertos de la aplicacin que no son programadores. Abstraccin. Consiste en enfocar aspectos esenciales de una entidad e ignorar las propiedade. accidentales. Diseo del sistema. El objetivo es organizar en subsistemas basados en la estructu ra de. anlisis y la arquitectura propuesta. 64

Diseo de objetos. El diseador adiciona detalles al modelo del diseo de acuerdo a la estrategi. establecida durante el diseo del sistema. Implementacin. La programacin debe ser relativamente menor y una parte mecnica de. ciclo de desarrollo, porque las decisiones difciles deben hacerse durante el diseo . Mtodo. Un mtodo es la implementacin de una operacin para una clase. Sin embargo, cada mtod. 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: nombr e de la clase. lista de atributos y lista de operaciones. Cada nombre de atributo puede ser dis tinguido po. detalles opcionales. Tales como lista de argumentos y tipos resultados. Sugerencias prcticas. No inicies la construccin de un modelo de objetos solamente juntand. clases, asociaciones y herencia. Primero debes entender el problema y resolverlo . El contenid. de un modelo de objetos se da por la relevancia de la solucin. Busca hacer tu mod elo simple. evita complicaciones. Selecciona los nombres de los objetos cuidadosamente, ya q ue deben se. descriptivos. Seleccionar nombres apropiados es uno de los ms difciles aspectos de l modelad. de objetos. A continuacin te presentamos los objetos predefinidos de Visual Basic, as como los atributo. y los sucesos referidos a un evento u operacin del objeto. Atributos del bot.

Objetos predefinido.

Bot. Botn de opci. 65

Procedimiento de suces. SucesoCodificacin de lasecuencia deacciones que realizaen objeto. A continuacin se te presentan las actividades que debers realizar para cubrir con este tema. Actividades de aprendizaj. Recurso. Producto. Investiga sobre la forma d. asignar un procedimiento d. sucesos para objetos predefinidos. Realiza una consulta bibliogrfic. sobre el proceso que se requier. para desarrollar soluciones. utilizando una metodologa d. programacin orientada a objetos. Define etapas. Realiza una fich. de contenido. Realiza el ejercicio 38. Joyanes Aguilar, Luis. Op. Cit, p.p. 87. Joyanes Aguilar, Luis. Op. Cit, p.p. 544-55. Manual de ejercicios y prcticas. Ficha de contenido sobr. procedimiento de sucesos d. un objeto. Ficha de contenido sobre la. etapas para desarrolla. soluciones con un. metodologa d. programacin orientada . objetos. Ejercicio 38 resuelto. 66

3. LENGUAJES DE PROGRAMACIN ORIENTADA A OBJETO. Objetivo. Identificar los lenguajes de programacin orientada a objetos que existen actualme nte, mediante l. revisin general de sus caractersticas, para familiarizar al estudiante con el nomb re de varios lenguaje. de programacin. Existe una gran gama de lenguajes de programacin que tienen esta tendencia de pro gramaci. orientada a objetos, dado que es un lenguaje donde el programador puede crear ap licacione. 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 l enguaje. permitiendo que un lenguaje estructurado como lo es Turbo Pascal, incorpore en e ste moment. herramientas para poder programar a un nivel de objetos. Algunos lenguajes de pr ogramaci. 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 d uda . problema consulta a tu asesor. Actividades de aprendizaj. Recurso. Producto. Investiga sobre los principale. lenguajes de programacin orientad. a objetos. Elabora un cuadr. comparativo. Joyanes Aguilar, Luis. Op. Cit pp. 5-6, 24-32. Cuadro comparativ. entre lenguajes d. programacin orientada . objetos. 67

68 QU HE APRENDIDO? A continuacin te presentamos una pequea evaluacin de esta unidad para que valores t us avances logrados hasta el momento. 1. Lee con atencin cada uno de los siguientes conceptos y coloca dentro del parnte sis la letra de la definicin que le corresponda. Concepto Definicin ( )Clase. a) Cuando en clases diferentes, la misma operacin se comporta de manera diferente. ( )Objeto. b) Es compartir los atributos y operaciones entre clases basadas en una relacin. ( )Herencia. c) Conjunto de objetos con propiedades similares, comportamiento y semntica comn. ( )Polimorfismo. d) Es la abstraccin de los entes o seres vivos y las cosas inert es del mundo real. 2. Lee con atencin cada una de las siguientes proposiciones y coloca dentro del p arntesis una V si es verdadera o una F si es falsa. ( ) La programacin orientada a objetos es una tcnica para el desarrollo de softwar e ms amigable con el usuario. ( ) Smalltalk, Turbo Pascal y C++, no son lenguajes de programacin orientada a ob jetos. ( ) Los objetos que comparten ciertas caractersticas se pueden agrupar en colecci ones. ( ) 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 mode lado 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) Qu es un objeto? b) Cul es la filosofa de la programacin orientada a objetos? c) Qu es un suceso? d) Cmo se asocia un objeto a un procedimiento de suceso? e) Cules son los atributos de un objeto? 5. Del problema 5 de la primera unidad ubicado en la seccin Qu he aprendido, defin e qu datos y procedimientos se requieren para tratar como objetos al estacionamiento, al chofer y al registro de entradas.

69 QUIERO SABER MS Tomados de Curso de IBM de programacin. Introduccin a la programacin en 32 bits. (Mx ico, D.F.), nm. 1, pp. 16-20.