LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y...

69
C O N L A C O L A B O R A C I Ó N D E L u is G a b r i e l M o n d r a g ó n T o r r e s Cuadernillo de procedimientos para el aprendizaje ( V e r s ió n p a r a f a s e i n i c i a l ) LÓGICA COMPUTACIONAL Y PROGRAMACIÓN

Transcript of LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y...

Page 1: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

1

CON LA COLABORACIÓN DE Luis Gabriel M ondragón Torres

C uadernil lo de p ro cedim ien tos para el aprend iza je

(Ver sión para fase in ic ial)

LÓGICA COMPUTACIONALY PROGRAMACIÓN

Page 2: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

2

LÓGICA COMPUTACIONAL Y PROGRAMACIÓNCuadernillo de procedimientos para el aprendizaje1999. Secretaría de Educación Pública/ Dirección General del BachilleratoCOSTO DE RECUPERACIÓN $ 12.00

Page 3: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

3

ÍNDICE

Presentación............................................................................................................................................................ 5

UNIDAD I. Lógica computacional................................................................................................................. 81. Conceptos generales........................................................................................................................................... 122. Programación lineal........................................................................................................................................... 143. Programación estructurada.............................................................................................................................. 164. Programación orientada a objetos.................................................................................................................. 18¿Qué he aprendido?................................................................................................................................................ 20Quiero saber más..................................................................................................................................................... 23

UNIDAD II. Estructura de datos.................................................................................................................... 241. Datos...................................................................................................................................................................... 262. Conjuntos.............................................................................................................................................................. 273. Registros................................................................................................................................................................ 284. Arreglos................................................................................................................................................................. 29¿Qué he aprendido?................................................................................................................................................. 32Quiero saber más..................................................................................................................................................... 33

UNIDAD III. Programación estructurada básica..................................................................................... 341. Declaración de las estructuras de datos......................................................................................................... 362. Operaciones básicas............................................................................................................................................ 383. Archivos................................................................................................................................................................. 404. Operaciones con archivos.................................................................................................................................. 43¿Qué he aprendido?................................................................................................................................................ 45Quiero saber más..................................................................................................................................................... 47

UNIDAD IV. Programación estructurada intermedia............................................................................. 481. Procedimientos y funciones............................................................................................................................... 502. Impresión de reportes........................................................................................................................................ 553. Lenguajes de programación estructurada..................................................................................................... 57¿Qué he aprendido?................................................................................................................................................. 59Quiero saber más..................................................................................................................................................... 60

UNIDAD V. Programación orientada a objetos......................................................................................... 611. Especificaciones para el pseudocódigo........................................................................................................... 632. Proceso para el desarrollo de soluciones....................................................................................................... 643. Lenguajes de programación orientada a objetos......................................................................................... 67¿Qué he aprendido?................................................................................................................................................. 68Quiero saber más..................................................................................................................................................... 69

Page 4: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

4

Page 5: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

5

PRESENTACIÓNLÓ

GIC

A C

OM

PU

TAC

ION

AL

Y P

RO

GR

AM

AC

IÓN

En el marco del Bachillerato General, la Capacitación en Informática tiene comofinalidad brindarte un acercamiento al campo laboral, a través de desarrollarprocesos de trabajo tales como uso de aplicaciones de tipo general o específico,diseño de sistemas y bases de datos, así como el manejo de redes y la lógicacomputacional para plantear soluciones a problemas relacionados con la informática.

Al egresar de esta capacitación podrás operar como el enlace entre usuarios desistemas de información y computadoras personales o conectadas en red, utilizandoprogramas de aplicación general o específica. De igual modo, podrás implementarsistemas elementales de información utilizando técnicas de análisis y diseño desistemas, bases de datos relacionales y herramientas de programación.

La Informática ha avanzado a pasos gigantescos en la última década, de tal formaque los grandes equipos de cómputo que consumían enormes cantidades de energía,ahora se han convertido en computadoras portátiles con baterías recargables delarga duración. A la par de esta evolución del hardware ha evolucionado tambiénel software, definiéndose aplicaciones con interfaces cada vez más amigables con elusuario. Esta evolución se ha dado al tratar de acercarnos cada vez más a los procesosque se realizan en nuestra vida cotidiana para resolver problemas de cualquieríndole.

La asignatura de Lógica Computacional y Programación es vital para entenderque la elaboración del software requiere que el programador tenga un pensamientológico, razonado y sistemático, para plasmar dichos procesos de uso cotidiano ensentencias entendibles por la computadora y, por ende, la utilización de ésta comoun medio electrónico para realizar tareas. Conforme vayas avanzando en el estudiode esta asignatura, te darás cuenta que no es fácil desarrollar soluciones prácticasen el primer intento, ya que para lograrlo necesitarás aplicar las metodologíaspara la solución de problemas presentadas en este curso, encontrando así, cada vezque resuelvas un problema, mayor facilidad para planear buenas soluciones.

Esta asignatura no sólo te ayudará a resolver problemas de informática, tambiénte dará elementos para resolver problemas escolares o de tu vida cotidiana,permitiéndote lograr una mejor organización en tus actividades diarias. Laasignatura de Lógica Computacional y Programación pretende brindarte loselementos teóricos-prácticos de la metodología estructurada, para desarrollarformas de pensamiento lógicas que requiere esta disciplina, por lo cual se considerauna de las asignaturas básicas de la Capacitación.

En esta asignatura revisaremos temas relacionados con metodologías para resolverproblemas simples y complejos, de tal forma que desarrolles habilidades que tepermitan planear soluciones alternativas a las propuestas en las prácticas. Lainformática nace como una solución para resolver problemas que requieran realizarmuchas operaciones, de tal forma que se definen ciertos lenguajes de programaciónpara escribir instrucciones que la computadora entienda, es decir, un lenguajemáquina. En un principio los lenguajes de programación llamados de «bajo nivel»se acercaban mucho al lenguaje máquina, tal es el caso del lenguaje ensamblador;posteriormente fueron evolucionando dichos lenguajes a un lenguaje más coloquial,

Page 6: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

6

por lo cual se requirió de un traductor a lenguaje máquina, dichos lenguajes se conocen como lenguajesde programación de «alto nivel».

A partir de esta evolución es como surgen las diferentes metodologías de programación, empezandopor la programación lineal, la cual resuelve problemas simples de una forma secuencial. Con el pasodel tiempo se ha visto que esta metodología no siempre permite generar programas grandes o complejosde una forma organizada, ya que el programador puede perder la secuencia lógica del programa alrevisar los códigos generados para resolver dichos problemas. Es así como surge la propuesta de unanueva metodología orientada a resolver problemas grandes de una forma estructurada, al segmentarun problema en problemas más simples, programando soluciones específicas para cada segmento omódulo. Es así como la programación estructurada permitió por primera vez realizar grandesprogramas de cómputo organizados y estructurados, fáciles de leer y corregir, esta metodología siguevigente hasta nuestros días.

Al empezar a implementarse aplicaciones de tipo gráfico diseñadas en un lenguaje de programaciónlineal o estructurado, se ve la necesidad inminente de evolucionar nuestras metodologías deprogramación a un lenguaje de programación que permita generar objetos gráficos, los cuales realicentareas específicas al operarlos de formas diferentes, pero sin perder de vista la modularidad de losprocesos. Es así como surge la programación orientada a objetos, la cual se fundamenta en unametodología de programación estructurada.

Actualmente, la tendencia es a una metodología de programación orientada a eventos, ya que en éstaúnicamente definimos los procesos para los objetos ya definidos por el lenguaje de programación y noen sí al objeto, facilitando enormemente la tarea de diseñar objetos.

Las unidades están constituidas por las siguientes secciones:

¿Qué voy aprender? En este apartado encontraremos los propósitos y los objetivos de cada una delas unidades didácticas. Es muy importante que tengas en mente lo que vas a lograr con el estudio delos temas del programa, tener claridad de la meta es fundamental para poder utilizar las herramientasde que disponemos para llegar a ella. Con la intención de presentarte un proceso de trabajo, en laprimera unidad se describe el planteamiento de una situación laboral �real�, la cual llamaremos situaciónde aprendizaje. Durante el desarrollo de toda la guía se harán referencias al Manual de Ejercicios yPrácticas, en donde se presentará la solución parcial de dicha situación; la parte faltante te corresponderádesarrollarla. También debes desarrollar las prácticas, ya que ellas te darán los elementos de modelajeen la solución de la situación de aprendizaje.

¿Cómo aprendo? En esta sección encontrarás las actividades de aprendizaje, mismas que te iránllevando paso a paso a través de estrategias de solución, pero siéntete con la libertad de probar otroscaminos después de que hayas dominado el que se te propone. Para que puedas realizar las actividades,es conveniente que entiendas la manera particular en la que se estructura el Cuadernillo deprocedimientos para el aprendizaje con respecto a un tema determinado. Te presentamos en todoslos temas una tabla con tres columnas: en la primera de ellas, titulada actividades de aprendizaje seincluye una secuencia de acciones que debes realizar para acercarte con mayor facilidad al estudio dela Lógica Computacional y Programación, haciéndose referencias al manual de ejercicios y prácticaspara reforzar los contenidos revisados y resolver la situación de aprendizaje; en la segunda recursos, seproporcionan algunas sugerencias para que encuentres fácilmente la información que requieres;finalmente, en la tercera columna, llamada productos, se anotan los resultados concretos que debesobtener al terminar la secuencia de actividades correspondiente a cada tema, tales productos debenservirte como un control de tu propio avance. Te servirán también para ir formando un glosario conlos términos más usuales y sus definiciones; es decir, un diccionario personal que te ayudará, en casode dudas, al utilizar alguna de las herramientas que estás estudiando.

Page 7: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

7

¿Qué he aprendido? Al concluir el estudio de cada unidad, te convendrá detenerte a pensar acerca detus logros y descubrir qué tan firme y precisa se está llevando a cabo tu formación en esta asignatura.Se te plantea una serie de preguntas que te ayudarán a valorar tu esfuerzo. No es un examen sino unaevaluación, se trata de que ejerzas tu capacidad de reflexión acerca de ti mismo y que, en caso de sernecesario, revises aquellos puntos del programa de estudio que consideres que todavía no dominaspor completo. Será el momento de revisar también tus actitudes con respecto a la manera en queestudias. Te sugerimos que elabores una tabla de logros para que lleves tu registro personal,seguramente al ir anotándolos, te darás cuenta con satisfacción que el esfuerzo ha valido la pena.

Quiero saber más. En esta sección se te presentan artículos interesantes relacionados con la unidadpara que puedas extender tu horizonte de conocimiento. Es muy conveniente que asumas que no todolo que necesitas saber se te proporcionará en un curso, por el contrario, deberás estar siempre alerta,a enfrentar nuevos retos para que tu aprendizaje sea realmente el que necesitas para resolver tuspropios problemas.

Ubicación de la asignatura

La asignatura de Lógica Computacional y Programación, se ubica en el eje básico de la Capacitaciónen Informática. La importancia de esta asignatura es que contribuye en tu formación dentro de lacapacitación y te brinda elementos necesarios para la implantación de sistemas de información de unaorganización. Su ubicación gráfica se representa del siguiente modo:

Objetivo de la asignatura

Comprender los conceptos y principios generales de la programación estructurada y la orientada aobjetos, a partir de revisar los elementos de la lógica computacional, la estructuración de los datos ylas características técnicas de ambos tipos de programación, para el desarrollo de programaselementales.

Sistemas de

Información I

Sistemas de

Información II

Bases de Datos I

Aplicaciones gráficascon programas

integrados

Bases de Datos II

Aplicacionesespecíficas con

programas integrados

Introducción a lasRedes

EJEBÁSICO

EJE DEAPLICACIÓN

EJECOMPLEMENTARIO

LógicaComputacional y

Programación

Relación directa

Relación indirect

Page 8: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

8

LÓGICA COMPUTACIONAL

Objetivo de la Unidad:

Construir algoritmos elementales, utilizando los principios de laprogramación lineal, la programación estructurada y la programaciónorientada a objetos, para propiciar en el estudiante la habilidad deproponer soluciones sistemáticas a problemas sencillos.

UNIDAD IUNIDAD IUNIDAD IUNIDAD IUNIDAD I

¿QUÉ VOY A APRENDER?

En esta primera unidad aprenderás a desarrollar habilidades para realizar modelos lógicos,mismos que te ayudarán a resolver diferentes tipos de problemas y procesar información deuna manera sistemática y razonada, y algoritmos elementales a través del uso de diferentesmetodologías para el desarrollo de soluciones relacionadas con el campo de la informática.

Para ello, deberás primero aprender el uso de los algoritmos como un proceso descriptivo de lasolución de un problema y la representación gráfica de los datos de entrada y salida de unproceso, para proponer soluciones factibles de realizar.

Conforme ha pasado el tiempo y dada las experiencias de los diferentes programadores, lasformas de programación han variado de tal forma que las metodologías han sufrido unaevolución constante, por lo que en esta unidad explicaremos tres de estas metodologías segúnfueron apareciendo.

Al revisar las diferentes metodologías (lineal, estructurada y orientada a objetos) para resolverproblemas, te darás cuenta que cada una de ellas utiliza diferentes representaciones gráficas,éstas te permitirán visualizar de una forma más clara el proceso necesario para elaborar dichasmetodologías.

Para desarrollar un programa primeramente debes identificar cual es su finalidad y que procesosintervienen en su solución, posteriormente tendrás que definir las acciones que realiza cadaproceso y por último, podrás codificar todos los procesos en un lenguaje de programación, elcual al ser traducido al lenguaje máquina (conjunto de sentencias o instrucciones específicasentendibles por la computadora) nos permitirá lograr nuestro objetivo, que podría ser lasistematización del proceso de entrada y salida de un estacionamiento, la administración de unhotel, el registro de mensajería, etc.

En el desarrollo de la situación y las actividades de aprendizaje que se te proponen y aquellasque realices por cuenta propia, podrás identificar las diferentes técnicas que existen para resolvercualquier tipo de problema, ya sea simple o complejo.

Page 9: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

9

Los temas que forman el contenido de esta unidad se presentan a continuación:

Unidad I. Lógica computacional

Debes notar que los conceptos más importantes están sombreados. Préstales especialatención puesto que forman parte del conjunto de conceptos fundamentales en tus estudiosde informática.

Lógica computacional

AlgoritmoDiagrama de entrada

proceso salida

Programaciónestructurada

