SlideShare a Scribd company logo
1 of 69
Download to read offline
LÓGICA COMPUTACIONAL
   Y PROGRAMACIÓN




      C u a d ernillo d e p ro cedim ien to s pa ra el a pren d iza je

                     (V er sió n par a fase in icial)




 C ON L A C O LA B ORA CIÓ N DE L uis G abriel M ondragón To rre s




                                    1
LÓGICA COMPUTACIONAL Y PROGRAMACIÓN
Cuadernillo de procedimientos para el aprendizaje
1999. Secretaría de Educación Pública/ Dirección General del Bachillerato
COSTO DE RECUPERACIÓN $ 12.00



                                           2
ÍNDICE

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

UNIDAD I. Lógica computacional.................................................................................................................                                   8
1. Conceptos generales...........................................................................................................................................                12
2. Programación lineal...........................................................................................................................................                14
3. Programación estructurada..............................................................................................................................                       16
4. Programación orientada a objetos..................................................................................................................                            18
¿Qué he aprendido?................................................................................................................................................               20
Quiero saber más.....................................................................................................................................................            23

UNIDAD II. Estructura de datos....................................................................................................................                               24
1. Datos......................................................................................................................................................................   26
2. Conjuntos..............................................................................................................................................................       27
3. Registros................................................................................................................................................................     28
4. Arreglos.................................................................................................................................................................     29
¿Qué he aprendido?.................................................................................................................................................              32
Quiero saber más.....................................................................................................................................................            33

UNIDAD III. Programación estructurada básica.....................................................................................                                                34
1. Declaración de las estructuras de datos.........................................................................................................                              36
2. Operaciones básicas............................................................................................................................................               38
3. Archivos.................................................................................................................................................................     40
4. Operaciones con archivos..................................................................................................................................                    43
¿Qué he aprendido?................................................................................................................................................               45
Quiero saber más.....................................................................................................................................................            47

UNIDAD IV. Programación estructurada intermedia.............................................................................                                                     48
1. Procedimientos y funciones...............................................................................................................................                     50
2. Impresión de reportes........................................................................................................................................                 55
3. Lenguajes de programación estructurada.....................................................................................................                                   57
¿Qué he aprendido?.................................................................................................................................................              59
Quiero saber más.....................................................................................................................................................            60

UNIDAD V. Programación orientada a objetos.........................................................................................                                              61
1. Especificaciones para el pseudocódigo...........................................................................................................                              63
2. Proceso para el desarrollo de soluciones.......................................................................................................                               64
3. Lenguajes de programación orientada a objetos.........................................................................................                                        67
¿Qué he aprendido?.................................................................................................................................................              68
Quiero saber más.....................................................................................................................................................            69




                                                                                               3
4
PRESENTACIÓN

                       En el marco del Bachillerato General, la Capacitación en Informática tiene como
LÓGICA COMPUTACIONAL
                       finalidad brindarte un acercamiento al campo laboral, a través de desarrollar
                       procesos 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ógica
                       computacional para plantear soluciones a problemas relacionados con la informática.

                       Al egresar de esta capacitación podrás operar como el enlace entre usuarios de
   Y PROGRAMACIÓN

                       sistemas de información y computadoras personales o conectadas en red, utilizando
                       programas de aplicación general o específica. De igual modo, podrás implementar
                       sistemas elementales de información utilizando técnicas de análisis y diseño de
                       sistemas, bases de datos relacionales y herramientas de programación.

                       La Informática ha avanzado a pasos gigantescos en la última década, de tal forma
                       que 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 de
                       larga duración. A la par de esta evolución del hardware ha evolucionado también
                       el software, definiéndose aplicaciones con interfaces cada vez más amigables con el
                       usuario. Esta evolución se ha dado al tratar de acercarnos cada vez más a los procesos
                       que se realizan en nuestra vida cotidiana para resolver problemas de cualquier
                       índole.

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

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

                       En esta asignatura revisaremos temas relacionados con metodologías para resolver
                       problemas simples y complejos, de tal forma que desarrolles habilidades que te
                       permitan planear soluciones alternativas a las propuestas en las prácticas. La
                       informática nace como una solución para resolver problemas que requieran realizar
                       muchas operaciones, de tal forma que se definen ciertos lenguajes de programación
                       para escribir instrucciones que la computadora entienda, es decir, un lenguaje
                       má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,


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

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

Al empezar a implementarse aplicaciones de tipo gráfico diseñadas en un lenguaje de programación
lineal o estructurado, se ve la necesidad inminente de evolucionar nuestras metodologías de
programación a un lenguaje de programación que permita generar objetos gráficos, los cuales realicen
tareas específicas al operarlos de formas diferentes, pero sin perder de vista la modularidad de los
procesos. Es así como surge la programación orientada a objetos, la cual se fundamenta en una
metodologí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 no
en 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 de
las unidades didácticas. Es muy importante que tengas en mente lo que vas a lograr con el estudio de
los temas del programa, tener claridad de la meta es fundamental para poder utilizar las herramientas
de que disponemos para llegar a ella. Con la intención de presentarte un proceso de trabajo, en la
primera unidad se describe el planteamiento de una situación laboral “real”, la cual llamaremos situación
de aprendizaje. Durante el desarrollo de toda la guía se harán referencias al Manual de Ejercicios y
Prá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 modelaje
en 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án
llevando paso a paso a través de estrategias de solución, pero siéntete con la libertad de probar otros
caminos 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 de
procedimientos para el aprendizaje con respecto a un tema determinado. Te presentamos en todos
los temas una tabla con tres columnas: en la primera de ellas, titulada actividades de aprendizaje se
incluye una secuencia de acciones que debes realizar para acercarte con mayor facilidad al estudio de
la Lógica Computacional y Programación, haciéndose referencias al manual de ejercicios y prácticas
para reforzar los contenidos revisados y resolver la situación de aprendizaje; en la segunda recursos, se
proporcionan 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 debes
obtener al terminar la secuencia de actividades correspondiente a cada tema, tales productos deben
servirte como un control de tu propio avance. Te servirán también para ir formando un glosario con
los términos más usuales y sus definiciones; es decir, un diccionario personal que te ayudará, en caso
de dudas, al utilizar alguna de las herramientas que estás estudiando.


                                                     6
¿Qué he aprendido? Al concluir el estudio de cada unidad, te convendrá detenerte a pensar acerca de
tus logros y descubrir qué tan firme y precisa se está llevando a cabo tu 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 una
evaluación, se trata de que ejerzas tu capacidad de reflexión acerca de ti mismo y que, en caso de ser
necesario, revises aquellos puntos del programa de estudio que consideres que todavía no dominas
por completo. Será el momento de revisar también tus actitudes con respecto a la manera en que
estudias. Te sugerimos que elabores una tabla de logros para que lleves tu registro personal,
seguramente al ir 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 unidad
para que puedas extender tu horizonte de conocimiento. Es muy conveniente que asumas que no todo
lo que necesitas saber se te proporcionará en un curso, por el contrario, deberás estar siempre alerta,
a enfrentar nuevos retos para que tu aprendizaje sea realmente el que necesitas para resolver tus
propios 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ón
en Informática. La importancia de esta asignatura es que contribuye en tu formación dentro de la
capacitación y te brinda elementos necesarios para la implantación de sistemas de información de una
organización. Su ubicación gráfica se representa del siguiente modo:

                                             Sistemas de                     Sistemas de
                                             Información I                  Información II
              EJE
             BÁSICO
                                             Lógica
                                          Computacional y
                                          Programación




                                           Bases de Datos I               Bases de Datos II

            EJE DE
           APLICACIÓN                   Aplicaciones gráficas                Aplicaciones
                                          con programas                    específicas con
                                             integrados                 programas integrados



           EJE                                                            Introducción a las
     COMPLEMENTARIO                                                             Redes



                      Relacióndirecta

                      Relación indirect


Objetivo de la asignatura

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


                                                        7
¿QUÉ VOY A APRENDER?




                              UNIDAD I
                            LÓGICA COMPUTACIONAL

    Objetivo de la Unidad:

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



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 de
una manera sistemática y razonada, y algoritmos elementales a través del uso de diferentes
metodologí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 la
solución de un problema y la representación gráfica de los datos de entrada y salida de un
proceso, para proponer soluciones factibles de realizar.

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

Al revisar las diferentes metodologías (lineal, estructurada y orientada a objetos) para resolver
problemas, 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 dichas
metodologías.

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

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



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

                                               Unidad I. Lógica computacional


                                          Lógica computacional



                                                         utiliza

                                                                   representado
                                                                       por el           Diagrama de entrada
                                                Algoritmo
                                                                                           proceso salida

                                      utiliza técnicas
                                             de


   Programación                               Programación                                                           Programación
      lineal                                  estructurada                                                       orientada a objetos


                                                                           utiliza el                                           tiene
                        utiliza la                        tiene
          utiliza al


                        Técnica de                                                                  Objetos
Diagrama de flujo                          Estructuras lógicas          Pseudocódigo                          Clases               Métodos   Pseudocódigo
                       segmentación




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




                                                                            9
A continuación te presentamos la situación de aprendizaje, la cual te presenta un proceso real
de 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 de
ventas, registra y controla su información de manera manual. En un sentido de modernizar
sus procesos, solicita el apoyo técnico para que se adquiera y programe una computadora que
se utilizará como parte del proceso de registro y control de ventas.

El personal encargado de proporcionar el apoyo técnico, realiza una investigación detallada de
las 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 resumen
en los siguientes puntos:

1. La Sra. Mercedes Suárez es quien recibe las solicitudes de compra. El origen de la solicitud
   puede 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 las
                           cantidades que requiere.
• Por correo:              La empresa recibe constantemente los pedidos por escrito, mismos
                           que llegan por el servicio del correo.
• Personal:                Los clientes acuden personalmente y realizan su pedido de manera
                           verbal.

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

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

•   Si el cliente es nuevo, es decir, no está registrado en la Libreta de Clientes, procede a darlo de
    alta en la libreta, anotando los siguientes datos: Nombre de la empresa, 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úmero
    secuencial precedido por la letra “C” (C1234). Posteriormente se registra la solicitud y
    como 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 productos
    en la empresa, ordenada por la clave del cliente. En ésta se registran el nombre de la
    empresa, sus teléfonos, domicilio, nombre de la persona con quien se realizó el contacto,
    fecha del primer pedido y su número de cliente.


                                                 10
•   Tarjeta de clientes: Cada uno de los clientes tiene asociada una tarjeta de registro detallada
    con los datos incluidos en la Libreta de Clientes, además de los artículos que ha adquirido. Se
    anota para cada uno de ellos las fechas, cantidades, precios y referencia de las facturas con
    que se remitieron a los clientes. Las tarjetas están ordenadas alfabéticamente por el nombre
    de 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ético
    b) 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ón
    que 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 varias
    fotografí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 la
   informació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úmero
   de artículos. En cada factura es posible registrar hasta cinco artículos distintos, en caso de
   requerirse, se utilizarán tantas facturas como sean necesarias. En la parte inferior de cada
   factura se incluyen además el subtotal por la totalidad de los artículos, I.V.A. y total a
   cobrar.

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 enviar
   los artículos a los clientes. La copia para el área de Contabilidad se remite a esa área y la de
   Ventas se utiliza como comprobante del área emisora.

6. El paso siguiente consiste en registrar el 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 registro
   de la información.

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

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




                                                 11
¿CÓMO APRENDO?

1. CONCEPTOS GENERALES

Objetivo:

Identificar los elementos de la programación moderna, mediante la revisión del concepto de algoritmo y
las 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 previamente
su utilidad, la cual es que adquieras habilidades para resolver problemas informáticos utilizando
la computadora, a través de desarrollar un pensamiento lógico, sistemático y razonado que te
permita proponer soluciones al elaborar algoritmos elementales, utilizando las diferentes
metodologías que existen para su desarrollo.

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

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

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

Por otra parte, existe una gran cantidad de problemas que requieren de un análisis profundo y
de 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 la
construcció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:


                                                                   Problema




                             Análisis profundo               Construcción del                   Verificación del
                               del problema                     algoritmo                         algoritmo
                                 Etapa 1                            Etapa 2                        Etapa 3




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



                                                                       12
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 o
problema consulta a tu asesor.
  Actividades de aprendizaje                  Recursos                           Productos

 Realiza la lectura de la páginas    Joyanes Aguilar, Luis.       Preguntas resueltas.
 sugeridas y contesta las            Fundamentos de programación.
 siguientes preguntas:               pp. 2-6, 40-46.
 1. ¿Qué es un algoritmo?
 2. ¿Cuáles son las
 características que poseen los
 algoritmos?
 3. ¿Para qué sirven los
 lenguajes de programación y
 cuál es su relación?

 Consulta en la enciclopedia         Enciclopedia Encarta.               Ficha con los conceptos.
 Encarta lo referente a
 programación y lenguajes de
 programación y elabora una
 ficha.

 Realiza la lectura de las paginas   Joyanes Aquilar, Luis.              Preguntas resueltas.
 sugeridas y contesta las            Fundamentos de
 siguientes preguntas:               Programación. pp. 95-97.
 1. ¿Cuáles son los
 inconvenientes de la
 programación convencional o
 lineal (secuencias de               Joyanes Aguilar, Luis.
 instruciones maquina)?              Programación orientada a
 2. ¿Cuál es el objetivo de la       objetos.
 programación estructurada            España McGraw-Hill,
 utilizando la programación          Osborne, 1998.
 modular?                            p.p. 4-18.
 3. ¿Cuál es la ventaja de la
 programación orientada a
 objetos sobre la estructurada?

 Realiza los ejercicios 1-4.                                             Ejercicios 1-4 resueltos.

                                     Manual de ejercicios y prácticas.

                                                13
De tu entorno, consulta con una                                               Algoritmo.
 o más personas las actividades
 que realizan en su trabajo y
 represé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 diagramas
de 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, cada
instrucción se ejecuta hasta que la anterior se haya realizado, no obstante, podemos referenciar
a una línea desde nuestra secuencia que no sea la siguiente, de tal forma que al terminar una
secuencia de instrucciones podremos referenciar a la línea que continuaba en nuestra ejecución.

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

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




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

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

La intención de una prueba de escritorio es identificar los posibles errores de lógica, sintaxis y
de 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 que
sigamos toda la lógica del proceso para ir identificando como se va procesando la información
y, en dado caso, ajustar nuestro proceso o validarlo. Un ejemplo simple de una prueba de
escritorio es el siguiente.

Realizar la prueba de escritorio del siguiente algoritmo:

