Professional Documents
Culture Documents
Y PROGRAMACIÓN
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
3
4
PRESENTACIÓN
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.
¿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
Sistemas de Sistemas de
Información I Información II
EJE
BÁSICO
Lógica
Computacional y
Programación
EJE DE
APLICACIÓN Aplicaciones gráficas Aplicaciones
con programas específicas con
integrados programas integrados
Relacióndirecta
Relación indirect
Objetivo de la asignatura
7
¿QUÉ VOY A APRENDER?
UNIDAD I
LÓGICA COMPUTACIONAL
Objetivo de la Unidad:
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.
8
Los temas que forman el contenido de esta unidad se presentan a continuación:
Lógica computacional
utiliza
representado
por el Diagrama de entrada
Algoritmo
proceso salida
utiliza técnicas
de
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
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.
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.
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.
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
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.
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
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.
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.
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.
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
A continuación te presentamos las actividades que deberás realizar; en caso de dudas o problemas
consulta a tu asesor.
Realiza los ejercicios 5-7. Manual de ejercicios y prácticas. Ejercicios 5-7 resuletos.
15
3. PROGRAMACIÓN ESTRUCTURADA
Objetivo:
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.
Módulo Principal
16
Módulo Raíz
Módulo 1 Módulo 2
Módulo 2.1.1
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.
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.
A continuación se te presentan las actividades que deberás realizar para cubrir con este tema.
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 810 resueltos.
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.
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.
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
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.
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
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.
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:
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:
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:
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).
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.
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.
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.
En esta unidad revisaremos los datos constantes y variables y la naturaleza de los últimos. Los
contenidos que conforman esta unidad son los siguientes:
Tienen
una
Datos Estructura de datos
Pueden ser
Constantes Variables
Simples Agrupados
De tipo
Como los
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.
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).
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.
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.
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.
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.
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.
Observaciones:
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.
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:
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 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.
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.________________________________
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.
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).
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
35
¿CÓMO APRENDO?
Objetivo:
Declarar la estructura de los datos, mediante las especificaciones correspondientes en pseudocódigo, para
la referencia apropiada de los datos.
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:
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.
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.
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.
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.
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:
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.
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.
Realiza del ejercicio 1.2 al 1.11. Joyanes Aguilar, Luis. Op. cit., Ejercicios resueltos.
pp. 37 y 38.
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, cds, 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
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 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.
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.
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:
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.
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 del ejercicio 8.1 al 8.3. Joyanes Aguilar, Luis. Op. cit . Ejercicios resueltos.
p. 304.
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.
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 del ejercicio 8.4 al 8.8. Joyanes Aguilar, Luis. Op. cit., Ejercicios resueltos.
p. 304.
44
¿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 las siguientes expresiones y coloca dentro del paréntesis la
letra de la definición que le corresponda.
Expresiones Definición
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.
( ) Se pueden asignar valores equivalentes al tipo de dato que tiene la estructura de datos, es
decir, tanto la variable como el valor asignado deben ser del mismo tipo.
( ) Un registro puede tener varios campos clave, cuyos valores sirven para identificar a un
registro.
( ) La concatenación establece que dado dos archivos con registros de igual estructura, se
trata de obtener uno solo en que configuren todos los registros del primero y a
continuación todos los registros del segundo.
3. Identifica a qué tipo de estructura lógica pertenece cada esquema y escríbelo en las líneas
según su enumeración.
I. II.
Evalua
Falsa Ejecuta
Expresión Identificador = Valor inicial Identificador = Valor final
Bloque de
instrucciones
Verdadera
Incremento o decremento en
el identificador
Ejecuta Módulo
45
III. Entonces IV.
Ejecuta Evalua
Ejecuta Verdadero
Verdadera módulo 1 Bloque de
Expresión
instrucciones
Si Expresión
Otro
Falsa
Falsa Ejecuta
módulo 2
V.
VI. Ejecuta
En Valor 1 Módulo 1
Ejecuta
En Valor 2 Módulo 2
En Ejecuta
Caso Valor 3 Módulo 3
En Ejecuta
Expresión Valor 4 Módulo 4
. .
. .
. .
Ejecuta
En Valor n Módulo n
I.-________________________________ II.-_______________________________
III.-_______________________________ IV.-_______________________________
V.-________________________________ VI.-_______________________________
5. Del problema 5 de la primera unidad ubicado en la sección Qué he aprendido, define a nivel
de pseudocódigo: los tipos de datos, las constantes y variables que requiere la solución.
46
QUIERO SABER MÁS
Tomado de Curso de IBM de programación. Introducción a la programación en 32 bits. (México, D.F.), núm. 1, p. 19.
47
¿QUÉ VOY A APRENDER?
UNIDAD IV
PROGRAMACIÓN ESTRUCTURADA INTERMEDIA
Objetivo de la Unidad:
Construir los módulos requeridos para la solución de problemas,
mediante el uso de procedimientos y funciones, para hacer más
eficiente el desarrollo de las soluciones.
Es importante notar que para sistematizar proceso(s) de trabajo se requiere de varios elementos,
tales como:
• Computadora.
• Impresora.
• Sistema operativo.
• Programas de aplicación general.
• Programas de aplicación específica.
• Lenguaje de programación.
Analizaremos las librerías o unidades que pueden ser utilizadas para facilitar un proceso, ya
que contienen ciertos procedimientos y/o funciones predefinidos por el lenguaje de
programación o definidos por el usuario. Veremos las ventajas de realizar impresiones de
48
reportes, a partir de definir su estructura y las especificaciones de pseudocódigo para el proceso
de impresión y por último, revisaremos brevemente la historia de los lenguajes de programación
estructurados, para que ubiques que existe una variedad de lenguajes para codificar tu
pseudocódigo. A continuación te presentamos el esquema de la unidad:
Programación
estructurada
Pseudocódigo
Tiene
especificaciones de
Utiliza Crea
Unidades Reportes
Utiliza
Lenjuajes de
programación
Quick Pascal C
De tipo
Global Utiliza
Módulos
Local
De tipo
Predefinidas
Predefinidos
Como
Procedimientos Funciones
Definidos por Definidas por
el usuario el usuario
Con Con
Parámetros Variables Parámetros Variables
De De tipo De tipo
De
49
¿CÓMO APRENDO?
1. PROCEDIMIENTOS Y FUNCIONES
Objetivo:
Un módulo permite realizar una tarea específica, formando parte de la solución total del
problema. Dependiendo de donde se vea un módulo puede verse como submódulo, ya que
puede estar incluido en un módulo principal o dependiendo de otros módulos, por lo cual en
ocasiones se usará el término módulo y submódulo como sinónimos.
Procedimientos
La utilidad de un procedimiento es que realiza una tarea específica dentro del programa, descrita
por un algoritmo; asimismo, un procedimiento se invoca utilizando su nombre como instrucción
en el pseudocódigo.
Parámetros. Los procedimientos pueden llevar parámetros, que no son más que datos de
entrada al procedimiento, cuyas operaciones internas pueden repercutir o no sobre la variable
que se use como parámetro de entrada.
Existen dos tipos de parámetro: de valor y variable, el primero únicamente se utiliza como
dato de referencia, es decir, puede cambiar de valor durante la ejecución del procedimiento,
pero al término de éste el parámetro regresa a su valor original, mientras que el segundo tipo
se considera variable, ya que durante la ejecución del procedimiento éste cambia su valor y al
finalizar el procedimiento, el parámetro permanecerá con el nuevo valor.
Parámetros de entrada: Son valores en los que se basa la respuesta del procedimiento.
La información fluye al submódulo desde el módulo que hace la
llamada. Estos parámetros siempre son de valor.
Parámetros de Son las respuestas determinadas por el procedimiento, es decir,
entrada-salida: representa la información que se regresa al módulo que hace la
llamada. Estos deben ser parámetros variables, de uso exclusivo
para los procedimientos.
50
Los parámetros son el medio de comunicación entre un módulo que hace una llamada a uno
que es llamado. Los valores que emplea el submódulo se pasan a dicho submódulo por medio
de un parámetro, y las respuestas se regresan en un parámetro variable que puede ser el
mismo.
Ejemplo:
Los parámetros dividendo y divisor se utilizan para pasar valores al procedimiento; los parámetros
cociente y residuo regresan respuestas.
En este ejemplo, dividendo y divisor son parámetros por valor, cociente y residuo son parámetros
variables.
Funciones
Existen diversas funciones predefinidas, de tal forma que el usuario solamente las invoca,
marcando los parámetros necesarios para su ejecución.
También se permite que el usuario defina sus funciones según las necesidades de su problema,
por lo general usamos una función para realizar una tarea cuya finalidad es la de calcular un
valor; una función se invoca incluyéndola como parte de la expresión, a menudo en una
instrucción de asignación.
Donde Nombre será el identificador que le asignemos a una función y tipo será el valor
devuelto por la función. Otro formato es:
Nota. No olvides que los parámetros de las funciones únicamente pueden ser de valor.
Cuando se llama a una función desde el módulo principal, los valores se calculan y se coloca
dicho valor en el nombre de la función, mediante una asignación.
51
PASOS PARA ESCRIBIR UN MÓDULO
3. Idear un plan para el módulo. Esto puede implicar la identificación de otras subtareas. Se
deberán generar un algoritmo para ejecutar las acciones que se requieran y una lista de
variables locales (el algoritmo de una función debe incluir la asignación de un valor al
nombre de la función).
Existen varias razones para utilizar módulos, sin embargo solo te explicaremos las más
representativas:
Repetición. Cuando se requiere que una tarea se ejecute varias veces dentro del mismo
pseudocódigo, el uso de un procedimiento o función evita que se tengan que escribir estos
pasos varias veces en él y si se usan los parámetros correctos, hasta se podrían unificar varias
tareas casi idénticas en un solo módulo.
Uso Universal. Algunas tareas son idénticas para varios problemas, por lo que se pueden
escribir procedimientos o funciones que podrían ser ocupados en varios programas, al
homogeneizar las soluciones, utilizando los parámetros correctos.
Una técnica que nos apoya a modular un programa es la técnica de Top-Down, la cual permite
que una tarea compleja sea descompuesta en subtareas más simples y, por ende, más fáciles de
resolver. Es importante marcar que un módulo puede invocar a su vez a otros submódulos,
siempre y cuando los primeros sean de mayor jerarquía y en relación directa con el módulo
llamado.
52
Generalidades de los módulos
1. Los módulos pueden declarar variables propias, pero no se puede tener acceso a éstas fuera
del módulo (variables locales), a menos que sea un módulo hijo el que las use.
2. Los módulos deben tener funciones específicas.
3. Utilizan parámetros como el medio de comunicación primario con el pseudocódigo. No
utilices variables globales sin meditar su alcance, ya que esto provocaría un desperdicio de
memoria en la ejecución del programa.
4. Analiza si el procedimiento requiere parámetros de valor o variables.
5. Una función no puede emplearse para calcular una respuesta de tipo arreglo, en lugar de
esto, el arreglo deberá ser un parámetro variable de un procedimiento.
6. Asigna un valor al nombre de la función en el código de la función. Nunca asignes un valor
a un nombre de un procedimiento.
7. El valor de una variable local calculado en una función debe ser asignado al nombre de la
función.
Unidades
Una unidad es un conjunto de módulos que pueden ser utilizados para diferentes programas,
son independientes de los pseudocódigos que las utilizan, y forman una entidad independiente
con sus propias reglas de implementación.
Las unidades tienen gran importancia, ya que gracias a ellas podemos ahorrar pseudocódigos
que sean de considerable tamaño; teniendo la particularidad de que las unidades son
independientes del pseudocódigo que las use, y pueden ser compiladas y modificadas sin
modificar los pseudocódigos que hacen la llamada.
Cada módulo de una unidad puede referenciarse dentro de un programa tantas veces como sea
necesario, aunque desconozcamos el pseudocódigo de dicho módulo.
Para generar una unidad utilizable, tendremos que compilarla o generar la traducción a lenguaje
máquina en un medio de almacenamiento, después de codificarla en un lenguaje de
programación.
53
Lenguaje de bajo nivel Este lenguaje depende de un conjunto de instrucciones
(Ensamblador) específicas de la computadora. Las instrucciones se escriben en
códigos alfabéticos conocidos como mnemotécnicos.
Compilador Traduce de un lenguaje de alto nivel a lenguaje máquina,
mediante un traductor llamado compilador, el cual verifica que
todo el código fuente esté correcto y posteriormente traduce,
permite que la ejecución del programa sea más rápida.
Intérprete Traduce de lenguaje de alto nivel a lenguaje máquina, mediante
un traductor llamado intérprete, el cual traduce línea por línea
y al mismo tiempo la ejecuta, si en algún momento encuentra
algún error, la ejecución del programa se detiene; por la forma
de ejecución este tipo de traductor es más lento.
Programa Conjunto de instrucciones que tienen una secuencia lógica para
realizar un propósito y que están escritas en algún lenguaje de
programación; es la codificación del pseudocódigo en un
lenguaje de programación.
Algoritmo Se deriva de la traducción al latín de la palabra árabe
Alkhowarizmi, nombre de un matemático y astrónomo árabe que
escribió un tratado sobre manipulación de números y
ecuaciones en el siglo IX.
Un algoritmo es un método para resolver un problema
mediante una serie de pasos precisos, definidos, lógicos y
finitos.
A continuación se presentan las actividades que deberás realizar; en caso de cualquier duda o
problema consulta a tu asesor.
Investiga la utilidad de utilizar Joyanes Aguilar, Luis. Op. cit., Ficha de contenido sobre los
variables y constantes en un pp. 178-181. ámbitos global y local.
ámbito local (objetos locales) y
global (objetos globales) en los
procedimientos y funciones.
54
Realiza un resumen sobre los Joyanes Aguilar, Luis. Op. cit., Ficha de contenido acerca de
parámetros, indicando su pp. 181-197. parámetros.
definición, clasificación,
codificación y el paso de
parámetros.
Elabora un cuadro comparativo Ficha de contenido sobre los Cuadro comparativo sobre
entre los parámetros de valor y parámetros. parámetros de valor y
los parámetros variables o de variable.
referencia.
Realiza los ejercicios 32, 33 y 34. Manual de ejercicios y prácticas. Ejercicios 32, 33 y 34
resueltos.
Realiza la lectura de la página Joyanes Aguilar, Luis. Op. cit., Preguntas resueltas.
sugerida y contesta las siguientes p. 185.
preguntas:
¿Cuál es la sintaxis para crear una
unidad en Turbo Pascal?
¿Qué tipo de unidades estándar
maneja Turbo Pascal?
Realiza del ejercicio 5.1 al 5.10. Joyanes Aguilar, Luis. Op. cit., Ejercicios resueltos.
p. 202.
2. IMPRESIÓN DE REPORTES
Objetivo:
Identificar el pseudocódigo asociado a la impresión general de un reporte, mediante la revisión del
proceso de impresión, para ejemplificar una aplicación con procedimientos y funciones.
Reportes
En algunos casos no es suficiente tener la información almacenada en disco o presentada en
pantalla, ya que para poder consultarla requeriremos forzosamente de la computadora, sin
embargo, si generamos un documento impreso con dicha información nos facilitará la tarea.
Es por esto que identificaremos a los reportes como la visualización impresa de la información
procesada. Todo reporte comprende una serie de apartados o regiones, que se extienden
horizontalmente a través de la página y abarcan una o más líneas impresas. Explicaremos a
continuación siete tipos de apartados, cada uno de los cuales se utiliza para imprimir la
información en una secuencia determinada en el reporte.
55
Introducción del reporte. Información que va al inicio del reporte, como: título, portada de
página o un texto introductorio.
Pie de página. Información impresa al final de cada página, como fecha o número de página.
Línea de totales. Información impresa al final del reporte, tal como totales, datos estadísticos
de resumen o la conclusión del reporte.
A continuación se te presentan las actividades que deberás realizar para cubrir con este tema.
Realiza una consulta bibliográfica Joyanes Aguilar, Luis. Ficha de contenido sobre
sobre contadores y acumuladores, Fundamentos de programación. contadores y acumuladores.
para apoyar el salto de página. pp. 73-83.
56
3. LENGUAJES DE PROGRAMACIÓN ESTRUCTURADA
Objetivo:
Identificar los lenguajes de programación estructurada que existen actualmente, mediante la revisión
general de sus características, para familiarizar al estudiante con el nombre de varios lenguajes de
programación.
Es importante que conozcas que existen una gran variedad de lenguajes de programación, es
función del programador seleccionar el lenguaje que utilizará para condificar su pseudocódigo
valorando las necesidades y características de la solución.
A principios de los años 70 y tras los estudios efectuados en la década anterior en la realización
del lenguaje ALGOL-68, Niklaus Wirth, un profesor del Eidgenossische Technische Hochschule
(Instituto Tecnológico) de Zurich (Suiza), diseño Pascal, un lenguaje concebido para la
enseñanza de técnicas de programación a estudiantes universitarios, que con el correr de los
tiempos se ha convertido en estándar del mundo de la programación.
El objetivo fundamental de su creador fue desarrollar un lenguaje que permitiera enseñar
programación como una disciplina sistemática basada en determinados conceptos
fundamentales. Estos conceptos se reflejan de modo claro y natural en el lenguaje.
En 1983 aparece en el mercado norteamericano -comercializado por Borland international,
Inc.- un compilador de Pascal denominado Turbo Pascal; la característica más notable, su
precio reducido: $49.95 (dólares). Los programadores profesionales lo compraron masivamente,
pues no sólo funcionaba, sino que compilaba y corría -ejecutaba- programas más rápidamente
que cualquier otro compilador del mercado. En años sucesivos aparecieron las versiones 2.0,
3.0, 3.1 y 3.2. Su éxito se debía a la facilidad de edición, compilación y ejecución: constituía por
sí mismo un entorno de programación: editor, compilador y depurador integrados; tenía una
limitación de 64 Kbytes en el tamaño de los programas.
La versión 4.0 superó con creces a las versiones anteriores y eliminó la barrera de los 64K
incorporando a su vez los menús desplegables, además ofrecía un gran número de mejoras y
novedades en lo que concierne al confort y al entorno de programación:
• Compilador con editor incorporado similar a las versiones anteriores, pero renovado (menús
desplegables, funciones especiales, etc.).
• Facilidad para construcción de librerías.
• Compilador de tipo clásico que puede ser utilizado en batch (proceso por lotes).
A finales de 1988 aparece en Estados Unidos la versión 5.0 que, entre otras novedades, ofrecía
un entorno de desarrollo. Entrado el año 1989 aparece la versión 5.5, idéntica a la 5.0, con una
importante excepción: incorpora facilidades para realizar programación orientada a objetos
57
(OOP, Object-Oriented Programming), metodología de programación clásica pero poco
utilizada, que, sin duda, es la clave en el desarrollo de la Ingeniería del Software.
Turbo Pascal corre sobre computadoras PC, AT, XT, PS/2, 286, 386, 486, Pentium e incluso
Apple; es una herramienta de programación muy potente que tiene además la virtud de su
facilidad de aprendizaje. Por esta razón, sirve indistintamente en el campo de la educación y en
el profesional. Desde Institutos y Liceos hasta Escuelas y Facultades Universitarias.
Historia de C
Comenzaremos diciendo que C no está atado a ningún sistema operativo. Este entorno de
desarrollo ha dado a C la reputación de ser un lenguaje de programación de sistemas porque
es útil para escribir compiladores y sistemas operativos.
UNIX fue desarrollado originalmente en 1969, en lo que ahora sería considerado un pequeño
DEC PDP-7; por su diseño se pretendía que este sistema operativo fuera amigable para el
programador, ofreciendo herramientas de desarrollo útiles, órdenes claras y un entorno
relativamente abierto.
Poco después del desarrollo de UNIX, Ken Thompson implemento un compilador para un
nuevo lenguaje llamado B. Thompson estaba intentando simplificar más el CPL, sin embargo,
tanto BCPL como B, se convirtieron en lenguajes limitados, útiles solamente para ciertas
clases de problemas.
Así, poco después apareció una máquina, el PDP-1. UNIX y el compilador B fueron trasladados
a está máquina, pero aún resultaba bastante pequeño comparado con los equipos actuales. En
1971 se comenzó a trabajar en un sucesor para el B, apropiadamente llamado C.
Investiga las características de los Joyanes Aguilar, Luis. Fichas de contenido sobre
siguientes lenguajes de Fundamentos de programación. los lenguajes de
programación: Q. Basic, Quick pp. 9-11. programación estructurada.
Basic y Visual Basic, Pascal y C,
los cuales son de alto nivel.
58
¿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
( ) Procedimiento. a) Se definen según las necesidades del problema, utilizándose
un módulo que sirva para calcular un valor único.
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.
( ) Un módulo debe declararse antes de que lo llamen.
( ) Una función no puede emplearse para calcular una respuesta de tipo arreglo.
3. Lee con atención cada una de las siguientes premisas para escribir una función y ordénalas,
colocando el número correspondiente dentro del paréntesis (inicia con el número 1).
( ) Declaración de constantes y variables locales, si las hay.
( ) Una línea de encabezado que identifica la función, su tipo y los parámetros que utiliza.
( ) Lista de instrucciones que forman el cuerpo de la función, contenidas entre los
delimitadores COMIENZA y TERMINA.
59
QUIERO SABER MÁS
Tomados de Curso de IBM de programación. Introducción a la programación en 32 bits. (México, D.F.), núm. 1, p. 13.
60
¿QUÉ VOY A APRENDER?
UNIDAD V
PROGRAMACIÓN ORIENTADA A OBJETOS
Objetivo de la Unidad:
Aplicar los conceptos básicos de la programación orientada a
objetos 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.
De igual forma tendremos que definir el alcance de un módulo y las variables que utiliza, ya
que un módulo que no tiene relación directa con el que realiza cierta tarea no podrá ser llamado,
esto nos lleva a la siguiente afirmación:
Una mala modularización implica una mala resolución del problema implicando un mal uso de
una metodología de programación estructurada.
La unidad o librería no es más que un módulo externo que realiza una serie de tareas bien
definidas, las cuales pueden ser referenciadas por cualquier pseudocódigo que las requiera; ya
que generalmente siempre se desea la impresión de la información procesada, explicaremos la
forma de definirlo a nivel de pseudocódigo.
Definiremos un objeto a partir de describir qué son las clases, los atributos, los datos
estructurados, las operaciones y los métodos asociados a ellos, de tal forma que al seleccionar
un objeto se realicen todas las series de instrucciones que tiene asociados.
61
Identificarás la metodología de la programación orientada a objetos para desarrollar soluciones
a problemas específicos; de igual modo revisarás algunos lenguajes de programación con esta
tendencia. A continuación te presentamos el siguiente esquema de la unidad:
Tiene
especificaciones
de
Objeto Pseudocódigo
Subclase
62
¿CÓMO APRENDO?
Objetivo:
Un objeto lo podemos definir como la abstracción de los entes o seres vivos y las cosas inertes
del mundo real.
La programación orientada a objetos es una técnica para el desarrollo de software más amigable
con el usuario, de tal forma que está más determinada por la organización estructural que por
las preposiciones de lenguaje máquina o de alto nivel, tales como estructuras de datos o módulos.
La programación orientada a objetos fue uno de los primeros sistemas de programación que
reconoció que el cambio no sólo era inevitable, sino deseable, en estricto sentido, es aquella
programación que envía mensajes entre objetos que no se conocen.
Los objetos que comparten ciertas características se pueden agrupar en colecciones, un ejemplo
de esto son los objetos que se presentan en la siguiente pantalla:
Barra
de
desplazamiento
Cajas de
chequeo
Botones
Donde cada uno de los objetos responde a los mensajes que envía el usuario en forma de teclas
oprimidas o clics de ratón y cosas distintas sucederán dependiendo de cuál es el objeto que se
apunta cuando se envía un mensaje.
Los objetos encapsulan datos y procedimientos en una sola entidad y pueden ser considerados
como tareas o procesos.
Los programas orientados a objetos con frecuencia se describen como simulaciones, debido a
que los objetos en el programa por lo general imitan el comportamiento de sus componentes
en el mundo real.
Las clases equivaldrían en la programación estructurada a la declaración de tipos de datos, un
mensaje es una llamada entre objetos y un método es la serie de instrucciones que realiza el
objeto al ser llamado.
63
Un objeto combina estructura y comportamiento en una simple entidad. El término orientado
a objetos significa que organizamos el software como una colección de objetos descritos que
incorporan tanto estructura como comportamiento.
Los lenguajes de programación orientado a objetos, son útiles al remover restricciones debido
a la inflexibilidad de los lenguajes tradicionales. El desarrollo orientado a objetos es
fundamentalmente una nueva forma de pensar y no una revisión de programación.
A continuación se presentan las actividades que deberás realizar; en caso de cualquier duda o
problema consulta a tu asesor.
Objetivo:
Análisis. El modelo de análisis es una abstracción precisa y concisa de los requerimientos del
usuario sobre lo que realizará el sistema y no como lo hará. Un buen modelo puede ser entendido
y criticado por expertos de la aplicación que no son programadores.
Abstracción. Consiste en enfocar aspectos esenciales de una entidad e ignorar las propiedades
accidentales.
64
Diseño de objetos. El diseñador adiciona detalles al modelo del diseño de acuerdo a la estrategia
establecida durante el diseño del sistema.
Implementación. La programación debe ser relativamente menor y una parte mecánica del
ciclo de desarrollo, porque las decisiones difíciles deben hacerse durante el diseño.
Métodos
Un método es la implementación de una operación para una clase. Sin embargo, cada método
debe ser implementado por diferentes piezas de código y dependen sólo de las clases del objeto.
Una clase está representada por una caja, la cual puede tener tres regiones: nombre de la clase,
lista de atributos y lista de operaciones. Cada nombre de atributo puede ser distinguido por
detalles opcionales. Tales como lista de argumentos y tipos resultados.
A continuación te presentamos los objetos predefinidos de Visual Basic, así como los atributos
y los sucesos referidos a un evento u operación del objeto.
Atributos del botón
Objetos predefinidos
Botón
Botón de opción
65
Procedimiento de suceso
Suceso
Codificación de la
secuencia de
acciones que realiza
en objeto.
A continuación se te presentan las actividades que deberás realizar para cubrir con este tema.
66
3. LENGUAJES DE PROGRAMACIÓN ORIENTADA A OBJETOS
Objetivo:
Identificar los lenguajes de programación orientada a objetos que existen actualmente, mediante la
revisión general de sus características, para familiarizar al estudiante con el nombre de varios lenguajes
de programación.
Existe una gran gama de lenguajes de programación que tienen esta tendencia de programación
orientada a objetos, dado que es un lenguaje donde el programador puede crear aplicaciones
con un ambiente gráfico, el cual sea 100% amigable al usuario y fácil de entender.
La evolución de todos los lenguajes de programación han tendido hacia este tipo de lenguaje,
permitiendo que un lenguaje estructurado como lo es Turbo Pascal, incorpore en este momento
herramientas para poder programar a un nivel de objetos. Algunos lenguajes de programación
estructurada que incorporan estas herramientas de programación orientada a objetos son:
Smalltalk, Turbo Pascal C++, entre otros.
67
¿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
( )Clase. a) Cuando en clases diferentes, la misma operación se comporta de
manera diferente.
( )Objeto. b) Es compartir los atributos y operaciones entre clases basadas en
una relación.
( )Herencia. c) Conjunto de objetos con propiedades similares, comportamiento
y semántica común.
( )Polimorfismo. d) Es la abstracción de los entes o seres vivos y las cosas inertes
del mundo real.
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 orientada a objetos es una técnica para el desarrollo de software más
amigable con el usuario.
( ) Smalltalk, Turbo Pascal y C++, no son lenguajes de programación orientada a objetos.
( ) Los objetos que comparten ciertas características se pueden agrupar en colecciones.
( ) Un método es la implementación de una operación para un objeto.
3. Lee con atención cada una de las siguientes etapas de la metodología para el modelado de
objetos y ordénalas colocando el número correspondiente dentro del paréntesis (inicia con
el número 1).
( ) Implementación.
( ) Análisis.
( ) Diseño de objetos.
( ) Diseño del sistema.
68
QUIERO SABER MÁS
Tomados de Curso de IBM de programación. Introducción a la programación en 32 bits. (México, D.F.), núm. 1, pp. 16-20.
69