Programaciónlineal

Diagrama de flujo Estructuras lógicasTécnica de

segmentaciónPseudocódigo

Programaciónorientada a objetos

ClasesObjetos Métodos Pseudocódigo

utiliza

representadopor el

utiliza técnicasde

utiliza alutiliza la utiliza eltiene

tiene

Page 10: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

10

A continuación te presentamos la situación de aprendizaje, la cual te presenta un proceso realde trabajo, muy similar a los que puedes encontrar en el campo laboral.

SITUACIÓN DE APRENDIZAJE

Una empresa distribuidora al mayoreo de aparatos eléctricos para el hogar, en su área deventas, registra y controla su información de manera manual. En un sentido de modernizarsus procesos, solicita el apoyo técnico para que se adquiera y programe una computadora quese utilizará como parte del proceso de registro y control de ventas.

El personal encargado de proporcionar el apoyo técnico, realiza una investigación detallada delas operaciones y movimientos manuales que se realizan para llevar a cabo el trabajo cotidiano.Como resultado de la investigación, se obtiene una descripción de los procesos que se resumenen los siguientes puntos:

1. La Sra. Mercedes Suárez es quien recibe las solicitudes de compra. El origen de la solicitudpuede ser de cualquiera de las siguientes tres formas:

• Vía telefónica: El cliente, mediante el uso del teléfono solicita los artículos y lascantidades que requiere.

• Por correo: La empresa recibe constantemente los pedidos por escrito, mismosque llegan por el servicio del correo.

• Personal: Los clientes acuden personalmente y realizan su pedido de maneraverbal.

2. La Sra. Mercedes S. al recibir la solicitud de compra, la registra en la Libreta de Pedidos,anotando los datos del cliente, los artículos que solicita, así como el número secuencial queidentifica de manera unívoca al pedido (Clave del pedido). Sin embargo, antes de registrarla solicitud, verifica la seriedad de la misma de la siguiente forma:

• Si el cliente es conocido y se encuentra registrado en la Libreta de Clientes, se procede aasentar el pedido correspondiente. Si el pedido se recibió por vía telefónica o por correo y,si el caso lo amerita, se ratifica el pedido telefónicamente, como una manera de checar losdatos y descartar la posibilidad de error o de un falso pedido.

• Si el cliente es nuevo, es decir, no está registrado en la Libreta de Clientes, procede a darlo dealta en la libreta, anotando los siguientes datos: Nombre de la empresa, razón social, giro,teléfonos, 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 númerosecuencial precedido por la letra �C� (C1234). Posteriormente se registra la solicitud ycomo en el caso anterior, se verifica por teléfono la seriedad del pedido.

3. La Sra. Mercedes S. dispone de varias Libretas y Tarjetas para registrar la información,mismas que se describen a continuación:

• Libreta de clientes: Es una relación consecutiva de los clientes que han adquirido productosen la empresa, ordenada por la clave del cliente. En ésta se registran el nombre de laempresa, sus teléfonos, domicilio, nombre de la persona con quien se realizó el contacto,fecha del primer pedido y su número de cliente.

Page 11: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

11

• Tarjeta de clientes: Cada uno de los clientes tiene asociada una tarjeta de registro detalladacon los datos incluidos en la Libreta de Clientes, además de los artículos que ha adquirido. Seanota para cada uno de ellos las fechas, cantidades, precios y referencia de las facturas conque se remitieron a los clientes. Las tarjetas están ordenadas alfabéticamente por el nombrede la empresa para su fácil ubicación.

� Catálogo de artículos: Aquí se incluyen los artículos que dispone la empresa para su venta,el catálogo es actualizado semestralmente en dos versiones por el área de mercadotecnia:a) Catálogo de artículos por orden alfabéticob) Catálogo de artículos ordenados por Clave de artículo.

Cada artículo se identifica con una clave similar a las anteriores (A9999). La informaciónque se incluye en el catálogo es: Clave del artículo y descripción detallada del mismo, nombre,domicilio y teléfonos del fabricante, costo unitario y de venta, descuentos y una o variasfotografías del artículo.

4. En otro momento, la Sra. Mercedes S. y con la ayuda de una secretaria, elabora las facturas,tomando como base la Libreta de pedidos. Las facturas se identifican mediante un número(F99999) e incluyen la información del cliente, destino, fecha de elaboración y se detalla lainformación relacionada con los artículos solicitados por el cliente: Clave del artículo,descripción genérica, cantidad de artículos, costo unitario de venta e importe por el númerode artículos. En cada factura es posible registrar hasta cinco artículos distintos, en caso derequerirse, se utilizarán tantas facturas como sean necesarias. En la parte inferior de cadafactura se incluyen además el subtotal por la totalidad de los artículos, I.V.A. y total acobrar.

5. Las facturas se llenan en original y tres copias (Cliente, Ventas, Contabilidad y Almacén).El original y la copia del Almacén se envían a éste último para que proceda a surtir y enviarlos artículos a los clientes. La copia para el área de Contabilidad se remite a esa área y la deVentas se utiliza como comprobante del área emisora.

6. El paso siguiente consiste en registrar el número de factura en que se remitieron los artículos,en la Libreta de Pedidos y las Tarjetas de Clientes, y de esta forma se cierra el ciclo de registrode la información.

7. Finalmente, cada dos semanas se elabora un listado con los artículos solicitados y vendidosdurante este periodo, mismo que se turna a los directivos de la empresa. El listado contieneinformación detallada y global como son: Clave de los artículos vendidos, su descripcióngenérica, cantidades, fechas, importes, los clientes a quienes se les vendió con suscorrespondientes subtotales y totales.

El grupo técnico tendrá que desarrollar varios programas y definir los archivos que almacenaránla información del registro y control de ventas. La interacción de los programas y archivossustituirán el proceso manual que se utiliza. Se agilizará el registro de la información así comola posibilidad de considerar procesos de la información adicionales a los ya establecidos.

Page 12: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

12

¿CÓMO APRENDO?

1. CONCEPTOS GENERALES

Objetivo:

Identificar los elementos de la programación moderna, mediante la revisión del concepto de algoritmo ylas generalidades de las metodologías actuales, para la construcción de programas.

Para empezar a estudiar el tema de Lógica Computacional es necesario conocer previamentesu utilidad, la cual es que adquieras habilidades para resolver problemas informáticos utilizandola computadora, a través de desarrollar un pensamiento lógico, sistemático y razonado que tepermita proponer soluciones al elaborar algoritmos elementales, utilizando las diferentesmetodologías que existen para su desarrollo.

En nuestra vida cotidiana, cualquier actividad que realizamos la podemos describir con unaserie de acciones o tareas. Igualmente, siempre estamos valorando si dicha actividad va alograr lo que nosotros queremos, a partir de ir tomando decisiones durante el desarrollo de lamisma, sin perder de vista qué es lo que queremos lograr y qué requerimos para lograrla.

De esta misma forma podemos ver un proceso informático, el cual nace a partir de un problemaque requiera del uso de la computadora. Para resolverlo se deberá desarrollar un algoritmo,el cual no es más que un conjunto de actividades o procesos formados por una serie deinstrucciones o tareas organizadas de forma lógica, que nos permiten alcanzar un resultado oresolver un problema.

Muchas veces aplicamos el algorimo de manera inadvertida, inconsciente o automatica, ya queson tantas las veces que se ha resuelto, que dificilmente nos ponemos a enumerar los pasospara alcanzar el objetivo, y por lo tanto lo hacemos en forma automática.

Por otra parte, existe una gran cantidad de problemas que requieren de un análisis profundo yde un pensamiento flexible y estructurado para su solución, como es el caso de la programación,donde convergen técnicas y herramientas metodológicas que permiten llevar a cabo laconstrucción de algoritmos eficientes y por consiguiente la resolución del problema.

Para poder llegar a la solución de un problema deben considerarse las siguientes etapas1:

1 Tomado de Osvaldo Cairó. Metodología de la Programación. Tomo 1, México, Alfaomega, p. 5.

Problema

Análisis profundodel problema

Construcción delalgoritmo

Verificación delalgoritmo

Etapa 1 Etapa 2 Etapa 3

Page 13: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

13

Las características que los algoritmos deben reunir son:

a) Precisión. Los pasos a seguir deben ser claros y correctos.b) Determinismo. El algoritmo, dado un conjunto de datos de entrada idénticos, debe arrojar

siempre los mismos resultados.c) Finitud. El algoritmo, independiente de la complejidad del mismo, siempre debe ser de

longitud finita.

Es importante considerar los datos de entrada para la verificación de nuestro algoritmo.

A continuación se presentan las actividades que deberás realizar; en caso de cualquier duda oproblema consulta a tu asesor.

Actividades de aprendizaje

Realiza la lectura de la páginassugeridas y contesta lassiguientes preguntas:1. ¿Qué es un algoritmo?2. ¿Cuáles son lascaracterísticas que poseen losalgoritmos?3. ¿Para qué sirven loslenguajes de programación ycuál es su relación?

Consulta en la enciclopediaEncarta lo referente aprogramación y lenguajes deprogramación y elabora unaficha.

Realiza la lectura de las paginassugeridas y contesta lassiguientes preguntas:1. ¿Cuáles son losinconvenientes de laprogramación convencional olineal (secuencias deinstruciones maquina)?2. ¿Cuál es el objetivo de laprogramación estructuradautilizando la programaciónmodular?3. ¿Cuál es la ventaja de laprogramación orientada aobjetos sobre la estructurada?

Realiza los ejercicios 1-4.

Productos

Preguntas resueltas.

Ficha con los conceptos.

Preguntas resueltas.

Ejercicios 1-4 resueltos.

Recursos

Joyanes Aguilar, Luis.Fundamentos de programación.pp. 2-6, 40-46.

Enciclopedia Encarta.

Joyanes Aquilar, Luis.Fundamentos deProgramación. pp. 95-97.

Joyanes Aguilar, Luis.Programación orientada aobjetos. España McGraw-Hill,Osborne, 1998.p.p. 4-18.

Manual de ejercicios y prácticas.

Page 14: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

14

Instrucción 1 Instrucción 2 Instrucción 3 Instrucción 4 Instrucción n. . .

De tu entorno, consulta con unao más personas las actividadesque realizan en su trabajo yrepreséntalas en un algoritmo.

2. PROGRAMACIÓN LINEAL

Objetivo:

Comprender las bases y principios de la programación lineal, mediante la revisión general de los diagramasde flujo y su aplicación, para la solución de problemas y su descripción gráfica.

La programación lineal permite escribir algoritmos de una forma secuencial, es decir, cadainstrucción se ejecuta hasta que la anterior se haya realizado, no obstante, podemos referenciara una línea desde nuestra secuencia que no sea la siguiente, de tal forma que al terminar unasecuencia de instrucciones podremos referenciar a la línea que continuaba en nuestra ejecución.

Visto gráficamente su representación sería la siguiente:

La herramienta más común para representar este tipo de algoritmo basado en una metodologíalineal es el diagrama de flujo, que no es más que la representación gráfica del algoritmo pormedio de símbolos. Si el diagrama de flujo está completo y correcto, el paso del mismo a unlenguaje de programación es relativamente simple y directo.

En el tema anterior mencionábamos que siempre que se incorpore un dato correcto en unproceso, el dato de resultado tendrá que ser correcto. Lo que haremos en la prueba de escritorioserá valorar si nuestro proceso contiene y toma las decisiones correctas al seguir la lógica desus tareas definidas.

La intención de una prueba de escritorio es identificar los posibles errores de lógica, sintaxis yde entrada que existen en un proceso, éste puede estar descrito a través de un algoritmo,diagrama de flujo, pseudocódigo, diagrama de Top-Down, etc. La forma de verificarlo seráintroduciendo al proceso un dato de entrada, del cual conocemos su salida, de tal forma quesigamos toda la lógica del proceso para ir identificando como se va procesando la informacióny, en dado caso, ajustar nuestro proceso o validarlo. Un ejemplo simple de una prueba deescritorio 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:�,C

Algoritmo.

Page 15: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

15

Se sabe que si A = 1 y B = 2, el resultado de la multiplicación será 2.Ahora iremos introduciendo la información conforme se la vaya solicitando el algoritmo.Paso 1: Asignar A=1Paso 2: Asignar B=2Paso 3: Multiplicar 1•2 y el resultado asignarlo en C, es decir, C=2Paso 4: Escribir �El resultado es: 2�

Dado que el resultado obtenido es el esperado en la prueba de escritorio, podemos validardicho algoritmo, es decir, el algoritmo es correcto.

A continuación te presentamos las actividades que deberás realizar; en caso de dudas o problemasconsulta a tu asesor.

Actividades de aprendizaje Recursos ProductosRealiza una consulta bibliográficareferente a las reglas deconstrucción y simbología básicapara el desarrollo de diagramasde flujo.

A partir de la consulta anteriorexplica la importancia del uso dediagramas para representaralgoritmos.

Realiza los ejercicios 5-7.

De los algoritmos de losejercicios 1 y 2 realiza suspruebas de escritorio.

Con relación a la situación deaprendizaje, desarrolla la Práctica1, donde realizarás el diagrama deflujo correspondiente.

De las actividades deprogramación resueltas (2.1 a la2.5), interpreta los diagramas deflujo presentados.

Joyanes Aguilar, Luis.Fundamentos de programación.pp. 46-56

Manual de ejercicios y prácticas.

Manual de ejercicios y prácticas.

Joyanes Aguilar, Luis. Op. cit.,pp. 59-64.

Ficha de contenido sobrelas reglas de construcción ysimbología básica para eldesarrollo de diagramas deflujo.

Importancia del uso de losdiagramas de flujo.

Ejercicios 5-7 resuletos.

Pruebas de escritorio.

Resolución de la Práctica 1.

Interpretación de losdiagramas de flujo.

Page 16: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

16

3. PROGRAMACIÓN ESTRUCTURADA

Objetivo:

Comprender las bases y principios de la programación estructurada, mediante la revisión general de latécnica Top-Down, las estructuras lógicas y el pseudocódigo, para la solución de problemas y surepresentación.

La metodología de programación estructurada se fundamenta en técnicas de segmentación, lacual plantea que un problema se puede dividir en problemas más pequeños (módulos) y mássimples de resolver, de tal forma que la suma de las soluciones de cada problema sea el resultadode la solución total de éste.

Esta metodología permite desarrollar algoritmos a través de módulos, los cuales realizan tareasbien definidas. De esta forma, el módulo se define una sola vez y se llama tantas veces comosea necesario, mediante el nombre que lo identifica.