1.   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




                                                     14
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=1
Paso 2: Asignar B=2
Paso 3: Multiplicar 1•2 y el resultado asignarlo en C, es decir, C=2
Paso 4: Escribir “El resultado es: 2”

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

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

    Actividades de aprendizaje               Recursos                               Productos
 Realiza una consulta bibliográfica Joyanes Aguilar, Luis.                 Ficha de contenido sobre
 referente a las reglas de          Fundamentos de programación.           las reglas de construcción y
 construcción y simbología básica pp. 46-56                                simbología básica para el
 para el desarrollo de diagramas                                           desarrollo de diagramas de
 de flujo.                                                                 flujo.

 A partir de la consulta anterior                                          Importancia del uso de los
 explica la importancia del uso de                                         diagramas de flujo.
 diagramas para representar
 algoritmos.

 Realiza los ejercicios 5-7.           Manual de ejercicios y prácticas.   Ejercicios 5-7 resuletos.

 De los algoritmos de los              Manual de ejercicios y prácticas.   Pruebas de escritorio.
 ejercicios 1 y 2 realiza sus
 pruebas de escritorio.

 Con relación a la situación de                                            Resolución de la Práctica 1.
 aprendizaje, desarrolla la Práctica
 1, donde realizarás el diagrama de
 flujo correspondiente.

 De las actividades de                 Joyanes Aguilar, Luis. Op. cit., Interpretación de los
 programación resueltas (2.1 a la      pp. 59-64.                       diagramas de flujo.
 2.5), interpreta los diagramas de
 flujo presentados.




                                                   15
3. PROGRAMACIÓN ESTRUCTURADA

Objetivo:

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

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


                   Problema 8        Problema 7
                   Solución 8        Solución 7


         Problema 1                             Problema 6
          Solución 1                            Solución 6         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
          Problema 2
         Solución 2                         Problema 5
                                                Solución 5
                   Problema 3
                                   Problema 4
                      Solución 3
                                   Solución 4



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

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


                                                             Módulo Principal




                             Módulo 1                           Módulo 2                     Módulo 3



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




                                                                     16
Módulo Raíz



                      Módulo 1                                             Módulo 2



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



                                                            Módulo 2.1.1



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

Entenderemos por módulo padre al módulo inmediato superior al módulo actual y por módulo
hijo 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 dicha
descripción de la solución se apoya en las estructuras lógicas (se revisarán a detalle en la unidad
III), las cuales son una serie de sentencias que permiten evaluar expresiones según los criterios
establecidos 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 dar
solución al problema planteado.

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

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


    Actividades de aprendizaje                   Recursos                               Productos
 Elabora un cuadro sinóptico de        Joyanes Aguilar, Luis.                  Cuadro sinóptico con las
 las características de la             Fundamentos de programación.            características de la
 programación estructurada y           pp. 95-100.                             programación estructurada
 modular.                                                                      y modular.

 Realiza una consulta bibliográfica Joyanes Aguilar, Luis. Op. cit., Ficha de contenido sobre la
 referente a la técnica Top-Down pp. 41-32, 99 y 100.                técnica Top-Down.
 o de segmentación.




                                                     17
Consulta el texto y elabora un      Joyanes Aguilar, Luis. Op. cit., Cuadro gráfico-descriptivo
 cuadro donde se visualicen          pp. 100-121.                     de las estructuras lógicas.
 gráficamente las estructuras
 lógicas, describiendo sus
 características.

 Investiga la definición de          Joyanes Aguilar, Luis. Op. cit., Ficha de contenido sobre el
 pseudocódigo y su utilidad para     pp. 58-59.                       pseudocódigo.
 describir tareas. Elabora una ficha
 de contenido.

 Realiza los ejercicios 8 -10.       Manual de ejercicios y prácticas.   Ejercicios 8–10 resueltos.

 Desarrolla la Práctica 2, donde     Manual de ejercicios y prácticas.   Resolución de la Práctica 2.
 aplicarás los conceptos
 relacionados con la metodología
 de programación estructurada.

 De las actividades de              Joyanes Aguilar, Luis. Op. cit.,     Análisis de pseudocódigos,
 programación resueltas (4.18 a la pp. 154-160.                          que valide la lógica del
 4.24), verifica que el                                                  pseudocódigo y el uso de las
 pseudocódigo responda a la                                              estructuras lógicas.
 solución planteada en el análisis.


4. PROGRAMACIÓN ORIENTADA A OBJETOS

Objetivo:

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

La programación orientada a objetos se apoya en la programación estructurada y utiliza sus
técnicas para diseñar programas, se caracteriza por definir objetos con un determinado conjunto
de atributos, como pueden ser: las clases, herencias, métodos, poliformismos, entre otros. Por
ejemplo, 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 el
usuario, ya que éste únicamente hace uso del objeto y el programa se encarga de realizar todas
las actividades asignadas.


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

    Actividades de aprendizaje                   Recursos                        Productos
 Realiza la lectura de las paginas    Joyanes Aguilar, Luis.             Preguntas resueltas.
 sugeridas y contesta las             Programacion orientada a
 siguientes preguntas:                objetos.
 1. ¿Qué es un objeto?                España .McGraw-Hill,
 2. ¿Qué es la programación           Osborne, 1998.
 orientada a objetos?                 p.p. 13, 14, 17, 23, 74, 75, 83,
 3. ¿Qué es poliformismo, herencia    87, ,91-44 y184-185
 y encapsulado?
 4. ¿Cuál es la estructura de un
 programa?
 5. ¿Cómo se comunican los
 objetos y qué son los métodos?
 6. ¿Cuál es la importancia de la
 programación orientada a
 objetos?

 Realiza los ejercicios 11 y 12.                                         Ejercicios 11 y 12 resueltos.

 Define los datos y procedimientos                                       Definición de datos y
 que requerirán los objetos libreta                                      procedimientos de la
 y tarjeta, planteados en la                                             situación de aprendizaje.
 situación de aprendizaje.          Manual de ejercicios y prácticas.

                                      Situación de aprendizaje.




                                                  19
¿QUÉ HE APRENDIDO?

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

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

Concepto                                         Definición

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

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

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

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

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

2. Lee con atención cada una de las siguientes proposiciones y coloca dentro del paréntesis una
   V 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 a
    objetos.

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




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

                                                   4
                1         2          3                      5           6




               7              8      9          10
                                                                11      12




                         14                     16
                                     15
               13




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 y
   diagramas de Top-Down que los describan.

A) La Unidad de Registro y Control Escolar decide sistematizar la expedición de Certificados
   parciales, ya que actualmente se realizan de la siguiente forma:
• El auxiliar solicita al alumno su credencial y tira de materias del último semestre; si no
   debe materias procede a registrarlo para elaborar su certificado parcial, solicitándole al
   estudiante que regrese en una semana.
• El auxiliar consulta el expediente del estudiante buscando datos personales y calificaciones,
   para llenar el certificado parcial.
• Una vez capturado el certificado parcial el auxiliar solicita al responsable que lo firme y
   éste lo registra en la libreta de certificados parciales emitidos.
• Por último, entrega el certificado parcial al estudiante.

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

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

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

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

• Se recibe al vehículo particular entregándole a cambio un boleto de estacionamiento, el cual
    tiene un número de folio.
•   Se le asigna a dicho vehículo un cajón que se encuentre disponible y se registra la hora de
    entrada y la clave del chofer que lo recibió en una computadora.
•   Posteriormente, a la hora de recoger un vehículo se le solicita el boleto al dueño y se registra
    la 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 a
    pagar; en caso de que el vehículo no se encuentre en las mismas condiciones que cuando
    entró, se podrá ver en el sistema el nombre del chofer que lo recibió.
•   En el momento de pagar el importe de estacionamiento, el sistema asignará dicho cajón
    como 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.




                                                 22
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.




                                                                  23
¿QUÉ VOY A APRENDER?




                           UNIDAD II
                             ESTRUCTURA DE DATOS

   Objetivo de la Unidad:

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




Hasta el momento hemos revisado de forma muy genérica las metodologías de programación
lineal y estructurada para resolver diferentes tipos de problemas, sin embargo, el definir
algoritmos o pseudocódigos que planteen la descripción de la solución de un problema es sólo
el 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 las
características o atributos de algo, por lo cual tendremos que definir perfectamente los datos
involucrados 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 del
pseudocódigo) y variables (datos que pueden ir adoptando diferentes valores durante la ejecución
del pseudocódigo).

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

Los datos variables según el tipo de datos que almacene pueden ser simple o agrupado, es
decisión del programador definir el tipo de datos a utilizar, tomado como base el problema a
resolver. Ten mucho cuidado al definir un tipo de dato u otro, ya que de esto depende que la
solució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 de
una persona son:

                                Edad
                                Color del cabello
                                Estatura
                                Sexo


                                              24
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 las
mismas para todos.

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

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

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

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

Entenderemos por naturaleza de un dato al valor que se almacena en la estructura de datos, de
tal forma que podemos definir datos de tipo numérico, cuando el valor hace referencia a
cantidades; de tipo carácter, cuando el dato contiene valores que hacen referencia a un nombre
y dirección; de tipo lógico cuando el valor que se almacena puede ser verdadero o falso; de tipo
grá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. Los
contenidos que conforman esta unidad son los siguientes:

                                 Unidad II. Estructura de datos

                                                      Tienen
                                                      una
                                         Datos                 Estructura de datos



                                     Pueden ser
       Constantes                                                 Variables




                              Simples                                                     Agrupados

                                  De tipo
                                                                                                Como los



Numéricos    Alfanuméricos   Ordinales      Lógicos         Gráficos          Conjuntos   Registros    Arreglos




                                                       25
¿CÓMO APRENDO?

1. DATOS

Objetivo:

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

Los datos a procesar por una computadora pueden clasificarse en simples y agrupados. La
principal característica de los datos simples es que ocupan sólo una casilla de memoria, por lo
que 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 caracteres
               especiales. Por ejemplo: Nombre = Cadena de caracteres
                                          Sexo = Carácter

Ordinales: Son valores que son definidos por el usuario en forma enumerada, estos pueden ser
           enteros, 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 de
un problema, indicando su naturaleza si son datos variables, ya que estos son parte esencial
para la generación del pseudocódigo.

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




                                                   26
Actividades de aprendizaje                  Recursos                             Productos
 Realiza una consulta bibliográfica Joyanes Aguilar, Luis.                 Ficha de contenido sobre los
 sobre tipos de datos constantes y Fundamentos de programación.            tipos de datos constantes y
 variables. Elabora una ficha de    pp. 16-17.                             variables.
 contenido.

 Investiga acerca de la naturaleza     Joyanes Aguilar, Luis. Op. cit., Fichas de contenido sobre la
 de los datos simples (numéricos,      pp. 13-15, 203, 204, 261-263. naturaleza de los datos
 alfanuméricos, ordinales, lógicos     Eduardo Alcalde y Miguel         simples y agrupados.
 y gráficos) y agrupados o             García. Informática básica.
 estructurados (conjuntos,             pp. 219-221.
 registros y arreglos).

 Elabora un cuadro comparativo      Ficha de contenido sobre               Cuadro comparativo entre
 entre los tipos de datos simples y datos simples y agrupados.             datos simples y agrupados.
 agrupados o estructurados.

 Realiza el ejercicio 13.              Manual de ejercicios y prácticas.   Ejercicio 13 resuelto.

 Realiza el ejercicio 14.              Manual de ejercicios y prácticas.   Ejercicio 14 resuelto.



2. CONJUNTOS

Objetivo:

Identificar la utilidad de los datos agrupados como conjuntos, mediante la revisión de sus características
y 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 mismo
tipo de dato simple.

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

                                                           Miembro o elemento
Conjunto de números enteros:                      1
                                        53
                                             19

Las operaciones que podemos hacer con los conjuntos son las siguientes:
Pertenencia. Ver si un elemento o conjunto está incluido en otro conjunto.
Igualdad. Dos conjuntos son iguales si tienen exactamente los mismos elementos.
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 dos
conjuntos.


                                                      27
Diferencia. Definiendo A y B como dos conjuntos, el resultado de A - B son los elementos de
A que no estan en B, de igual forma B – A son los elementos de B que no están en A.
A continuación te presentamos las actividades que deberás realizar; en caso de dudas o problemas
consulta a tu asesor.

    Actividades de aprendizaje                    Recursos                          Productos

 Realiza una consulta bibliográfica Enciclopedia Encarta u otra            Ficha de contenido sobre la
 sobre la definición de conjuntos   bibliografía a tu alcance.             definición de conjuntos.

 Elabora un cuadro sinóptico        Enciclopedia Encarta u otra            Cuadro sinóptico sobre
 sobre las posibles operaciones con bibliografía a tu alcance.             operaciones de conjuntos.
 conjuntos y presenta algunos
 ejemplos.

 Realiza el ejercicio 15.              Manual de ejercicios y prácticas.   Ejercicio 15 resuelto.




3. REGISTROS

Objetivo:

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

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

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

                                  Tipo de dato que puede ser simple o agrupado (arreglo o
                 CAMPO            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 la
siguiente sintaxis.

Variable_Registro . Nombre_del_campo

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


                                                   28
Ejemplo:
Registro_Alumno =REGISTRO
                     Nombre : Cadena[20]
                         Calle : Cadena[9]
                     Numero : Entero
                     Telefono : Cadena[9]
                        Edad : Entero
                 TERMINA REGISTRO
A continuación se te presentan las actividades que deberás realizar para cubrir con este tema.
    Actividades de aprendizaje                     Recursos                          Productos
 Realiza una consulta bibliográfica                                         Ficha de contenido sobre la
 acerca de la definición de registro                                        definición de registro y sus
 y sus componentes.                                                         componentes.
                                        Joyanes Aguilar, Luis.
                                        Fundamentos de programación.
                                        pp. 260-265.

 Realiza los ejercicios 16 y 17.        Manual de ejercicios y prácticas.   Ejercicios 16 y 17 resueltos.


4. ARREGLOS

Objetivo:

Identificar la utilidad de los datos agrupados como arreglos, mediante la revisión de sus características
té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 del
mismo tipo, simple o estructurado. A continuación se describen varios de los términos utilizados
en los arreglos.

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

       COMPONENTES O                Hacen referencia a los elementos que forman el arreglo, es
         ELEMENTOS                  decir, a los valores que almacenan en cada una de las casillas
                                    del mismo.

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

Observaciones:

1. El índice puede ser de tipo 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.

                                                    29
Ejemplo: Letras = Arreglo [1..13] de caracter
Entenderemos 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 en
una 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 de
escribirlo es la siguiente:
               Artículos_y_Precios = Arreglo[1..4,A..B] de cadenadecaracteres

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

          A       Comida             Telas            Pastelería            Discos
          B        123                98                 71                  150
                    1                  2                  3                   4

La ventaja de utilizar arreglos multidimensionales es que podemos manipular datos
direccionados por: uno, dos, tres o más índices. Anteriormente se mencionó que un arreglo
puede ser de cualquier tipo, por lo tanto, un arreglo puede estar formado por componentes de
tipo registro, esto se escribiría de la siguiente manera:
Datos_alumno = REGISTRO
                 Nombre : Cadena
                   Edad : Entero
               TERMINA REGISTRO

Alumnos: Array [1..5] de Datos_alumno

Este ejemplo marca que existe un arreglo llamado Alumnos con cinco elementos de tipo registro
“Datos_alumno” con dos campos. 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 Cruz
     14               21                 16                 24                 45



     1                     2                 3               4                       5
Componente                                               Í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



                                                 30
Para desarrollar este tema, realiza las siguientes actividades.
    Actividades de aprendizaje                   Recursos                          Productos

 Realiza una consulta bibliográfica Joyanes Aguilar, Luis.                Ficha de contenido sobre la
 sobre la definición de arreglos    Fundamentos de programación.          definición de arreglo y sus
 (tablas o arrays) y sus            pp. 203-215.                          componentes.
 componentes.

 Elabora un cuadro sinóptico          Joyanes Aguilar, Luis. Op. cit., Cuadro sinóptico sobre
 sobre los arreglos                   pp. 215-2224.                    arreglos bidimensionales
 bidimensionales y                                                     multidimensionales.
 multidimensionales.

 Realiza los ejercicios 18 y 19.      Manual de ejercicios y prácticas.   Ejercicios 18 y 19 resueltos.

 Realiza la Práctica 3, que te        Manual de ejercicios y prácticas.   Resolución de la Práctica 3.
 introducirá a la aplicación de las
 estructuras de datos requeridas
 para la situación de aprendizaje.

 Realiza del ejercicio 6.6 al 6.24.   Joyanes Aguilar, Luis. Op. cit., Ejercicios resueltos.
                                      pp. 235 y 236.




                                                  31
¿QUÉ HE APRENDIDO?

A continuación te presentamos una pequeña evaluación de esta unidad para que valores tus
avances logrados hasta el momento.
1. Lee con atención cada uno de los siguientes conceptos y coloca dentro del paréntesis la letra
   de 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 mismo
                                       tipo de dato simple.

(       ) Dato.                     c) Dato estructurado, donde cada uno de sus componentes se
                                       denomina 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íneas
   correspondientes.
