Академический Документы
Профессиональный Документы
Культура Документы
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
Erika Holgun
Experta en Contenido
Albenis Corts
Asesora Pedaggica
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
Diseador Grfico
TABLA DE CONTENIDO
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
Bibliografa.......................................................................................................................... 42
Historia de la
Computacin
Mquinas
calculadoras
Computadoras
Electrnicas
Vlvulas de vaco y
computacin
Modelado de la
Realidad
La Mquina de
Turing
Algoritmos
Modularidad
Division de tareas
Diagramas de flujo
Pseudocdigos
Sistemas Numricos
Las antiguas maquinas calculadoras son las predecesoras de la computadoras modernas,
aunque para el lector las actividades que realiza una computadora no tengan que ver de
forma evidente con el clculo, la realidad es que hablar de computo o de clculo deriva en lo
mismo, siendo entonces una computadora una mquina que hace clculos.
podra realizar multiplicaciones que involucren varios dgitos sin mayor dificultad, y esto es
posible gracias a los conceptos de sistema posicional y a la existencia del cero, que se
aprenden a muy temprana edad y que resultan inherentes en el aprendizaje, a tal magnitud
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
baco, artefacto que si bien durante muchos siglos fue eficaz, en el presente cualquier nio
http://www.ningalu.com/encajes_cubos_diversion/abaco
http://www.artesanum.com/upload/postal/3/3/3/jarron-79428.jpg
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
IIII
Este modo de representar un nmero es prctico para pocas cantidades, de tal forma que es
muy engorroso utilizarlo para un nmero grande, supongamos que se cuentan con un
nmero mayor de jarrones:
IIIIIIIIIIIIIIIIIIIIIIIIIIIIII
http://tscboutique.com/exposicion_jarrones_2.jpg
Cuntos jarrones tiene el vendedor?, ahora no es fcil de contestar, dado que no es sencillo
leer la cantidad, de manera que los romanos plantearon una solucin al problema haciendo
equivalencias, as el V representa IIIII, adjudicndole un smbolo para distintas cantidades y
sumndolas para dar el resultado:
LIII = IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
El mtodo romano fue utilizado por mucho tiempo, sin embargo presentaba un inconveniente
importante cuando se queran realizar operaciones:
del
cero
que
la
realizacin
de
operaciones aritmticas
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
se
facilitaron
Libro de Referentes
MCMLCII x MXIC
considerablemente. A partir del cero cambi la forma de representar nmeros, por ejemplo el
smbolo C siempre valdr cien unidades no importa dnde est, si se tiene CC se lee como
doscientos, o si encontramos XC se leera como diez restado a cien y entendemos que los
smbolos tienen un valor constante, definido e inalterable.
Maquinas Calculadoras
Otros hombres intentaron construir diversas maquinas que pudieran realizar operaciones de
forma mecanizada, pero no fue sino hasta la aparicin de Charles Babbage que se puede
fue sino hasta ese momento en que se puede considerar la aplicacin del concepto de
computadora en forma real, y es que la maquina analtica de Babbage no era una simple
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
encontrar la aparicin de una mquina que cumpla con estas caractersticas, y de hecho no
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
http://www.dma.eui.upm.es/historia_informatica/Doc/Maquinas/MaqAnaliticaBabbage.htm
Computadoras electrnicas
La tecnologa fue uno de los aspectos que priv a Charles Babbage de terminar su mquina
analtica, no fue sino hasta a finales del siglo XIX y comienzos de siglo XX cuando la
electrnica surge como una revolucin y los sueos de Babbage se pudieron culminar.
Vlvulas y Cmputo
La vlvula de vaco (tubo de vaco o bulbo) tambin llamada vlvula termoinica, tiene su
nacimiento en la lmpara incandescente de Thomas Alba Edison, quien al ver que con el uso
el cristal de las lmparas incandescentes se iba oscureciendo, busc la forma de aminorar
dicho efecto, realizando para ello diversos experimentos, uno de los cuales lo llevo a
descubrir la existencia del flujo de corriente elctrica en un solo sentido a travs del
filamento; a esto se le llam el efecto Edison, a partir de este punto John Ambrose Fleming
hizo muchos ajustes a la vlvula de vaco y obtuvo la patente de la llamada vlvula de
Fleming en 1908, siendo sta el componente crtico que posibilit el desarrollo de la
electrnica durante la primera mitad del siglo XX; el bulbo le dio a los cientficos un
dispositivo capaz de cambiar de estado en forma muy rpida, encontrando sus primeros usos
en receptores de radio, ya en 1930 comenzaron a utilizar las vlvulas como contadores de
radioactividad, con esta aplicacin las vlvulas de vaco se convirtieron en un instrumento
que poda procesar informacin, entonces al poder realizar clculos con este dispositivo, que
en principio fueron simples, luego se le integraron funciones ms complicadas siendo su
principal misin el cmputo o clculo, de ah proviene la palabra computadora.
La idea principal de una computadora digital consiste en que un nmero puede ser
representado por unos y ceros, tomando un sistema binario. Si cada nmero puede ser
almacena en una vlvula, si circula corriente por la vlvula entonces hay un uno, de lo
contrario habra un cero.
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
representado por otro del sistema binario, entonces se puede imaginar que un bit se
ENIAC
Las guerras mundiales que azotaron el mundo produjeron todo tipo de avances tecnolgicos,
de los cuales se aprovechara la industria. Las necesidades que la guerra planteaba pasaron
de curiosidades cientficas a necesidades de estado, una de ellas fue el clculo de tablas
balsticas, as como los clculos indispensables para disear nuevo armamento. Durante la
guerra, el gobierno de Estados Unidos contrat a cientos de mujeres que realizaban estos
clculos a mano, razn por la cual se les llamaba calculadoras a estas personas. Sin
embargo, no se daban abasto para realizar todas las operaciones que se requeran en el
frente de batalla.
http://kdm2.files.wordpress.com/2008/10/eniac3.jpg
Bajo estas circunstancias, un proyecto que abordara la computacin de alta velocidad era de
inters; en tiempos de paz, cualquier proyecto de este tipo habra sido desechado
simplemente por el costo.
Cuando Estados Unidos ingres de lleno al combate, John William Mauchly encontr espacio
y tiempo para madurar sus ideas al compartirlas con J. Presper Eckert Jr., un joven de
conocimiento
para
construir
una
calculadora
electrnica.
Durante
tena el
muchos
das
era
Libro de Referentes
10
documento de 5 pginas titulado The Use of Vacuum Tube Devices in Calculating el uso de
las vlvulas en clculo. Este documento se convirti en la base del reporte enviado a la
Moore School de los laboratorios de investigacin de balstica de la armada. El 5 de junio de
1942, se firm el acuerdo entre los directivos de la Universidad de Pennsylvania y el
departamento de defensa de Estados Unidos.
La mquina llamada ENIAC Electronic Numerical Integrator And Computer, fue terminada
en 1944, ocupaba unos 50 metros de ancho y tena 20 paneles llenos de focos que indicaban
el estado de la mquina. La ENIAC poda sumar 5000 nmeros en un segundo o multiplicar
14 nmeros de 10 dgitos. El primer trabajo que se le encomend fue realizar millones de
clculos asociados a la construccin de la bomba de hidrogeno.
Nacimiento de la Programacin
Qu tiene la ENIAC de relevante en la historia de la programacin? En primer lugar, se
trata de un dispositivo que no es de propsito especfico. La ENIAC rompi con estas
ataduras del dispositivo a la aplicacin y se volvi ms general, porque ella poda aplicarse a
distintos problemas que involucraban clculos. Sin embargo, el inconveniente ms grande
que tena era que las instrucciones se proporcionaban alambrndolas. Los operadores
colocaban alambres fsicos que indicaban a la mquina que es lo que tena que hacer.
John Von Neumann, un brillante matemtico, pens que esa no era forma prctica de
proporcionar instrucciones a la computadora. l pensaba que las instrucciones no deban ser
proporcionadas por medio de alambres, sino que se poda almacenar en el interior de la
computadora, en su memoria. El modelo propuesto para lograrlo es conocido como
Arquitectura de Von Neumann, y a la fecha sigue siendo el modelo que se utiliza para
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
construir computadoras.
11
Unidad de memoria
Unidad de entrada
Unidad de control
Unidad de salida
Unidad Aritmtica
lgica
Unidad de control
La arquitectura de un equipo actual basado en las ideas de Von Neumann implica que la
mquina debe tomar una a una las instrucciones. stas se proporcionan desde un dispositivo
llamado de entrada. Las Instrucciones se transfieren a la memoria de la computadora y de
ah a la unidad de control, la cual interpreta el significado de la instruccin y, auxiliado por la
unidad aritmtico lgica, la ejecuta. Cuando as lo indique el programa, el resultado se enva
a la unidad de salida, en donde el humano recoger el resultado.
Suponga que en vez de instruir a la computadora con la palabra SUMA, la construimos de tal
forma que si encuentra 001, entienda que se trata de una suma, y as para cada instruccin
asociamos un nmero. La mquina encuentra un nmero y sabe qu clase de instruccin
debe ejecutar, ya que est alambrada para ejecutar esa tarea, justo cuando la mquina vea
ese nmero. La unidad de control es capaz de realizar estas tareas. Los nmeros que
significan instrucciones se encuentran almacenados en la memoria, al igual que los datos.
Sin embargo, han sido puestos ah por un ser humano que ha determinado cules son las
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
12
Libro de Referentes
13
control; con el paso de los aos se lleg al siguiente nivel, donde mediante la creacin de
nemotcnicos se evit que los programadores recordaran las largas cadenas de bits que
introducan constantes errores.
Utilizacin de
conectores
binarios
Creacin de
nemotcnicos
Instrucciones
definidas por el
programador
Lenguajes de
alto nivel
Libro de Referentes
14
cuestin; de esta manera se alcanza la abstraccin que permite desentenderse del lenguaje
de implantacin y de las diferencias entre stos, para poder enfocar nuestros pensamientos a
la resolucin de problemas.
Modelado de la Realidad
El objetivo del hombre a lo largo de los aos ha sido encontrar maneras para representar el
mundo que lo rodea; los diversos niveles de abstraccin definen en cierta forma el grado
evolutivo del pensamiento.
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
todas las necesidades de la misma, razn por la cual es necesario migrar al concepto de
15
Sistemas de informacin
Programa
caracterizacin
de productos
Programa rea
legal
Esta necesidad de poder tener un espejo de la realidad, permite que los expertos en
manejable por las personas que le dan mantenimiento, ya que si no es manejable (tanto en la
etapa de construccin como en la de mantenimiento), no puede ser de ninguna forma
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
16
confiable y se vuelve finalmente un programa intil. A la vez, se requiere que muestren los
resultados que otorga, y que efectivamente estn acordes con la realidad o que por lo menos
se acerquen mucho a la misma.
Otra caracterstica que deben presentar los programas es que sean computables, es decir,
representables a travs de proposiciones que los resuelven.
Sin embargo, el grado de exactitud depende de los lmites establecidos por razones
econmicas, de tiempo, recursos tecnolgicos y humanos; igualmente un buen anlisis
nicamente contendr aquellos elementos que son necesarios para la operacin del sistema,
los lmites no slo definen el nivel de automatizacin, sino tambin el costo final del producto.
Hasta este punto, surgen algunos interrogantes relacionados a la manera en que una
computadora puede tomar la complejidad del mundo real de tiempo y espacio y convertirla en
un algoritmo de unos y ceros, y hasta qu punto esta representacin est acorde con la
realidad. Estos interrogantes son en s el reto de las ciencias de la computacin hoy en da, y
la tarea de los especialistas es expresarlos en modelos particulares que sirven como
herramientas y que llevan a visualizar el gran campo de desarrollo que an est por venir. El
modelado de sistemas es un reto que crece cada da, ya que implica mayores interacciones
con el mundo.
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
continuacin:
17
Anlisis
Evolucin
Diseo
Mantenimiento
Programacin
Instrumentacin
Pruebas
Anlisis: Como primera etapa del ciclo de vida, es en donde se detecta un problema y
se trata de establecer cul es el mbito del mismo, caractersticas, limitaciones y
patrones que contiene lo que se quiere llegar a solucionar. El resultado es un
documento llamado Requerimientos del sistema, desarrollado por un analista de
sistemas, en donde se listan las necesidades a resolverse.
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
18
Pruebas: Es necesario realizar pruebas integrales, que son ensayos que verifiquen
que todos los programas pueden funcionar juntos. Dependiendo de las metodologas
es probable que se realicen otras pruebas a los sistemas.
Evolucin: Esta parte del ciclo se presenta en todo sistema vivo, ya que despus de
que el programa se encuentra en funcionamiento, se inicia nuevamente el ciclo de
vida, a medida que se detectan nuevas necesidades que nos llevan a la etapa de
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
anlisis.
19
Algunos autores mezclan las etapas o las desglosan en muchas fases diferentes, sin
embargo, todas concatenan con las que se nombraron bsicamente con anterioridad.
La mquina de Turing
La conocida mquina de Turing es un modelo matemtico, propuesto por el cientfico ingls
Alan Turing, que es til para resolver un problema dado en forma algortmica.
Se dice que la mquina de Turing es una mquina terica, es decir, es un dispositivo cuyo
funcionamiento se estudia sin necesidad de construirlo realmente; que lee unas instrucciones
en forma de smbolos y cambia de estado gracias a ellos.
Como ejemplo se va a suponer que la mquina terica que se quiere trabajar es un robot que
tiene tres estados, es decir, que sabe hacer tres cosas: caminar, parar y saludar.
Ahora, se supone que el robot tiene una abertura por la que se puede introducir una cinta de
papel perforada, que no es ms que una cinta que tiene uno o ms agujeros en
determinados tramos. El nmero de agujeros en cada tramo le va a decir al robot lo que tiene
que hacer, es decir, mediante estas instrucciones se forma la funcin de estado del
autmata, as:
Estado
Agujeros
Caminar
Ningn agujero
Parar
Un agujero
Saludar
Un agujero ms
se le introduce una cinta que posea dos agujeros y un espacio (00X), el robot leer el primer
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
20
agujero y parar , leer el segundo y saludar y al llegar al espacio sin perforar volver a
caminar, as:
En general, el autmata del ejemplo lee unas instrucciones (algoritmo) y cambia su estado en
funcin de stos.
Con base en lo anterior se puede expresar que, una mquina de Turing es un autmata que
consta de una cabeza lectora y una cinta en la que se pueden leer smbolos, borrarlos,
escribirlos y da la opcin de moverse a la derecha o a la izquierda. Tambin consta de una
funcin de estado que determinar los cambios que se deben producir en funcin de las
Libro de Referentes
21
http://elmaquinadeturing.wordpress.com/2009/12/16/%C2%BFque-es-una-maquina-de-turing-ii/
Se puede escribir una cadena de smbolos que represente el problema, smbolos que sern
ledos, escritos y borrados por la mquina, adems, el autmata debe recordar el paso en el
que se encuentra para poder dar el siguiente en la direccin correcta.
Al igual que la mquina de Turing, una computadora es un modelo de modelos, basta con
obtener el modelo de determinada situacin para que la computadora pueda copiarlo y
realizar una simulacin de la realidad que quiere representarse. El modelo slo tendr dos
respuestas posibles: puede desarrollar el problema o no.
Si existe una Mquina de Turing para representar un problema, entonces este tiene
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
solucin algortmica.
22
Si un problema tiene solucin algortmica es porque existe una Mquina de Turing que
lo representa.
Como ejemplo de lo anterior se puede pensar que las ecuaciones de Newton o Einstein son
modelos de la realidad que la representan y la predicen; as pues, cualquiera que se base en
estos modelos podr reproducir el fenmeno representado.
As, la abstraccin cuenta con variadas herramientas que ayudan a la manipulacin de los
objetos sobre los que opera, de manera que para trabajar en un sistema de programacin, se
necesita en primer lugar desglosar cuales son los objetos que lo conforman. Un vistazo
rpido mostrar dos posibles vistas bsicas de un programa:
DATOS
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
PROGRAMA
23
La gran mayora de los programadores y prcticamente todos los usuarios finales slo
prestan atencin a los resultados del sistema, a los datos que arroja, para establecer un
punto de medicin de la calidad del programa.
PROGRAMAS
PROGRAMAS
DATOS
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
DATOS
Libro de Referentes
DATOS
24
Cada una de estas formas de abstraccin compone en s toda una filosofa de pensamiento.
Y cada enfoque representa una manera distinta de visualizar un sistema, lo que permite
abordar el problema. Todas estas formas de abstraccin son analizadas con profundidad en
una rama de la Ingeniera que se define como Ingeniera de software.
Programacin estructurada
Este tipo de programacin se compone por un conjunto de tcnicas que han evolucionado,
permitiendo un aumento considerable de la productividad del programa mientras se reduce el
tiempo de depuracin y mantenimiento del mismo. En este tipo de programacin se reducen
considerablemente los errores mediante la utilizacin de un nmero limitado de estructuras
de control.
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
25
Se usan los recursos abstractos que conllevan a la simplicidad, esto es, las acciones
complejas se descomponen en otras mucho ms simples que son ms fciles de
resolver.
Se usan bsicamente tres tipos de estructuras: secuenciales (la salida de una accin
es la entrada de la otra), selectivas (evalan condiciones y en funcin de su resultado
se realizan determinadas acciones) y repetitivas (las secuencias de instrucciones se
realizan un determinado nmero de veces).
Un punto clave para determinar si un programa est estructurado o no, es analizar si posee
un nico punto de entrada y uno solo de salida, adems, nunca aparecen bucles infinitos.
Programacin modular
Cada uno de los mdulos que conforman al programa, pueden contener sus propios datos y
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
26
La gran ventaja que presenta este tipo de programacin radica en que un mismo programa
puede desarrollarse por diferentes programadores a la vez, ahorrando un tiempo importante
en el diseo del algoritmo y en su posterior codificacin. Un mdulo puede ser codificado sin
afectar a los dems, incluso, sin alterar su funcin principal.
Esta tcnica de programacin se utiliza con el fin de realizar varias acciones a la vez;
comnmente se utiliza con miras a controlar los accesos de usuarios y programas a un
recurso de forma simultnea. Es una programacin ms lenta y laboriosa y sus resultados
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
27
Programacin funcional
Su principal caracterstica es el hecho de permitir declarar y llamar funciones dentro de otras
funciones.
Programacin lgica
Por otro lado, los lenguajes de programacin son herramientas que permiten crear
programas y software. Estos permiten facilitar la tarea de programacin, ya que disponen de
formas adecuadas que son ledas y escritas por personas de manera independiente.
En general, estos representan en forma simblica y en forma de textos, los cdigos que
finalmente podrn ser ledos por otra persona.
Delphi
Visual Basic
Pascal
Java
humanos, ya que aunque las primeras slo trabajan con nmeros binarios, estos nos
permiten, como humanos, utilizar palabras y otros sistemas de numeracin.
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
Los lenguajes de programacin permiten cerrar el abismo entre las computadoras y los
28
El ordenador slo entiende las instrucciones en cdigo mquina, un cdigo que es especfico
de la computadora, a partir del cual se elaboran lenguajes de bajo y alto nivel.
Es aquel en el que se usan cdigos muy cercanos a los de la mquina, lo que permite la
elaboracin de programas muy potentes y sobre todo rpidos; sin embargo, son de difcil
aprendizaje.
Son lenguajes con un uso muchsimo ms fcil, debido a que en ellos un solo comando o
una sola instruccin puede equivaler a muchos cdigos mquina. En este tipo de lenguaje el
programador escribe su programa mediante una lista de secuencias de instruccin, y antes
de ejecutarlo se traduce a cdigo mquina de una sola vez (lenguajes compiladores) o
interpretndolo instruccin por instruccin (lenguajes intrpretes). Entre los lenguajes de alto
Pascal
Cobol
Basic
Fortran
C++
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
29
El proceso de elaboracin de un sistema de informacin puede llegar a ser una actividad tan
compleja, que el cerebro no puede retener toda la informacin necesaria. Con el fin de
ayudar al cerebro a plasmar las ideas, existen una serie de herramientas que muestran los
cambios que una idea (algoritmo) va experimentando en el transcurso del desarrollo del
programa.
En general, un diagrama de flujo muestra de forma grfica lo que de otra forma slo es una
abstraccin difcil de visualizar. No existe un estndar globalmente aceptado sobre los
smbolos que se utilizan para los diagramas de flujo, los ms utilizados se listan en la
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
siguiente tabla:
30
SMBOLO
SIGNIFICADO
Se utiliza para representar el inicio o el fin de
un diagrama de flujo.
Representa la lectura de datos desde un
dispositivo de entrada.
Se conoce con el nombre de smbolo de
proceso y se usa para representar un bloque de
instrucciones.
Se conoce con el nombre de diamante de
decisin, su fin es representar una pregunta.
Representa salida de informacin, hacia el
dispositivo de presentacin de datos.
Se usa para representar ciclos de repeticin por
medio de sentencias FOR.
En casos en que los sistemas de programacin sean demasiado grandes esta herramienta
no es muy prctica, debido a que, por ejemplo, sera un problema representar el diagrama de
Word 1.0 que sali al pblico en el ao 1990 y que contena 256000 lneas de cdigo. Sin
embargo, para los programas cortos es una representacin didctica de gran utilidad.
Los diagramas de flujo son una herramienta para mostrar los principios de funcionamiento de
las estructuras de control, y ayudar a visualizar la forma como un programa es controlado por
las instrucciones, es decir, es una herramienta que permite visualizar construcciones
abstractas sin paralelo en el mundo fsico.
Ejemplo:
Se realizar un programa que calcule el salario de un trabajador a partir del nombre, horas
salario.
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
trabajadas, y precio de la hora, sabiendo que los impuestos aplicados son del 10% sobre el
31
En trminos generales, el diagrama nos muestra que primero se debe leer el nombre del
trabajador, las horas trabajadas y el precio por hora, estos datos pueden ser estipulados con
anticipacin o pueden preguntarse al usuario del programa final.
Luego, se hace la operacin para calcular el salario que ganara el trabajador segn las
horas que trabaj y el costo de cada hora, datos que ya se leyeron con anterioridad, luego, el
siguiente paso es calcular con el descuento respectivo que se especific, es decir del 10%.
Uno de los enfoques ms populares ha sido el diseo arriba-abajo ms conocido como TopDown.
Para iniciar un diseo modular de este tipo, es necesario partir de las funciones mayores
de abstraccin (nivel 1), de manera tal que cada una de estas se descomponga en partes
constitutivas ms elementales (nivel dos), y estas, a su vez, en otras muchas ms bsicas
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
hacia las menores. El diseo de las funciones mayores se debe realizar en el nivel ms alto
32
(nivel 4). De esta manera el proceso se repite hasta que se obtengan funciones fcilmente
codificables.
Sin lugar a dudas con esta divisin se facilita notablemente el trabajo del programador, el
nmero de subdivisiones va a estar relacionado con la experiencia del mismo y de sus
conocimientos en el lenguaje en el cual va a ser implementado.
Ejemplo:
Se supone que se quiere implementar una funcin que se denominar prueba.
El primer paso para desarrollar el diseo modular arriba-abajo ser definir las entradas, el
proceso y la salida deseada, as:
Prueba
ACEPTA datos
EDITA datos
EFECTUA OPERACIN
IMPRIME RESULTADOS
A partir de estas funciones generales es posible tomar cada una y dividirlas hasta encontrar
sus componentes esenciales:
ACEPTA datos
INICIA variables
GUARDA informacin
RETORNA
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
33
Pseudocdigo
Instrucciones primitivas.
Instrucciones de proceso
Instrucciones de control
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
34
Instrucciones compuestas
Instrucciones de descripcin
As mismo, la estructura general para su realizacin contiene dos partes que se desglosan,
as:
Programa
Mdulo
Cabecera
Tipos de datos
Constantes
Estructura de
un
pseudocdigo
Variables
Inicio
Cuerpo
Instrucciones
Fin
Ejemplo:
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
35
ALGORITMO: Operaciones
ENTRADAS:
i, j: REAL;
suma: REAL;
resta: REAL;
divisin: REAL;
multiplicacin: REAL;
INICIO
LEER i
LEER j
suma =i + j
resta = i j
divisin = i / j
multiplicacin =i * j
ESCRIBIR i, + , j, = , suma
ESCRIBIR i, - , j, = , resta
ESCRIBIR i, / , j, = , divisin
ESCRIBIR i, * , j, = , multiplicacin
FIN
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
SALIDAS:
36
Es importante notar que a medida que se refinan las tareas, tambin los datos son refinados
o descompuestos, razn por la cul es natural refinar el programa y las especificaciones de
los datos en paralelo.
Se debe tener claro que cada paso de refinamiento necesita algunas decisiones de diseo.
Es importante que el programador sea consciente de ello y de la existencia de soluciones
alternativas.
El programa que realiza la llamada enva los datos con los que debe trabajar la funcin a la
que llama por medio de una lista de parmetros, que a la final ser una lista de variables
independientes de una funcin. En el lenguaje de programacin es importante definir
cuntos, en qu orden y de qu tipo son los datos que viajan de una funcin a otra, o de un
mdulo a otro. Esta especificacin de nmero, tipo y orden recibe el nombre de interfaz del
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
mdulo.
37
Acoplamiento
Una de las metas fundamentales en el diseo modular es la flexibilidad que adquiere cada
uno de los mdulos que componen el programa. Esta caracterstica normalmente se expresa
en funcin de la facilidad que presenta el programa al cambio, y qu tanto afectan dichos
cambios al sistema en general.
Ejemplo:
Es as como el mdulo encargado de reordenar los datos pide como entrada un archivo
maestro, un archivo auxiliar de caractersticas predefinidas y da como salida un
archivo_maestro_actualizado.
Archivo_maestro_actualizado
Archivo maestro
Ordenar (Archivo_maestro)
Archivo auxiliar
Impresin
(Archivo_maestro)
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
Clculo de totales
38
Lo anterior muestra que dentro del diseo modular se debe cuidar que cada mdulo sea una
pieza intercambiable de forma anloga, lo que sucede con el hardware de una computadora,
en donde basta cambiar un mdulo o una tarjeta para convertir la mquina en otra, dotando
los recursos existentes con mejores caractersticas.
Dependiendo de que tal ligado est un mdulo con el resto del sistema, es posible lograr un
cambio en mayor o menor medida; si es menor el nmero de parmetros que componen un
mdulo entonces ser ms sencillo modificarlo o incluso remplazarlo.
Ejemplo:
De esta manera, segn la forma en que se comuniquen los datos, se podr determinar la
flexibilidad de un sistema. La claridad con que se definan, tanto los parmetros como la
funcin, determinar la reutilizacin del cdigo para aplicaciones futuras.
y como se vio en el ejemplo, el acoplamiento entre estos puede ser considerado como
indeseable.
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
39
A raz de lo anterior, se tiene una clasificacin segn Yourdon, que se explica a continuacin:
Acoplamiento
por contenido
Acoplamiento
Acoplamiento por
zonas compartidas
Acoplamiento de
control
Acoplamiento
por zonas de
datos
Acoplamiento
de datos
Cohesin
Mientras el acoplamiento hace referencia a la fuerza de relacin entre mdulos de un
sistema, la cohesin interna de un mdulo se mide en trminos de la fuerza de unin de los
elementos internos del mismo.
Los conceptos de acoplamiento y cohesin estn ntimamente ligados, debido a que a mayor
cohesin de cada mdulo en el sistema, menor ser el acoplamiento que existir entre ellos.
Durante el desarrollo de un mdulo es necesario pensar siempre en el Principio del diseo
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
modular, que establece que entre ms relacionados estn los componentes del sistema,
40
La cohesin es tomada por muchos diseadores como una forma demasiado asociativa que
puede hacer perder de vista el principio de diseo modular.
Ejemplo:
Si se piensa en una fbrica de electrodomsticos, sera viable fabricar un aparato que fuese
batidora y plancha a la vez?, sera inteligente crear un reproductor de DVD que fuera a su
vez horno microondas y aspiradora?
Obviamente no es una buena decisin, las cosas que tienen relacin lgica se pueden unir
porque cumplen con un propsito afn, y en el caso de los electrodomsticos funcionarn de
manera ms ptima si desarrollan tareas similares.
Cohesin
coincidencial
Cohesin
lgica
Los
elementos
que forman el
mdulo
no
tienen
relacin
aparente
entre
cada
uno de ellos.
Implica
algunas
relaciones
entre
los
elementos de
un mdulo,
stos,
lgicamente
unidos,
normalmente
requieren una
descomposici
n mayor.
Cohesin
temporal
Cohesin de
comunicacin
Cohesin
secuencial
Cohesin
funcional
Todos
los
elementos son
ejecutados en
un momento
dado,
sin
requerir
de
ningn
parmetro
o
lgica
para
determinar qu
elemento debe
ejecutarse.
Los elementos
se refieren al
mismo
conjunto de
datos
de
entrada
o
salida.
Ocurre
cuando
la
salida de un
elemento es
la
entrada
para
el
siguiente.
Todos
los
elementos se
encuentran
relacionados
para
el
desempeo
de
una
funcin.
Todos los Derechos Reservados 2010. Propiedad de Compensar Unipanamericana institucin universitaria
con apoyo Acadmico de Mondragon Unibertsitatea (MU).
Libro de Referentes
COHESIN
41
Enlaces
http://www.articulosinformativos.com.mx/Tipos_De_Programacion-a1073100.html
http://autorneto.com/tecnologia/software/tecnicas-de-programacion/
http://www.lenguajes-de-programacion.com/lenguajes-de-programacion.shtml
http://www.utchvirtual.net/recursos_didacticos/documentos/sistemas/lenguajes.pdf
http://elmaquinadeturing.wordpress.com/2009/12/16/que-es-una-maquina-de-turing-ii/
http://www.desarrolloweb.com/articulos/pseudocodigo.html
http://www.desarrolloweb.com/articulos/2198.php
Bibliografa
JOYANES AGUILAR, Luis. Fundamentos de programacin: algoritmos, estructura de datos y
objetos. Madrid: McGraw-Hill, 2008. 766p.
SANTOS GONZALEZ, Manuel. Fundamentos de programacin. Bogot: alfaomega, 2007.
317p.
1992. 548p.
Libro de Referentes
42