La forma gráfica que lo representa sería la siguiente:

La técnica Top-Down (Arriba-Abajo) es la que se utiliza frecuentemente en la programaciónestructurada, la cual no es más que la representación gráfica de la división del problema ensubproblemas más simples, estableciendo un orden jerárquico y relaciones entre ellos, puedeser vista de la siguiente manera:

Módulo 2 Módulo 3

Módulo Principal

Módulo 1

Problema 8 Problema 7

Problema 6

Problema 5

Problema 4Problema 3

Problema 2

Problema 1

Solución 8 Solución 7

Solución 6

Solución 5

Solución 4Solución 3

Solución 2

Solución 1 Solución Total = Solución1 + Solución 2 +Solución 3 + Solución 4 + Solución 5 +Solución 6 + Solución 7 + Solución 8

Page 17: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

17

El diagrama de Top-Down, se lee de arriba hacia abajo y de izquierda a derecha, la relación delos módulos es jerárquica, es decir, el módulo padre puede hacer uso de los módulos hijos perono viceversa.

Entenderemos por módulo padre al módulo inmediato superior al módulo actual y por módulohijo al módulo inmediato inferior del módulo actual.

Cuando hablemos de programación estructurada vamos a hacer referencia al pseudocódigo,que es la descripción de la solución de un problema por bloques o módulos, donde dichadescripción de la solución se apoya en las estructuras lógicas (se revisarán a detalle en la unidadIII), las cuales son una serie de sentencias que permiten evaluar expresiones según los criteriosestablecidos para la solución.

Si consideramos la figura anterior, podemos afirmar que cada módulo ejecuta una tarea específica,la cual se describe con el pseudocódigo que a su vez utiliza a las estructuras lógicas para darsolución al problema planteado.

La metodología estructurada se apoya en la metodología modular para conseguir elaborarprogramas eficaces y es la base para la metodología orientada a objetos y la metodologíaorientada a eventos.

A continuación se te presentan las actividades que deberás realizar para cubrir con este tema.

Actividades de aprendizaje Recursos ProductosElabora un cuadro sinóptico delas características de laprogramación estructurada ymodular.

Realiza una consulta bibliográficareferente a la técnica Top-Downo de segmentación.

Joyanes Aguilar, Luis.Fundamentos de programación. pp. 95-100.

Joyanes Aguilar, Luis. Op. cit.,pp. 41-32, 99 y 100.

Cuadro sinóptico con lascaracterísticas de laprogramación estructuraday modular.

Ficha de contenido sobre latécnica Top-Down.

Módulo Raíz

Módulo 2.1.1

Módulo 2.2Módulo 2.1Módulo 1.1 Módulo 1.2

Módulo 1 Módulo 2

Page 18: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

18

4. PROGRAMACIÓN ORIENTADA A OBJETOS

Objetivo:

Comprender las bases y principios de la programación orientada a objetos, mediante la revisión de susconceptos básicos y el proceso de construcción de programas, para la solución de problemas y surepresentación.

La programación orientada a objetos se apoya en la programación estructurada y utiliza sustécnicas para diseñar programas, se caracteriza por definir objetos con un determinado conjuntode atributos, como pueden ser: las clases, herencias, métodos, poliformismos, entre otros. Porejemplo, revisemos el siguiente objeto:

Clase: botón.Herencia: Abrir barras para buscar programas o aplicaciones.Método: Dar un clic sobre el botón.

La programación orientada a objetos permite lograr una mejor interface o interacción con elusuario, ya que éste únicamente hace uso del objeto y el programa se encarga de realizar todaslas actividades asignadas.

Consulta el texto y elabora uncuadro donde se visualicengráficamente las estructuraslógicas, describiendo suscaracterísticas.

Investiga la definición depseudocódigo y su utilidad paradescribir tareas. Elabora una fichade contenido.

Realiza los ejercicios 8 -10.

Desarrolla la Práctica 2, dondeaplicarás los conceptosrelacionados con la metodologíade programación estructurada.

De las actividades deprogramación resueltas (4.18 a la4.24), verifica que elpseudocódigo responda a lasolución planteada en el análisis.

Joyanes Aguilar, Luis. Op. cit.,pp. 100-121.

Joyanes Aguilar, Luis. Op. cit.,pp. 58-59.

Manual de ejercicios y prácticas.

Manual de ejercicios y prácticas.

Joyanes Aguilar, Luis. Op. cit.,pp. 154-160.

Cuadro gráfico-descriptivode las estructuras lógicas.

Ficha de contenido sobre elpseudocódigo.

Ejercicios 8�10 resueltos.

Resolución de la Práctica 2.

Análisis de pseudocódigos,que valide la lógica delpseudocódigo y el uso de lasestructuras lógicas.

Page 19: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

19

A continuación se te presentan las actividades que deberás realizar para desarrollar este tema.

Actividades de aprendizaje Recursos ProductosRealiza la lectura de las paginassugeridas y contesta lassiguientes preguntas:1. ¿Qué es un objeto?2. ¿Qué es la programaciónorientada a objetos?3. ¿Qué es poliformismo, herenciay encapsulado?4. ¿Cuál es la estructura de unprograma?5. ¿Cómo se comunican losobjetos y qué son los métodos?6. ¿Cuál es la importancia de laprogramación orientada aobjetos?

Realiza los ejercicios 11 y 12.

Define los datos y procedimientosque requerirán los objetos libretay tarjeta, planteados en lasituación de aprendizaje.

Joyanes Aguilar, Luis.Programacion orientada aobjetos.España .McGraw-Hill,Osborne, 1998.p.p. 13, 14, 17, 23, 74, 75, 83,87, ,91-44 y184-185

Manual de ejercicios y prácticas.

Situación de aprendizaje.

Preguntas resueltas.

Ejercicios 11 y 12 resueltos.

Definición de datos yprocedimientos de lasituación de aprendizaje.

Page 20: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

20

¿QUÉ HE APRENDIDO?

A continuación te presentamos una pequeña evaluación de esta unidad para que valores tusavances logrados hasta el momento.

1. Lee con atención cada uno de los siguientes conceptos y coloca dentro del paréntesis la letrade la definición que le corresponda.

Concepto Definición

( ) Diagrama de flujo. a) Serie de instrucciones o pasos a seguir para lograr unatarea o la resolución de un problema.

( ) Dato de entrada. b) Al término del proceso se obtendrá la informaciónprocesada, la cual nos dará la solución del problemaplanteado.

( ) Módulo. c) Representación gráfica del algoritmo, por medio desímbolos.

( ) Dato de salida. d) Realiza tareas definidas, de tal forma que si un proceso serequiere varias veces se hará referencia a éste varias veces.

( ) Procedimiento. e) Información necesaria para iniciar un proceso o tarea yresolver un problema definido.

2. Lee con atención cada una de las siguientes proposiciones y coloca dentro del paréntesis unaV si es verdadera o una F si es falsa.

( ) La programación lineal dio la pausa para establecer la programación orientada a objetos.

( ) La representación gráfica de la programación estructurada es el diagrama de Top-Down.

( ) Objetos, mensajes y herencias son conceptos utilizados en la programación orientada aobjetos.

( ) El pseudocódigo es el paso anterior a la codificación de un programa estructurado.

Page 21: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

21

3. Identifica los siguientes símbolos utilizados en los diagramas de flujo y escribe lo quesignifica cada uno, según su enumeración.

1.-_______________________________ 2.- ______________________________3.-_______________________________ 4.- ______________________________5.-_______________________________ 6.-______________________________7.-_______________________________ 8.-______________________________9.-_______________________________ 10.-_____________________________11.-______________________________ 12.-_____________________________13.-______________________________ 14.-_____________________________15.-______________________________ 16.-_____________________________

4. Lee cuidadosamente las siguientes preguntas y contéstalas correctamente.

a) ¿Qué es un algoritmo?b) ¿Qué es la programación lineal?c) ¿Qué es la programación estructurada?d) ¿Qué es la programación orientada a objetos?

5. Lee cuidadosamente los siguientes casos y desarrolla los algoritmos, diagramas de flujo ydiagramas de Top-Down que los describan.

A) La Unidad de Registro y Control Escolar decide sistematizar la expedición de Certificadosparciales, ya que actualmente se realizan de la siguiente forma:

• El auxiliar solicita al alumno su credencial y tira de materias del último semestre; si nodebe materias procede a registrarlo para elaborar su certificado parcial, solicitándole alestudiante que regrese en una semana.

• El auxiliar consulta el expediente del estudiante buscando datos personales y calificaciones,para llenar el certificado parcial.

• Una vez capturado el certificado parcial el auxiliar solicita al responsable que lo firme yéste lo registra en la libreta de certificados parciales emitidos.

• Por último, entrega el certificado parcial al estudiante.

B) El estacionamiento �El coche veloz� ofrece sus servicios de estacionamiento a todos losparticulares que deseen dejar su vehículo en un lugar seguro.

Dicho estacionamiento cuenta con tres niveles, donde en cada nivel tiene 70 cajones deestacionamiento enumerados de la siguiente forma: P1-01, donde el P1 nos indica el piso y los

1 2 34

7 8 9

5

13

1415

10

6

16

11 12

Page 22: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

22

dos últimos números el cajón, asimismo cuenta con 20 choferes los cuales tienen una clave deregistro única (Ch01).

El dueño del estacionamiento propone que el control de entradas de los vehículos y pagos delservicio sea de la siguiente forma:

• Se recibe al vehículo particular entregándole a cambio un boleto de estacionamiento, el cualtiene un número de folio.

• Se le asigna a dicho vehículo un cajón que se encuentre disponible y se registra la hora deentrada y la clave del chofer que lo recibió en una computadora.

• Posteriormente, a la hora de recoger un vehículo se le solicita el boleto al dueño y se registrala hora de salida del vehículo correspondiente, según el folio.

• El sistema indica el piso, el número de cajón donde se encuentra el vehículo y el importe apagar; en caso de que el vehículo no se encuentre en las mismas condiciones que cuandoentró, 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 cajóncomo disponible para otro vehículo.

El dueño desea contar con dos reportes semanales:a) Ganancias obtenidas.b) Nombre, clave, antigüedad y edad de los choferes ordenados por el numero de vehículos

estacionados.

Page 23: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

23

QUIERO SABER MÁS

Artículos tomados de Curso IBM de programación. Introducción a la programación en 32 bits. (México, D.F.), núm. 1, pp. 2 y 5.

Page 24: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

24

ESTRUCTURA DE DATOS

Objetivo de la Unidad:

Identificar las estructuras de datos, mediante el reconocimientode la información y la forma de estructurarla para su procesamiento.

UNIDAD IIUNIDAD IIUNIDAD IIUNIDAD IIUNIDAD II

¿QUÉ VOY A APRENDER?

Hasta el momento hemos revisado de forma muy genérica las metodologías de programaciónlineal y estructurada para resolver diferentes tipos de problemas, sin embargo, el definiralgoritmos o pseudocódigos que planteen la descripción de la solución de un problema es sóloel 50% del camino, el otro 50% lo constituye la información que va a ser procesada.

Entenderemos por información al conjunto de datos que hacen referencia o describen lascaracterísticas o atributos de algo, por lo cual tendremos que definir perfectamente los datosinvolucrados en la resolución del problema. Esto lo podemos resumir en la siguiente ecuación:

Pseudocódigo = Instrucciones + Datos

Los datos los podemos clasificar en constantes (datos que no cambian durante la ejecución delpseudocódigo) y variables (datos que pueden ir adoptando diferentes valores durante la ejecucióndel pseudocódigo).

La ventaja de generar un pseudocódigo es que podemos codificarlo en cualquier lenguaje deprogramación, esto implica que utilizaremos los recursos de la computadora para resolver elproblema, siendo aquí donde tendremos que utilizar las estructuras de datos (espacio en memoriade la PC para manipular los datos) definidas en el pseudocódigo, para resolver nuestro problema.

Los datos variables según el tipo de datos que almacene pueden ser simple o agrupado, esdecisión del programador definir el tipo de datos a utilizar, tomado como base el problema aresolver. Ten mucho cuidado al definir un tipo de dato u otro, ya que de esto depende que lasolución planteada funcione adecuadamente, evitando fallas en el manejo de información.

Un dato es un atributo o característica de un objeto o individuo; por ejemplo, los atributos deuna persona son:

EdadColor del cabelloEstaturaSexo

Page 25: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

25

Sin embargo los valores o datos varían de una persona a otra (17 años, negro, 1.70 m, masculino),sin embargo las estructuras de datos (edad, color del cabello, estatura, sexo) siguen siendo lasmismas para todos.

Entenderemos por estructuras de datos a los espacios asignados en memoria para almacenardatos. Las estructuras de datos pueden almacenar valores variables y constantes, los cualesdefiniremos como tipos de datos: variables y constantes.

Los datos constantes son objetos que contienen valores que no cambian durante la ejecuciónde un programa, son valores fijos.

Ejemplo: Los meses del año = 12 mesesEstaciones del año = 4

Los datos variables son objetos que contienen valores que pueden cambiar a medida que seejecuta un programa; la forma de escribirlos en el pseudocódigo es asignando un identificadoro nombre al tipo de dato variable, indicando que va a almacenar datos cuyos valores sean deuna naturaleza determinada.

Entenderemos por naturaleza de un dato al valor que se almacena en la estructura de datos, detal forma que podemos definir datos de tipo numérico, cuando el valor hace referencia acantidades; de tipo carácter, cuando el dato contiene valores que hacen referencia a un nombrey dirección; de tipo lógico cuando el valor que se almacena puede ser verdadero o falso; de tipográfico cuando el valor almacenado hace referencia a una fotografía; entre otros.

En esta unidad revisaremos los datos constantes y variables y la naturaleza de los últimos. Loscontenidos que conforman esta unidad son los siguientes:

Unidad II. Estructura de datos

Estructura de datosDatos

Variables

AgrupadosSimples

Constantes

Tienenuna

Pueden ser

De tipo

ArreglosRegistros

Como los

GráficosOrdinalesAlfanuméricosNuméricos Lógicos Conjuntos

Page 26: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

26

¿CÓMO APRENDO?

1. DATOS

Objetivo:

Describir la estructura de datos simples con pseudocódigo, a través de identificar el tipo y naturaleza delos datos e indicaciones técnicas, para su correcta especificación en el contexto de la solución de unproblema.