Registro
    A                                   B

    L uis
    6          5           1        7       9        0        5        6         7        8
    A v. de lo s M ila g ro s
    118
    876-12- 29             876-12- 30
    20


A.________________________________                   B.________________________________

Arreglo

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

             C                                                              D

C.________________________________                   D.________________________________

3. Lee cuidadosamente las siguientes preguntas y 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 las
   estructuras de datos más adecuadas.

                                                         32
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.




                                                                  33
¿QUÉ VOY A APRENDER?




                            UNIDAD III
                PROGRAMACIÓN ESTRUCTURADA BÁSICA

       Objetivo de la Unidad:
                   Aplicar los principios básicos de la programación estructurada
                   en la solución de problemas elementales, mediante la
                   especificación de la estructura de datos y las operaciones a
                   realizar, para desarrollar el pseudocódigo requerido.



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

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

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

Es importante señalar que muchas veces requerimos que esta información procesada se almacene
en algún dispositivo de almacenamiento secundario, por lo cual definiremos a los archivos
como la estructura de datos que permite almacenar información de una manera permanente y
las 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 existen
entre ellos.




                                                34
Unidad III. Programación estructurada básica

                                                Programación
                                              estructurada básica

                                                         Utiliza

                                                                 Que tiene
                                                 Pseudocódigo                    Especificaciones

                                                         Utiliza
        Realiza                                                                                         Utiliza
                                                 Estructuras
           Operaciones                                                                              Archivos
                                                   lógicas
                     De                                                                                 Tiene


Asignación Lectura Escritura Evaluación de                     Elementos       Organización    Tipos de        Tipos de    Operaciones
                             expresiones                                                       acceso          archivos
                                                                        Como                                                      De

                                       De tipo          Campo           Registro



                  Aritméticas   De relación   Lógicas                   Creación Eliminación Lectura           Escritura   Procesamiento




                                                                   35
¿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, para
la 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 se
ha establecido la forma de declararlos con precisión en el pseudocódigo, según las
especificaciones correspondientes. Para esto, estableceremos que las estructuras de datos y los
nombres 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.

       TIPOS
            Lista de tipos requeridos en el programa
       CONSTANTES
            Lista de constantes                                              Estructura de
       VARIABLES                                                                 datos
            Lista de variables

       INICIO DE PROGRAMA
             {Especificaciones técnicas, pseudocódigo del programa}
       FIN 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 necesarias
para realizar la tarea planteada.

Al momento de generar el pseudocódigo de algún problema, agruparemos en un bloque de
declaración de tipos, constantes y variables, donde se definirán los datos simples y agrupados
o 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ántas
horas 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.




                                                   36
ESTRUCTURA DE DATOS

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

CONSTANTES
       Total_Asignaturas = 5                              Identificadores

VARIABLES
Registro_alumno = REGISTRO
      Horario_alumno : Arreglo [Dias_De_la_Semana] de entero
              Nombre : Cadena
               Grupo : Cadena[5]
        Calificaciones : Calificaciones_de_asignaturas
            Promedio : Real;
TERMINA REGISTRO


En la 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 la
secció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 o
problema consulta a tu asesor.

    Actividades de aprendizaje                  Recursos                         Productos
 Realiza la lectura de las paginas   Joyanes Aguilar, Luis.              Preguntas resueltas
 sugeridas y contesta las            Fundamentos de programación.
 siguientes preguntas:               pp. 84-87.
 1. ¿Qué es la cabecera de un
 programa o algoritmo?
 2. ¿Cuáles son los bloques de
 declaración de variables y
 constantes?
 3. ¿Qué es un comentario?

 Realiza los ejercicios 20 y 21.     Manual de ejercicios y prácticas.   Ejercicios 20 y 21 resueltos.




                                                 37
2. OPERACIONES BÁSICAS

Objetivo:

Especificar en pseudocódigo las operaciones básicas factibles de realizar, mediante la revisión de cada
una 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 en
el uso de operaciones básicas tales como la asignación de datos, la evaluación de expresiones y
la lectura y escritura de datos.

Cuando hablamos de asignaciones nos referimos a relacionar un valor con el identificador de
un dato, es decir, le asignamos un dato o valor al nombre de una estructura de datos. Sólo
puedes asignar valores equivalentes al tipo de dato que tiene la estructura de datos, es
decir, tanto la variable como el valor asignado deben ser del mismo tipo.

El valor que se le asigna a una variable puede ser tomado de: una constante, un valor definido,
el resultado de una 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 se
definen en el área de constantes, en cambio en los datos variables, las asignaciones pueden ser
en 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 - Descuento
 Meses_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 mensajes
enviados al monitor; sin embargo, se pueden realizar lecturas desde el mismo pseudocódigo al
asignarse un valor o leer de un archivo (los revisaremos más adelante), asimismo se pueden
escribir 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 de
sentencias 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 de
tal 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 verdadero
o falso. Por ejemplo:

                                             Edad >18

                                                  38
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 que
utilice los conectores and, not y or (y, no y o respectivamente), generalmente se utilizan en las
estructuras 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 de
estructuras lógicas, ya que son la base para poder escribir el pseudocódigo requerido para
solucionar problemas con esta metodología.

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

Es importante señalar que cuando hablamos de pseudocódigo nos referimos al desarrollo de
una solución con una tendencia estructurada en forma algorítmica; sin embargo, cuando
hablamos de un programa nos referimos al resultado de la ejecución de un pseudocódigo
codificado 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 contrario
y la condicional Caso-Fincaso. Dependiendo del problema se seleccionará entre un tipo y el
otro. La diferencia consiste en que el primer tipo de estructura lógica condicional solo puede
evaluar un valor, dando dos posibles secuencias de acción; mientras que el segundo tipo puede
evaluar 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 o
sentencias 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ón
   ló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á sus
   sentencias 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 una
   variable 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ón
estructurada.




                                               39
A continuación te presentamos las actividades que deberás realizar; en caso de dudas o problemas
consulta a tu asesor.
     Actividades de aprendizaje                 Recursos                             Productos
  Realiza una consulta bibliográfica Joyanes Aguilar, Luis.                 Fichas de contenido sobre
  sobre cómo es una instrucción de Fundamentos de programación.             las asignaciones de valores a
  asignación de un valor a una       pp. 27-29.                             datos variables.
  variable. Elabora fichas de
  contenido sobre este tema.

  Investiga sobre la evaluación de Joyanes Aguilar, Luis. Op. cit., Fichas de contenido sobre la
  expresiones y el uso de las         pp. 17-29, 100-144.           evaluación de expresiones y
  estructuras lógicas, elabora fichas                               las estructuras lógicas.
  de contenido.

  Realiza los ejercicios 22, 23 y 24.   Manual de ejercicios y prácticas.   Ejercicios 22, 23 y 24
                                                                            resueltos.

  Desarrolla la Práctica 4, que te Manual de ejercicios y prácticas.        Resolución de la Práctica 4.
  mostrará la aplicación de los
  temas vistos hasta este momento,
  en el problema propuesto en la
  situación de aprendizaje.

  Realiza del ejercicio 1.2 al 1.11.    Joyanes Aguilar, Luis. Op. cit., Ejercicios resueltos.
                                        pp. 37 y 38.

  De las actividades de                 Joyanes Aguilar, Luis. Op. cit., Identificación de las
  programación resueltas (4.1 a la      pp. 145-160.                     estructuras lógicas.
  4.24), identifica el uso de las
  estructuras lógicas.

  Realiza del ejercicio 4.2 al 4.10.    Joyanes Aguilar, Luis. Op. cit., Ejercicios resueltos.
                                        p. 160.


3. ARCHIVOS
Objetivo:
Identificar a los archivos como elementos de almacenamiento permanente de datos, mediante la revisión
de sus especificaciones y características técnicas, para el desarrollo de soluciones que requieran esta
herramienta.
Un archivo se define como una estructura de datos que reside en memoria secundaria o
dispositivo de almacenamiento, tales como disquetes, 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 se
pueden manipular de forma conjunta, en otras palabras, los registros se encuentran conformados
por campos, que son datos específicos sobre algún conjunto de individuos u objetos.

                                                    40
Archivo de datos alumnos

                                                             Registro 6

                                                         Registro 5

                                                     Registro 4

                                                   Registro 3

                                               Registro 2

                                            Registro 1


                                 Nombre: Margarita Irra.
                        Campos
                                 Matrícula: 993211-A
                                 Grupo: 501 T.M.
                                 Capacitación: Informática




Cuando se diseña la estructura de datos de un archivo se puede elegir diferentes formas para
organizarlo, dependiendo del uso que se le va a dar y del soporte utilizado (cinta o disco). A
continuació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 registros
se colocan y se acceden al indicar el lugar que ocupan dentro del archivo.

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

a) Área primaria: Contiene los registros.

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

c) Área de índices: Es un archivo secuencial en el que cada registro establece la clave de un
registro del área primaria y su ubicación (dirección). De esta manera el sistema accede de
forma directa a una dirección del área primaria a partir del índice. Para comprender mejor este
tipo 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 esa
página.

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

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


                                                       41
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, sin
accesar los registros anteriores.

Ejemplo:

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




                                                 En cambio los CD´s tienen un tipo de
   Las cintas o casetes de música tienen         acceso aleatorio, dado que para escuchar
   un tipo de acceso secuencial , ya que         la canción No. 5 bastará con direccionar
   para escuchar la canción No. 5 debes          esa canción. El acceso es más rápido en
   recorrer la cinta a través de las             este tipo de soporte, ya que no se
   canciones 1, 2, 3 y 4.                        requiere accesar canción por canción.

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

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

Archivos tipo texto. Contienen datos de tipo carácter; este tipo de archivo consiste en varias
lí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 cualquier
editor 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/o
agrupadas, donde todos los elementos se encuentran relacionados entre sí. El programa no
necesita traducir el contenido del archivo para entenderlo, ya que debe disponer de la estructura
definida.

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




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

    Actividades de aprendizaje                  Recursos                          Productos
 Consulta acerca de los archivos y    Joyanes Aguilar, Luis.              Ficha de contenido sobre
 elabora una ficha de contenido.      Fundamentos de programación.        archivos.
                                      pp. 259-265.

 Elabora un cuadro sinóptico          Joyanes Aguilar, Luis. Op. cit., Cuadro sinóptico sobre la
 sobre la lógica que se sigue en la   pp. 265-270.                     organización y acceso a los
 organización y acceso a los                                           registros de un archivo.
 registros de un archivo.

 Realiza un cuadro comparativo        Joyanes Aguilar, Luis. Op. cit., Cuadro comparativo sobre
 que considere los diferentes tipos   p. 287.                          los diferentes tipos de
 de archivos, marcando sus                                             archivos.
 características primordiales.

 Realiza los ejercicios 25 y 26.      Manual de ejercicios y prácticas.   Ejercicios 25 y 26 resueltos.

 A partir de revisar y analizar la    Situación de aprendizaje.           Ficha de contenido con la
 situación de aprendizaje, explica                                        justificación del uso de la
 por qué es conveniente utilizar                                          metodología estructurada.
 una metodología de
 programación estructurada.
 Genera una ficha de contenido.

 Realiza del ejercicio 8.1 al 8.3.    Joyanes Aguilar, Luis. Op. cit . Ejercicios resueltos.
                                      p. 304.




4. OPERACIONES CON ARCHIVOS

Objetivo:

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

Una vez almacenada la información en archivos, podrás manipularla al desarrollar habilidades
para crear, borrar, leer, escribir y procesar archivos. Mediante el uso y aplicación de los archivos
podrás plantear soluciones en términos de la programación estructurada, manipulando los
datos 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.




                                                  43
Actividades de aprendizaje                Recursos                              Productos
Investiga sobre las operaciones    Joyanes Aguilar, Luis.                 Ficha de contenido sobre las
básicas que pueden realizarse con Fundamentos de programación.            operaciones básicas de los
los archivos, como son: creación y pp. 270-278.                           archivos.
eliminación, lectura y escritura.
Elabora una ficha de contenido.

Elabora un cuadro sinóptico con Joyanes Aguilar, Luis. Op. cit.,          Cuadro sinóptico con las
las características técnicas para el pp. 265-270, 280-296.                características técnicas para
acceso a la información de los                                            el acceso a la información de
archivos, que pueden ser:                                                 los archivos.
secuencial, relativa e indexada.

Realiza los ejercicios 27, 28 y 29.   Manual de ejercicios y prácticas.   Ejercicios 27, 28 y 29
                                                                          resueltos.

Realiza la Práctica 5, que incluye    Manual de ejercicios y prácticas.   Resolución de la Práctica 5.
el manejo de los archivos en el
problema propuesto en la
situación de aprendizaje.

Realiza del ejercicio 8.4 al 8.8.     Joyanes Aguilar, Luis. Op. cit., Ejercicios resueltos.
                                      p. 304.




                                                  44
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion
Logica computacional y programacion

More Related Content

What's hot

Mapa mental de hardware y software
Mapa mental  de hardware y softwareMapa mental  de hardware y software
Mapa mental de hardware y softwareluzeiitha
 
Planificación de sistemas de información
Planificación de sistemas de informaciónPlanificación de sistemas de información
Planificación de sistemas de informaciónMARCO POLO SILVA SEGOVIA
 
Ciclo de vida de un sistema de informacion
Ciclo de vida de un sistema de informacionCiclo de vida de un sistema de informacion
Ciclo de vida de un sistema de informacionMonica Naranjo
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesadorFernando Camacho
 
Linea de tiempo del sistema operativo Linux-Cronología.
Linea de tiempo del sistema operativo Linux-Cronología.Linea de tiempo del sistema operativo Linux-Cronología.
Linea de tiempo del sistema operativo Linux-Cronología.JJAPULA
 
Uso de las computadoras en la actualidad
Uso de las computadoras en la actualidadUso de las computadoras en la actualidad
Uso de las computadoras en la actualidadFany Zarate
 
La informatica y la computadora
La informatica y la computadoraLa informatica y la computadora
La informatica y la computadoraAlexa Morales
 
Mapa conceptual - Arquitectura de Computadoras
Mapa conceptual -  Arquitectura de ComputadorasMapa conceptual -  Arquitectura de Computadoras
Mapa conceptual - Arquitectura de ComputadorasLely
 
Evolución de linux
Evolución de linuxEvolución de linux
Evolución de linuxleopoldo16
 
Requerimientos de un sistema operativo 1
Requerimientos de un sistema operativo  1Requerimientos de un sistema operativo  1
Requerimientos de un sistema operativo 1tecnologia01
 
Diferencias entre arquitectura y organización
Diferencias entre arquitectura y organizaciónDiferencias entre arquitectura y organización
Diferencias entre arquitectura y organizaciónAngel Aguilar
 
Pseint Variables Y Comentarios
Pseint Variables Y ComentariosPseint Variables Y Comentarios
Pseint Variables Y ComentariosMonjeOneble
 
Fundamentos del software
Fundamentos del softwareFundamentos del software
Fundamentos del softwareAnabel Santana
 
Concepto De Sistema Operativo.
Concepto De Sistema Operativo.Concepto De Sistema Operativo.
Concepto De Sistema Operativo.jengibre
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativosadriel91
 
Metodología J. Llorens Fabregas - Version Final (Corta).
Metodología J. Llorens Fabregas - Version Final (Corta).Metodología J. Llorens Fabregas - Version Final (Corta).
Metodología J. Llorens Fabregas - Version Final (Corta).Enmanuel Cubillan León
 
Arquitectura del pc (escritorio & portátil)
Arquitectura del pc (escritorio & portátil)Arquitectura del pc (escritorio & portátil)
Arquitectura del pc (escritorio & portátil)Kevin Lemus
 

What's hot (20)

Mapa mental de hardware y software
Mapa mental  de hardware y softwareMapa mental  de hardware y software
Mapa mental de hardware y software
 
Mapa conceptual BD
Mapa conceptual BDMapa conceptual BD
Mapa conceptual BD
 
Planificación de sistemas de información
Planificación de sistemas de informaciónPlanificación de sistemas de información
Planificación de sistemas de información
 
Ciclo de vida de un sistema de informacion
Ciclo de vida de un sistema de informacionCiclo de vida de un sistema de informacion
Ciclo de vida de un sistema de informacion
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Linea de tiempo del sistema operativo Linux-Cronología.
Linea de tiempo del sistema operativo Linux-Cronología.Linea de tiempo del sistema operativo Linux-Cronología.
Linea de tiempo del sistema operativo Linux-Cronología.
 
Uso de las computadoras en la actualidad
Uso de las computadoras en la actualidadUso de las computadoras en la actualidad
Uso de las computadoras en la actualidad
 
La informatica y la computadora
La informatica y la computadoraLa informatica y la computadora
La informatica y la computadora
 
ingenieria de software
ingenieria de softwareingenieria de software
ingenieria de software
 
Mapa conceptual - Arquitectura de Computadoras
Mapa conceptual -  Arquitectura de ComputadorasMapa conceptual -  Arquitectura de Computadoras
Mapa conceptual - Arquitectura de Computadoras
 
Evolución de linux
Evolución de linuxEvolución de linux
Evolución de linux
 
Requerimientos de un sistema operativo 1
Requerimientos de un sistema operativo  1Requerimientos de un sistema operativo  1
Requerimientos de un sistema operativo 1
 
Diferencias entre arquitectura y organización
Diferencias entre arquitectura y organizaciónDiferencias entre arquitectura y organización
Diferencias entre arquitectura y organización
 
Pseint Variables Y Comentarios
Pseint Variables Y ComentariosPseint Variables Y Comentarios
Pseint Variables Y Comentarios
 
Fundamentos del software
Fundamentos del softwareFundamentos del software
Fundamentos del software
 
Concepto De Sistema Operativo.
Concepto De Sistema Operativo.Concepto De Sistema Operativo.
Concepto De Sistema Operativo.
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
 
Metodología J. Llorens Fabregas - Version Final (Corta).
Metodología J. Llorens Fabregas - Version Final (Corta).Metodología J. Llorens Fabregas - Version Final (Corta).
Metodología J. Llorens Fabregas - Version Final (Corta).
 
Arquitectura del pc (escritorio & portátil)
Arquitectura del pc (escritorio & portátil)Arquitectura del pc (escritorio & portátil)
Arquitectura del pc (escritorio & portátil)
 

Viewers also liked

Viewers also liked (8)

Crear usuarios masivos en directorio activo de w2 k8
Crear usuarios masivos en directorio activo de w2 k8Crear usuarios masivos en directorio activo de w2 k8
Crear usuarios masivos en directorio activo de w2 k8
 
Razonamiento lógico
Razonamiento lógicoRazonamiento lógico
Razonamiento lógico
 
Competencias, Destrezas Y Habilidades
Competencias, Destrezas Y HabilidadesCompetencias, Destrezas Y Habilidades
Competencias, Destrezas Y Habilidades
 
Diferenciación entre capacidad, destreza y habilidad de competencia.
Diferenciación entre capacidad, destreza y habilidad de competencia.Diferenciación entre capacidad, destreza y habilidad de competencia.
Diferenciación entre capacidad, destreza y habilidad de competencia.
 
Competencias y capacidades
Competencias y capacidadesCompetencias y capacidades
Competencias y capacidades
 
Competencias, capacidades e indicadores
Competencias, capacidades e indicadoresCompetencias, capacidades e indicadores
Competencias, capacidades e indicadores
 
Edgar Morin, Pensamiento Complejo y Educación
Edgar Morin, Pensamiento Complejo y Educación Edgar Morin, Pensamiento Complejo y Educación
Edgar Morin, Pensamiento Complejo y Educación
 
MATRIZ DE COMPETENCIAS, CAPACIDADES E INDICADORES 2015 DEL CUARTO GRADO
MATRIZ DE COMPETENCIAS, CAPACIDADES E INDICADORES 2015 DEL CUARTO GRADOMATRIZ DE COMPETENCIAS, CAPACIDADES E INDICADORES 2015 DEL CUARTO GRADO
MATRIZ DE COMPETENCIAS, CAPACIDADES E INDICADORES 2015 DEL CUARTO GRADO
 

Similar to Logica computacional y programacion

Tema1 software educativo y su utilidad
Tema1 software educativo y su utilidadTema1 software educativo y su utilidad
Tema1 software educativo y su utilidadadolfogcasanova
 
Disenoestructuradoalgoritmos
DisenoestructuradoalgoritmosDisenoestructuradoalgoritmos
Disenoestructuradoalgoritmosarmando_franco
 
Logicacomputacionalyprogramacion 121119003511-phpapp01
Logicacomputacionalyprogramacion 121119003511-phpapp01Logicacomputacionalyprogramacion 121119003511-phpapp01
Logicacomputacionalyprogramacion 121119003511-phpapp01Hugo Alexander
 
Formación en tic's
Formación en tic'sFormación en tic's
Formación en tic'sCari Caminos
 
Alfabetizacion digital
Alfabetizacion digitalAlfabetizacion digital
Alfabetizacion digitalprofe-tics
 
Algoritmos guia de maria hernandez
Algoritmos guia de maria hernandezAlgoritmos guia de maria hernandez
Algoritmos guia de maria hernandezjackie_18
 
Desarrollo del proyecto
Desarrollo del proyectoDesarrollo del proyecto
Desarrollo del proyectosabrosisimo69
 
Curso competencias dig-guia_trabajo
Curso competencias dig-guia_trabajoCurso competencias dig-guia_trabajo
Curso competencias dig-guia_trabajoNoralinda
 
tutorial de informatica
tutorial  de informaticatutorial  de informatica
tutorial de informatica11steven11
 
Informe: Mejora de Procesos de Software
Informe: Mejora de Procesos de SoftwareInforme: Mejora de Procesos de Software
Informe: Mejora de Procesos de SoftwareSaul Scanziani
 
Trabajo de tecnologia actividad 2
Trabajo de tecnologia  actividad 2Trabajo de tecnologia  actividad 2
Trabajo de tecnologia actividad 2Dana Montaño
 
Trabajo de tecnologia actividad 2
Trabajo de tecnologia  actividad 2Trabajo de tecnologia  actividad 2
Trabajo de tecnologia actividad 2VictoriaRamrez13
 

Similar to Logica computacional y programacion (20)

Tema1 software educativo y su utilidad
Tema1 software educativo y su utilidadTema1 software educativo y su utilidad
Tema1 software educativo y su utilidad
 
Disenoestructuradoalgoritmos
DisenoestructuradoalgoritmosDisenoestructuradoalgoritmos
Disenoestructuradoalgoritmos
 
Disenoestructuradoalgoritmos
DisenoestructuradoalgoritmosDisenoestructuradoalgoritmos
Disenoestructuradoalgoritmos
 
Formacion Sociedad Globalizadora
Formacion Sociedad GlobalizadoraFormacion Sociedad Globalizadora
Formacion Sociedad Globalizadora
 
Logicacomputacionalyprogramacion 121119003511-phpapp01
Logicacomputacionalyprogramacion 121119003511-phpapp01Logicacomputacionalyprogramacion 121119003511-phpapp01
Logicacomputacionalyprogramacion 121119003511-phpapp01
 
Formación en tic's
Formación en tic'sFormación en tic's
Formación en tic's
 
Alfabetizacion digital
Alfabetizacion digitalAlfabetizacion digital
Alfabetizacion digital
 
Diseño Estructurado de Algoritmos
Diseño Estructurado de AlgoritmosDiseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos
 
Algoritmos guia de maria hernandez
Algoritmos guia de maria hernandezAlgoritmos guia de maria hernandez
Algoritmos guia de maria hernandez
 
Informe final
Informe finalInforme final
Informe final
 
Informe final
Informe finalInforme final
Informe final
 
Introduccion al desarrollo de software
Introduccion al desarrollo de softwareIntroduccion al desarrollo de software
Introduccion al desarrollo de software
 
Desarrollo del proyecto
Desarrollo del proyectoDesarrollo del proyecto
Desarrollo del proyecto
 
Curso competencias dig-guia_trabajo
Curso competencias dig-guia_trabajoCurso competencias dig-guia_trabajo
Curso competencias dig-guia_trabajo
 
tutorial de informatica
tutorial  de informaticatutorial  de informatica
tutorial de informatica
 
Competencias digitales para_maestros_de
Competencias digitales para_maestros_deCompetencias digitales para_maestros_de
Competencias digitales para_maestros_de
 
Informe: Mejora de Procesos de Software
Informe: Mejora de Procesos de SoftwareInforme: Mejora de Procesos de Software
Informe: Mejora de Procesos de Software
 
Trabajo de tecnologia actividad 2
Trabajo de tecnologia  actividad 2Trabajo de tecnologia  actividad 2
Trabajo de tecnologia actividad 2
 
Trabajo de tecnologia actividad 2
Trabajo de tecnologia  actividad 2Trabajo de tecnologia  actividad 2
Trabajo de tecnologia actividad 2
 
TICs
TICsTICs
TICs
 

More from Eli Diaz

(Meta2.2) ejercicio de variables resuelto dev c++
(Meta2.2) ejercicio de variables resuelto dev c++ (Meta2.2) ejercicio de variables resuelto dev c++
(Meta2.2) ejercicio de variables resuelto dev c++ Eli Diaz
 
(Meta1.2) problemas de algoritmos, diagramas de flujo y pseudocodigos
(Meta1.2) problemas de algoritmos, diagramas de flujo y pseudocodigos (Meta1.2) problemas de algoritmos, diagramas de flujo y pseudocodigos
(Meta1.2) problemas de algoritmos, diagramas de flujo y pseudocodigos Eli Diaz
 
(Meta2.1) ensayo¨ la programación en la vida diaria y mi área profesional¨
(Meta2.1) ensayo¨ la programación en la vida diaria y mi área profesional¨ (Meta2.1) ensayo¨ la programación en la vida diaria y mi área profesional¨
(Meta2.1) ensayo¨ la programación en la vida diaria y mi área profesional¨ Eli Diaz
 
(Meta 5.1)función sin parámetros que no retorna valor dev c++
(Meta 5.1)función sin parámetros que no retorna valor dev c++ (Meta 5.1)función sin parámetros que no retorna valor dev c++
(Meta 5.1)función sin parámetros que no retorna valor dev c++ Eli Diaz
 
(Meta 5)temperatura 3 dev c++
(Meta 5)temperatura 3 dev c++ (Meta 5)temperatura 3 dev c++
(Meta 5)temperatura 3 dev c++ Eli Diaz
 
(Meta 5)temperatura 2 dev c++
(Meta 5)temperatura 2 dev c++ (Meta 5)temperatura 2 dev c++
(Meta 5)temperatura 2 dev c++ Eli Diaz
 
(Meta 5.1) base de datos de alumnos dev c++
(Meta 5.1) base de datos de alumnos dev c++ (Meta 5.1) base de datos de alumnos dev c++
(Meta 5.1) base de datos de alumnos dev c++ Eli Diaz
 
(Meta 5) ejemplo vectores dev c++
(Meta 5) ejemplo vectores dev c++ (Meta 5) ejemplo vectores dev c++
(Meta 5) ejemplo vectores dev c++ Eli Diaz
 
(Meta 5)temperatura dev c++
(Meta 5)temperatura dev c++ (Meta 5)temperatura dev c++
(Meta 5)temperatura dev c++ Eli Diaz
 
(Meta 5) ejemplo vectores 2 dev c++
(Meta 5) ejemplo vectores 2 dev c++ (Meta 5) ejemplo vectores 2 dev c++
(Meta 5) ejemplo vectores 2 dev c++ Eli Diaz
 
(Meta 5.1)ventas totales. mayores e inferiores dev c++
(Meta 5.1)ventas totales. mayores e inferiores dev c++ (Meta 5.1)ventas totales. mayores e inferiores dev c++
(Meta 5.1)ventas totales. mayores e inferiores dev c++ Eli Diaz
 
(Meta 4.2) semestre,numero de materias y cantidad a pagar de un alumno dev c++
(Meta 4.2) semestre,numero de materias y cantidad a pagar de un alumno dev c++(Meta 4.2) semestre,numero de materias y cantidad a pagar de un alumno dev c++
(Meta 4.2) semestre,numero de materias y cantidad a pagar de un alumno dev c++Eli Diaz
 
(Meta 4.2) fiesta de 15 años dev c++
(Meta 4.2) fiesta de 15 años  dev c++ (Meta 4.2) fiesta de 15 años  dev c++
(Meta 4.2) fiesta de 15 años dev c++ Eli Diaz
 
(Meta 4.1)mostrar el cuadrado y el residuo de un numero dev c++
(Meta 4.1)mostrar el cuadrado y el residuo de un numero dev c++ (Meta 4.1)mostrar el cuadrado y el residuo de un numero dev c++
(Meta 4.1)mostrar el cuadrado y el residuo de un numero dev c++ Eli Diaz
 
(Meta 4.1)identificador de numero par e impar dev c++
(Meta 4.1)identificador de numero par e impar dev c++ (Meta 4.1)identificador de numero par e impar dev c++
(Meta 4.1)identificador de numero par e impar dev c++ Eli Diaz
 
(Meta 4.1)conversosr pesos a dolares y dolares a pesos dev c++
(Meta 4.1)conversosr pesos a dolares y dolares a pesos dev c++ (Meta 4.1)conversosr pesos a dolares y dolares a pesos dev c++
(Meta 4.1)conversosr pesos a dolares y dolares a pesos dev c++ Eli Diaz
 