Los datos a procesar por una computadora pueden clasificarse en simples y agrupados. Laprincipal característica de los datos simples es que ocupan sólo una casilla de memoria, por loque hacen referencia a un único valor a la vez. Dentro de este tipo de datos se encuentran:numéricos; alfanuméricos, ordinales, lógicos y gráficos.

Numéricos: Son valores enteros y reales. Por ejemplo: Total = Entero Pi = 3.1416

Alfanuméricos: Son valores de tipo carácter o cadena de caracteres, números y caracteresespeciales. Por ejemplo: Nombre = Cadena de caracteres

Sexo = Carácter

Ordinales: Son valores que son definidos por el usuario en forma enumerada, estos pueden serenteros, lógicos y caracteres. Por ejemplo:

Días = (Domingo, Lunes, Martes, Miércoles, Jueves, Viernes, Sabado) Objetos =(Silla, Mesa, Banca, Pizarrón, Gis, Puerta, ventana)

Lógicos: Son valores que sólo pueden ser verdadero o falso. Por ejemplo:Casado : Lógico

Acreditado: Lógico

Gráficos: Son valores que contiene una imagen o dibujo asignado a este tipo de dato.Por ejemplo: Dibujo: Gráfico

Bandera: Gráfico

Es muy importante que aprendas a definir los tipos datos que vas a utilizar en la resolución deun problema, indicando su naturaleza si son datos variables, ya que estos son parte esencialpara la generación del pseudocódigo.

A continuación se presentan las actividades que deberás realizar; en caso de cualquier duda oproblema consulta a tu asesor.

Page 27: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

27

2. CONJUNTOS

Objetivo:

Identificar la utilidad de los datos agrupados como conjuntos, mediante la revisión de sus característicasy operaciones, para su aplicación en la solución de problemas.

Un conjunto es un grupo de datos que tiene como característica principal pertenecer al mismotipo de dato simple.

Cada objeto que está en el conjunto recibe el nombre de miembro o elemento del conjunto.

Miembro o elementoConjunto de números enteros:

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.

Unión. Se crea un nuevo conjunto con los elementos de los dos conjuntos a unir.

Intersección. Se crea un nuevo conjunto con los elementos comunes de interceptar dosconjuntos.

Actividades de aprendizaje Recursos ProductosRealiza una consulta bibliográficasobre tipos de datos constantes yvariables. Elabora una ficha decontenido.

Investiga acerca de la naturalezade los datos simples (numéricos,alfanuméricos, ordinales, lógicosy gráficos) y agrupados oestructurados (conjuntos,registros y arreglos).

Elabora un cuadro comparativoentre los tipos de datos simples yagrupados o estructurados.

Realiza el ejercicio 13.

Realiza el ejercicio 14.

Joyanes Aguilar, Luis.Fundamentos de programación.pp. 16-17.

Joyanes Aguilar, Luis. Op. cit.,pp. 13-15, 203, 204, 261-263.Eduardo Alcalde y MiguelGarcía. Informática básica.pp. 219-221.

Ficha de contenido sobredatos simples y agrupados.

Manual de ejercicios y prácticas.

Manual de ejercicios y prácticas.

Ficha de contenido sobre lostipos de datos constantes yvariables.

Fichas de contenido sobre lanaturaleza de los datossimples y agrupados.

Cuadro comparativo entredatos simples y agrupados.

Ejercicio 13 resuelto.

Ejercicio 14 resuelto.

153 19

Page 28: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

28

Diferencia. Definiendo A y B como dos conjuntos, el resultado de A - B son los elementos deA que no estan en B, de igual forma B � A son los elementos de B que no están en A.

A continuación te presentamos las actividades que deberás realizar; en caso de dudas o problemasconsulta a tu asesor.

3. REGISTROS

Objetivo:

Identificar la utilidad de los datos agrupados como registros, mediante la revisión de sus característicastécnicas, para su aplicación en la solución de problemas.

Los registros son considerados una herramienta poderosa para estructurar datos y organizarinformación de diferentes tipos bajo el nombre de una sola variable. En la práctica a veces senecesitan estructuras que permitan almacenar distintos tipos de datos según su naturaleza, alos cuales introduciremos en una nueva estructura llamada registro.

Como un registro es un dato estructurado, no puede accesarse directamente como un todo,sino que debe especificarse qué elemento (campo) del registro interesa. Para ello existe lasiguiente sintaxis.

Variable_Registro . Nombre_del_campo

Nota. No confundas la estructura de datos (medio de almacenamiento de los datos) con losdatos estructurados o agrupados (arreglos, registros y archivos).

Actividades de aprendizaje Recursos Productos

Realiza una consulta bibliográficasobre la definición de conjuntos

Elabora un cuadro sinópticosobre las posibles operaciones conconjuntos y presenta algunosejemplos.

Realiza el ejercicio 15.

Enciclopedia Encarta u otrabibliografía a tu alcance.

Enciclopedia Encarta u otrabibliografía a tu alcance.

Manual de ejercicios y prácticas.

Ficha de contenido sobre ladefinición de conjuntos.

Cuadro sinóptico sobreoperaciones de conjuntos.

Ejercicio 15 resuelto.

REGISTRO Es un dato estructurado, donde cada uno de suscomponentes se denomina campo.

CAMPOTipo de dato que puede ser simple o agrupado (arreglo oregistro).

Page 29: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

29

ARREGLO Colección finita, homogénea y ordenada de elementos.

COMPONENTES OELEMENTOS

Hacen referencia a los elementos que forman el arreglo, esdecir, a los valores que almacenan en cada una de las casillasdel mismo.

ÍNDICESApunta, direcciona o selecciona un elemento o componentede un arreglo. Se requiere de n índices para n dimensiones.Se pueden manejar arreglos de tipo unidimensional,bidimensional, tridimensional, n-dimensional.

Ejemplo:

Registro_Alumno =REGISTRONombre : Cadena[20] Calle : Cadena[9]Numero : Entero

Telefono : Cadena[9] Edad : Entero

TERMINA REGISTRO

A continuación se te presentan las actividades que deberás realizar para cubrir con este tema.

4. ARREGLOS

Objetivo:

Identificar la utilidad de los datos agrupados como arreglos, mediante la revisión de sus característicastécnicas y la posibilidad de crear estructuras más complejas, para su aplicación en la solución de problemas.

Los arreglos nos permiten organizar un número considerable de elementos relacionados y delmismo tipo, simple o estructurado. A continuación se describen varios de los términos utilizadosen los arreglos.

Observaciones:

1. El índice puede ser de tipo carácter, entero o enumerado.2. Los datos de los componentes del arreglo pueden ser de cualquier tipo.3. Se utiliza corchetes para indicar el tamaño de un arreglo.

Actividades de aprendizaje Recursos ProductosRealiza una consulta bibliográficaacerca de la definición de registroy sus componentes.

Realiza los ejercicios 16 y 17.

Joyanes Aguilar, Luis.Fundamentos de programación.pp. 260-265.

Manual de ejercicios y prácticas.

Ficha de contenido sobre ladefinición de registro y suscomponentes.

Ejercicios 16 y 17 resueltos.

Page 30: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

30

A Comida Telas Pastelería DiscosB 123 98 71 150

1 2 3 4

Ejemplo: Letras = Arreglo [1..13] de caracterEntenderemos por localidad a la dirección o ubicación de un componente dentro del registro.

Existen también arreglos multidimensionales, hasta ahora sólo hemos definido arreglos enuna sola dimensión, es decir, que requieren de un solo índice para ubicar al elemento deseado.

Si hablamos de un arreglo bidimensional implica que requiere de dos índices, la forma deescribirlo es la siguiente:

Artículos_y_Precios = Arreglo[1..4,A..B] de cadenadecaracteres

Su representación gráfica sería la siguiente:

La ventaja de utilizar arreglos multidimensionales es que podemos manipular datosdireccionados por: uno, dos, tres o más índices. Anteriormente se mencionó que un arreglopuede ser de cualquier tipo, por lo tanto, un arreglo puede estar formado por componentes detipo registro, esto se escribiría de la siguiente manera:

Datos_alumno = REGISTRONombre : Cadena

Edad : Entero TERMINA REGISTRO

Alumnos: Array [1..5] de Datos_alumno

Este ejemplo marca que existe un arreglo llamado Alumnos con cinco elementos de tipo registro�Datos_alumno� con dos campos. Gráficamente se vería de la siguiente forma:

Campo Nombre Campo Edad Registro 5

Juan Pérez Pedro López Luis Durán Margarita Irra Rebeca Cruz14 21 16 24 45

1 2 3 4 5Componente Índice

A continuación se te presentan algunas formas de accesar la información del arreglo anterior:

Referencia al campo nombre de la localidad 2. (Pedro López)Alumnos[2].Nombre

Referencia al campo edad de la localidad 5. (45)Alumnos[5].Edad

Page 31: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

31

Para desarrollar este tema, realiza las siguientes actividades.

Actividades de aprendizaje Recursos Productos

Realiza una consulta bibliográficasobre la definición de arreglos(tablas o arrays) y suscomponentes.

Elabora un cuadro sinópticosobre los arreglosbidimensionales ymultidimensionales.

Realiza los ejercicios 18 y 19.

Realiza la Práctica 3, que teintroducirá a la aplicación de lasestructuras de datos requeridaspara la situación de aprendizaje.

Realiza del ejercicio 6.6 al 6.24.

Joyanes Aguilar, Luis.Fundamentos de programación.pp. 203-215.

Joyanes Aguilar, Luis. Op. cit.,pp. 215-2224.

Manual de ejercicios y prácticas.

Manual de ejercicios y prácticas.

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

Ficha de contenido sobre ladefinición de arreglo y suscomponentes.

Cuadro sinóptico sobrearreglos bidimensionalesmultidimensionales.

Ejercicios 18 y 19 resueltos.

Resolución de la Práctica 3.

Ejercicios resueltos.

Page 32: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

32

A continuación te presentamos una pequeña evaluación de esta unidad para que valores tusavances logrados hasta el momento.

1. Lee con atención cada uno de los siguientes conceptos y coloca dentro del paréntesis la letrade la definición que le corresponda.

Concepto Definición

( ) Conjunto. a) Atributo o característica de un objeto o individuo.

( ) Arreglo. b) Grupo de datos que tiene como característica pertenecer al mismotipo de dato simple.

( ) Dato. c) Dato estructurado, donde cada uno de sus componentes sedenomina campo.

( ) Registro. d) Colección finita, homogénea y ordenada de elementos.

2. Identifica en los siguientes esquemas el nombre de lo que se señala y escríbelo en las líneascorrespondientes.

Registro

A B

L uis6 5 1 7 9 0 5 6 7 8A v. de los M ilagros118876-12-29 876-12-3020

A.________________________________ B.________________________________

Arreglo

H A J I N M K O P S E T V1 2 3 4 5 6 7 8 9 10 11 12 13

C D

C.________________________________ D.________________________________

3. Lee cuidadosamente las siguientes preguntas y contéstalas 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 sección qué he aprendido, define lasestructuras de datos más adecuadas.

¿QUÉ HE APRENDIDO?

Page 33: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

33

QUIERO SABER MÁS

Tomados de Curso de IBM de programación. Introducción a la programación en 32 bits. (México, D.F.), núm. 1, pp. 10 y 14.

Page 34: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

34

Objetivo de la Unidad:

Aplicar los principios básicos de la programación estructuradaen la solución de problemas elementales, mediante laespecificación de la estructura de datos y las operaciones arealizar, para desarrollar el pseudocódigo requerido.

UNIDAD IIIUNIDAD IIIUNIDAD IIIUNIDAD IIIUNIDAD IIIPROGRAMACIÓN ESTRUCTURADA BÁSICA

¿QUÉ VOY A APRENDER?

Como comentábamos en la unidad anterior, el pseudocódigo generado para la solución de unproblema puede ser codificado en cualquier lenguaje de programación, de tal forma que enesta unidad nos dedicaremos a explicar las estructuras lógicas, la forma de definir la estructurade datos y las posibles operaciones que se pueden realizar con los datos definidos, como partedel pseudocódigo.

Por lo anterior, podemos decir que la programación estructurada permite generar pseudocódigosmás entendibles, ya que la finalidad de utilizar estructuras lógicas es la de permitir alpseudocódigo tomar una serie de decisiones a partir de los datos de entrada, permitiendollevar el flujo correcto de las instrucciones o sentencias para obtener las salidas deseadas.(información procesada).

Dentro de este procedimiento de información que envuelven la ejecución o realización desentencias y la toma de decisiones, iremos realizando asignaciones, lecturas, escrituras,evaluación de expresiones y operaciones básicas, para que en su totalidad obtengamos unasolución mediante la metodología de programación estructurada.

Es importante señalar que muchas veces requerimos que esta información procesada se almaceneen algún dispositivo de almacenamiento secundario, por lo cual definiremos a los archivoscomo la estructura de datos que permite almacenar información de una manera permanente ylas posibles operaciones que se pueden realizar con ellos para leerlos, modificarlos o eliminarlos.

A continuación te presentamos los conceptos de la unidad y las posibles relaciones que existenentre ellos.

Page 35: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

35

Unidad III. Programación estructurada básica

Realiza

Operaciones

Asignación Evaluación deexpresiones

EscrituraLectura

De relaciónAritméticas Lógicas

De

De tipo

Elementos

Archivos

Tipos deacceso

Organización Tipos dearchivos

Operaciones

Creación LecturaEliminación Escritura Procesamiento

Campo Registro

Utiliza

Tiene

Como De

Programaciónestructurada básica

Pseudocódigo Especificaciones

Estructuraslógicas

Utiliza

Utiliza

Que tiene

Page 36: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

36

¿CÓMO APRENDO?

1. DECLARACIÓN DE LAS ESTRUCTURAS DE DATOS

Objetivo:

Declarar la estructura de los datos, mediante las especificaciones correspondientes en pseudocódigo, parala referencia apropiada de los datos.

A partir de definir un problema y solicitar que desarrolles el pseudocódigo que lo resuelva,identificaremos los datos que intervienen para establecer las estructuras de datos necesarias.

Ya hemos revisado los tipos de datos y su naturaleza en la unidad anterior, sin embargo no seha establecido la forma de declararlos con precisión en el pseudocódigo, según lasespecificaciones correspondientes. Para esto, estableceremos que las estructuras de datos y losnombres de los diferentes datos se escribirán en español y sin acento (precisiones de idioma).A continuación te presentamos la estructura técnica para un pseudocódigo:

PROGRAMA: Descripción breve del programa.

Como podrás observar se requiere identificar a nuestro programa con un nombre significativo,definir las estructuras de datos a utilizar y dar las especificaciones de pseudocódigo necesariaspara realizar la tarea planteada.

Al momento de generar el pseudocódigo de algún problema, agruparemos en un bloque dedeclaración de tipos, constantes y variables, donde se definirán los datos simples y agrupadoso estructurados, de tal forma que un ejemplo simple sería el siguiente:

Ejemplo: Declaración de estructuras de datos en el pseudocódigo

Se desea generar las estructuras de datos que requiere un sistema que nos informe cuántashoras de clase tiene diarias un alumno, su nombre, grupo, calificaciones de sus cinco asignaturas,las cuales son: matemáticas, física, química, historia e informática, así como su promedio.

TIPOSLista de tipos requeridos en el programa

CONSTANTESLista de constantes

VARIABLESLista de variables

Estructura dedatos

INICIO DE PROGRAMA{Especificaciones técnicas, pseudocódigo del programa}

FIN DEL PROGRAMA

Page 37: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

37

ESTRUCTURA DE DATOS

TIPOS Asignaturas =(Matematicas, Fisica, Quimica, Historia, Informatica)

Dias_de_la_semana = (Lunes, Martes, Miercoles, Jueves, Viernes) Calificacion = (NA, S, B, MB)

Calificaciones_de_asignaturas = Arreglo [Asignaturas] de Calificacion

CONSTANTES Total_Asignaturas = 5 Identificadores

VARIABLESRegistro_alumno = REGISTRO

Horario_alumno : Arreglo [Dias_De_la_Semana] de entero Nombre : Cadena Grupo : Cadena[5] Calificaciones : Calificaciones_de_asignaturas Promedio : Real;

TERMINA REGISTRO

En la sección de tipos se define cualquier tipo de dato que almacene valores simples o agrupados;en la sección de constantes se definen tipos de datos que almacenen valores constantes y en lasección de variables se definen tipos de datos que almacenen valores variables.

A continuación se presentan las actividades que deberás realizar; en caso de cualquier duda oproblema consulta a tu asesor.

Actividades de aprendizaje Recursos ProductosRealiza la lectura de las paginassugeridas y contesta lassiguientes preguntas:1. ¿Qué es la cabecera de unprograma o algoritmo?2. ¿Cuáles son los bloques dedeclaración de variables yconstantes?3. ¿Qué es un comentario?

Realiza los ejercicios 20 y 21.

Joyanes Aguilar, Luis.Fundamentos de programación.pp. 84-87.

Manual de ejercicios y prácticas.

Preguntas resueltas

Ejercicios 20 y 21 resueltos.

Page 38: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

38

2. OPERACIONES BÁSICAS

Objetivo:

Especificar en pseudocódigo las operaciones básicas factibles de realizar, mediante la revisión de cadauna de ellas, para ser aplicadas en el contexto de la solución.

La metodología de programación estructurada se basa en el uso de las estructuras lógicas y enel uso de operaciones básicas tales como la asignación de datos, la evaluación de expresiones yla lectura y escritura de datos.

Cuando hablamos de asignaciones nos referimos a relacionar un valor con el identificador deun dato, es decir, le asignamos un dato o valor al nombre de una estructura de datos. Sólopuedes asignar valores equivalentes al tipo de dato que tiene la estructura de datos, esdecir, 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 operación aritmética o el de otra variable.

A los valores constantes se les asigna una sola vez un valor durante todo el pseudocódigo y sedefinen en el área de constantes, en cambio en los datos variables, las asignaciones pueden seren diferentes momentos del pseudocódigo.

Símbolo u operador para asignación =

Ejemplo: Asignaciones en constantes y variables

Constantes: Variables:Mayor_de_edad = 18 Sueldo_Total = Sueldo_Bruto - DescuentoMeses_del_año = 12 Raiz_cuadrada = Raiz(Numero)

I.V.A. = Total*0.15

Generalmente las lecturas son datos capturados del teclado y las escrituras son mensajesenviados al monitor; sin embargo, se pueden realizar lecturas desde el mismo pseudocódigo alasignarse un valor o leer de un archivo (los revisaremos más adelante), asimismo se puedenescribir los datos en la impresora o en un archivo, entre otros.

Para procesar información muchas veces lo que hacemos es evaluar expresiones en forma desentencias o instrucciones. Podemos catalogar estas expresiones en tres tipos, las cuales son:

Aritméticas. Son operaciones de tipo matemático, que permiten procesar la información detal forma que se obtenga un valor. Por ejemplo:

Suma = A + B

Lógicas. Se utiliza para evaluar expresiones que sólo pueden devolver un valor de verdaderoo falso. Por ejemplo:

Edad >18

Page 39: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

39

La expresión es verdadera si la variable edad tiene un valor mayor a 18, de lo contrario seráfalsa.

De relación. Permite realizar una serie de operaciones anidadas, a partir de una expresión queutilice los conectores and, not y or (y, no y o respectivamente), generalmente se utilizan en lasestructuras lógicas condicionales (las revisaremos más adelante). Por ejemplo:

Si ( A < B) y (J + H = C) entonces D = A

Varios autores coinciden en que, para hablar de programación estructurada hay que hablar deestructuras lógicas, ya que son la base para poder escribir el pseudocódigo requerido parasolucionar problemas con esta metodología.

Una estructura lógica es una sentencia que permite evaluar una expresión a partir de ciertascondicionantes, variando la secuencia del proceso según el resultado obtenido durante eldesarrollo del pseudocódigo.

Es importante señalar que cuando hablamos de pseudocódigo nos referimos al desarrollo deuna solución con una tendencia estructurada en forma algorítmica; sin embargo, cuandohablamos de un programa nos referimos al resultado de la ejecución de un pseudocódigocodificado en un lenguaje de programación.

Existen tres tipos de estructuras lógicas:

Secuencial. Se ejecuta instrucción tras instrucción o bien, módulo tras módulo.

Condicionales o alternativas. Existen dos tipos: la condicional Si-Entonces-De lo contrarioy la condicional Caso-Fincaso. Dependiendo del problema se seleccionará entre un tipo y elotro. La diferencia consiste en que el primer tipo de estructura lógica condicional solo puedeevaluar un valor, dando dos posibles secuencias de acción; mientras que el segundo tipo puedeevaluar varios valores al mismo tiempo y por ende, dar varias secuencias de acción.

Repetitivas o iterativas. En algunas ocasiones deseamos que un conjunto de instrucciones osentencias se repitan un número determinado de veces o hasta que se cumpla una condición(comúnmente se le llama bucle), para esto usamos las estructuras lógicas repetitivas.

a) La sentencia MIENTRAS-HAZ-FIN MIENTRAS, repite el bucle hasta que la expresiónlógica de la que depende se cumple, es decir, mientras sea verdadera.

b) Otra estructura lógica repetitiva es la sentencia REPITE-HASTA, la cual ejecutará sussentencias internas hasta que se cumpla una condición.

c) Por último la sentencia PARA-FIN PARA, es una estructura lógica en la que utilizando unavariable que se identifica como índice se repiten las sentencias de un módulo hasta que elíndice alcance un valor determinado. Existen dos tipos: el creciente y el decreciente.

Nota. Las estructuras lógicas establecen uno de los principios básicos de la programaciónestructurada.

Page 40: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

40

A continuación te presentamos las actividades que deberás realizar; en caso de dudas o problemasconsulta a tu asesor.

3. ARCHIVOS

Objetivo:

Identificar a los archivos como elementos de almacenamiento permanente de datos, mediante la revisiónde sus especificaciones y características técnicas, para el desarrollo de soluciones que requieran estaherramienta.

Un archivo se define como una estructura de datos que reside en memoria secundaria odispositivo de almacenamiento, tales como disquetes, cd�s, discos duros y cintas magnéticas,entre otros.

Los archivos están compuestos por registros y a su vez por un conjunto de datos, los cuales sepueden manipular de forma conjunta, en otras palabras, los registros se encuentran conformadospor campos, que son datos específicos sobre algún conjunto de individuos u objetos.

Actividades de aprendizaje Recursos ProductosRealiza una consulta bibliográficasobre cómo es una instrucción deasignación de un valor a unavariable. Elabora fichas decontenido sobre este tema.

Investiga sobre la evaluación deexpresiones y el uso de lasestructuras lógicas, elabora fichasde contenido.

Realiza los ejercicios 22, 23 y 24.

Desarrolla la Práctica 4, que temostrará la aplicación de lostemas vistos hasta este momento,en el problema propuesto en lasituación de aprendizaje.

Realiza del ejercicio 1.2 al 1.11.

De las actividades deprogramación resueltas (4.1 a la4.24), identifica el uso de lasestructuras lógicas.

Realiza del ejercicio 4.2 al 4.10.

Joyanes Aguilar, Luis.Fundamentos de programación.pp. 27-29.

Joyanes Aguilar, Luis. Op. cit.,pp. 17-29, 100-144.

Manual de ejercicios y prácticas.

Manual de ejercicios y prácticas.

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 sobrelas asignaciones de valores adatos variables.

Fichas de contenido sobre laevaluación de expresiones ylas estructuras lógicas.

Ejercicios 22, 23 y 24resueltos.

Resolución de la Práctica 4.

Ejercicios resueltos.

Identificación de lasestructuras lógicas.

Ejercicios resueltos.

Page 41: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

41

Cuando se diseña la estructura de datos de un archivo se puede elegir diferentes formas paraorganizarlo, dependiendo del uso que se le va a dar y del soporte utilizado (cinta o disco). Acontinuación te presentamos las tres formas de organizar los registros de un archivo.

Organización secuencial. Los registros se encuentran organizados en posiciones consecutivas,y sólo se puede acceder a ellos de uno en uno a partir del primero.

Organización relativa. También conocida como organización directa o aleatoria. Los registrosse colocan y se acceden al indicar el lugar que ocupan dentro del archivo.

Organización indexada. Para definir esta organización es importante considerar tresconceptos:

a) Área primaria: Contiene los registros.

b) Campo clave: Es un campo con un valor que identifica de forma única un registro, por lo quesu valor no puede aparecer repetido en otro registro.

c) Área de índices: Es un archivo secuencial en el que cada registro establece la clave de unregistro del área primaria y su ubicación (dirección). De esta manera el sistema accede deforma directa a una dirección del área primaria a partir del índice. Para comprender mejor estetipo de organización, consideremos el ejemplo clásico en el que buscamos un tema en un libro,primero localizamos en el índice la página del tema y posteriormente abrimos el libro en esapágina.

Una vez definida la organización de los registros del archivo, el siguiente paso es hablar sobreel acceso a los registros almacenados, esto es, la forma en que accesaremos los registrosalmacenados en el dispositivo que maneja el soporte. Existen dos modos de acceso:

a) El acceso secuencial a un registro se realiza desde el primero y los sucesivos hasta llegaral registro seleccionado. Este método de acceso se puede utilizar con cualquier soporte yorganización.

Registro 1

Registro 2

Registro 3

Registro 4

Registro 5

Registro 6

Nombre: Margarita Irra.

Matrícula: 993211-A

Grupo: 501 T.M.

Capacitación: Informática

Archivo de datos alumnos

Campos

Page 42: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

42

b) El acceso aleatorio sólo se puede realizar en los denominados soportes direccionables,como los discos magnéticos; éste consiste en accesar a un registro directamente, es decir, sinaccesar los registros anteriores.

Ejemplo:

A continuación te presentamos la comparación de los modos de acceso entre dos diferentessoportes de almacenamiento:

Hasta el momento hemos visto como se organizan y se accesan los archivos, ahora definiremoslos tipos de archivos:

Archivos tipo binario. Son archivos que no tienen una estructura definida, sólo procesan lainformación; generalmente se usan para copiar o mover archivos de estructura desconocida yse requiere de protocolos o lenguajes especiales para codificar el contenido de éstos.

Archivos tipo texto. Contienen datos de tipo carácter; este tipo de archivo consiste en variaslíneas que constan de un número variable de caracteres. El archivo puede leerse o escribirse,ya sea línea por línea o carácter por carácter. También puede ser accesado desde cualquiereditor de texto y programa de aplicación específica, como procesadores de palabras, etc.

Archivos tipo estructurado. Son Archivos que utilizan estructuras de datos simples y/oagrupadas, donde todos los elementos se encuentran relacionados entre sí. El programa nonecesita traducir el contenido del archivo para entenderlo, ya que debe disponer de la estructuradefinida.

A partir de conocer qué tipos de archivos existen y la forma de accesarlos, podrás definir deuna forma más simple el dispositivo de almacenamiento a utilizar y la estructura de datos en elpseudocódigo.

Las cintas o casetes de música tienenun tipo de acceso secuencial, ya quepara escuchar la canción No. 5 debesrecorrer la cinta a través de lascanciones 1, 2, 3 y 4.

En cambio los CD´s tienen un tipo deacceso aleatorio, dado que para escucharla canción No. 5 bastará con direccionaresa canción. El acceso es más rápido eneste tipo de soporte, ya que no serequiere accesar canción por canción.

Page 43: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

43

A continuación se te presentan las actividades que deberás realizar para cubrir con este tema.

4. OPERACIONES CON ARCHIVOS

Objetivo:

Identificar el uso y aplicación de los archivos, mediante la revisión general de las operaciones que sepueden llevar a cabo con ellos, para ser utilizados en soluciones que así lo requieran.

Una vez almacenada la información en archivos, podrás manipularla al desarrollar habilidadespara crear, borrar, leer, escribir y procesar archivos. Mediante el uso y aplicación de los archivospodrás plantear soluciones en términos de la programación estructurada, manipulando losdatos procesados en el pseudocódigo de una forma más rápida y confiable.

A continuación se te presentan las actividades que deberás realizar para desarrollar este tema.

Actividades de aprendizaje Recursos ProductosConsulta acerca de los archivos yelabora una ficha de contenido.

Elabora un cuadro sinópticosobre la lógica que se sigue en laorganización y acceso a losregistros de un archivo.

Realiza un cuadro comparativoque considere los diferentes tiposde archivos, marcando suscaracterísticas primordiales.

Realiza los ejercicios 25 y 26.

A partir de revisar y analizar lasituación de aprendizaje, explicapor qué es conveniente utilizaruna metodología deprogramación estructurada.Genera una ficha de contenido.