(Meta 4.2) fiesta de 15 años 2 dev c++
(Meta 4.2) fiesta de 15 años  2 dev c++ (Meta 4.2) fiesta de 15 años  2 dev c++
(Meta 4.2) fiesta de 15 años 2 dev c++ Eli Diaz
 
(Meta 4) ejemplo lectura de datos, dato mayor de 3 datos dev c++
(Meta 4) ejemplo lectura de datos, dato mayor de 3 datos  dev c++ (Meta 4) ejemplo lectura de datos, dato mayor de 3 datos  dev c++
(Meta 4) ejemplo lectura de datos, dato mayor de 3 datos dev c++ Eli Diaz
 
(Meta 4) ejemplo laboratorios dev c++
(Meta 4) ejemplo laboratorios dev c++ (Meta 4) ejemplo laboratorios dev c++
(Meta 4) ejemplo laboratorios dev c++ Eli Diaz
 
(Meta 4) ejemplo cursos dev c++
(Meta 4) ejemplo cursos dev c++ (Meta 4) ejemplo cursos dev c++
(Meta 4) ejemplo cursos dev c++ Eli Diaz
 

More from Eli Diaz (20)

(Meta2.2) ejercicio de variables resuelto dev c++
(Meta2.2) ejercicio de variables resuelto dev c++ (Meta2.2) ejercicio de variables resuelto dev c++
(Meta2.2) ejercicio de variables resuelto dev c++
 
(Meta1.2) problemas de algoritmos, diagramas de flujo y pseudocodigos
(Meta1.2) problemas de algoritmos, diagramas de flujo y pseudocodigos (Meta1.2) problemas de algoritmos, diagramas de flujo y pseudocodigos
(Meta1.2) problemas de algoritmos, diagramas de flujo y pseudocodigos
 
(Meta2.1) ensayo¨ la programación en la vida diaria y mi área profesional¨
(Meta2.1) ensayo¨ la programación en la vida diaria y mi área profesional¨ (Meta2.1) ensayo¨ la programación en la vida diaria y mi área profesional¨
(Meta2.1) ensayo¨ la programación en la vida diaria y mi área profesional¨
 
(Meta 5.1)función sin parámetros que no retorna valor dev c++
(Meta 5.1)función sin parámetros que no retorna valor dev c++ (Meta 5.1)función sin parámetros que no retorna valor dev c++
(Meta 5.1)función sin parámetros que no retorna valor dev c++
 
(Meta 5)temperatura 3 dev c++
(Meta 5)temperatura 3 dev c++ (Meta 5)temperatura 3 dev c++
(Meta 5)temperatura 3 dev c++
 
(Meta 5)temperatura 2 dev c++
(Meta 5)temperatura 2 dev c++ (Meta 5)temperatura 2 dev c++
(Meta 5)temperatura 2 dev c++
 
(Meta 5.1) base de datos de alumnos dev c++
(Meta 5.1) base de datos de alumnos dev c++ (Meta 5.1) base de datos de alumnos dev c++
(Meta 5.1) base de datos de alumnos dev c++
 
(Meta 5) ejemplo vectores dev c++
(Meta 5) ejemplo vectores dev c++ (Meta 5) ejemplo vectores dev c++
(Meta 5) ejemplo vectores dev c++
 
(Meta 5)temperatura dev c++
(Meta 5)temperatura dev c++ (Meta 5)temperatura dev c++
(Meta 5)temperatura dev c++
 
(Meta 5) ejemplo vectores 2 dev c++
(Meta 5) ejemplo vectores 2 dev c++ (Meta 5) ejemplo vectores 2 dev c++
(Meta 5) ejemplo vectores 2 dev c++
 
(Meta 5.1)ventas totales. mayores e inferiores dev c++
(Meta 5.1)ventas totales. mayores e inferiores dev c++ (Meta 5.1)ventas totales. mayores e inferiores dev c++
(Meta 5.1)ventas totales. mayores e inferiores dev c++
 
(Meta 4.2) semestre,numero de materias y cantidad a pagar de un alumno dev c++
(Meta 4.2) semestre,numero de materias y cantidad a pagar de un alumno dev c++(Meta 4.2) semestre,numero de materias y cantidad a pagar de un alumno dev c++
(Meta 4.2) semestre,numero de materias y cantidad a pagar de un alumno dev c++
 
(Meta 4.2) fiesta de 15 años dev c++
(Meta 4.2) fiesta de 15 años  dev c++ (Meta 4.2) fiesta de 15 años  dev c++
(Meta 4.2) fiesta de 15 años dev c++
 
(Meta 4.1)mostrar el cuadrado y el residuo de un numero dev c++
(Meta 4.1)mostrar el cuadrado y el residuo de un numero dev c++ (Meta 4.1)mostrar el cuadrado y el residuo de un numero dev c++
(Meta 4.1)mostrar el cuadrado y el residuo de un numero dev c++
 
(Meta 4.1)identificador de numero par e impar dev c++
(Meta 4.1)identificador de numero par e impar dev c++ (Meta 4.1)identificador de numero par e impar dev c++
(Meta 4.1)identificador de numero par e impar dev c++
 
(Meta 4.1)conversosr pesos a dolares y dolares a pesos dev c++
(Meta 4.1)conversosr pesos a dolares y dolares a pesos dev c++ (Meta 4.1)conversosr pesos a dolares y dolares a pesos dev c++
(Meta 4.1)conversosr pesos a dolares y dolares a pesos dev c++
 
(Meta 4.2) fiesta de 15 años 2 dev c++
(Meta 4.2) fiesta de 15 años  2 dev c++ (Meta 4.2) fiesta de 15 años  2 dev c++
(Meta 4.2) fiesta de 15 años 2 dev c++
 
(Meta 4) ejemplo lectura de datos, dato mayor de 3 datos dev c++
(Meta 4) ejemplo lectura de datos, dato mayor de 3 datos  dev c++ (Meta 4) ejemplo lectura de datos, dato mayor de 3 datos  dev c++
(Meta 4) ejemplo lectura de datos, dato mayor de 3 datos dev c++
 
(Meta 4) ejemplo laboratorios dev c++
(Meta 4) ejemplo laboratorios dev c++ (Meta 4) ejemplo laboratorios dev c++
(Meta 4) ejemplo laboratorios dev c++
 
(Meta 4) ejemplo cursos dev c++
(Meta 4) ejemplo cursos dev c++ (Meta 4) ejemplo cursos dev c++
(Meta 4) ejemplo cursos dev c++
 

Recently uploaded

OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024AndreRiva2
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 

Recently uploaded (20)

Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 