Realiza del ejercicio 8.1 al 8.3.

Joyanes Aguilar, Luis.Fundamentos de programación.pp. 259-265.

Joyanes Aguilar, Luis. Op. cit.,pp. 265-270.

Joyanes Aguilar, Luis. Op. cit.,p. 287.

Manual de ejercicios y prácticas.

Situación de aprendizaje.

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

Ficha de contenido sobrearchivos.

Cuadro sinóptico sobre laorganización y acceso a losregistros de un archivo.

Cuadro comparativo sobrelos diferentes tipos dearchivos.

Ejercicios 25 y 26 resueltos.

Ficha de contenido con lajustificación del uso de lametodología estructurada.

Ejercicios resueltos.

Page 44: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

44

Actividades de aprendizaje Recursos ProductosInvestiga sobre las operacionesbásicas que pueden realizarse conlos archivos, como son: creación yeliminación, lectura y escritura.Elabora una ficha de contenido.

Elabora un cuadro sinóptico conlas características técnicas para elacceso a la información de losarchivos, que pueden ser:secuencial, relativa e indexada.

Realiza los ejercicios 27, 28 y 29.

Realiza la Práctica 5, que incluyeel manejo de los archivos en elproblema propuesto en lasituación de aprendizaje.

Realiza del ejercicio 8.4 al 8.8.

Joyanes Aguilar, Luis.Fundamentos de programación.pp. 270-278.

Joyanes Aguilar, Luis. Op. cit.,pp. 265-270, 280-296.

Manual de ejercicios y prácticas.

Manual de ejercicios y prácticas.

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

Ficha de contenido sobre lasoperaciones básicas de losarchivos.

Cuadro sinóptico con lascaracterísticas técnicas parael acceso a la información delos archivos.

Ejercicios 27, 28 y 29resueltos.

Resolución de la Práctica 5.

Ejercicios resueltos.

Page 45: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

45

¿QUÉ HE APRENDIDO?

A continuación te presentamos una pequeña evaluación de esta unidad para que valores tusavances logrados hasta el momento.

1. Lee con atención cada uno de las siguientes expresiones y coloca dentro del paréntesis laletra de la definición que le corresponda.

Expresiones Definición

( ) Aritméticas. a) Permite realizar una serie de operaciones anidadas, a partir deuna expresión que utilice los conectores and, not y or.

( ) De relación. b) Son operaciones de tipo matemático, que permiten procesar lainformación de tal forma que se obtenga un valor.

( ) Lógicas. c) Se utiliza para evaluar expresiones que sólo pueden devolverun valor de cierto o falso.

2. Lee con atención cada una de las siguientes proposiciones y coloca dentro del paréntesisuna V si es verdadera o una F si es falsa.

( ) Se pueden asignar valores equivalentes al tipo de dato que tiene la estructura de datos, esdecir, tanto la variable como el valor asignado deben ser del mismo tipo.

( ) Un registro puede tener varios campos clave, cuyos valores sirven para identificar a unregistro.

( ) La organización relativa de un archivo también es conocida como organización indirecta.

( ) La concatenación establece que dado dos archivos con registros de igual estructura, setrata de obtener uno solo en que configuren todos los registros del primero y acontinuación todos los registros del segundo.

3. Identifica a qué tipo de estructura lógica pertenece cada esquema y escríbelo en las líneassegún su enumeración.

I. II.

Expresión

Ejecuta Módulo

Evalua

Falsa

Verdadera

Bloque deinstrucciones

EjecutaIdentificador = Valor finalIdentificador = Valor inicial

Incremento o decremento enel identificador

Page 46: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

46

Expresión

Caso

Valor 1

Valor 2

Valor 3

Valor 4

Valor n

.

.

.

En

En

En

En

En

Módulo 1

Módulo 2

Módulo 3

Módulo 4

Módulo n

.

.

.

Ejecuta

Ejecuta

Ejecuta

Ejecuta

Ejecuta

Diferente a todos losanteriores

Ejecuta En otro casoOtro Módulo

En

III. IV.

V.

VI.

I.-________________________________ II.-_______________________________III.-_______________________________ IV.-_______________________________V.-________________________________ VI.-_______________________________

4. Lee cuidadosamente las siguientes preguntas y contéstalas correctamente.

a) ¿Qué es un archivo de texto?b) ¿Qué es un archivo binario?c) ¿Qué es un archivo estructurado?d) ¿Qué tipos de organización para archivos conoces?

5. Del problema 5 de la primera unidad ubicado en la sección Qué he aprendido, define a nivelde pseudocódigo: los tipos de datos, las constantes y variables que requiere la solución.

Instrucción 1 Instrucción 2 Instrucción 3 Instrucción 4 Instrucción n. . .

Bloque deinstrucciones

Expresión

Ejecuta EvaluaVerdadero

Falsa

Expresión

Ejecuta

módulo 1

Ejecuta

módulo 2

Verdadera

Falsa

Entonces

Otro

Si

Page 47: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

47

QUIERO SABER MÁS

Tomado de Curso de IBM de programación. Introducción a la programación en 32 bits. (México, D.F.), núm. 1, p. 19.

Page 48: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

48

Objetivo de la Unidad:

Construir los módulos requeridos para la solución de problemas,mediante el uso de procedimientos y funciones, para hacer máseficiente el desarrollo de las soluciones.

UNIDAD IVUNIDAD IVUNIDAD IVUNIDAD IVUNIDAD IVPROGRAMACIÓN ESTRUCTURADA INTERMEDIA

¿QUÉ VOY A APRENDER?

Este es el momento de aplicar todo lo que has aprendido acerca de la metodología deprogramación estructurada para la solución de la situación de aprendizaje, generando elpseudocódigo necesario, al construir módulos que realiza tareas específicas.

Es importante notar que para sistematizar proceso(s) de trabajo se requiere de varios elementos,tales como:

• Computadora.• Impresora.• Sistema operativo.• Programas de aplicación general.• Programas de aplicación específica.• Lenguaje de programación.

Para la generación de programas puedes apoyarte en la siguiente serie de tareas:

• Visualizar el problema a resolver.• Mediante una técnica de segmentación, elaborar el diagrama de Top-Down.• A partir del diagrama de top-Down, define las tareas por módulos.• Realiza la codificación del pseudocódigo.• Codifica en un lenguaje de programación.• Compila o interpreta el código generado en el lenguaje de programación.• Genera el programa ejecutable.

Entenderemos por compilación e interpretación a la traducción de un lenguaje de alto nivel aun lenguaje máquina, siendo éste entendible por la computadora.

Primeramente definiremos a los módulos como procedimientos o funciones, su ámbito puedeser global o local, así como el uso de parámetros de valor o variable, según las necesidades delproblema, definiendo las especificaciones de pseudocódigo.

Analizaremos las librerías o unidades que pueden ser utilizadas para facilitar un proceso, yaque contienen ciertos procedimientos y/o funciones predefinidos por el lenguaje deprogramación o definidos por el usuario. Veremos las ventajas de realizar impresiones de

Page 49: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

49

reportes, a partir de definir su estructura y las especificaciones de pseudocódigo para el procesode impresión y por último, revisaremos brevemente la historia de los lenguajes de programaciónestructurados, para que ubiques que existe una variedad de lenguajes para codificar tupseudocódigo. A continuación te presentamos el esquema de la unidad:

Unidad IV. Programación estructurada intermedia

Programaciónestructurada

Pseudocódigo

Unidades Reportes

Procedimientos Funciones

Quick Pascal C

Lenjuajes deprogramación

Estructura Imprimir

Predefinidos Definidos porel usuario

Predefinidos Definidas porel usuario

Tieneespecificaciones de

Utiliza

Con una Que se pueden

Como

Utiliza

Que tienen

Módulos

Global

Local

FuncionesProcedimientos

Predefinidos

Definidos porel usuario

Parámetros Variables

Valor Variables Globales Locales

Parámetros Variables

Valor Globales Locales

Predefinidas

Definidas porel usuario

UtilizaDe tipo

De tipo

Como

Con Con

DeDe

Crea

De tipoDe tipo

Page 50: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

50

¿CÓMO APRENDO?

1. PROCEDIMIENTOS Y FUNCIONES

Objetivo:

Identificar el proceso de construcción de módulos, mediante la aplicación de los procedimientos y funciones,para facilitar el desarrollo de las soluciones.

Un módulo permite realizar una tarea específica, formando parte de la solución total delproblema. Dependiendo de donde se vea un módulo puede verse como submódulo, ya quepuede estar incluido en un módulo principal o dependiendo de otros módulos, por lo cual enocasiones se usará el término módulo y submódulo como sinónimos.

Un pseudocódigo puede constar de varios módulos. El módulo principal siempre se encuentrapresente, pero puede o no haber submódulos.

Entenderemos lo mismo al hablar de programa, programa principal y módulo principal, dondeeste puede invocar (llamar) a cualquier submódulo.

Existen dos tipos de módulos:

Procedimientos

La utilidad de un procedimiento es que realiza una tarea específica dentro del programa, descritapor un algoritmo; asimismo, un procedimiento se invoca utilizando su nombre como instrucciónen el pseudocódigo.

Parámetros. Los procedimientos pueden llevar parámetros, que no son más que datos deentrada al procedimiento, cuyas operaciones internas pueden repercutir o no sobre la variableque se use como parámetro de entrada.

Existen dos tipos de parámetro: de valor y variable, el primero únicamente se utiliza comodato de referencia, es decir, puede cambiar de valor durante la ejecución del procedimiento,pero al término de éste el parámetro regresa a su valor original, mientras que el segundo tipose considera variable, ya que durante la ejecución del procedimiento éste cambia su valor y alfinalizar el procedimiento, el parámetro permanecerá con el nuevo valor.

Se declaran de la siguiente forma:

PROCEDIMIENTO Nombre (Parametro: tipo)PROCEDIMIENTO Nombre (VAR Parametro: tipo)

Parámetros de entrada: Son valores en los que se basa la respuesta del procedimiento.La información fluye al submódulo desde el módulo que hace lallamada. Estos parámetros siempre son de valor.

Parámetros deentrada-salida:

Son las respuestas determinadas por el procedimiento, es decir,representa la información que se regresa al módulo que hace lallamada. Estos deben ser parámetros variables, de uso exclusivopara los procedimientos.

Page 51: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

51

Los parámetros son el medio de comunicación entre un módulo que hace una llamada a unoque es llamado. Los valores que emplea el submódulo se pasan a dicho submódulo por mediode un parámetro, y las respuestas se regresan en un parámetro variable que puede ser elmismo.

Ejemplo:

Procedimiento CocRes (Dividendo, Divisor: Integer; Var Cociente, Residuo: Integer)COMIENZA

Cociente := Dividendo div Divisor Residuo := Dividendo mod Divisor

TERMINA

Los parámetros dividendo y divisor se utilizan para pasar valores al procedimiento; los parámetroscociente y residuo regresan respuestas.

En este ejemplo, dividendo y divisor son parámetros por valor, cociente y residuo son parámetrosvariables.

Funciones

Existen diversas funciones predefinidas, de tal forma que el usuario solamente las invoca,marcando los parámetros necesarios para su ejecución.

También se permite que el usuario defina sus funciones según las necesidades de su problema,por lo general usamos una función para realizar una tarea cuya finalidad es la de calcular unvalor; una función se invoca incluyéndola como parte de la expresión, a menudo en unainstrucción de asignación.

Las funciones se definen de la siguiente forma:

FUNCION Nombre: tipo

Donde �Nombre� será el identificador que le asignemos a una función y �tipo� será el valordevuelto por la función. Otro formato es:

FUNCION Nombre (Parametros): Tipo

Donde �Parámetros� serán los valores introducidos en esta función.

Nota. No olvides que los parámetros de las funciones únicamente pueden ser de valor.

Cuando se llama a una función desde el módulo principal, los valores se calculan y se colocadicho valor en el nombre de la función, mediante una asignación.

Page 52: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

52

PASOS PARA ESCRIBIR UN MÓDULO

1. Identificar la tarea que realizará. Determinar si se utilizará una función o un procedimiento.Elegir un nombre del módulo y determinar el tipo (real, carácter, lógico, etc.) si va a ser unafunción.

2. Decidir qué parámetros se emplearán. Determinar si se usarán parámetros de valor ovariables.

3. Idear un plan para el módulo. Esto puede implicar la identificación de otras subtareas. Sedeberán generar un algoritmo para ejecutar las acciones que se requieran y una lista devariables locales (el algoritmo de una función debe incluir la asignación de un valor alnombre de la función).

4. Escribir el módulo. El primero y segundo pasos que se citaron antes proporcionaninformación para la línea del encabezado. El tercer paso proporciona las declaraciones devariables locales y el cuerpo del módulo.

Razones para escribir módulos

Existen varias razones para utilizar módulos, sin embargo solo te explicaremos las másrepresentativas:

Repetición. Cuando se requiere que una tarea se ejecute varias veces dentro del mismopseudocódigo, el uso de un procedimiento o función evita que se tengan que escribir estospasos varias veces en él y si se usan los parámetros correctos, hasta se podrían unificar variastareas casi idénticas en un solo módulo.

Uso Universal. Algunas tareas son idénticas para varios problemas, por lo que se puedenescribir procedimientos o funciones que podrían ser ocupados en varios programas, alhomogeneizar las soluciones, utilizando los parámetros correctos.

Trabajo en equipo. Dado que la programación estructurada utiliza técnicas de segmentación,permite que el programa se divida en módulos, de tal forma que un equipo de trabajo deprogramación se pueda dividir estos para generar los algoritmos correspondientes.

Modularidad. El uso de módulos permite dividir un problema en partes más pequeñas ymanejables. Esto facilita la elaboración y mantenimiento del sistema generado. La modularidadpermite enfocar la atención en la tarea específica a realizar, permitiendo tener una interpretaciónmás sencilla del programa.

Una técnica que nos apoya a modular un programa es la técnica de Top-Down, la cual permiteque una tarea compleja sea descompuesta en subtareas más simples y, por ende, más fáciles deresolver. Es importante marcar que un módulo puede invocar a su vez a otros submódulos,siempre y cuando los primeros sean de mayor jerarquía y en relación directa con el módulollamado.

Page 53: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

53

Generalidades de los módulos

1. Los módulos pueden declarar variables propias, pero no se puede tener acceso a éstas fueradel módulo (variables locales), a menos que sea un módulo hijo el que las use.

2. Los módulos deben tener funciones específicas.3. Utilizan parámetros como el medio de comunicación primario con el pseudocódigo. No

utilices variables globales sin meditar su alcance, ya que esto provocaría un desperdicio dememoria en la ejecución del programa.

4. Analiza si el procedimiento requiere parámetros de valor o variables.5. Una función no puede emplearse para calcular una respuesta de tipo arreglo, en lugar de

esto, el arreglo deberá ser un parámetro variable de un procedimiento.6. Asigna un valor al nombre de la función en el código de la función. Nunca asignes un valor

a un nombre de un procedimiento.7. El valor de una variable local calculado en una función debe ser asignado al nombre de la

función.

Unidades

Una unidad es un conjunto de módulos que pueden ser utilizados para diferentes programas,son independientes de los pseudocódigos que las utilizan, y forman una entidad independientecon sus propias reglas de implementación.

Las unidades tienen gran importancia, ya que gracias a ellas podemos ahorrar pseudocódigosque sean de considerable tamaño; teniendo la particularidad de que las unidades sonindependientes del pseudocódigo que las use, y pueden ser compiladas y modificadas sinmodificar los pseudocódigos que hacen la llamada.

Cada módulo de una unidad puede referenciarse dentro de un programa tantas veces como seanecesario, aunque desconozcamos el pseudocódigo de dicho módulo.

Para generar una unidad utilizable, tendremos que compilarla o generar la traducción a lenguajemáquina en un medio de almacenamiento, después de codificarla en un lenguaje deprogramación.

Antes de empezar a hablar sobre reportes y lenguajes de programación estructurada, consideralos siguientes conceptos generales sobre la programación:

Conceptos Generales de programación:

Conceptos generales de programaciónLenguajes deprogramación

Son los ambientes utilizados para escribir programas decomputadoras que puedan ser entendidos por ellas.Se dividen en tres categorías: máquina, bajo nivel y alto nivel.

Lenguaje máquina Es aquel cuyas instrucciones son directamente entendiblespor la computadora y no necesitan traducción posterior paraque la computadora pueda comprender y ejecutar elprograma.

Lenguaje de alto nivel En éste las instrucciones o sentencias para la computadorason escritas con palabras similares al lenguaje cotidiano.

Page 54: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

54

A continuación se presentan las actividades que deberás realizar; en caso de cualquier duda oproblema consulta a tu asesor.

Lenguaje de bajo nivel(Ensamblador)

Este lenguaje depende de un conjunto de instruccionesespecíficas de la computadora. Las instrucciones se escriben encódigos alfabéticos conocidos como mnemotécnicos.

Compilador Traduce de un lenguaje de alto nivel a lenguaje máquina,mediante un traductor llamado compilador, el cual verifica quetodo el código fuente esté correcto y posteriormente traduce,permite que la ejecución del programa sea más rápida.

Intérprete Traduce de lenguaje de alto nivel a lenguaje máquina, medianteun traductor llamado intérprete, el cual traduce línea por líneay al mismo tiempo la ejecuta, si en algún momento encuentraalgún error, la ejecución del programa se detiene; por la formade ejecución este tipo de traductor es más lento.

Programa Conjunto de instrucciones que tienen una secuencia lógica pararealizar un propósito y que están escritas en algún lenguaje deprogramación; es la codificación del pseudocódigo en unlenguaje de programación.

Algoritmo Se deriva de la traducción al latín de la palabra árabeAlkhowarizmi, nombre de un matemático y astrónomo árabe queescribió un tratado sobre manipulación de números yecuaciones en el siglo IX.Un algoritmo es un método para resolver un problemamediante una serie de pasos precisos, definidos, lógicos yfinitos.

Actividades de aprendizaje Recursos ProductosRealiza una consulta bibliográficasobre subprogramas(procedimientos y funciones),describiendo el proceso deconstrucción y aplicación.

Realiza los ejercicios 30 y 31.

Investiga la utilidad de utilizarvariables y constantes en unámbito local (objetos locales) yglobal (objetos globales) en losprocedimientos y funciones.

Genera un cuadro comparativoentre procedimientos y funciones.

Joyanes Aguilar, Luis.Fundamentos de programación.pp. 163-177.

Manual de ejercicios y prácticas.

Joyanes Aguilar, Luis. Op. cit.,pp. 178-181.

Ficha sobre procedimientos yfunciones.

Ficha de contenido sobresubprogramas.

Ejercicios 30 y 31 resueltos.

Ficha de contenido sobre losámbitos global y local.

Cuadro comparativo entreprocedimientos y funciones.

Page 55: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

55

2. IMPRESIÓN DE REPORTES

Objetivo:

Identificar el pseudocódigo asociado a la impresión general de un reporte, mediante la revisión delproceso de impresión, para ejemplificar una aplicación con procedimientos y funciones.

Reportes

En algunos casos no es suficiente tener la información almacenada en disco o presentada enpantalla, ya que para poder consultarla requeriremos forzosamente de la computadora, sinembargo, si generamos un documento impreso con dicha información nos facilitará la tarea.

Es por esto que identificaremos a los reportes como la visualización impresa de la informaciónprocesada. Todo reporte comprende una serie de apartados o regiones, que se extiendenhorizontalmente a través de la página y abarcan una o más líneas impresas. Explicaremos acontinuación siete tipos de apartados, cada uno de los cuales se utiliza para imprimir lainformación en una secuencia determinada en el reporte.

Realiza un resumen sobre losparámetros, indicando sudefinición, clasificación,codificación y el paso deparámetros.

Elabora un cuadro comparativoentre los parámetros de valor ylos parámetros variables o dereferencia.

Realiza los ejercicios 32, 33 y 34.

Realiza la lectura de la páginasugerida y contesta las siguientespreguntas:¿Cuál es la sintaxis para crear unaunidad en Turbo Pascal?¿Qué tipo de unidades estándarmaneja Turbo Pascal?

Realiza del ejercicio 5.1 al 5.10.

Realiza el ejercicio 35.

Realiza la Práctica 6, que incluyeel manejo de las funciones yprocedimientos en el problemapropuesto en la situación deaprendizaje de esta asignatura.

Joyanes Aguilar, Luis. Op. cit.,pp. 181-197.

Ficha de contenido sobre losparámetros.

Manual de ejercicios y prácticas.

Joyanes Aguilar, Luis. Op. cit.,p. 185.

Joyanes Aguilar, Luis. Op. cit.,p. 202.

Manual de ejercicios y prácticas.

Manual de ejercicios y prácticas.

Ficha de contenido acerca deparámetros.

Cuadro comparativo sobreparámetros de valor yvariable.

Ejercicios 32, 33 y 34resueltos.

Preguntas resueltas.

Ejercicios resueltos.

Ejercicio 35 resuelto.

Resolución de la Práctica 6.

Page 56: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

56

Actividades de aprendizaje Recursos ProductosInvestiga sobre los reportes y suestructura.

Realiza una consulta bibliográficasobre contadores y acumuladores,para apoyar el salto de página.

Realiza el ejercicio 36.

Realiza la Práctica 7, que incluyeel módulo de impresión en elproblema propuesto en lasituación de aprendizaje de estaasignatura.

Enciclopedia Encarta.

Joyanes Aguilar, Luis.Fundamentos de programación.pp. 73-83.

Manual de ejercicios y prácticas.

Manual de ejercicios y prácticas.

Ficha de contenido sobrereportes.

Ficha de contenido sobrecontadores y acumuladores.

Ejercicio 36 resuelto.

Resolución de la Práctica 7.

Introducción del reporte. Información que va al inicio del reporte, como: título, portada depágina o un texto introductorio.

Encabezado de página. Información impresa al principio de cada página como número depágina, fecha, título de la página y los encabezados de las columnas. No se incluye en laintroducción del reporte.

Grupo. Si la información se puede catalogar con base a un campo clave, entonces podemoscrear grupos que contengan ciertos criterios.

Cuerpo. Es la impresión de la información del archivo bajo ciertos criterios, presentada encolumnas según el campo indicado en los encabezados de página.

Línea de subtotales. Información impresa al final de cada grupo, tal como subtotales y datosestadísticos que podrían contener algún texto explicativo.

Pie de página. Información impresa al final de cada página, como fecha o número de página.

Línea de totales. Información impresa al final del reporte, tal como totales, datos estadísticosde resumen o la conclusión del reporte.

En un lenguaje de programación se necesita forzosamente definir la salida de los datos en lasposiciones de la hoja, de tal forma que tendremos que direccionar la salida en la impresora.Dado que cada hoja tiene un cierto número de filas o líneas, tendremos que definir un móduloque lleve el conteo de líneas para detectar el final de la hoja y realizar el salto de página.

A continuación se te presentan las actividades que deberás realizar para cubrir con este tema.

Page 57: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

57

3. LENGUAJES DE PROGRAMACIÓN ESTRUCTURADA

Objetivo:

Identificar los lenguajes de programación estructurada que existen actualmente, mediante la revisióngeneral de sus características, para familiarizar al estudiante con el nombre de varios lenguajes deprogramación.

Es importante que conozcas que existen una gran variedad de lenguajes de programación, esfunción del programador seleccionar el lenguaje que utilizará para condificar su pseudocódigovalorando las necesidades y características de la solución.

A continuación te presentamos la historia de algunos lenguajes de programación estructurada:

Una historia breve de Pascal y Turbo Pascal

A principios de los años 70 y tras los estudios efectuados en la década anterior en la realizacióndel lenguaje ALGOL-68, Niklaus Wirth, un profesor del Eidgenossische Technische Hochschule(Instituto Tecnológico) de Zurich (Suiza), diseño Pascal, un lenguaje concebido para laenseñanza de técnicas de programación a estudiantes universitarios, que con el correr de lostiempos se ha convertido en estándar del mundo de la programación.

El objetivo fundamental de su creador fue desarrollar un lenguaje que permitiera �enseñarprogramación como una disciplina sistemática basada en determinados conceptosfundamentales�. Estos conceptos se reflejan de modo claro y natural en el lenguaje.

En 1983 aparece en el mercado norteamericano -comercializado por Borland international,Inc.- un compilador de Pascal denominado Turbo Pascal; la característica más notable, suprecio reducido: $49.95 (dólares). Los programadores profesionales lo compraron masivamente,pues no sólo funcionaba, sino que compilaba y corría -ejecutaba- programas más rápidamenteque cualquier otro compilador del mercado. En años sucesivos aparecieron las versiones 2.0,3.0, 3.1 y 3.2. Su éxito se debía a la facilidad de edición, compilación y ejecución: constituía porsí mismo un entorno de programación: editor, compilador y depurador integrados; tenía unalimitación de 64 Kbytes en el tamaño de los programas.

La versión 4.0 superó con creces a las versiones anteriores y eliminó la barrera de los 64Kincorporando a su vez los menús desplegables, además ofrecía un gran número de mejoras ynovedades en lo que concierne al confort y al entorno de programación:

• Compilador con editor incorporado similar a las versiones anteriores, pero renovado (menúsdesplegables, funciones especiales, etc.).

• Facilidad para construcción de librerías.• Compilador de tipo clásico que puede ser utilizado en batch (proceso por lotes).

La posibilidad de romper la barrera de 64K para la creación de programas, se consiguió mediantela creación de módulos que se diseñaban con unidades (unit). Cada unidad puede ser compiladaseparadamente.

A finales de 1988 aparece en Estados Unidos la versión 5.0 que, entre otras novedades, ofrecíaun entorno de desarrollo. Entrado el año 1989 aparece la versión 5.5, idéntica a la 5.0, con unaimportante excepción: incorpora facilidades para realizar programación orientada a objetos

Page 58: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

58

Actividades de aprendizaje Recursos Productos

Investiga las características de lossiguientes lenguajes deprogramación: Q. Basic, QuickBasic y Visual Basic, Pascal y C,los cuales son de alto nivel.

Joyanes Aguilar, Luis.Fundamentos de programación.pp. 9-11.

Fichas de contenido sobrelos lenguajes deprogramación estructurada.

(OOP, Object-Oriented Programming), metodología de programación clásica pero pocoutilizada, que, sin duda, es la clave en el desarrollo de la Ingeniería del Software.

Turbo Pascal corre sobre computadoras PC, AT, XT, PS/2, 286, 386, 486, Pentium e inclusoApple; es una herramienta de programación muy potente que tiene además la virtud de sufacilidad de aprendizaje. Por esta razón, sirve indistintamente en el campo de la educación y enel profesional. Desde Institutos y Liceos hasta Escuelas y Facultades Universitarias.

Historia de C

Comenzaremos diciendo que C no está atado a ningún sistema operativo. Este entorno dedesarrollo ha dado a C la reputación de ser un lenguaje de programación de sistemas porquees útil para escribir compiladores y sistemas operativos.

UNIX fue desarrollado originalmente en 1969, en lo que ahora sería considerado un pequeñoDEC PDP-7; por su diseño se pretendía que este sistema operativo fuera amigable para elprogramador, ofreciendo herramientas de desarrollo útiles, órdenes claras y un entornorelativamente abierto.

Poco después del desarrollo de UNIX, Ken Thompson implemento un compilador para unnuevo lenguaje llamado B. Thompson estaba intentando simplificar más el CPL, sin embargo,tanto BCPL como B, se convirtieron en lenguajes limitados, útiles solamente para ciertasclases de problemas.

Así, poco después apareció una máquina, el PDP-1. UNIX y el compilador B fueron trasladadosa está máquina, pero aún resultaba bastante pequeño comparado con los equipos actuales. En1971 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 ellenguaje a elegir para el diseño de software de sistemas. C es un lenguaje relativamente de bajonivel, que permite especificar cada detalle en la lógica de un algoritmo para lograr la máximaeficiencia de la computadora. Pero C es también un lenguaje de alto nivel que puede ocultar losdetalles de la arquitectura de la computadora, incrementando así la eficiencia de la programación.

A continuación se presenta la actividad que deberás realizar; en caso de cualquier duda oproblema consulta a tu asesor.

Page 59: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

59

¿QUÉ HE APRENDIDO?

A continuación te presentamos una pequeña evaluación de esta unidad para que valores tusavances logrados hasta el momento.

1. Lee con atención cada uno de los siguientes conceptos y coloca dentro del paréntesis la letrade la definición que le corresponda.

Concepto Definición( ) Procedimiento. a) Se definen según las necesidades del problema, utilizándose

un módulo que sirva para calcular un valor único.