Logica computacional y programacion

  • 1. LÓGICA COMPUTACIONAL Y PROGRAMACIÓN C u a d ernillo d e p ro cedim ien to s pa ra el a pren d iza je (V er sió n par a fase in icial) C ON L A C O LA B ORA CIÓ N DE L uis G abriel M ondragón To rre s 1
  • 2. LÓGICA COMPUTACIONAL Y PROGRAMACIÓN Cuadernillo de procedimientos para el aprendizaje 1999. Secretaría de Educación Pública/ Dirección General del Bachillerato COSTO DE RECUPERACIÓN $ 12.00 2
  • 3. ÍNDICE Presentación............................................................................................................................................................ 5 UNIDAD I. Lógica computacional................................................................................................................. 8 1. Conceptos generales........................................................................................................................................... 12 2. Programación lineal........................................................................................................................................... 14 3. Programación estructurada.............................................................................................................................. 16 4. Programación orientada a objetos.................................................................................................................. 18 ¿Qué he aprendido?................................................................................................................................................ 20 Quiero saber más..................................................................................................................................................... 23 UNIDAD II. Estructura de datos.................................................................................................................... 24 1. Datos...................................................................................................................................................................... 26 2. Conjuntos.............................................................................................................................................................. 27 3. Registros................................................................................................................................................................ 28 4. Arreglos................................................................................................................................................................. 29 ¿Qué he aprendido?................................................................................................................................................. 32 Quiero saber más..................................................................................................................................................... 33 UNIDAD III. Programación estructurada básica..................................................................................... 34 1. Declaración de las estructuras de datos......................................................................................................... 36 2. Operaciones básicas............................................................................................................................................ 38 3. Archivos................................................................................................................................................................. 40 4. Operaciones con archivos.................................................................................................................................. 43 ¿Qué he aprendido?................................................................................................................................................ 45 Quiero saber más..................................................................................................................................................... 47 UNIDAD IV. Programación estructurada intermedia............................................................................. 48 1. Procedimientos y funciones............................................................................................................................... 50 2. Impresión de reportes........................................................................................................................................ 55 3. Lenguajes de programación estructurada..................................................................................................... 57 ¿Qué he aprendido?................................................................................................................................................. 59 Quiero saber más..................................................................................................................................................... 60 UNIDAD V. Programación orientada a objetos......................................................................................... 61 1. Especificaciones para el pseudocódigo........................................................................................................... 63 2. Proceso para el desarrollo de soluciones....................................................................................................... 64 3. Lenguajes de programación orientada a objetos......................................................................................... 67 ¿Qué he aprendido?................................................................................................................................................. 68 Quiero saber más..................................................................................................................................................... 69 3
  • 4. 4
  • 5. PRESENTACIÓN En el marco del Bachillerato General, la Capacitación en Informática tiene como LÓGICA COMPUTACIONAL finalidad brindarte un acercamiento al campo laboral, a través de desarrollar procesos 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ógica computacional para plantear soluciones a problemas relacionados con la informática. Al egresar de esta capacitación podrás operar como el enlace entre usuarios de Y PROGRAMACIÓN sistemas de información y computadoras personales o conectadas en red, utilizando programas de aplicación general o específica. De igual modo, podrás implementar sistemas elementales de información utilizando técnicas de análisis y diseño de sistemas, bases de datos relacionales y herramientas de programación. La Informática ha avanzado a pasos gigantescos en la última década, de tal forma que 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 de larga duración. A la par de esta evolución del hardware ha evolucionado también el software, definiéndose aplicaciones con interfaces cada vez más amigables con el usuario. Esta evolución se ha dado al tratar de acercarnos cada vez más a los procesos que se realizan en nuestra vida cotidiana para resolver problemas de cualquier índole. La asignatura de Lógica Computacional y Programación es vital para entender que la elaboración del software requiere que el programador tenga un pensamiento lógico, razonado y sistemático, para plasmar dichos procesos de uso cotidiano en sentencias entendibles por la computadora y, por ende, la utilización de ésta como un medio electrónico para realizar tareas. Conforme vayas avanzando en el estudio de esta asignatura, te darás cuenta que no es fácil desarrollar soluciones prácticas en el primer intento, ya que para lograrlo necesitarás aplicar las metodologías para la solución de problemas presentadas en este curso, encontrando así, cada vez que resuelvas un problema, mayor facilidad para planear buenas soluciones. Esta asignatura no sólo te ayudará a resolver problemas de informática, también te dará elementos para resolver problemas escolares o de tu vida cotidiana, permitiéndote lograr una mejor organización en tus actividades diarias. La asignatura de Lógica Computacional y Programación pretende brindarte los elementos teóricos-prácticos de la metodología estructurada, para desarrollar formas de pensamiento lógicas que requiere esta disciplina, por lo cual se considera una de las asignaturas básicas de la Capacitación. En esta asignatura revisaremos temas relacionados con metodologías para resolver problemas simples y complejos, de tal forma que desarrolles habilidades que te permitan planear soluciones alternativas a las propuestas en las prácticas. La informática nace como una solución para resolver problemas que requieran realizar muchas operaciones, de tal forma que se definen ciertos lenguajes de programación para escribir instrucciones que la computadora entienda, es decir, un lenguaje má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, 5
  • 6. por lo cual se requirió de un traductor a lenguaje máquina, dichos lenguajes se conocen como lenguajes de programación de «alto nivel». A partir de esta evolución es como surgen las diferentes metodologías de programación, empezando por la programación lineal, la cual resuelve problemas simples de una forma secuencial. Con el paso del tiempo se ha visto que esta metodología no siempre permite generar programas grandes o complejos de una forma organizada, ya que el programador puede perder la secuencia lógica del programa al revisar los códigos generados para resolver dichos problemas. Es así como surge la propuesta de una nueva metodología orientada a resolver problemas grandes de una forma estructurada, al segmentar un problema en problemas más simples, programando soluciones específicas para cada segmento o módulo. Es así como la programación estructurada permitió por primera vez realizar grandes programas de cómputo organizados y estructurados, fáciles de leer y corregir, esta metodología sigue vigente hasta nuestros días. Al empezar a implementarse aplicaciones de tipo gráfico diseñadas en un lenguaje de programación lineal o estructurado, se ve la necesidad inminente de evolucionar nuestras metodologías de programación a un lenguaje de programación que permita generar objetos gráficos, los cuales realicen tareas específicas al operarlos de formas diferentes, pero sin perder de vista la modularidad de los procesos. Es así como surge la programación orientada a objetos, la cual se fundamenta en una metodologí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 no en 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 de las unidades didácticas. Es muy importante que tengas en mente lo que vas a lograr con el estudio de los temas del programa, tener claridad de la meta es fundamental para poder utilizar las herramientas de que disponemos para llegar a ella. Con la intención de presentarte un proceso de trabajo, en la primera unidad se describe el planteamiento de una situación laboral “real”, la cual llamaremos situación de aprendizaje. Durante el desarrollo de toda la guía se harán referencias al Manual de Ejercicios y Prá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 modelaje en 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án llevando paso a paso a través de estrategias de solución, pero siéntete con la libertad de probar otros caminos 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 de procedimientos para el aprendizaje con respecto a un tema determinado. Te presentamos en todos los temas una tabla con tres columnas: en la primera de ellas, titulada actividades de aprendizaje se incluye una secuencia de acciones que debes realizar para acercarte con mayor facilidad al estudio de la Lógica Computacional y Programación, haciéndose referencias al manual de ejercicios y prácticas para reforzar los contenidos revisados y resolver la situación de aprendizaje; en la segunda recursos, se proporcionan 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 debes obtener al terminar la secuencia de actividades correspondiente a cada tema, tales productos deben servirte como un control de tu propio avance. Te servirán también para ir formando un glosario con los términos más usuales y sus definiciones; es decir, un diccionario personal que te ayudará, en caso de dudas, al utilizar alguna de las herramientas que estás estudiando. 6
  • 7. ¿Qué he aprendido? Al concluir el estudio de cada unidad, te convendrá detenerte a pensar acerca de tus logros y descubrir qué tan firme y precisa se está llevando a cabo tu 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 una evaluación, se trata de que ejerzas tu capacidad de reflexión acerca de ti mismo y que, en caso de ser necesario, revises aquellos puntos del programa de estudio que consideres que todavía no dominas por completo. Será el momento de revisar también tus actitudes con respecto a la manera en que estudias. Te sugerimos que elabores una tabla de logros para que lleves tu registro personal, seguramente al ir 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 unidad para que puedas extender tu horizonte de conocimiento. Es muy conveniente que asumas que no todo lo que necesitas saber se te proporcionará en un curso, por el contrario, deberás estar siempre alerta, a enfrentar nuevos retos para que tu aprendizaje sea realmente el que necesitas para resolver tus propios 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ón en Informática. La importancia de esta asignatura es que contribuye en tu formación dentro de la capacitación y te brinda elementos necesarios para la implantación de sistemas de información de una organización. Su ubicación gráfica se representa del siguiente modo: Sistemas de Sistemas de Información I Información II EJE BÁSICO Lógica Computacional y Programación Bases de Datos I Bases de Datos II EJE DE APLICACIÓN Aplicaciones gráficas Aplicaciones con programas específicas con integrados programas integrados EJE Introducción a las COMPLEMENTARIO Redes Relacióndirecta Relación indirect Objetivo de la asignatura Comprender los conceptos y principios generales de la programación estructurada y la orientada a objetos, a partir de revisar los elementos de la lógica computacional, la estructuración de los datos y las características técnicas de ambos tipos de programación, para el desarrollo de programas elementales. 7
  • 8. ¿QUÉ VOY A APRENDER? UNIDAD I LÓGICA COMPUTACIONAL Objetivo de la Unidad: Construir algoritmos elementales, utilizando los principios de la programación lineal, la programación estructurada y la programación orientada a objetos, para propiciar en el estudiante la habilidad de proponer soluciones sistemáticas a problemas sencillos. 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 de una manera sistemática y razonada, y algoritmos elementales a través del uso de diferentes metodologí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 la solución de un problema y la representación gráfica de los datos de entrada y salida de un proceso, para proponer soluciones factibles de realizar. Conforme ha pasado el tiempo y dada las experiencias de los diferentes programadores, las formas de programación han variado de tal forma que las metodologías han sufrido una evolución constante, por lo que en esta unidad explicaremos tres de estas metodologías según fueron apareciendo. Al revisar las diferentes metodologías (lineal, estructurada y orientada a objetos) para resolver problemas, 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 dichas metodologías. Para desarrollar un programa primeramente debes identificar cual es su finalidad y que procesos intervienen en su solución, posteriormente tendrás que definir las acciones que realiza cada proceso y por último, podrás codificar todos los procesos en un lenguaje de programación, el cual al ser traducido al lenguaje máquina (conjunto de sentencias o instrucciones específicas entendibles por la computadora) nos permitirá lograr nuestro objetivo, que podría ser la sistematización del proceso de entrada y salida de un estacionamiento, la administración de un hotel, el registro de mensajería, etc. En el desarrollo de la situación y las actividades de aprendizaje que se te proponen y aquellas que realices por cuenta propia, podrás identificar las diferentes técnicas que existen para resolver cualquier tipo de problema, ya sea simple o complejo. 8
  • 9. Los temas que forman el contenido de esta unidad se presentan a continuación: Unidad I. Lógica computacional Lógica computacional utiliza representado por el Diagrama de entrada Algoritmo proceso salida utiliza técnicas de Programación Programación Programación lineal estructurada orientada a objetos utiliza el tiene utiliza la tiene utiliza al Técnica de Objetos Diagrama de flujo Estructuras lógicas Pseudocódigo Clases Métodos Pseudocódigo segmentación Debes notar que los conceptos más importantes están sombreados. Préstales especial atención puesto que forman parte del conjunto de conceptos fundamentales en tus estudios de informática. 9
  • 10. A continuación te presentamos la situación de aprendizaje, la cual te presenta un proceso real de 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 de ventas, registra y controla su información de manera manual. En un sentido de modernizar sus procesos, solicita el apoyo técnico para que se adquiera y programe una computadora que se utilizará como parte del proceso de registro y control de ventas. El personal encargado de proporcionar el apoyo técnico, realiza una investigación detallada de las 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 resumen en los siguientes puntos: 1. La Sra. Mercedes Suárez es quien recibe las solicitudes de compra. El origen de la solicitud puede 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 las cantidades que requiere. • Por correo: La empresa recibe constantemente los pedidos por escrito, mismos que llegan por el servicio del correo. • Personal: Los clientes acuden personalmente y realizan su pedido de manera verbal. 2. La Sra. Mercedes S. al recibir la solicitud de compra, la registra en la Libreta de Pedidos, anotando los datos del cliente, los artículos que solicita, así como el número secuencial que identifica de manera unívoca al pedido (Clave del pedido). Sin embargo, antes de registrar la solicitud, verifica la seriedad de la misma de la siguiente forma: • Si el cliente es conocido y se encuentra registrado en la Libreta de Clientes, se procede a asentar el pedido correspondiente. Si el pedido se recibió por vía telefónica o por correo y, si el caso lo amerita, se ratifica el pedido telefónicamente, como una manera de checar los datos y descartar la posibilidad de error o de un falso pedido. • Si el cliente es nuevo, es decir, no está registrado en la Libreta de Clientes, procede a darlo de alta en la libreta, anotando los siguientes datos: Nombre de la empresa, 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úmero secuencial precedido por la letra “C” (C1234). Posteriormente se registra la solicitud y como 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 productos en la empresa, ordenada por la clave del cliente. En ésta se registran el nombre de la empresa, sus teléfonos, domicilio, nombre de la persona con quien se realizó el contacto, fecha del primer pedido y su número de cliente. 10
  • 11. Tarjeta de clientes: Cada uno de los clientes tiene asociada una tarjeta de registro detallada con los datos incluidos en la Libreta de Clientes, además de los artículos que ha adquirido. Se anota para cada uno de ellos las fechas, cantidades, precios y referencia de las facturas con que se remitieron a los clientes. Las tarjetas están ordenadas alfabéticamente por el nombre de 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ético b) 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ón que 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 varias fotografí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 la informació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úmero de artículos. En cada factura es posible registrar hasta cinco artículos distintos, en caso de requerirse, se utilizarán tantas facturas como sean necesarias. En la parte inferior de cada factura se incluyen además el subtotal por la totalidad de los artículos, I.V.A. y total a cobrar. 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 enviar los artículos a los clientes. La copia para el área de Contabilidad se remite a esa área y la de Ventas se utiliza como comprobante del área emisora. 6. El paso siguiente consiste en registrar el 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 registro de la información. 7. Finalmente, cada dos semanas se elabora un listado con los artículos solicitados y vendidos durante este periodo, mismo que se turna a los directivos de la empresa. El listado contiene información detallada y global como son: Clave de los artículos vendidos, su descripción genérica, cantidades, fechas, importes, los clientes a quienes se les vendió con sus correspondientes subtotales y totales. El grupo técnico tendrá que desarrollar varios programas y definir los archivos que almacenarán la información del registro y control de ventas. La interacción de los programas y archivos sustituirán el proceso manual que se utiliza. Se agilizará el registro de la información así como la posibilidad de considerar procesos de la información adicionales a los ya establecidos. 11
  • 12. ¿CÓMO APRENDO? 1. CONCEPTOS GENERALES Objetivo: Identificar los elementos de la programación moderna, mediante la revisión del concepto de algoritmo y las 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 previamente su utilidad, la cual es que adquieras habilidades para resolver problemas informáticos utilizando la computadora, a través de desarrollar un pensamiento lógico, sistemático y razonado que te permita proponer soluciones al elaborar algoritmos elementales, utilizando las diferentes metodologías que existen para su desarrollo. En nuestra vida cotidiana, cualquier actividad que realizamos la podemos describir con una serie de acciones o tareas. Igualmente, siempre estamos valorando si dicha actividad va a lograr lo que nosotros queremos, a partir de ir tomando decisiones durante el desarrollo de la misma, sin perder de vista qué es lo que queremos lograr y qué requerimos para lograrla. De esta misma forma podemos ver un proceso informático, el cual nace a partir de un problema que requiera del uso de la computadora. Para resolverlo se deberá desarrollar un algoritmo, el cual no es más que un conjunto de actividades o procesos formados por una serie de instrucciones o tareas organizadas de forma lógica, que nos permiten alcanzar un resultado o resolver un problema. Muchas veces aplicamos el algorimo de manera inadvertida, inconsciente o automatica, ya que son tantas las veces que se ha resuelto, que dificilmente nos ponemos a enumerar los pasos para alcanzar el objetivo, y por lo tanto lo hacemos en forma automática. Por otra parte, existe una gran cantidad de problemas que requieren de un análisis profundo y de 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 la construcció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: Problema Análisis profundo Construcción del Verificación del del problema algoritmo algoritmo Etapa 1 Etapa 2 Etapa 3 1 Tomado de Osvaldo Cairó. Metodología de la Programación. Tomo 1, México, Alfaomega, p. 5. 12
  • 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 o problema consulta a tu asesor. Actividades de aprendizaje Recursos Productos Realiza la lectura de la páginas Joyanes Aguilar, Luis. Preguntas resueltas. sugeridas y contesta las Fundamentos de programación. siguientes preguntas: pp. 2-6, 40-46. 1. ¿Qué es un algoritmo? 2. ¿Cuáles son las características que poseen los algoritmos? 3. ¿Para qué sirven los lenguajes de programación y cuál es su relación? Consulta en la enciclopedia Enciclopedia Encarta. Ficha con los conceptos. Encarta lo referente a programación y lenguajes de programación y elabora una ficha. Realiza la lectura de las paginas Joyanes Aquilar, Luis. Preguntas resueltas. sugeridas y contesta las Fundamentos de siguientes preguntas: Programación. pp. 95-97. 1. ¿Cuáles son los inconvenientes de la programación convencional o lineal (secuencias de Joyanes Aguilar, Luis. instruciones maquina)? Programación orientada a 2. ¿Cuál es el objetivo de la objetos. programación estructurada España McGraw-Hill, utilizando la programación Osborne, 1998. modular? p.p. 4-18. 3. ¿Cuál es la ventaja de la programación orientada a objetos sobre la estructurada? Realiza los ejercicios 1-4. Ejercicios 1-4 resueltos. Manual de ejercicios y prácticas. 13
  • 14. De tu entorno, consulta con una Algoritmo. o más personas las actividades que realizan en su trabajo y represé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 diagramas de 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, cada instrucción se ejecuta hasta que la anterior se haya realizado, no obstante, podemos referenciar a una línea desde nuestra secuencia que no sea la siguiente, de tal forma que al terminar una secuencia de instrucciones podremos referenciar a la línea que continuaba en nuestra ejecución. Visto gráficamente su representación sería la siguiente: Instrucción 1 Instrucción 2 Instrucción 3 Instrucción 4 ... Instrucción n La herramienta más común para representar este tipo de algoritmo basado en una metodología lineal es el diagrama de flujo, que no es más que la representación gráfica del algoritmo por medio de símbolos. Si el diagrama de flujo está completo y correcto, el paso del mismo a un lenguaje de programación es relativamente simple y directo. En el tema anterior mencionábamos que siempre que se incorpore un dato correcto en un proceso, el dato de resultado tendrá que ser correcto. Lo que haremos en la prueba de escritorio será valorar si nuestro proceso contiene y toma las decisiones correctas al seguir la lógica de sus tareas definidas. La intención de una prueba de escritorio es identificar los posibles errores de lógica, sintaxis y de 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 que sigamos toda la lógica del proceso para ir identificando como se va procesando la información y, en dado caso, ajustar nuestro proceso o validarlo. Un ejemplo simple de una prueba de escritorio es el siguiente. Realizar la prueba de escritorio del siguiente algoritmo: 1. 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 14
  • 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=1 Paso 2: Asignar B=2 Paso 3: Multiplicar 1•2 y el resultado asignarlo en C, es decir, C=2 Paso 4: Escribir “El resultado es: 2” Dado que el resultado obtenido es el esperado en la prueba de escritorio, podemos validar dicho algoritmo, es decir, el algoritmo es correcto. A continuación te presentamos las actividades que deberás realizar; en caso de dudas o problemas consulta a tu asesor. Actividades de aprendizaje Recursos Productos Realiza una consulta bibliográfica Joyanes Aguilar, Luis. Ficha de contenido sobre referente a las reglas de Fundamentos de programación. las reglas de construcción y construcción y simbología básica pp. 46-56 simbología básica para el para el desarrollo de diagramas desarrollo de diagramas de de flujo. flujo. A partir de la consulta anterior Importancia del uso de los explica la importancia del uso de diagramas de flujo. diagramas para representar algoritmos. Realiza los ejercicios 5-7. Manual de ejercicios y prácticas. Ejercicios 5-7 resuletos. De los algoritmos de los Manual de ejercicios y prácticas. Pruebas de escritorio. ejercicios 1 y 2 realiza sus pruebas de escritorio. Con relación a la situación de Resolución de la Práctica 1. aprendizaje, desarrolla la Práctica 1, donde realizarás el diagrama de flujo correspondiente. De las actividades de Joyanes Aguilar, Luis. Op. cit., Interpretación de los programación resueltas (2.1 a la pp. 59-64. diagramas de flujo. 2.5), interpreta los diagramas de flujo presentados. 15
  • 16. 3. PROGRAMACIÓN ESTRUCTURADA Objetivo: Comprender las bases y principios de la programación estructurada, mediante la revisión general de la técnica Top-Down, las estructuras lógicas y el pseudocódigo, para la solución de problemas y su representación. La metodología de programación estructurada se fundamenta en técnicas de segmentación, la cual plantea que un problema se puede dividir en problemas más pequeños (módulos) y más simples de resolver, de tal forma que la suma de las soluciones de cada problema sea el resultado de la solución total de éste. Problema 8 Problema 7 Solución 8 Solución 7 Problema 1 Problema 6 Solución 1 Solución 6 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 Problema 2 Solución 2 Problema 5 Solución 5 Problema 3 Problema 4 Solución 3 Solución 4 Esta metodología permite desarrollar algoritmos a través de módulos, los cuales realizan tareas bien definidas. De esta forma, el módulo se define una sola vez y se llama tantas veces como sea necesario, mediante el nombre que lo identifica. La forma gráfica que lo representa sería la siguiente: Módulo Principal Módulo 1 Módulo 2 Módulo 3 La técnica Top-Down (Arriba-Abajo) es la que se utiliza frecuentemente en la programación estructurada, la cual no es más que la representación gráfica de la división del problema en subproblemas más simples, estableciendo un orden jerárquico y relaciones entre ellos, puede ser vista de la siguiente manera: 16
  • 17. Módulo Raíz Módulo 1 Módulo 2 Módulo 1.1 Módulo 1.2 Módulo 2.1 Módulo 2.2 Módulo 2.1.1 El diagrama de Top-Down, se lee de arriba hacia abajo y de izquierda a derecha, la relación de los módulos es jerárquica, es decir, el módulo padre puede hacer uso de los módulos hijos pero no viceversa. Entenderemos por módulo padre al módulo inmediato superior al módulo actual y por módulo hijo 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 dicha descripción de la solución se apoya en las estructuras lógicas (se revisarán a detalle en la unidad III), las cuales son una serie de sentencias que permiten evaluar expresiones según los criterios establecidos 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 dar solución al problema planteado. La metodología estructurada se apoya en la metodología modular para conseguir elaborar programas eficaces y es la base para la metodología orientada a objetos y la metodología orientada a eventos. A continuación se te presentan las actividades que deberás realizar para cubrir con este tema. Actividades de aprendizaje Recursos Productos Elabora un cuadro sinóptico de Joyanes Aguilar, Luis. Cuadro sinóptico con las las características de la Fundamentos de programación. características de la programación estructurada y pp. 95-100. programación estructurada modular. y modular. Realiza una consulta bibliográfica Joyanes Aguilar, Luis. Op. cit., Ficha de contenido sobre la referente a la técnica Top-Down pp. 41-32, 99 y 100. técnica Top-Down. o de segmentación. 17
  • 18. Consulta el texto y elabora un Joyanes Aguilar, Luis. Op. cit., Cuadro gráfico-descriptivo cuadro donde se visualicen pp. 100-121. de las estructuras lógicas. gráficamente las estructuras lógicas, describiendo sus características. Investiga la definición de Joyanes Aguilar, Luis. Op. cit., Ficha de contenido sobre el pseudocódigo y su utilidad para pp. 58-59. pseudocódigo. describir tareas. Elabora una ficha de contenido. Realiza los ejercicios 8 -10. Manual de ejercicios y prácticas. Ejercicios 8–10 resueltos. Desarrolla la Práctica 2, donde Manual de ejercicios y prácticas. Resolución de la Práctica 2. aplicarás los conceptos relacionados con la metodología de programación estructurada. De las actividades de Joyanes Aguilar, Luis. Op. cit., Análisis de pseudocódigos, programación resueltas (4.18 a la pp. 154-160. que valide la lógica del 4.24), verifica que el pseudocódigo y el uso de las pseudocódigo responda a la estructuras lógicas. solución planteada en el análisis. 4. PROGRAMACIÓN ORIENTADA A OBJETOS Objetivo: Comprender las bases y principios de la programación orientada a objetos, mediante la revisión de sus conceptos básicos y el proceso de construcción de programas, para la solución de problemas y su representación. La programación orientada a objetos se apoya en la programación estructurada y utiliza sus técnicas para diseñar programas, se caracteriza por definir objetos con un determinado conjunto de atributos, como pueden ser: las clases, herencias, métodos, poliformismos, entre otros. Por ejemplo, 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 el usuario, ya que éste únicamente hace uso del objeto y el programa se encarga de realizar todas las actividades asignadas. 18
  • 19. A continuación se te presentan las actividades que deberás realizar para desarrollar este tema. Actividades de aprendizaje Recursos Productos Realiza la lectura de las paginas Joyanes Aguilar, Luis. Preguntas resueltas. sugeridas y contesta las Programacion orientada a siguientes preguntas: objetos. 1. ¿Qué es un objeto? España .McGraw-Hill, 2. ¿Qué es la programación Osborne, 1998. orientada a objetos? p.p. 13, 14, 17, 23, 74, 75, 83, 3. ¿Qué es poliformismo, herencia 87, ,91-44 y184-185 y encapsulado? 4. ¿Cuál es la estructura de un programa? 5. ¿Cómo se comunican los objetos y qué son los métodos? 6. ¿Cuál es la importancia de la programación orientada a objetos? Realiza los ejercicios 11 y 12. Ejercicios 11 y 12 resueltos. Define los datos y procedimientos Definición de datos y que requerirán los objetos libreta procedimientos de la y tarjeta, planteados en la situación de aprendizaje. situación de aprendizaje. Manual de ejercicios y prácticas. Situación de aprendizaje. 19
  • 20. ¿QUÉ HE APRENDIDO? A continuación te presentamos una pequeña evaluación de esta unidad para que valores tus avances logrados hasta el momento. 1. Lee con atención cada uno de los siguientes conceptos y coloca dentro del paréntesis la letra de la definición que le corresponda. Concepto Definición ( ) Diagrama de flujo. a) Serie de instrucciones o pasos a seguir para lograr una tarea o la resolución de un problema. ( ) Dato de entrada. b) Al término del proceso se obtendrá la información procesada, la cual nos dará la solución del problema planteado. ( ) Módulo. c) Representación gráfica del algoritmo, por medio de símbolos. ( ) Dato de salida. d) Realiza tareas definidas, de tal forma que si un proceso se requiere varias veces se hará referencia a éste varias veces. ( ) Procedimiento. e) Información necesaria para iniciar un proceso o tarea y resolver un problema definido. 2. Lee con atención cada una de las siguientes proposiciones y coloca dentro del paréntesis una V 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 a objetos. ( ) El pseudocódigo es el paso anterior a la codificación de un programa estructurado. 20
  • 21. 3. Identifica los siguientes símbolos utilizados en los diagramas de flujo y escribe lo que significa cada uno, según su enumeración. 4 1 2 3 5 6 7 8 9 10 11 12 14 16 15 13 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 y diagramas de Top-Down que los describan. A) La Unidad de Registro y Control Escolar decide sistematizar la expedición de Certificados parciales, ya que actualmente se realizan de la siguiente forma: • El auxiliar solicita al alumno su credencial y tira de materias del último semestre; si no debe materias procede a registrarlo para elaborar su certificado parcial, solicitándole al estudiante que regrese en una semana. • El auxiliar consulta el expediente del estudiante buscando datos personales y calificaciones, para llenar el certificado parcial. • Una vez capturado el certificado parcial el auxiliar solicita al responsable que lo firme y éste lo registra en la libreta de certificados parciales emitidos. • Por último, entrega el certificado parcial al estudiante. B) El estacionamiento “El coche veloz” ofrece sus servicios de estacionamiento a todos los particulares que deseen dejar su vehículo en un lugar seguro. Dicho estacionamiento cuenta con tres niveles, donde en cada nivel tiene 70 cajones de estacionamiento enumerados de la siguiente forma: P1-01, donde el P1 nos indica el piso y los 21
  • 22. dos últimos números el cajón, asimismo cuenta con 20 choferes los cuales tienen una clave de registro única (Ch01). El dueño del estacionamiento propone que el control de entradas de los vehículos y pagos del servicio sea de la siguiente forma: • Se recibe al vehículo particular entregándole a cambio un boleto de estacionamiento, el cual tiene un número de folio. • Se le asigna a dicho vehículo un cajón que se encuentre disponible y se registra la hora de entrada y la clave del chofer que lo recibió en una computadora. • Posteriormente, a la hora de recoger un vehículo se le solicita el boleto al dueño y se registra la 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 a pagar; en caso de que el vehículo no se encuentre en las mismas condiciones que cuando entró, se podrá ver en el sistema el nombre del chofer que lo recibió. • En el momento de pagar el importe de estacionamiento, el sistema asignará dicho cajón como 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. 22
  • 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. 23
  • 24. ¿QUÉ VOY A APRENDER? UNIDAD II ESTRUCTURA DE DATOS Objetivo de la Unidad: Identificar las estructuras de datos, mediante el reconocimiento de la información y la forma de estructurarla para su procesamiento. Hasta el momento hemos revisado de forma muy genérica las metodologías de programación lineal y estructurada para resolver diferentes tipos de problemas, sin embargo, el definir algoritmos o pseudocódigos que planteen la descripción de la solución de un problema es sólo el 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 las características o atributos de algo, por lo cual tendremos que definir perfectamente los datos involucrados 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 del pseudocódigo) y variables (datos que pueden ir adoptando diferentes valores durante la ejecución del pseudocódigo). La ventaja de generar un pseudocódigo es que podemos codificarlo en cualquier lenguaje de programación, esto implica que utilizaremos los recursos de la computadora para resolver el problema, siendo aquí donde tendremos que utilizar las estructuras de datos (espacio en memoria de la PC para manipular los datos) definidas en el pseudocódigo, para resolver nuestro problema. Los datos variables según el tipo de datos que almacene pueden ser simple o agrupado, es decisión del programador definir el tipo de datos a utilizar, tomado como base el problema a resolver. Ten mucho cuidado al definir un tipo de dato u otro, ya que de esto depende que la solució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 de una persona son: Edad Color del cabello Estatura Sexo 24
  • 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 las mismas para todos. Entenderemos por estructuras de datos a los espacios asignados en memoria para almacenar datos. Las estructuras de datos pueden almacenar valores variables y constantes, los cuales definiremos como tipos de datos: variables y constantes. Los datos constantes son objetos que contienen valores que no cambian durante la ejecución de un programa, son valores fijos. Ejemplo: Los meses del año = 12 meses Estaciones del año = 4 Los datos variables son objetos que contienen valores que pueden cambiar a medida que se ejecuta un programa; la forma de escribirlos en el pseudocódigo es asignando un identificador o nombre al tipo de dato variable, indicando que va a almacenar datos cuyos valores sean de una naturaleza determinada. Entenderemos por naturaleza de un dato al valor que se almacena en la estructura de datos, de tal forma que podemos definir datos de tipo numérico, cuando el valor hace referencia a cantidades; de tipo carácter, cuando el dato contiene valores que hacen referencia a un nombre y dirección; de tipo lógico cuando el valor que se almacena puede ser verdadero o falso; de tipo grá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. Los contenidos que conforman esta unidad son los siguientes: Unidad II. Estructura de datos Tienen una Datos Estructura de datos Pueden ser Constantes Variables Simples Agrupados De tipo Como los Numéricos Alfanuméricos Ordinales Lógicos Gráficos Conjuntos Registros Arreglos 25
  • 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 de los datos e indicaciones técnicas, para su correcta especificación en el contexto de la solución de un problema. Los datos a procesar por una computadora pueden clasificarse en simples y agrupados. La principal característica de los datos simples es que ocupan sólo una casilla de memoria, por lo que 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 caracteres especiales. Por ejemplo: Nombre = Cadena de caracteres Sexo = Carácter Ordinales: Son valores que son definidos por el usuario en forma enumerada, estos pueden ser enteros, 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 de un problema, indicando su naturaleza si son datos variables, ya que estos son parte esencial para la generación del pseudocódigo. A continuación se presentan las actividades que deberás realizar; en caso de cualquier duda o problema consulta a tu asesor. 26
  • 27. Actividades de aprendizaje Recursos Productos Realiza una consulta bibliográfica Joyanes Aguilar, Luis. Ficha de contenido sobre los sobre tipos de datos constantes y Fundamentos de programación. tipos de datos constantes y variables. Elabora una ficha de pp. 16-17. variables. contenido. Investiga acerca de la naturaleza Joyanes Aguilar, Luis. Op. cit., Fichas de contenido sobre la de los datos simples (numéricos, pp. 13-15, 203, 204, 261-263. naturaleza de los datos alfanuméricos, ordinales, lógicos Eduardo Alcalde y Miguel simples y agrupados. y gráficos) y agrupados o García. Informática básica. estructurados (conjuntos, pp. 219-221. registros y arreglos). Elabora un cuadro comparativo Ficha de contenido sobre Cuadro comparativo entre entre los tipos de datos simples y datos simples y agrupados. datos simples y agrupados. agrupados o estructurados. Realiza el ejercicio 13. Manual de ejercicios y prácticas. Ejercicio 13 resuelto. Realiza el ejercicio 14. Manual de ejercicios y prácticas. Ejercicio 14 resuelto. 2. CONJUNTOS Objetivo: Identificar la utilidad de los datos agrupados como conjuntos, mediante la revisión de sus características y 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 mismo tipo de dato simple. Cada objeto que está en el conjunto recibe el nombre de miembro o elemento del conjunto. Miembro o elemento Conjunto de números enteros: 1 53 19 Las operaciones que podemos hacer con los conjuntos son las siguientes: Pertenencia. Ver si un elemento o conjunto está incluido en otro conjunto. Igualdad. Dos conjuntos son iguales si tienen exactamente los mismos elementos. 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 dos conjuntos. 27
  • 28. Diferencia. Definiendo A y B como dos conjuntos, el resultado de A - B son los elementos de A que no estan en B, de igual forma B – A son los elementos de B que no están en A. A continuación te presentamos las actividades que deberás realizar; en caso de dudas o problemas consulta a tu asesor. Actividades de aprendizaje Recursos Productos Realiza una consulta bibliográfica Enciclopedia Encarta u otra Ficha de contenido sobre la sobre la definición de conjuntos bibliografía a tu alcance. definición de conjuntos. Elabora un cuadro sinóptico Enciclopedia Encarta u otra Cuadro sinóptico sobre sobre las posibles operaciones con bibliografía a tu alcance. operaciones de conjuntos. conjuntos y presenta algunos ejemplos. Realiza el ejercicio 15. Manual de ejercicios y prácticas. Ejercicio 15 resuelto. 3. REGISTROS Objetivo: Identificar la utilidad de los datos agrupados como registros, mediante la revisión de sus características técnicas, para su aplicación en la solución de problemas. Los registros son considerados una herramienta poderosa para estructurar datos y organizar información de diferentes tipos bajo el nombre de una sola variable. En la práctica a veces se necesitan estructuras que permitan almacenar distintos tipos de datos según su naturaleza, a los cuales introduciremos en una nueva estructura llamada registro. REGISTRO Es un dato estructurado, donde cada uno de sus componentes se denomina campo. Tipo de dato que puede ser simple o agrupado (arreglo o CAMPO 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 la siguiente sintaxis. Variable_Registro . Nombre_del_campo Nota. No confundas la estructura de datos (medio de almacenamiento de los datos) con los datos estructurados o agrupados (arreglos, registros y archivos). 28
  • 29. Ejemplo: Registro_Alumno =REGISTRO Nombre : 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. Actividades de aprendizaje Recursos Productos Realiza una consulta bibliográfica Ficha de contenido sobre la acerca de la definición de registro definición de registro y sus y sus componentes. componentes. Joyanes Aguilar, Luis. Fundamentos de programación. pp. 260-265. Realiza los ejercicios 16 y 17. Manual de ejercicios y prácticas. Ejercicios 16 y 17 resueltos. 4. ARREGLOS Objetivo: Identificar la utilidad de los datos agrupados como arreglos, mediante la revisión de sus características té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 del mismo tipo, simple o estructurado. A continuación se describen varios de los términos utilizados en los arreglos. ARREGLO Colección finita, homogénea y ordenada de elementos. COMPONENTES O Hacen referencia a los elementos que forman el arreglo, es ELEMENTOS decir, a los valores que almacenan en cada una de las casillas del mismo. Apunta, direcciona o selecciona un elemento o componente ÍNDICES de un arreglo. Se requiere de n índices para n dimensiones. Se pueden manejar arreglos de tipo unidimensional, bidimensional, tridimensional, n-dimensional. Observaciones: 1. El índice puede ser de tipo 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. 29
  • 30. Ejemplo: Letras = Arreglo [1..13] de caracter Entenderemos 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 en una 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 de escribirlo es la siguiente: Artículos_y_Precios = Arreglo[1..4,A..B] de cadenadecaracteres Su representación gráfica sería la siguiente: A Comida Telas Pastelería Discos B 123 98 71 150 1 2 3 4 La ventaja de utilizar arreglos multidimensionales es que podemos manipular datos direccionados por: uno, dos, tres o más índices. Anteriormente se mencionó que un arreglo puede ser de cualquier tipo, por lo tanto, un arreglo puede estar formado por componentes de tipo registro, esto se escribiría de la siguiente manera: Datos_alumno = REGISTRO Nombre : Cadena Edad : Entero TERMINA REGISTRO Alumnos: Array [1..5] de Datos_alumno Este ejemplo marca que existe un arreglo llamado Alumnos con cinco elementos de tipo registro “Datos_alumno” con dos campos. 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 Cruz 14 21 16 24 45 1 2 3 4 5 Componente Í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 30
  • 31. Para desarrollar este tema, realiza las siguientes actividades. Actividades de aprendizaje Recursos Productos Realiza una consulta bibliográfica Joyanes Aguilar, Luis. Ficha de contenido sobre la sobre la definición de arreglos Fundamentos de programación. definición de arreglo y sus (tablas o arrays) y sus pp. 203-215. componentes. componentes. Elabora un cuadro sinóptico Joyanes Aguilar, Luis. Op. cit., Cuadro sinóptico sobre sobre los arreglos pp. 215-2224. arreglos bidimensionales bidimensionales y multidimensionales. multidimensionales. Realiza los ejercicios 18 y 19. Manual de ejercicios y prácticas. Ejercicios 18 y 19 resueltos. Realiza la Práctica 3, que te Manual de ejercicios y prácticas. Resolución de la Práctica 3. introducirá a la aplicación de las estructuras de datos requeridas para la situación de aprendizaje. Realiza del ejercicio 6.6 al 6.24. Joyanes Aguilar, Luis. Op. cit., Ejercicios resueltos. pp. 235 y 236. 31
  • 32. ¿QUÉ HE APRENDIDO? A continuación te presentamos una pequeña evaluación de esta unidad para que valores tus avances logrados hasta el momento. 1. Lee con atención cada uno de los siguientes conceptos y coloca dentro del paréntesis la letra de 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 mismo tipo de dato simple. ( ) Dato. c) Dato estructurado, donde cada uno de sus componentes se denomina 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íneas correspondientes. Registro A B L uis 6 5 1 7 9 0 5 6 7 8 A v. de lo s M ila g ro s 118 876-12- 29 876-12- 30 20 A.________________________________ B.________________________________ Arreglo H A J I N M K O P S E T V 1 2 3 4 5 6 7 8 9 10 11 12 13 C D C.________________________________ D.________________________________ 3. Lee cuidadosamente las siguientes preguntas y 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 las estructuras de datos más adecuadas. 32
  • 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. 33
  • 34. ¿QUÉ VOY A APRENDER? UNIDAD III PROGRAMACIÓN ESTRUCTURADA BÁSICA Objetivo de la Unidad: Aplicar los principios básicos de la programación estructurada en la solución de problemas elementales, mediante la especificación de la estructura de datos y las operaciones a realizar, para desarrollar el pseudocódigo requerido. Como comentábamos en la unidad anterior, el pseudocódigo generado para la solución de un problema puede ser codificado en cualquier lenguaje de programación, de tal forma que en esta unidad nos dedicaremos a explicar las estructuras lógicas, la forma de definir la estructura de datos y las posibles operaciones que se pueden realizar con los datos definidos, como parte del pseudocódigo. Por lo anterior, podemos decir que la programación estructurada permite generar pseudocódigos más entendibles, ya que la finalidad de utilizar estructuras lógicas es la de permitir al pseudocódigo tomar una serie de decisiones a partir de los datos de entrada, permitiendo llevar el flujo correcto de las instrucciones o sentencias para obtener las salidas deseadas. (información procesada). Dentro de este procedimiento de información que envuelven la ejecución o realización de sentencias y la toma de decisiones, iremos realizando asignaciones, lecturas, escrituras, evaluación de expresiones y operaciones básicas, para que en su totalidad obtengamos una solución mediante la metodología de programación estructurada. Es importante señalar que muchas veces requerimos que esta información procesada se almacene en algún dispositivo de almacenamiento secundario, por lo cual definiremos a los archivos como la estructura de datos que permite almacenar información de una manera permanente y las 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 existen entre ellos. 34
  • 35. Unidad III. Programación estructurada básica Programación estructurada básica Utiliza Que tiene Pseudocódigo Especificaciones Utiliza Realiza Utiliza Estructuras Operaciones Archivos lógicas De Tiene Asignación Lectura Escritura Evaluación de Elementos Organización Tipos de Tipos de Operaciones expresiones acceso archivos Como De De tipo Campo Registro Aritméticas De relación Lógicas Creación Eliminación Lectura Escritura Procesamiento 35
  • 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, para la 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 se ha establecido la forma de declararlos con precisión en el pseudocódigo, según las especificaciones correspondientes. Para esto, estableceremos que las estructuras de datos y los nombres 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. TIPOS Lista de tipos requeridos en el programa CONSTANTES Lista de constantes Estructura de VARIABLES datos Lista de variables INICIO DE PROGRAMA {Especificaciones técnicas, pseudocódigo del programa} FIN 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 necesarias para realizar la tarea planteada. Al momento de generar el pseudocódigo de algún problema, agruparemos en un bloque de declaración de tipos, constantes y variables, donde se definirán los datos simples y agrupados o 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ántas horas 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. 36
  • 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 VARIABLES Registro_alumno = REGISTRO Horario_alumno : Arreglo [Dias_De_la_Semana] de entero Nombre : Cadena Grupo : Cadena[5] Calificaciones : Calificaciones_de_asignaturas Promedio : Real; TERMINA REGISTRO En la 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 la secció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 o problema consulta a tu asesor. Actividades de aprendizaje Recursos Productos Realiza la lectura de las paginas Joyanes Aguilar, Luis. Preguntas resueltas sugeridas y contesta las Fundamentos de programación. siguientes preguntas: pp. 84-87. 1. ¿Qué es la cabecera de un programa o algoritmo? 2. ¿Cuáles son los bloques de declaración de variables y constantes? 3. ¿Qué es un comentario? Realiza los ejercicios 20 y 21. Manual de ejercicios y prácticas. Ejercicios 20 y 21 resueltos. 37
  • 38. 2. OPERACIONES BÁSICAS Objetivo: Especificar en pseudocódigo las operaciones básicas factibles de realizar, mediante la revisión de cada una 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 en el uso de operaciones básicas tales como la asignación de datos, la evaluación de expresiones y la lectura y escritura de datos. Cuando hablamos de asignaciones nos referimos a relacionar un valor con el identificador de un dato, es decir, le asignamos un dato o valor al nombre de una estructura de datos. Sólo puedes asignar valores equivalentes al tipo de dato que tiene la estructura de datos, es decir, tanto la variable como el valor asignado deben ser del mismo tipo. El valor que se le asigna a una variable puede ser tomado de: una constante, un valor definido, el resultado de una 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 se definen en el área de constantes, en cambio en los datos variables, las asignaciones pueden ser en 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 - Descuento Meses_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 mensajes enviados al monitor; sin embargo, se pueden realizar lecturas desde el mismo pseudocódigo al asignarse un valor o leer de un archivo (los revisaremos más adelante), asimismo se pueden escribir 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 de sentencias 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 de tal 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 verdadero o falso. Por ejemplo: Edad >18 38
  • 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 que utilice los conectores and, not y or (y, no y o respectivamente), generalmente se utilizan en las estructuras 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 de estructuras lógicas, ya que son la base para poder escribir el pseudocódigo requerido para solucionar problemas con esta metodología. Una estructura lógica es una sentencia que permite evaluar una expresión a partir de ciertas condicionantes, variando la secuencia del proceso según el resultado obtenido durante el desarrollo del pseudocódigo. Es importante señalar que cuando hablamos de pseudocódigo nos referimos al desarrollo de una solución con una tendencia estructurada en forma algorítmica; sin embargo, cuando hablamos de un programa nos referimos al resultado de la ejecución de un pseudocódigo codificado 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 contrario y la condicional Caso-Fincaso. Dependiendo del problema se seleccionará entre un tipo y el otro. La diferencia consiste en que el primer tipo de estructura lógica condicional solo puede evaluar un valor, dando dos posibles secuencias de acción; mientras que el segundo tipo puede evaluar 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 o sentencias 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ón ló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á sus sentencias 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 una variable 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ón estructurada. 39
  • 40. A continuación te presentamos las actividades que deberás realizar; en caso de dudas o problemas consulta a tu asesor. Actividades de aprendizaje Recursos Productos Realiza una consulta bibliográfica Joyanes Aguilar, Luis. Fichas de contenido sobre sobre cómo es una instrucción de Fundamentos de programación. las asignaciones de valores a asignación de un valor a una pp. 27-29. datos variables. variable. Elabora fichas de contenido sobre este tema. Investiga sobre la evaluación de Joyanes Aguilar, Luis. Op. cit., Fichas de contenido sobre la expresiones y el uso de las pp. 17-29, 100-144. evaluación de expresiones y estructuras lógicas, elabora fichas las estructuras lógicas. de contenido. Realiza los ejercicios 22, 23 y 24. Manual de ejercicios y prácticas. Ejercicios 22, 23 y 24 resueltos. Desarrolla la Práctica 4, que te Manual de ejercicios y prácticas. Resolución de la Práctica 4. mostrará la aplicación de los temas vistos hasta este momento, en el problema propuesto en la situación de aprendizaje. Realiza del ejercicio 1.2 al 1.11. Joyanes Aguilar, Luis. Op. cit., Ejercicios resueltos. pp. 37 y 38. De las actividades de Joyanes Aguilar, Luis. Op. cit., Identificación de las programación resueltas (4.1 a la pp. 145-160. estructuras lógicas. 4.24), identifica el uso de las estructuras lógicas. Realiza del ejercicio 4.2 al 4.10. Joyanes Aguilar, Luis. Op. cit., Ejercicios resueltos. p. 160. 3. ARCHIVOS Objetivo: Identificar a los archivos como elementos de almacenamiento permanente de datos, mediante la revisión de sus especificaciones y características técnicas, para el desarrollo de soluciones que requieran esta herramienta. Un archivo se define como una estructura de datos que reside en memoria secundaria o dispositivo de almacenamiento, tales como disquetes, 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 se pueden manipular de forma conjunta, en otras palabras, los registros se encuentran conformados por campos, que son datos específicos sobre algún conjunto de individuos u objetos. 40
  • 41. Archivo de datos alumnos Registro 6 Registro 5 Registro 4 Registro 3 Registro 2 Registro 1 Nombre: Margarita Irra. Campos Matrícula: 993211-A Grupo: 501 T.M. Capacitación: Informática Cuando se diseña la estructura de datos de un archivo se puede elegir diferentes formas para organizarlo, dependiendo del uso que se le va a dar y del soporte utilizado (cinta o disco). A continuació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 registros se colocan y se acceden al indicar el lugar que ocupan dentro del archivo. Organización indexada. Para definir esta organización es importante considerar tres conceptos: a) Área primaria: Contiene los registros. b) Campo clave: Es un campo con un valor que identifica de forma única un registro, por lo que su valor no puede aparecer repetido en otro registro. c) Área de índices: Es un archivo secuencial en el que cada registro establece la clave de un registro del área primaria y su ubicación (dirección). De esta manera el sistema accede de forma directa a una dirección del área primaria a partir del índice. Para comprender mejor este tipo 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 esa página. Una vez definida la organización de los registros del archivo, el siguiente paso es hablar sobre el acceso a los registros almacenados, esto es, la forma en que accesaremos los registros almacenados en el dispositivo que maneja el soporte. Existen dos modos de acceso: a) El acceso secuencial a un registro se realiza desde el primero y los sucesivos hasta llegar al registro seleccionado. Este método de acceso se puede utilizar con cualquier soporte y organización. 41
  • 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, sin accesar los registros anteriores. Ejemplo: A continuación te presentamos la comparación de los modos de acceso entre dos diferentes soportes de almacenamiento: En cambio los CD´s tienen un tipo de Las cintas o casetes de música tienen acceso aleatorio, dado que para escuchar un tipo de acceso secuencial , ya que la canción No. 5 bastará con direccionar para escuchar la canción No. 5 debes esa canción. El acceso es más rápido en recorrer la cinta a través de las este tipo de soporte, ya que no se canciones 1, 2, 3 y 4. requiere accesar canción por canción. Hasta el momento hemos visto como se organizan y se accesan los archivos, ahora definiremos los tipos de archivos: Archivos tipo binario. Son archivos que no tienen una estructura definida, sólo procesan la información; generalmente se usan para copiar o mover archivos de estructura desconocida y se requiere de protocolos o lenguajes especiales para codificar el contenido de éstos. Archivos tipo texto. Contienen datos de tipo carácter; este tipo de archivo consiste en varias lí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 cualquier editor 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/o agrupadas, donde todos los elementos se encuentran relacionados entre sí. El programa no necesita traducir el contenido del archivo para entenderlo, ya que debe disponer de la estructura definida. A partir de conocer qué tipos de archivos existen y la forma de accesarlos, podrás definir de una forma más simple el dispositivo de almacenamiento a utilizar y la estructura de datos en el pseudocódigo. 42
  • 43. A continuación se te presentan las actividades que deberás realizar para cubrir con este tema. Actividades de aprendizaje Recursos Productos Consulta acerca de los archivos y Joyanes Aguilar, Luis. Ficha de contenido sobre elabora una ficha de contenido. Fundamentos de programación. archivos. pp. 259-265. Elabora un cuadro sinóptico Joyanes Aguilar, Luis. Op. cit., Cuadro sinóptico sobre la sobre la lógica que se sigue en la pp. 265-270. organización y acceso a los organización y acceso a los registros de un archivo. registros de un archivo. Realiza un cuadro comparativo Joyanes Aguilar, Luis. Op. cit., Cuadro comparativo sobre que considere los diferentes tipos p. 287. los diferentes tipos de de archivos, marcando sus archivos. características primordiales. Realiza los ejercicios 25 y 26. Manual de ejercicios y prácticas. Ejercicios 25 y 26 resueltos. A partir de revisar y analizar la Situación de aprendizaje. Ficha de contenido con la situación de aprendizaje, explica justificación del uso de la por qué es conveniente utilizar metodología estructurada. una metodología de programación estructurada. Genera una ficha de contenido. Realiza del ejercicio 8.1 al 8.3. Joyanes Aguilar, Luis. Op. cit . Ejercicios resueltos. p. 304. 4. OPERACIONES CON ARCHIVOS Objetivo: Identificar el uso y aplicación de los archivos, mediante la revisión general de las operaciones que se pueden llevar a cabo con ellos, para ser utilizados en soluciones que así lo requieran. Una vez almacenada la información en archivos, podrás manipularla al desarrollar habilidades para crear, borrar, leer, escribir y procesar archivos. Mediante el uso y aplicación de los archivos podrás plantear soluciones en términos de la programación estructurada, manipulando los datos 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. 43
  • 44. Actividades de aprendizaje Recursos Productos Investiga sobre las operaciones Joyanes Aguilar, Luis. Ficha de contenido sobre las básicas que pueden realizarse con Fundamentos de programación. operaciones básicas de los los archivos, como son: creación y pp. 270-278. archivos. eliminación, lectura y escritura. Elabora una ficha de contenido. Elabora un cuadro sinóptico con Joyanes Aguilar, Luis. Op. cit., Cuadro sinóptico con las las características técnicas para el pp. 265-270, 280-296. características técnicas para acceso a la información de los el acceso a la información de archivos, que pueden ser: los archivos. secuencial, relativa e indexada. Realiza los ejercicios 27, 28 y 29. Manual de ejercicios y prácticas. Ejercicios 27, 28 y 29 resueltos. Realiza la Práctica 5, que incluye Manual de ejercicios y prácticas. Resolución de la Práctica 5. el manejo de los archivos en el problema propuesto en la situación de aprendizaje. Realiza del ejercicio 8.4 al 8.8. Joyanes Aguilar, Luis. Op. cit., Ejercicios resueltos. p. 304. 44