( ) Función. b) Son datos de entrada al procedimiento, cuyas operacionesinternas pueden repercutir o no sobre la variable que se usede entrada.

( ) Parámetro. c) Permite realizar una tarea específica, formando parte de lasolución total del problema.

2. Lee con atención cada una de las siguientes proposiciones y coloca dentro del paréntesis unaV si es verdadera o una F si es falsa.

( ) Un módulo debe declararse antes de que lo llamen.

( ) Los módulos no pueden declarar variables propias.

( ) Utiliza parámetros como el medio de comunicación primario con el pseudocódigo.

( ) Una función no puede emplearse para calcular una respuesta de tipo arreglo.

( ) Asigna a una variable local el valor obtenido del procedimiento.

3. Lee con atención cada una de las siguientes premisas para escribir una función y ordénalas,colocando el número correspondiente dentro del paréntesis (inicia con el número 1).

( ) Declaración de constantes y variables locales, si las hay.

( ) Una línea de encabezado que identifica la función, su tipo y los parámetros que utiliza.

( ) Lista de instrucciones que forman el �cuerpo� de la función, contenidas entre losdelimitadores �COMIENZA� y �TERMINA�.

4. Lee cuidadosamente las siguientes preguntas y contéstalas.

a) ¿Qué es una unidad?b) ¿Qué es un reporte y cuál es su estructura?c) ¿Cuáles lenguajes de programación estructurada conoces?d) ¿Cuáles son sus características?

5. Del problema 5 de la primera unidad ubicado en la sección Qué he aprendido, elabora elpseudocódigo correspondiente a los módulos descritos en el diagrama de Top-Down quedesarrollaste.

Page 60: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

60

QUIERO SABER MÁS

Tomados de Curso de IBM de programación. Introducción a la programación en 32 bits. (México, D.F.), núm. 1, p. 13.

Page 61: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

61

Objetivo de la Unidad:

Aplicar los conceptos básicos de la programación orientada aobjetos en la solución de problemas elementales, mediante laespecificación de la estructura de datos y las operaciones arealizar, para desarrollar el pseudocódigo requerido.

UNIDAD VUNIDAD VUNIDAD VUNIDAD VUNIDAD VPROGRAMACIÓN ORIENTADA A OBJETOS

¿QUÉ VOY A APRENDER?

La programación estructurada plantea que un problema se puede dividir en problemas mássimples y la suma de la solución de cada problema resuelve el problema en general, a esto seconoce modularización.

El criterio de modulación de un problema es identificar tareas similares o específicas, de talforma que un fragmento de pseudocódigo lo pueda resolver; dicho fragmento lo describiremosen un procedimiento o una función, el cual es un módulo que realiza una tarea única y específica.

De igual forma tendremos que definir el alcance de un módulo y las variables que utiliza, yaque un módulo que no tiene relación directa con el que realiza cierta tarea no podrá ser llamado,esto nos lleva a la siguiente afirmación:

Una mala modularización implica una mala resolución del problema implicando un mal uso deuna metodología de programación estructurada.

La unidad o librería no es más que un módulo externo que realiza una serie de tareas biendefinidas, las cuales pueden ser referenciadas por cualquier pseudocódigo que las requiera; yaque generalmente siempre se desea la impresión de la información procesada, explicaremos laforma de definirlo a nivel de pseudocódigo.

En la actualidad existen varios lenguajes de programación con una tendencia estructurada,por lo cual consideramos importante que conozcas algunos de ellos. Actualmente la metodologíade programación orientada a objetos es la más usada para generar aplicaciones gráficas, yaque al definir una estructura de datos de tipo objeto, la podremos manipular al definir unaserie de posibles operaciones que puede realizar aparte de un evento.

Definiremos un objeto a partir de describir qué son las clases, los atributos, los datosestructurados, las operaciones y los métodos asociados a ellos, de tal forma que al seleccionarun objeto se realicen todas las series de instrucciones que tiene asociados.

Es importante que trates de identificar el alcance de esta metodología, ya que actualmente latendencia de programación es hacia objetos.

Page 62: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

62

Identificarás la metodología de la programación orientada a objetos para desarrollar solucionesa problemas específicos; de igual modo revisarás algunos lenguajes de programación con estatendencia. A continuación te presentamos el siguiente esquema de la unidad:

Unidad V. Programación orientada a objetos

Pseudocódigo

Clase Datos estructurados

Objeto

Subclase

Métodos Operaciones

Tieneespecificaciones

de

Pertenece a una

o

Utiliza Utiliza Realiza ciertas

Page 63: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

63

¿CÓMO APRENDO?

1. ESPECIFICACIONES PARA EL PSEUDOCÓDIGO

Objetivo:

Identificar el pseudocódigo requerido para describir la solución en términos de la programación orientadaa objetos, a través de revisar la forma de declarar las clases, subclases, estructura de los datos y objetos,para la correcta especificación de los diferentes elementos.

Un objeto lo podemos definir como la abstracción de los entes o seres vivos y las cosas inertesdel mundo real.

La programación orientada a objetos es una técnica para el desarrollo de software más amigablecon el usuario, de tal forma que está más determinada por la organización estructural que porlas preposiciones de lenguaje máquina o de alto nivel, tales como estructuras de datos o módulos.

La programación orientada a objetos fue uno de los primeros sistemas de programación quereconoció que el cambio no sólo era inevitable, sino deseable, en estricto sentido, es aquellaprogramación que envía mensajes entre objetos que no se conocen.

Los objetos que comparten ciertas características se pueden agrupar en colecciones, un ejemplode esto son los objetos que se presentan en la siguiente pantalla:

Donde cada uno de los objetos responde a los mensajes que envía el usuario en forma de teclasoprimidas o clics de ratón y cosas distintas sucederán dependiendo de cuál es el objeto que seapunta cuando se envía un mensaje.

Los objetos encapsulan datos y procedimientos en una sola entidad y pueden ser consideradoscomo tareas o procesos.

Los programas orientados a objetos con frecuencia se describen como simulaciones, debido aque los objetos en el programa por lo general imitan el comportamiento de sus componentesen el mundo real.

Las clases equivaldrían en la programación estructurada a la declaración de tipos de datos, unmensaje es una llamada entre objetos y un método es la serie de instrucciones que realiza elobjeto al ser llamado.

Botones

Barradedesplazamiento

Cajas dechequeo

Page 64: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

64

Un objeto combina estructura y comportamiento en una simple entidad. El término orientadoa objetos significa que organizamos el software como una colección de objetos descritos queincorporan tanto estructura como comportamiento.

Los lenguajes de programación orientado a objetos, son útiles al remover restricciones debidoa la inflexibilidad de los lenguajes tradicionales. El desarrollo orientado a objetos esfundamentalmente una nueva forma de pensar y no una revisión de programación.

A continuación se presentan las actividades que deberás realizar; en caso de cualquier duda oproblema consulta a tu asesor.

2. PROCESO PARA EL DESARROLLO DE SOLUCIONES

Objetivo:

Comprender la metodología de la programación orientada a objetos, mediante la revisión de cada unade sus etapas, para la solución de problemas.

La metodología de modelado de objetos tiene las siguientes etapas.

Análisis. El modelo de análisis es una abstracción precisa y concisa de los requerimientos delusuario sobre lo que realizará el sistema y no como lo hará. Un buen modelo puede ser entendidoy criticado por expertos de la aplicación que no son programadores.

Abstracción. Consiste en enfocar aspectos esenciales de una entidad e ignorar las propiedadesaccidentales.

Diseño del sistema. El objetivo es organizar en subsistemas basados en la estructura delanálisis y la arquitectura propuesta.

Actividades de aprendizaje Recursos ProductosElabora una ficha de contenidosobre la programación orientadaa objetos.

Realiza una consulta bibliográficasobre los atributos ocaracterísticas de los objetos(objetos, datos estructurados ymétodos). Elabora una ficha decontenido.

Investiga sobre las operacionesbásicas entre objetos. Realiza uncuadro sinóptico.

Realiza el ejercicio 37.

Joyanes Aguilar, Luis.Op. Cit p.p. 70-71

Joyanes Aguilar, Luis.Op. Cit p.p. 76-83,88-91

Joyanes Aguilar, Luis.Op. Cit p.p. 20-23, 91-97

Manual de ejercicios y prácticas.

Ficha de contenido sobre laprogramación orientada aobjetos.

Ficha de contenido sobre lascaracterísticas de laprogramación orientada aobjetos.

Cuadro sinóptico sobre lasoperaciones básicas entreobjetos.

Ejercicio 37 resuelto.

Page 65: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

65

Diseño de objetos. El diseñador adiciona detalles al modelo del diseño de acuerdo a la estrategiaestablecida durante el diseño del sistema.

Implementación. La programación debe ser relativamente menor y una parte mecánica delciclo de desarrollo, porque las decisiones difíciles deben hacerse durante el diseño.

Métodos

Un método es la implementación de una operación para una clase. Sin embargo, cada métododebe ser implementado por diferentes piezas de código y dependen sólo de las clases del objeto.

Una clase está representada por una caja, la cual puede tener tres regiones: nombre de la clase,lista de atributos y lista de operaciones. Cada nombre de atributo puede ser distinguido pordetalles opcionales. Tales como lista de argumentos y tipos resultados.

Sugerencias prácticas. No inicies la construcción de un modelo de objetos solamente juntandoclases, asociaciones y herencia. Primero debes entender el problema y resolverlo. El contenidode un modelo de objetos se da por la relevancia de la solución. Busca hacer tu modelo simple,evita complicaciones. Selecciona los nombres de los objetos cuidadosamente, ya que deben serdescriptivos. Seleccionar nombres apropiados es uno de los más difíciles aspectos del modeladode objetos.

A continuación te presentamos los objetos predefinidos de Visual Basic, así como los atributosy los sucesos referidos a un evento u operación del objeto.

Atributos del botón

Objetos predefinidos

Botón de opción

Botón

Page 66: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

66

Procedimiento de suceso

Suceso

Codificación de lasecuencia deacciones que realizaen objeto.

A continuación se te presentan las actividades que deberás realizar para cubrir con este tema.

Actividades de aprendizaje Recursos Productos

Investiga sobre la forma deasignar un procedimiento desucesos para objetos predefinidos.

Realiza una consulta bibliográficasobre el proceso que se requierepara desarrollar soluciones,utilizando una metodología deprogramación orientada a objetos.Define etapas. Realiza una fichade contenido.

Realiza el ejercicio 38.

Joyanes Aguilar, Luis.Op. Cit, p.p. 87.

Joyanes Aguilar, Luis.Op. Cit, p.p. 544-551

Manual de ejercicios y prácticas.

Ficha de contenido sobreprocedimiento de sucesos deun objeto.

Ficha de contenido sobre lasetapas para desarrollarsoluciones con unametodología deprogramación orientada aobjetos.

Ejercicio 38 resuelto.

Page 67: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

67

3. LENGUAJES DE PROGRAMACIÓN ORIENTADA A OBJETOS

Objetivo:

Identificar los lenguajes de programación orientada a objetos que existen actualmente, mediante larevisión general de sus características, para familiarizar al estudiante con el nombre de varios lenguajesde programación.

Existe una gran gama de lenguajes de programación que tienen esta tendencia de programaciónorientada a objetos, dado que es un lenguaje donde el programador puede crear aplicacionescon un ambiente gráfico, el cual sea 100% amigable al usuario y fácil de entender.

La evolución de todos los lenguajes de programación han tendido hacia este tipo de lenguaje,permitiendo que un lenguaje estructurado como lo es Turbo Pascal, incorpore en este momentoherramientas para poder programar a un nivel de objetos. Algunos lenguajes de programaciónestructurada que incorporan estas herramientas de programación orientada a objetos son:Smalltalk, Turbo Pascal C++, entre otros.

A continuación se presenta la actividad que deberás realizar; en caso de cualquier duda oproblema consulta a tu asesor.

Actividades de aprendizaje Recursos ProductosInvestiga sobre los principaleslenguajes de programación orientadaa objetos. Elabora un cuadrocomparativo.

Joyanes Aguilar, Luis.Op. Cit pp. 5-6, 24-32.

Cuadro comparativoentre lenguajes deprogramación orientada aobjetos.

Page 68: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

68

¿QUÉ HE APRENDIDO?

A continuación te presentamos una pequeña evaluación de esta unidad para que valores tusavances logrados hasta el momento.

1. Lee con atención cada uno de los siguientes conceptos y coloca dentro del paréntesis la letrade la definición que le corresponda.

Concepto Definición( )Clase. a) Cuando en clases diferentes, la misma operación se comporta de

manera diferente.

( )Objeto. b) Es compartir los atributos y operaciones entre clases basadas enuna relación.

( )Herencia. c) Conjunto de objetos con propiedades similares, comportamientoy semántica común.

( )Polimorfismo. d) Es la abstracción de los entes o seres vivos y las cosas inertesdel mundo real.

2. Lee con atención cada una de las siguientes proposiciones y coloca dentro del paréntesis unaV si es verdadera o una F si es falsa.

( ) La programación orientada a objetos es una técnica para el desarrollo de software másamigable con el usuario.

( ) Smalltalk, Turbo Pascal y C++, no son lenguajes de programación orientada a objetos.

( ) Los objetos que comparten ciertas características se pueden agrupar en colecciones.

( ) Un método es la implementación de una operación para un objeto.

3. Lee con atención cada una de las siguientes etapas de la metodología para el modelado deobjetos y ordénalas colocando el número correspondiente dentro del paréntesis (inicia conel número 1).

( ) Implementación.( ) Análisis.( ) Diseño de objetos.( ) Diseño del sistema.

4. Lee cuidadosamente las siguientes preguntas y contéstalas.

a) ¿Qué es un objeto?b) ¿Cuál es la filosofía de la programación orientada a objetos?c) ¿Qué es un suceso?d) ¿Cómo se asocia un objeto a un procedimiento de suceso?e) ¿Cuáles son los atributos de un objeto?

5. Del problema 5 de la primera unidad ubicado en la sección Qué he aprendido, define quédatos y procedimientos se requieren para tratar como objetos al estacionamiento, al chofery al registro de entradas.

Page 69: LÓGICA COMPUTACIONAL Y PROGRAMACIÓN · PDF file2 LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública

69

QUIERO SABER MÁS

Tomados de Curso de IBM de programación. Introducción a la programación en 32 bits. (México, D.F.), núm. 1, pp. 16-20.