Está en la página 1de 34

Computacin I

Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
1


1

Universidad Abierta y a Distancia de Mxico


Licenciatura en Matemticas

Computacin I


6 Cuatrimestre


Unidad 1. Informtica

Clave:

050920621/ 060920621








Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
2


2

Contenido
Presentacin de la unidad .......................................................................................................................... 3
Propsitos ................................................................................................................................................... 3
Competencia especfica .............................................................................................................................. 3
1.1. Fundamentos de la informtica ........................................................................................................... 3
1.1.1. Anlisis histrico ........................................................................................................................... 4
1.1.2. Contexto actual de la informtica ................................................................................................. 6
1.2. Fundamentos de la computacin ........................................................................................................ 8
1.2.1. Modelo de von neumann ............................................................................................................. 15
Actividad 1. El modelo de von neumann ................................................................................................. 17
1.2.2. Ejecucin de programas en la computadora ............................................................................. 17
1.2.3. Almacenamiento de programas y datos ..................................................................................... 20
Actividad 2. Reporte de investigacin ..................................................................................................... 24
1.3. Ciclo de vida del software .................................................................................................................. 24
1.3.1. Modelos en cascada .................................................................................................................... 25
1.3.2. Modelo v ....................................................................................................................................... 30
Autoevaluacin .......................................................................................................................................... 32
Evidencia de aprendizaje. Presentacin de resultados .......................................................................... 33
Cierre de la unidad .................................................................................................................................... 33
Para saber ms .......................................................................................................................................... 34
Fuentes de consulta .................................................................................................................................. 34



Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
3


3

Presentacin de la unidad

En esta unidad tendrs la oportunidad de aprender los fundamentos de la informtica e identificar la historia
de la creacin y evolucin de las computadoras. Descubrirs tambin el contexto actual de la informtica
incluyendo la participacin del elemento humano.

Conocers cmo algunos de los pioneros de la informtica propusieron diseos que an hoy en da se
utilizan para construir computadoras. Comprenders cmo se ejecutan los programas en una computadora
y se almacenan los datos y programas.
Finalmente analizars el ciclo de vida de desarrollo del software, un proceso sistemtico basado en
modelos que puedes utilizar para desarrollar programas o sistemas de propsito especfico eficaces y de
alta calidad.


Propsitos

Al finalizar esta unidad sers capaz de:

Describir las etapas de la evolucin de las computadoras
Analizar el contexto actual de la informtica
Identificar los componentes de una computadora digital, as como algunos de los procesos que ocurren
dentro de ella
Establecer las bases para el desarrollo de programas y sistemas utilizando modelos informticos


Competencia Especfica

Identificar las bases fundamentales de la informtica para el desarrollo de aplicaciones a travs del uso de
modelos informticos.


1.1. Fundamentos de la Informtica

En el Diccionario de la Real Academia de la Lengua Espaola se define Informtica como:

Conjunto de conocimientos cientficos y tcnicas que hacen posible el tratamiento automtico de la
informacin por medio de ordenadores.

Nota: En nuestro pas, en lugar de la palabra ordenador, utilizamos computadora.


Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
4


4
Como una definicin an ms concisa de Informtica podramos considerar tambin ciencia que estudia
el procesamiento automtico de la informacin. La consolidacin de la informtica como ciencia se produjo
a mediados del siglo pasado con el desarrollo de las computadoras.


1.1.1. Anlisis Histrico

Qu es informacin? Esta pregunta ha sido discutida por ms de medio siglo por mucha gente. Una
discusin sistemtica de este concepto requerira de la consideracin de estudios complejos de diversos
tipos, as que slo analizaremos este concepto en sus orgenes y significado bsico desde el punto de vista
etimolgico.

En latn exista el verbo informare qu significaba informar, su forma sustantiva era informacin. Las
conclusiones acerca de su significado incluyen hecho, noticias y conocimiento. Basndose en estos
significados, muchos conceptos similares fueron desarrollados ms tarde: estructura, datos, seal,
mensaje, significacin, significado, sentido, percepcin, inteligencia, pensamiento y contenido, entre otros..
No se ha creado una definicin precisa de informacin que satisfaga a todos.

Despus de que el concepto de informacin fue introducido en la Literatura, la Estadstica y la Biologa, se
volvi til tambin para los ingenieros en electrnica. En 1947, el matemtico y cientfico en computacin
John von Neumann y su colaborador, Oskar Morgenstern establecieron su teora de juegos en la que
utilizaban la palabra informacin. El uso de este vocablo se extendi a otras reas de conocimientol.
Actualmente, es difcil encontrar un rea que no haya adoptado el concepto de informacin, incluyendo las
Humanidades, las Ciencias Sociales, las Ciencias Naturales y la mayor parte de las Ingenieras. Este
concepto dio lugar asimismo a la Teora de la Informacin, o Ciencia de la I.

La aportacin de las computadoras en el tratamiento automtico de la informacin redonde finalmente la
definicin de informtica.

La Computadora

El origen de las mquinas para calcular se remonta al siglo IV a.C. con el baco chino. En 1645, el
cientfico francs Blas Pascal invent una calculadora que haca sumas y restas y que estableci la base
para que en 1675 Leibnitz desarrollara una mquina que adems poda multiplicar y dividir.

En 1822 Charles Babbage dise la mquina diferencial para tabular polinomios y en 1837 la mquina
analtica programable para hacer cualquier tipo de clculo. Estos instrumentos nunca fueron terminados
debido a problemas mecnicos.

Una de las figuras ms importantes en la historia de la informtica, es Alan Turing. A la edad de 24 aos
escribi un artculo titulado On Computable Numbers, with an Application to the Entscheidungsproblem. El
artculo describe de manera elegante un procedimiento para modelar una computadora en trminos
matemticos.


Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
5


5
Esta descripcin represent un avance notable porque permiti la aplicacin de herramientas matemticas
en el mbito computacional Por ejemplo, con su modelo demostr que existen problemas que ninguna
computadora puede resolver sin importar lo ingenioso que sea el programador. El artculo de Turing es an
ms notable porque fue publicado en 1936, varios aos antes de que una computadora existiera realmente.

La palabra Entscheidungsproblem se refiere a uno de los 28 problemas matemticos planteados en 1900
por David Hilbert como desafos para los matemticos del siglo XX.

Las matemticas no escaparon de la influencia de la computadora. De hecho, las primeras aplicaciones en
computadora fueron de naturaleza matemtica, pues las mquinas electrnicas de cmputo de propsito
general fueron utilizadas para resolver o estudiar problemas matemticos tanto tericos como prcticos.

En 1944 se construy la primera calculadora llamada Mark I que utilizaba 760,000 ruedas y 800 km de
cable, y en 1946 la primera computadora con fines prcticos denominada ENIAC que utilizaba 19,000
vlvulas de vaco y 1,500 relevadores. Alrededor de 1951 se desarrollaron la Univac I y la Univac II,
consideradas el punto de partida de las verdaderas computadoras.

La evolucin de las computadoras suele dividirse en generaciones para destacar los hechos ms
trascendentes:

La primera generacin (1944 a 1952) incluye las computadoras que funcionaban con vlvulas de vaco y
eran de uso exclusivo cientfico y militar. Su programacin requera la modificacin de sus circuitos.

La segunda generacin (1952 a 1964) se caracteriz por el uso del transistor en lugar de la vlvula de
vaco. Los transistores son mucho ms pequeos, desprenden menos calor y sufren menos fallas.

Aparecieron en esta poca las primeras computadoras comerciales con sistemas operativos. Tambin se
desarrollaron los primeros lenguajes de programacin (Fortran y Cobol).

La tercera generacin (1964 a 1971) atestigu la utilizacin de los primeros circuitos integrados que
aumentaron la capacidad de procesamiento y redujeron el tamao fsico de las computadoras. Se
mejoraron los lenguajes de programacin y surgieron los programas de utilera.

La cuarta generacin (1971 a 1981) se caracteriz por la fuerte integracin de componentes electrnicos y
por la aparicin del microprocesador. El microprocesador es un circuito integrado que contiene millones
de componentes electrnicos dentro de una pequea pastilla de cermica y es el encargado de ejecutar los
programas.

La quinta generacin que va desde 1981 hasta la actualidad se caracteriza por el surgimiento de la
computadora personal.

La informtica ayuda a adquirir conocimientos a travs de un tratamiento racional y automtico de la
informacin y su evolucin ha dado lugar a lo que se denomina sociedad de la informacin, caracterizada

Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
6


6
por el proceso de grandes cantidades de datos. El desarrollo cientfico en diversos campos ha estado
ligado tanto a los avances de la informtica como a las tecnologas de la informacin y la comunicacin.

Los angloparlantes no suelen utilizar la palabra informatics debido a que en 1962 Walter F. Bauer fund
una empresa que registr el nombre Informatics General, Inc. La empresa no permiti a las universidades
el uso de la palabra informatics y las oblig a utilizar la alternativa computer science. La Association for
Computing Machinery intent cambiar esta posicin y le pidi a la empresa que permitiera el uso de la
palabra, pero la respuesta sigui siendo negativa. En 1985 Informatics General, Inc. dej de operar, pero
para entonces computer science era de uso comn.

Computer science (ciencias de la computacin) se usa para designar el estudio cientfico y aplicado,
mientras que, information technology (tecnologas de la informacin) se refiere a las tecnologas que
realizan el tratamiento automatizado de la informacin.


1.1.2. Contexto Actual de la Informtica

En sus inicios, la informtica slo facilitaba los trabajos repetitivos y montonos principalmente del rea
administrativa; la automatizacin de los procesos permiti disminuir los costos e incrementar la
productividad.

El uso de la informtica se extendi rpidamente a otras reas del conocimiento y de la actividad humana:
disciplinas como la fsica, qumica, medicina, ingeniera, administracin de empresas, monitoreo y control
de procesos, comunicaciones, investigacin, toma de decisiones y transporte, entre otras, empleaban
computadoras. La informtica mantiene una evolucin acelerada en reas y aspectos como los que se
describen a continuacin:

Las computadoras en paralelo (computadoras en las que muchas instrucciones se ejecutan
simultneamente) estn siendo desarrolladas fuertemente.

La informtica fue fundamental en el proyecto del genoma humano para secuenciar el ADN y
ahora apoya el proyecto del proteoma humano, el cual intenta descifrar el funcionamiento y accin
de cada protena humana.

El trabajo de Len Adleman en computacin biolgica luce muy promisorio; su artculo Molecular
Computation of Solutions To Combinatorial Problems describe el uso experimental de ADN como
un sistema computacional. En el artculo, Adleman presenta la solucin de un caso de siete nodos
del problema hamiltoniano de grafos, un problema NP-completo. Si bien esta solucin es trivial,
representa el primer caso exitoso del uso de ADN para procesar un algoritmo.

La computacin cuntica, que vuelve tratables problemas intratables con la computacin clsica;
la supercarretera de la informacin, que enlaza cada vez ms computadoras en todo el mundo; la
nanotecnologa, que permite computadoras cada vez ms pequeas.


Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
7


7
Hoy en da, es difcil concebir un rea que no reciba el apoyo de la informtica.

El Elemento Humano

A medida que la informtica contina volvindose indispensable para las funciones de negocio, tecnologa
ms sofisticada y compleja est siendo implementada en toda clase de organizaciones, incrementando la
demanda de trabajadores capacitados en tecnologa de cmputo. Las organizaciones intentan maximizar
su eficiencia con la tecnologa disponible.

La expansin del comercio electrnico haciendo negocios en internet-y la necesidad continua de construir
y mantener bases de datos que almacenen informacin crtica de los clientes, del inventario y de los
proyectos, requiere administradores de bases de datos compatibles con la tecnologa ms reciente. Debido
a la creciente dependencia en internet por parte de las empresas, la seguridad de la informacin es una
preocupacin constante.

El rpido y generalizado uso de la informtica ha generado una gran necesidad de trabajadores
capacitados que dominen diversas funciones. Estos especialistas incluyen cientficos de la computacin,
administradores de bases de datos y redes, y analistas de comunicaciones de datos. Las necesidades de
actualizacin evolucionan continuamente, reflejando nuevas reas de especializacin o cambios en la
tecnologa.

Los cientficos de la computacin trabajan como tericos, investigadores, o inventores. Sus trabajos se
distinguen por los altos niveles de conocimiento terico y de innovacin que aplican a problemas complejos
y a la creacin o aplicacin de nueva tecnologa.

Con la llegada del internet y con los negocios generando grandes volmenes de datos, existe una
creciente necesidad de almacenar, administrar, y extraer datos de manera efectiva. Los administradores de
bases de datos trabajan con sistemas de administracin de bases de datos y determinan las formas de
organizar y almacenar datos.

Los analistas de redes y de comunicacin de datos, tambin conocidos como arquitectos de red, disean,
prueban, y evalan sistemas tales como redes de rea local (LANs), redes de rea amplia (WANs),
internet, e intranets, y otros sistemas de comunicacin de datos.

Los cientficos de la computacin deben ser creativos, inquisitivos, analticos, y orientados a los detalles.
Tener un buen conocimiento de Matemticas, incluyendo Clculo, Probabilidad y estadstica, y, por
supuesto, de sistemas de cmputo Se requiere tambin una preparacin en una o ms de las ciencias,
tales como, Fsica, Qumica, Bologa, etc. y es deseable el manejo del ingls, de la Lecto-escritura y de las
Humanidades.

La mayora de los cientficos de la computacin actuales se clasifican por reas de inters como las
siguientes:

Teora matemtica y algoritmos

Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
8


8
Inteligencia artificial
Arquitectura, computacin en paralelo y sistemas
Bioinformtica y biologa computacional
Bases de datos y sistemas de informacin
Grficas, visualizacin e interfaz computadora-humano
Sistemas y redes
Lenguajes de programacin, sistemas formales, e ingeniera de software
Computacin cientfica


1.2. Fundamentos de la Computacin

Una computadora es una mquina electrnica capaz de procesar informacin siguiendo las instrucciones
que se le proporcionan a travs de un programa. Sus componentes incluyen medios de entrada para recibir
informacin, medios de salida para entregar informacin, dispositivos para almacenar la informacin y un
ncleo que ejecuta los procesos siguiendo las instrucciones del programa.

Para todos sus procesos una computadora utiliza nmeros, pero no es capaz de usar el sistema numrico
decimal. Un sistema numrico simplificado llamado binario tuvo que ser desarrollado para las
computadoras y slo requiere de dos dgitos: el 0 y el 1 llamados bits (dgitos binarios o binary digits).
Cualquier cantidad o elemento (carcter, imagen, audio, video, etc.) puede ser representado dentro de la
computadora con combinaciones, usualmente largas, de estos dos dgitos.

Cualquier elemento de entrada debe ser codificado en este formato para ser procesado. Los resultados
arrojados por los procesos de la computadora deben ser decodificados para entregarse al usuario.

Una computadora est formada entonces por dos partes principales: una parte fsica constituida por
circuitos electrnicos, pantalla, teclado, unidades de disco, etc. a la que se le llama comnmente hardware,
y una parte lgica constituida por los datos y programas llamada software. Ambas partes son esenciales y
deben trabajar coordinadamente.

Sistema Operativo

Para que una computadora pueda empezar a funcionar cuando se enciende, requiere de un programa
especial llamado sistema operativo. Este programa no slo arranca la operacin, sino que administra y
coordina las dos partes (la fsica y la lgica), para que la computadora sea capaz de efectuar los procesos
para los que fue diseada.

Otros programas, como las herramientas y las aplicaciones funcionan sobre el sistema operativo. Sin el
sistema operativo ningn otro programa puede funcionar.

Aplicaciones


Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
9


9
Las aplicaciones son programas (software) desarrollados para realizar tareas especficas. Se les llama as
porque la computadora se aplica a efectuar un trabajo determinado. Ejemplos: procesadores de texto, las
hojas de clculo, los programas de contabilidad, de juegos y de grficas, los administradores de bases de
datos, etc.

Actualmente existen aplicaciones sumamente complejas que apoyan actividades en reas de
Administracin de empresas, Ingeniera, Biologa, Medicina, Astronoma, Industria aeroespacial, etc.
Muchas de estas aplicaciones proporcionan facilidades de reprogramacin al usuario.

Algoritmos y Programas

El desarrollo de programas es fundamental porque adems de la evolucin natural de los programas,
continuamente aparecen nuevos problemas o tareas que pueden ser procesados por las computadoras.

Desde que se presenta la necesidad de resolver un problema hasta que se soluciona utilizando una
computadora, se recorren varias etapas:

1. Deben conocerse los pasos y operaciones que hay que realizar para llegar a la solucin del
problema. Esta secuencia se llama algoritmo. Si no conocemos el proceso que conduce a la
solucin, no podremos indicrselo a la computadora, y sta no resolver el problema.
2. Una vez que se conoce la solucin general del problema, hay que expresala a travs de un lenguaje
que la computadora pueda entender y ejecutar, llamados lenguajes de programacin y se utilizan
para desarrollar los programas.
3. El programa debe ejecutarse con los datos pertinentes para comprobar que genera la solucin
esperada. Cualquier error debe ser corregido.
4. Por ltimo, el programa debe ser documentado para facilitar cambios posteriores o labores de
mantenimiento.

En la siguiente unidad se analizarn los algoritmos.

Componentes de una Computadora

El hardware (l componentes fsicos de una computadora), incluyen medios de entrada, medios de salida,
dispositivos para almacenar informacin y un ncleo que ejecuta los procesos siguiendo las instrucciones
del programa; veamos ahora un poco ms de cerca estos componentes.


Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
10


10


Unidad Central de Proceso

La unidad central de proceso o CPU por sus siglas en ingls (central processing unit) es un dispositivo
que procesa los datos recibidos y es considerada el ncleo del hardware. Solemos referirnos a ella como
CPU o simplemente como el procesador. Est integrada por dos partes principales: la unidad de control,
que organiza y controla las instrucciones del programa, y la unidad aritmtica y lgica ALU (arithmetic
logic unit) que las ejecuta.

Fsicamente, el procesador es un dispositivo electrnico (circuito integrado) que se conecta con el resto de
los componentes a travs de buses (rutas o conexiones).

Memoria

La memoria representa un almacn para guardar datos que son intercambiados con el procesador de
acuerdo a las necesidades de ste. Las caractersticas de velocidad y capacidad de una memoria para
recibir y entregar datos estn reidas entre s, mientras que el nivel de compromiso que se alcanza entre
esas caractersticas da origen a diversos tipos de memoria.

Memoria RAM (random access memory). La denominacin RAM no es muy adecuada y suele causar
confusin, pero ha perdurado y se refiere a un tipo de memoria de lectura y escritura. Suele ser muy rpida
para recibir y entregar datos, pero su capacidad es limitada (aunque los fabricantes aumentan esta
capacidad continuamente). Es del tipo voltil en el sentido de que necesita recibir alimentacin elctrica
para conservar la informacin, si la computadora se apaga, su contenido se pierde. Se le considera la
memoria principal y fsicamente es un conjunto de circuitos electrnicos integrados (dispositivos de estado
slido).


Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
11


11
Memoria ROM (read only memory). Este tipo de memoria de slo lectura suele contener las
instrucciones de la rutina de arranque de la computadora. La informacin que contiene est grabada de
forma permanente y no se pierde aunque se interrumpa la alimentacin elctrica. Tambin es muy rpida,
de capacidad limitada y est formada por circuitos electrnicos integrados. Algunas variantes de este tipo
tiles en las fases de desarrollo de un sistema son la PROM (ROM programable), la EPROM (PROM
borrable) y la EEPROM (PROM elctricamente borrable).

Existe la necesidad de contar con memorias cada vez ms rpidas y con ms capacidad, se han ideado
mtodos de optimizacin. Dependiendo del aspecto que se desea optimizar, se encuentran, por ejemplo, la
memoria cach y la memoria virtual. La primera aumenta la velocidad de respuesta y la segunda la
capacidad.Las memoria cach son mucho ms rpidas que las usuales, pero suelen tener una capacidad
ms pequea debido a su alto costo. La memoria virtual representa una tcnica desarrollada con el
propsito de poder utilizar ms memoria de la que fsicamente se dispone, se utiliza memoria secundaria
(generalmente un disco duro) para crear reas que simulan el funcionamiento de ms memoria principal. El
efecto es un crecimiento virtual de la capacidad a costa de la velocidad de acceso. Existen otros tipos de
memoria que se consideran como perifricos y que discutiremos en la seccin siguiente.

La capacidad comercial actual de las memorias abarca desde los kilobytes (10
3
bytes) hasta los gigabytes
(10
9
bytes). Un byte es una agrupacin bsica de ocho bits que alcanza para representar nmeros del 0 al
255 (00000000 11111111).

Perifricos

Existen perifricos de entrada, de salida y de almacenamiento. Podemos distinguir entre perifricos locales
y perifricos remotos segn su ubicacin con respecto a la computadora. Un perifrico local, como el
teclado, se encuentra cerca de la computadora conectado mediante cables cortos. Un perifrico remoto,
como una impresora en otro edificio, puede estar conectado a travs de una red de comunicaciones.

Entre los perifricos de entrada ms importantes se encuentran el ratn (o mouse), el teclado, la pantalla
tctil, el lpiz ptico, la tableta grfica y el scanner (para digitalizar imgenes).

Entre los perifricos de salida ms importantes se encuentran la pantalla o monitor, la impresora y el
graficador (plotter).

Existen otros perifricos para comunicacin como el mdem, el cual permite la comunicacin entre
computadoras a travs de la lnea telefnica, el ruteador (para conexiones ms rpidas a travs de lneas
telefnicas digitales o lneas de TV cable), y diversos dispositivos que permiten el acceso a, por ejemplo,
una red que interconecta tipos muy variados de equipo y que puede tener alcance global como Internet.

Aunque los perifricos de almacenamiento son en realidad de entrada y salida, suelen considerarse por
separado y son conocidos tambin como memorias secundarias. En el pasado, la mayora de estos
dispositivos almacenaba la informacin de forma magntica (cinta, disco fijo o duro, y disco flexible) pero
actualmente ya existen tambin otras tecnologas como la ptica en CDs y DVDs, y la tecnologa flash en lo

Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
12


12
que conocemos como memorias USB. La tecnologa flash es un derivado de la memoria EEPROM
aplicado a un dispositivo externo removible.

En una cinta magntica el acceso a la informacin es secuencial, lo que obliga a recorrer la cinta hasta
que aparezca la informacin o posicin buscada, esto hace que sea un medio muy lento. Debido a su gran
capacidad se utiliza para hacer copias de seguridad o respaldo de la informacin.

Los discos magnticos, que incluyen a los discos duros y a los flexibles, son dispositivos de acceso directo
en los cuales no es necesario recorrer toda la informacin que hay delante de la que se necesita. Es
posible acceder rpida y directamente al dato requerido.

Los discos duros (hard disk) ofrecen una gran capacidad de almacenamiento que actualmente va de unos
cuantos gigabytes (10
9
bytes) hasta terabytes (10
12
bytes) o inclusive petabytes (10
15
bytes). Como
comparacin, una imagen de resolucin media ocupa aproximadamente un megabyte (10
6
bytes) o de 5 a
10 veces menos si se utilizan tcnicas de compresin.

La velocidad de respuesta de los discos duros es menor a la de las memorias de estado slido pero su
capacidad, como ya lo vimos en el prrafo anterior, es muy superior. Los discos duros permanecen
vigentes como componentes crticos de computadoras y sistemas.

Los discos flexibles (diskettes) han cado en el desuso dando paso a las nuevas tecnologas de medios
removibles como las memorias USB o las memorias SD.

Sistema Binario
Se presentan a continuacin algunos conceptos del Sistema Binario que muestran algo de lo que ocurre
dentro de una computadora.

En el sistema decimal, un nmero como 8492 representa una cantidad igual a 8 miles ms 4 centenas, ms
9 decenas ms 2 unidades. Todos estos elementos son potencias de10 indicadas implcitamente por la
posicin de los coeficientes:



En general, un nmero con punto decimal puede ser representado por una serie de coeficientes de la
manera siguiente:



Cada coeficiente debe ser multiplicado por su correspondiente potencia de 10:



El sistema decimal tiene la base o raz 10 debido a que usa 10 dgitos y que los coeficientes son
multiplicados por potencias de 10. En el sistema binario los coeficientes tienen dos valores posibles: 0 y 1.
Cada coeficiente a
j
se multiplica por 2
j
. Por ejemplo, el equivalente decimal del nmero binario 11010.11 es
26.75:

Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
13


13



Otras bases, como el octal y la hexadecimal se utilizan para simplificar el manejo de los nmeros binarios.
Se suelen utilizar los dgitos del sistema decimal para los coeficientes en cualquier base que sea menor o
igual a 10. En caso de que la base sea mayor que 10, es costumbre utilizar las letras del alfabeto para
representar los dgitos restantes. Por ejemplo, en el sistema hexadecimal (base 16) se usan los 10 dgitos
del sistema decimal ms las letras A, B, C, D, E y F para los dgitos 10, 11, 12, 13, 14 y 15
respectivamente. Un ejemplo de nmero hexadecimal sera B65F:



Los primeros nmeros en los sistemas decimal, binario, octal y hexadecimal se muestran a continuacin:
Decimal
(base 10)
Binario
(base 2)
Octal
(base 8)
Hexadecimal
(base 16)
00 0000 00 0
01 0001 01 1
02 0010 02 2
03 0011 03 3
04 0100 04 4
05 0101 05 5
06 0110 06 6
07 0111 07 7
08 1000 10 8
09 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

La suma de dos nmeros binarios se realiza utilizando las mismas reglas que en el sistema decimal, con la
diferencia de que los dgitos de la suma en cualquier posicin significativa puedan ser 0 o 1. Algo similar
ocurre para las dems operaciones excepto para la resta que es un poco ms complicada.

El mtodo de sustraccin que utilizamos normalmente usa el concepto de prestar. Bajo este mtodo se
presta 1 de una posicin significativa ms alta cuando el dgito del minuendo es ms pequeo que el
correspondiente dgito del sustraendo; un mtodo sencillo cuando la resta se hace con lpiz y papel.
Cuando la resta se ejecuta en una computadora, este mtodo es menos eficiente que uno que usa
complementos y la suma.



Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
14


14
Complementos

Los complementos se usan en las computadoras para simplificar la operacin de sustraccin y para
manipulaciones lgicas. Existen dos clases de complementos para cada sistema de base r:

1. El complemento de r
2. El complemento de r-1

En el sistema decimal se tienen los complementos de 10 y 9, y en el sistema binario se tienen los
complementos de 2 y 1.

El complemento de r

Dado un nmero positivo N de base r con parte entera de n dgitos, se define el complemento de r de N
como

. Se muestran a continuacin dos ejemplos:



El complemento de 10 de (52520)
10
es 10
5
52520 = 47480

El complemento de 2 de (101100)
2
es (2
6
)
10
(101100)
2
= (1000000 101100)
2
= 010100
El complemento de r-1

Dado un nmero positivo N de base r con parte entera de n dgitos y una parte fraccionaria de m dgitos, se
define el complemento de r-1 de N como

. Se muestran a continuacin dos ejemplos:



El complemento de 9 de (25.639)
10
es 10
2
10
-3
25.639 = 99.999 25.639 = 74.360

El complemento de 1 de (0.0110)
2
es (1 2
-4
)
10
(1.0110)
2
= (0.1111 0.0110)
2
= 0.1001

Se muestran a continuacin dos ejemplos de restas utilizando complementos:

1. Usando el complemento de 10, sustraer 72532 3250.
El complemento de 10 del sustraendo es 96750.
72532 + 96750 = 169282.
El dgito del extremo izquierdo es la lleva y se descarta.
El resultado es 69282

2. Usando el complemento de 2, sustraer 1010100 1000100.
El complemento de 2 del sustraendo es 0111100.
1010100 + 0111100 = 10010000.
El dgito del extremo izquierdo es la lleva y se descarta.
El resultado es 10000




Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
15


15
1.2.1. Modelo de Von Neumann

El Matemtico Von Neumann
Mencionamos anteriormente a ENIAC (Electronic Numerical Integrator and Computer), la primera
computadora construida con fines prcticos en la Universidad de Pennsylvania, propuesta por John W.
Mauchly y financiada por el ejrcito de los Estados Unidos. Su propsito principal era el clculo de tablas
de disparo, una funcin de matemticas aplicadas (clculo de la solucin de ecuaciones diferenciales no
lineales que describan la trayectoria de balas y misiles).

Dos matemticos, Derrick H. Lehmer y John von Neumann, participaron en el desarrollo de ENIAC. Von
Neumann hizo contribuciones importantes en muchos campos incluyendo lgica matemtica, teora de
conjuntos, economa y teora de juegos, as como mecnica cuntica, hidrodinmica, e informtica.

En 1943, Von Neumann fue invitado al proyecto Manhattan -el proyecto para desarrollar la bomba atmica,-
por su trabajo en dinmica de fluidos. Pronto se dio cuenta que los problemas en los que estaba trabajando
requeran tantos clculos que iba a necesitar varios aos para completarlos. Al pedir ayuda fue invitado a
Harvard a conocer la calculadora Mark I; esta mquina, sin embargo, result relativamente lenta para
resolver los problemas en los que estaba trabajando. De regreso supo accidentalmente del proyecto ENIAC
y fue invitado a conocerlo. Ms tarde contribuy tambin al desarrollo de esta mquina.

La sucesora de ENIAC fue EDVAC (Electronic Discrete Variable Automatic Computer) la cual era binaria
en lugar de decimal y utilizaba un programa de almacenado. El trabajo de Von Neumann en el diseo de
EDVAC comenz antes de que ENIAC fuera completamente operacional y fue tan importante que an hoy
en da el hardware de las computadoras se suele referir como el modelo o la arquitectura de Von
Neumann. Las ideas principales de este diseo fueron descritas por von Neumann en el primer borrador
de un reporte.

Normalmente los primeros borradores no estn destinados ni son adecuados para ser publicados. Este
reporte es una excepcin; contiene informacin valiosa y tuvo una gran influencia cuando fue escrito.
Significativamente, Alan Turing lo cita en una de sus propuestas como la fuente definitiva de entendimiento
de la naturaleza y el diseo de una computadora digital de propsito general.

Una versin en mquina de escribir fue creada a partir del borrador original escrito a mano, pero contiene
muchos errores tipogrficos y se usan mal los smbolos matemticos y letras griegas. Tambin contiene
errores que pudieron haber existido en el borrador (el cual no se ha localizado). Adems Von Neumann
hace referencia a secciones que nunca fueron escritas.

Michael D. Godfrey escribi un artculo intentando cuidadosamente restituir lo que considera pudo haber
sido el contenido y sentido del borrador de Von Neumann (lo puedes encontrar en IEEE Annals of the
History of Computing, Vol. 15, No. 4, pp.27-75, 1993.)

El conocimiento de Von Neumann en el campo de la lgica matemtica tuvo preponderancia en su trabajo
con las computadoras. Recibi tambin gran influencia del trabajo de Alan Turing, sobre todo del famoso
artculo de 1936 que contena una descripcin algortmica de la mquina universal de Turing. Una

Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
16


16
mquina terica que puede ser considerada como la versin terica de la computadora con programa
almacenado.

Von Neumann muri en 1957 de cncer de huesos, posiblemente debido a la exposicin a la radiacin
durante las pruebas de la bomba atmica en el atoln de Bikini.

El Modelo de Von Neumann

Durante su trabajo con ENIAC, pronto se hizo obvio para von Neumann que programar computadoras con
interruptores era lento, tedioso e inflexible, as que ide la forma de representar de forma digital un
programa en la memoria de la computadora junto con los datos. Tambin concluy que la aritmtica
decimal utilizada por ENIAC en la que cada dgito estaba representado por 10 vlvulas de vaco (una
encendida y nueve apagadas) poda ser sustituida por una aritmtica binaria.

La mquina de Von Neumann tena cinco partes bsicas: la unidad de control, la unidad aritmtica y lgica,
la memoria, y los dispositivos de entrada y salida.



La memoria constaba de 4096 palabras, cada una de las cuales contena 40 bits. Cada palabra contena
dos instrucciones de 20 bits o bien un entero con signo de 40 bits. 8 bits de cada instruccin estaban
dedicados a indicar el tipo de instruccin, y 12 bits se dedicaban a especificar una de las 4096 palabras de
memoria. Las instrucciones deban ser almacenadas en la memoria, y luego extradas, interpretadas y
ejecutadas una a una al momento de correr el programa para realizar los procesos correspondientes.

Dentro de la unidad aritmtica-lgica haba un registro interno especial llamado acumulador de 40 bits. Una
instruccin tpica sumaba una palabra de la memoria al acumulador o almacenaba el contenido del
acumulador en la memoria. Como Von Neumann pensaba que cualquier matemtico competente deba
poder seguir mentalmente la pista del punto decimal (binario, en realidad) la mquina no tena aritmtica de
punto flotante.

Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
17


17

El diseo bsico que describi se conoce ahora como arquitectura, modelo o mquina de von Neumann
y se utiliz en EDSAC, la primera computadora de programa almacenado que sigue siendo la base de casi
todas las computadoras digitales existentes. Seguramente reconocers esta arquitectura en los
componentes de la computadora moderna que describimos en la seccin Fundamentos de la Computacin.


Actividad 1. El modelo de Von Neumann

A travs de esta actividad podrs identificar la utilidad y relevancia del modelo de Von Neumann en el
desarrollo de las computadoras digitales.

De acuerdo a lo descrito en el tema 1.2.1. Modelo de Von Neumann:

1. Ingresa al foro de discusin que lleva por nombre Modelo de von Neumann.

2. Participa activamente en el foro de discusin, contestando la pregunta:

Por qu es importante el modelo de Von Neumann?

Recuerda que debes redactar tu respuesta con claridad, precisin y respeto.

3. Comenta la respuesta de dos de tus compaeros argumentando la postura de tu respuesta.
4. Consulta la Rbrica de participacin del foro que se encuentra en la seccin Material de apoyo.



1.2.2. Ejecucin de Programas en la Computadora

Un sistema de computacin automtico es un equipo que puede llevar a cabo instrucciones para realizar
clculos de un considerable orden de complejidad.

Las instrucciones que gobiernan esta operacin deben ser proporcionadas al equipo con lujo de detalle
incluyendo toda la informacin numrica que se requiere para resolver el problema bajo consideracin;
deben darse en alguna forma que el equipo pueda detectar. Todos estos procedimientos requieren el uso
de un cdigo para expresar la lgica y la definicin algebraica del problema bajo consideracin, as como el
material numrico necesario.

Una vez que las instrucciones se cargan en el equipo, ste debe ser capaz de llevarlas a cabo
completamente sin necesitar ninguna intervencin humana inteligente adicional. Al final de las operaciones
requeridas, el dispositivo debe registrar los resultados en alguna forma de salida. Los resultados son datos
numricos; son una parte especificada del material numrico producido por el equipo en el proceso de
llevar a cabo las instrucciones mencionadas anteriormente.

Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
18


18

El equipo producir, en general, ms material numrico que los resultados mencionados. As, solamente
una fraccin de su salida numrica tendr que ser registrada; el resto solamente circular en el interior del
equipo y nunca ser registrado para uso humano.

Los prrafos anteriores fueron extrados de la seccin Definiciones del reporte de Von Neumann con
algn cambio de estilo y el acortamiento de algunas explicaciones. Seguramente estars de acuerdo en
que su contenido permanece vigente an despus de 60 aos y resulta muy pertinente para iniciar esta
seccin.

Ejecucin de Programas

Se mencion anteriormente que la unidad central de proceso o CPU es la encargada de ejecutar los
programas almacenados en la memoria buscando instrucciones y examinndolas para despus ejecutarlas
una tras otra. La parte de la unidad de control de la CPU se encarga de buscar las instrucciones y
determinar su tipo. La parte de la unidad aritmtica y lgica de la CPU realiza operaciones como la suma y
el AND booleano.

La CPU tambin contiene una pequea rea de memoria de alta velocidad que utiliza para almacenar
resultados temporales y cierta informacin de control. Esta rea de memoria contiene varios registros, cada
uno de los cuales tiene una funcin especfica. Cada registro puede contener un nmero, hasta algn
mximo, y puede leerse y escribirse a alta velocidad porque est dentro de la CPU.

El contador de programa o PC (program counter) es un registro importante que apunta a la siguiente
instruccin que debe buscarse para ejecutarse. El registro de instrucciones o IR (instruction register) es
otro registro importante que contiene la instruccin que se est ejecutando. Existen usualmente ms
registros, algunos con fines especficos y otros de propsito general.

Ejecucin de Instrucciones

La CPU ejecuta cada instruccin en una sucesin de pasos:

1. Buscar la instruccin siguiente en la memoria y colocarla en el registro de instrucciones.
2. Modificar el contador de programa para que apunte a la instruccin siguiente.
3. Determinar el tipo de instruccin que se obtuvo.
4. Si la instruccin utiliza un dato de la memoria, determinar dnde est.
5. Buscar el dato, si es necesario, y colocarlo en un registro de la CPU.
6. Ejecutar la instruccin.
7. Regresar al paso uno para proceder con la siguiente instruccin.

Esta sucesin de pasos se conoce como ciclo de bsqueda-decodificacin-ejecucin y es la base del
funcionamiento de todas las computadoras.


Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
19


19
El juego de instrucciones de una CPU recibe el nombre de lenguaje o cdigo de mquina (binario). Una
CPU slo puede entender instrucciones expresadas en su lenguaje de mquina; cada instruccin especifica
alguna accin particular.

Una instruccin es un grupo de ceros y unos; una parte es el cdigo de la operacin que debe realizarse
y el resto determina dnde se encuentran los argumentos de la instruccin (en caso de que los haya). La
especificacin para localizar los argumentos recibe el nombre de direccionamiento.

Los grupos de unos y ceros son difciles de interpretar y de recordar para los humanos, as que a las
instrucciones de mquina se les asignan nombres nemotcnicos dando origen a un tipo de lenguaje de
bajo nivel llamado lenguaje ensamblador. Los programas ensambladores traducen las instrucciones en
lenguaje ensamblador al cdigo binario de mquina.

Entre los tipos de instrucciones que puede ejecutar una CPU se encuentran los siguientes:

Movimiento de datos (memoria-registro, registro-memoria, registro-registro)
Operaciones binarias (aritmtica elemental, AND, OR, XOR)
Operaciones monarias (desplazar o rotar bits)
Saltos (incondicionales, condicionales; alteran el orden de ejecucin)
Llamada a un sub-programa
Entrada y salida de datos

Puede verse que las instrucciones para la CPU son muy elementales, as que debe realizarse un gran
esfuerzo para traducir del lenguaje natural utilizado por los humanos al lenguaje ensamblador (un esfuerzo
todava mayor cuando se intenta programar directamente utilizando el cdigo binario de la mquina!)

Se muestra a continuacin el fragmento de un programa utilizando nemotcnicos:

CARGAR 120
SUMAR 170
ALMACENAR 250

Esta secuencia de instrucciones carga el contenido de la posicin de memoria 120 en el acumulador (uno
de los registros principales de la CPU). A continuacin la operacin SUMAR suma al contenido del
acumulador el contenido de la direccin 170. Finalmente, el contenido del acumulador se almacena en la
posicin 250 de la memoria.

Los lenguajes de mquina reales y, por lo tanto los lenguajes ensambladores, pueden tener cientos de
instrucciones y las CPUs pueden contener numerosos registros operativos.

Puedes darte cuenta que, an para aplicaciones sencillas, los programas en lenguaje ensamblador resultan
ser muy grandes y difciles de construir e interpretar. Los lenguajes de nivel medio y alto que ya conoces
(como C y Java) muestran su potencial al ofrecer un medio ms conveniente para que los humanos

Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
20


20
programen computadoras; una sola de sus instrucciones puede agrupar decenas de instrucciones de
lenguaje ensamblador.


1.2.3. Almacenamiento de Programas y Datos

Existe una gran cantidad de elementos que intervienen tanto en el almacenamiento como en el
procesamiento de programas y datos en una computadora. Presentaremos a continuacin algunos de ellos.

Memoria

La memoria es la parte de la computadora en la que se almacenan programas y datos que pueden
compartir unidades de memoria, simplemente sus reas y localidades estn perfectamente delimitados. El
trmino almacenamiento (storage) tambin suele usarse en lugar de memoria (memory), aunque es ms
comn el uso de almacenamiento para referirse reunir datos en disco. Las computadoras digitales de
programa almacenado no existiran sin una memoria en la cual los procesadores pueden leer y escribir
informacin.

La unidad bsica de memoria es un dgito binario o bit. Como mencionamos anteriormente, un bit puede
contener un 0 o un 1 y es la unidad ms simple posible. El sistema de numeracin binario es el mtodo
ms confiable para codificar informacin digital porque slo requiere distinguir entre dos valores.

Un solo dgito binario es una unidad de informacin demasiado pequea para ser manejada
convenientemente, por lo tanto normalmente los bits se agrupan formando palabras de una longitud
determinada las ms comunes son: 8, 12, 16, 18, 24, 32, y 64 bits. El grupo ms comn recibe el nombre
de byte y contiene ocho bits.

La memoria est formada por celdas o localidades, cada una de las cuales puede almacenar un elemento
de informacin. Cada celda tiene asignada una direccin, por medio de la cual los programas pueden
referirse a ella. Si una memoria tiene n celdas, sus direcciones estarn en el rango 0 a n-1. Todas las
celdas de una memoria contienen el mismo nmero de bits; si una celda contiene k bits, podr ser usada
para almacenar cualquiera de 2
k
combinaciones distintas de bits.

Por definicin, las celdas de memoria adyacentes tienen direcciones consecutivas y las computadoras que
utilizan el sistema binario expresan las direcciones de memoria como nmeros binarios. Si una direccin
tiene m bits, el nmero mximo de celdas direccionales es 2
m
. Por ejemplo, con una direccin de cuatro bits
pueden direccionarse 16 localidades de memoria. Con 8 bits pueden direccionarse 256 localidades.
El nmero de bits de la direccin es independiente del nmero de bits por celda. Los primeros
microprocesadores utilizaban direcciones de 16 bits para 65,536 localidades conteniendo datos de 8 bits
(para valores entre 0 y 255).

A continuacin se muestran los nmeros de bits de algunos computadores que han sido comercializadas:



Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
21


21


La celda es la unidad direccionable ms pequea. Casi todos los fabricantes de computadoras han
adoptado como estndar una celda de 8 bits. Recuerda que un grupo de 8 bits recibe el nombre de byte.
Los bytes suelen agruparse en palabras. Una computadora con palabras de 32 bits tiene 4 bytes por
palabra; una computadora con palabras de 64 bits tiene 8 bytes por palabra.

Casi todas las instrucciones de un programa operan con palabras, de manera que una mquina de 32 bits
tiene registros de 32 bits e instrucciones para manipular palabras de 32 bits. Una mquina de 64 bits tiene
registros de 64 bits e instrucciones para sumar, restar, y manipular palabras de 64 bits.

Datos
Adems de las instrucciones, las computadoras necesitan datos. De hecho, la tarea principal en muchos
sistemas es procesar datos de diversos tipos: comerciales, de ingeniera, cientficos, financieros, etc. Los
datos deben representarse de formas especficas dentro de la computadora y el hardware debe ser capaz
de soportarlo.

Los datos pueden dividirse en dos categoras: numricos y no numricos. El entero es el tipo principal de
los numricos. Los enteros pueden tener diversas longitudes: 8, 16, 32 y 64 bits, por ejemplo. Los enteros
se utilizan para contar (la cantidad de paquetes de un producto del inventario), para identificar (el nmero
de una cuenta bancaria), como ndices en ciclos repetitivos, y para otras cosas.

Algunas computadoras aceptan enteros tanto con signo como sin l. En el caso de los enteros sin signo, no
hay bit de signo y todos los bits contienen datos. Este tipo de datos ofrecen un bit extra de manera que, por
ejemplo, una palabra de 32 bits puede contener un entero sin signo dentro del intervalo de 0 a 2
32
1,
inclusive. En cambio, un entero de 32 bits con signo en formato de complemento a dos slo puede manejar
nmeros hasta 2
31
1 aunque tiene la ventaja de poder manejar nmeros negativos. Un poco ms adelante
veremos lo que significa complemento a dos.

Si un nmero no puede ser expresado como un entero, como 12.6 es necesario utilizar nmeros de punto
flotante cuya longitud es de 32, 64, y a veces de 128 bits. Casi todas las computadoras tienen instrucciones
para efectuar operaciones aritmticas de punto flotante.

Datos No Numricos

El objetivo de las primeras computadoras era procesar nmeros, pero las computadoras actuales se usan
a menudo para aplicaciones no numricas como el procesamiento de textos o la administracin de bases
de datos. Para estas aplicaciones se requieren otros tipos de datos como los caracteres.
Computadora Bits por celda
Burroughs B1700 1
IBM PC 8
DEC PDP-8 12
IBM 1130 16
CDC 3600 48
CDC Cyber 60

Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
22


22

Como las computadoras slo manejan nmeros, es necesaria alguna codificacin para representar los
datos no numricos dentro de ella. Los cdigos de caracteres ms comunes son ASCII y UNICODE, que
manejan caracteres de 7 bits y de 16 bits, respectivamente.

Existen instrucciones diseadas para manejar cadenas de caracteres, es decir series consecutivas de
caracteres. Estas cadenas a veces se delimitan con un carcter especial al final o incluyen un campo de
longitud para saber dnde terminan. Las instrucciones pueden realizar funciones de bsqueda, copiado,
edicin y otras con las cadenas.

Los valores booleanos tambin son importantes. Un valor booleano puede adoptar un valor de verdadero
(true) o de falso (false). En teora un solo bit es suficiente para representar un valor booleano: 0 como falso
y 1 como verdadero (o viceversa). En la prctica se usa un byte o una palabra para cada valor booleano
porque los bits individuales no pueden ser direccionados fcilmente.

Existen estructuras en las que un valor booleano puede representarse con un bit, como en el mapa de bits.
En este caso una palabra de 32 bits, por ejemplo, puede contener 32 valores booleanos. Este tipo de
estructuras se usan en muchos contextos, por ejemplo, se puede utilizar un mapa de bits para mantener el
registro de los bloques libres de un disco.

Otro tipo comn de datos es el apuntador, el cual contiene simplemente una direccin de memoria.

Archivos de Programas y de Datos

Normalmente, tanto los programas como los datos estn almacenados en algn medio (como el disco duro)
hasta que son transferidos a la memoria de la computadora para ser procesados.

Un programa es almacenado en un tipo de archivo denominado archivo ejecutable. Si bien este archivo
contiene, en su mayor parte las instrucciones del programa, tambin puede comprender datos en
constantes, en ciertas estructuras como los arreglos y en las cadenas de caracteres.

La mayor parte de los datos, sin embargo, suele estar en otro tipo de archivo: el archivo de datos (un
programa puede llegar a utilizar muchos archivos de datos simultneamente).

El Concepto de Tipo de Datos

Los siguientes prrafos pretenden servir como puente para conectar el concepto de bits en las celdas de
memoria con los tipos de datos que son introducidos en los lenguajes de programacin como Pascal, C y
Java.

En matemticas es habitual clasificar las variables de acuerdo con ciertas caractersticas importantes.
Existe una distincin clara entre variables reales, complejas y lgicas o entre variables que representan
valores individuales, conjuntos de valores, o conjuntos de conjuntos o entre funciones, funcionales,
conjuntos de funciones y as sucesivamente.

Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
23


23

En el procesamiento de datos, esta nocin de clasificacin es igual o ms importante. Mantendremos
entonces el principio de que cada constante, variable, expresin, o funcin es de un cierto tipo. El tipo
caracteriza esencialmente el conjunto de valores a los que pertenece una constante, que pueden ser
asumidos por una variable o expresino pueden ser generados por una funcin.

En los textos matemticos el tipo de una variable se puede deducir generalmente a partir del tipo de letra
sin considerar el contexto; sin embargo, esto no es factible en los programas de computadora. Por lo
general slo se tiene un solo tipo de letra disponible para programar. La regla que se acepta generalmente
es que el tipo asociado se hace explcito en el programa a travs de una declaracin de la constante,
variable o funcin, y que esta declaracin precede a la aplicacin de la constante, variable o funcin.

La regla es particularmente sensible si se considera el hecho de que un compilador tiene que hacer una
eleccin de la representacin del objeto para almacenarlo dentro de una computadora.
Evidentemente, la cantidad de almacenamiento asignado a una variable tendr que ser elegido de acuerdo
al tamao del rango de valores que la variable puede asumir. Si esta informacin es conocida por un
compilador, puede ser evitada la asignacin dinmica de almacenamiento. Esto es a menudo la clave para
la realizacin eficaz de un algoritmo.

Las caractersticas principales del concepto de tipo que se utilizan en los lenguajes de programacin son
las siguientes:

1. Un tipo de datos determina el conjunto de valores a los que pertenece una constante que pueden
ser asumidos por una variable o una expresin o pueden ser generados por un operador o una
funcin.

2. El tipo de un valor indicado por una constante, variable o expresin puede derivarse de su forma o
declaracin sin la necesidad de ejecutar el proceso de cmputo.

3. Cada operador o funcin espera argumentos de un tipo fijo y entrega un resultado de un tipo fijo. Si
un operador admite argumentos de varios tipos (por ejemplo, el smbolo + se utiliza para la adicin
tanto de nmeros enteros como de nmeros reales, entonces el tipo de resultado puede
determinarse a partir de normas lingsticas especficas.

Un compilador puede utilizar esta informacin sobre los tipos para comprobar la legalidad de diversas
construcciones.

Por ejemplo, la asignacin errnea de un valor booleano (lgico) a una variable aritmtica puede ser
detectada sin ejecutar el programa. Este tipo de redundancia en el texto del programa es extremadamente
til para el desarrollo de los programas y debe ser considerada como la principal ventaja de los buenos
lenguajes de alto nivel por sobre el cdigo de mquina (o cdigo ensamblador simblico).


Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
24


24
En ltima instancia, los datos sern representados por un gran nmero de dgitos binarios,
independientemente de si el programa fue inicialmente concebido en un lenguaje de alto nivel usando el
concepto de tipo o en un cdigo ensamblador sin tipo.

Para la computadora el almacenamiento es una masa homognea de bits sin estructura aparente, pero es
precisamente la estructura abstracta de los tipos la que est permitiendo a los programadores humanos
encontrar significado en el paisaje montono del almacenamiento de una computadora. - Niklaus Emil
Wirth (creador del lenguaje de programacin Pascal).


Actividad 2. Reporte de investigacin

A travs de esta actividad podrs identificar los dispositivos de almacenamiento que se utilizan
actualmente para guardar informacin en las computadoras digitales.

Considerando lo descrito en los temas 1.2. Fundamentos de la Computacin y 1.2.3. Almacenamiento de
Programas y Datos:

1. Escribe un reporte que llevar por nombre Dispositivos Actuales de Almacenamiento para las
Computadoras.

2. Investiga sobre los siguientes temas e incluye los resultados de tu investigacin en el reporte:
a. Dispositivos de almacenamiento para las computadoras
b. El disco duro
c. La cinta magntica
d. Los discos flexibles
e. Las memorias USB y SD
f. Otros medios fijos y removibles como CDs y DVDs
g. Las interfaces que conectan los diversos dispositivos con la computadora
h. Cmo se guarda la informacin en los diversos dispositivos
i. Tendencias de los dispositivos de almacenamiento para el futuro

3. Guarda tu documento con la nomenclatura CI_U1_A2_XXYZ. Y enva tu archivo al portafolio de
evidencias.
4. Espera la retroalimentacin de tu Facilitador(a).


1.3. Ciclo de Vida del Software

Para desarrollar un programa o software de propsito especfico y obtener los resultados deseados es
necesario efectuar las tareas adecuadas. A este proceso de desarrollo de software se le suele llamar ciclo
de vida de desarrollo de software o simplemente ciclo de vida del software.

Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
25


25

Existen varios modelos que han sido propuestos para guiar este proceso y cada uno describe una serie de
tareas o actividades que deben realizarse. Varias dcadas han pasado en las que organizaciones e
individuos se han dedicado a encontrar y definir procesos repetibles y predecibles que mejoren la calidad
de los productos de software. Algunos intentan sistematizar o formalizar la escritura de los programas, otros
utilizan tcnicas de la administracin de proyectos.

Sistematizar el desarrollo de programas no es una tarea fcil porque intervienen entornos cambiantes,
especificaciones ambiguas y sobre todo, programadores a los que muchas veces no les gusta que les
impongan restricciones. La definicin de los requerimientos es tambin una fuente de problemas porque
frecuentemente quienes solicitan el programa no saben lo que necesitan.

Entre los modelos propuestos existen dos que han sido ampliamente usados no slo para el desarrollo de
software, sino tambin para el desarrollo de sistemas en general:

Modelos en cascada
Modelo V


1.3.1. Modelos en cascada

El modelo en cascada de un proceso para desarrollar software est conformado por etapas definidas e
independientes acomodadas de manera continua (secuencialmente), las etapas no se traslapan entre ellas.

Este modelo es uno de los ms antiguos en la ingeniera de software y es de los ms usados, tiene la virtud
de la simplicidad. Han sido tambin creadas algunas variantes.

El modelo se caracteriza por enfatizar la planeacin previa de una etapa a la otra, es decir, cada etapa es
la base para la siguiente. Esto incrementa el control en la calidad del producto final adems de que cada
etapa debe ser terminada totalmente antes de iniciar con la siguiente. El procedimiento ayuda a evitar que
se generen fallas de diseo durante el proceso de desarrollo.

Como en el caso de otros modelos, ste no especifica los mtodos que son usados en sus etapas,
simplemente proporciona un marco de trabajo para un desarrollo. Personas y autores tienen ideas
ligeramente diferentes acerca de lo que cada paso debe ser;sin embargo, la esencia del enfoque es la
misma. Se muestra a continuacin un diagrama del mtodo.


Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
26


26

Las etapas de este modelo son las siguientes:

Requerimientos
Diseo de arquitectura
Diseo detallado
Codificacin
Pruebas de unidad
Pruebas de sistema
Aceptacin

Requerimientos
Aqu se especifica lo que debe construirse. Se describen las funciones que debe realizar el producto final
de acuerdo a las necesidades de usuarios y otros participantes clave. Tambin se especifican atributos
como la calidad y el rendimiento deseados, la interaccin con otros programas, etc.

Diseo de arquitectura
En esta etapa se crea la estructura general del programa o sistema, de acuerdo con los requerimientos.

Diseo detallado
Aqu se lleva a cabo la definicin detallada de cada componente de la estructura del programa o sistema,
as como de la forma en que cada componente ser implementado.

Codificacin
La etapa de codificacin se refiere a la programacin o implementacin de las especificaciones que se
obtuvieron del diseo detallado: se escribe el programa y/o se ensamblan componentes. A esta etapa
tambin se le conoce como etapa de implementacin, sobre todo cuando el modelo se utiliza para
desarrollar sistemas.

Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
27


27

Pruebas de unidad
En esta etapa se verifica de forma individual que cada uno de los componentes del programa o sistema
cumple con los requerimientos establecidos. Detecta de forma temprana errores de programacin o de
implementacin.

Pruebas de sistema
Aqu se verifica si el programa o sistema completo cumple con los requerimientos establecidos al inicio del
proceso. Detecta tambin errores generales de interfaz entre componentes y de rendimiento, entre otros.

Aceptacin
En esta etapa se libera el programa o sistema y se crea la documentacin.

Una de las desventajas de este modelo bsico es que el agua no puede fluir hacia arriba si se encuentra
un problema en alguna etapa, no hay forma de rehacer una etapa anterior. Por ejemplo, si durante las
pruebas se encuentran errores debidos a la etapa anterior de codificacin, en el enfoque estricto del
modelo el cdigo no puede ser corregido.

Para superar esta desventaja obvia, una variacin del modelo en cascada proporciona retroalimentacin
entre las etapas adyacentes, de manera que un problema encontrado en alguna etapa provoca una accin
de correccin en la etapa anterior.

Modelo en cascada con retroalimentacin



Con respecto al modelo en cascada simple, el de retroalimentacin es ms flexible para el desarrollo de
software y sistemas.

Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
28


28

Las ventajas de los modelos en cascada son:

Dividen una tarea compleja en tareas ms pequeas y manejables
Cada tarea produce un entregable bien definido

Al parecer, los creadores del modelo en cascada tuvieron la percepcin equivocada que el desarrollo de
software es simple y directo, que puede fluir suavemente de una etapa a la otra sin problemas. Esto, por lo
general, no es cierto y la experiencia ha demostrado que existen problemas fundamentales para usar este
modelo como base para un plan de proyecto. Sin embargo, el modelo y sus variantes siguen siendo
ampliamente usados.

Como ejemplo de lo que pueden contener las etapas del modelo en cascada, te mostramos a
continuacin algunos elementos del desarrollo de un sistema real que incluye software en gran medida,
pero tambin componentes de otros tipos.

Requerimientos

Desarrollo de un robot de tipo SCARA utilizando el control de
posicin por cinemtica directaBarato y de fcil mantenimiento.
Trabajo en condiciones de 15 C a 30 C.
Preciso, flexible, eficiente y confiable.
Fabricado con materiales reciclables.
Con un rea de trabajo de 30 cm de altura con un radio interno
(r
i
) de 20 cm y un radio externo (r
e
) de 50 cm.
Trabajo continuo de 2000 horas.
Paro de emergencia.
Bajo consumo de energa.
Interfaz grfica entendible por el usuario.
Transferencia de datos entre un microcontrolador y una
computadora utilizando el puerto USB.
Utilizar programas como MATLAB o C++.
Transferencia de datos a 9600 baudios.
Algoritmos para cinemtica directa.
Utilizar cantidad mnima de recursos del microcontrolador.
Preferentemente usar programacin en tiempo real de tipo
hard.
Control manual y semiautomtico.
Idioma de la interfaz grfica en ingls.
Botones en la interfaz para paro de emergencia.





Diseo de arquitectura
Inicio de programa.

Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
29


29
Programa principal y subrutinas.
Interfaz grfica.

Diseo detallado
Declaracin de libreras a usar.
Especificar las caractersticas de transferencia de datos entre la computadora y el microcontrolador.
Declaracin de variables de E/S y auxiliares.
Diseo del programa principal y paro de emergencia.
Declarar subrutinas para el control de los motores en cada grado de libertad.
Disear la iteracin del programa principal.
Disear la interfaz grfica para acoplarla con el programa principal y sus variables.

Codificacin
Programacin del cdigo en MATLAB y C++

Pruebas de unidad
Verificar si la velocidad de transmisin de datos es la correcta.
Verificar el control de los motores.
Verificar el paro de emergencia.
Probar con diferentes individuos la interfaz grfica.
Otras pruebas.


Pruebas de sistema
Verificar la precisin del robot con respecto a los puntos de posicin deseados y a los puntos de
posicin obtenidos.
Medir el consumo total de energa.
Monitorear los movimientos del robot a diferentes temperaturas.
Otras pruebas.

Aceptacin
Crear tabla de especificaciones.
Escribir manual de operacin.
Crear curso de capacitacin.
Generar documento de aceptacin.

Como habrs notado, incluimos ms detalles en la etapa de Requerimientos. Lo hicimos para hacer nfasis
en la importancia de esta etapa. Una gran cantidad de proyectos no tienen xito debido a la debilidad en la
recopilacin y especificacin de requerimientos. Finalmente, podrs ver a continuacin una imagen
mostrando la primera versin del robot SCARA, y otra mostrando su interfaz grfica de control.


Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
30


30



1.3.2. Modelo V

El modelo V es similar en algunas caractersticas al modelo en cascada. Por ejemplo, ambos son
secuenciales (una etapa tras otra) y se tiene que terminar totalmente una etapa antes de pasar a la
siguiente; asimismo, ambos empiezan con los requerimientos.

La diferencia ms significativa entre los dos modelos es que el modelo V realiza pruebas en cada etapa
antes de pasar a la siguiente. Por ejemplo, se realiza la etapa de requerimientos y luego se efectan
pruebas de aceptacin de esas necesidades ; una vez aprobados se puede continuar a la siguiente etapa.
Se procede de la misma forma en todas las etapas hasta llegar a la ltima de codificacin o
implementacin.

Las pruebas se hacen al finalizar cada etapa y se repiten al terminar la codificacin o implementacin,
como lo muestra el siguiente diagrama. Esto ltimo se efecta con el fin de verificar si el proyecto pasa
cada una de las pruebas como producto final.


Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
31


31


La aplicacin del modelo V es simple y gracias a sus fases de pruebas, se facilitan la deteccin y la
correccin de problemas antes de pasar a la siguiente etapa lo que garantiza la buena calidad del producto
final.

Por su naturaleza, este modelo es muy til en programas y sistemas en donde la confiabilidad es crtica.

Como el modelo en cascada, no incluye la iteracin de las etapas y tampoco permite la modificacin de
los requerimientos a lo largo del desarrollo del proyecto. La experiencia muestra que la modificacin de
requerimientos sin un control estricto de cambios puede crear problemas graves en el desarrollo, as que se
entiende que no se permita la modificacin de requerimientos. Modelos ms complejos han sido
desarrollados para incluir este tipo de variaciones.



Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
32


32
Autoevaluacin

Felicidades! Haz llegado al final de la Unidad.

Para terminar resuelve la actividad de Autoevaluacin que corresponde a un conjunto de reactivos:

Instrucciones: elige la respuesta correcta que corresponda a la pregunta planteada.

1. Es la palabra que ha sido usada ampliamente por los angloparlantes.

a) Informatics b) Computacin c) Base de datos d) Redes

2. Son las partes que integraban la mquina de Von Neumman?

a) 5 b) 6 c) 7 d) 4

3. Son las partes fundamentales del CPU

a) Unidad de control,
unidad aritmtica y
lgica, ROM
b) Unidad aritmtica y
lgica, RAM, ROM
c) Unidad aritmtica
y lgica, entrada,
salida
d) Unidad de
control,
unidad
aritmtica
y lgica

4. Es un tipo de lenguaje que es considerado de bajo nivel.

a) Lenguaje
ensamblador
b) Basc c) Java d) Cobol

5. Es un modelo de cascada que es ms flexible para el desarrollo de software y sistemas.

a) Cascada en
retroalimentacin
b) Cascada en
complemento
c) Cascada simple d) Cascada en
V


RETROALIMENTACION

1-3 aciertos. Los conocimientos obtenidos no fueron suficientes, debes revisar nuevamente el contenido de
la unidad.
4-5 aciertos. Tienes un conocimiento claro de los conceptos manejados en la Unidad.Sigue adelante.




Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
33


33
Evidencia de Aprendizaje. Presentacin de Resultados

Al finalizar esta actividad sers capaz de utilizar los modelos del ciclo de vida del software para desarrollar
aplicaciones.

De acuerdo a lo descrito en el tema 1.3. Ciclo de Vida del Software:

1. Elabora un reporte que llevar por nombre Utilizacin de modelos del ciclo de vida del software.

a. Especifica una aplicacin de software que te gustara desarrollar y que resuelva algn
problema.
b. Selecciona uno de los modelos (en cascada, en cascada con retroalimentacin o en V) y
desarrolla detalladamente cada una de sus etapas para la aplicacin que especificaste
c. Agrega comentarios que expliquen claramente a un lector de tu reporte lo que ocurre dentro
de cada etapa.
d. Explica cmo podran llevarse a cabo las pruebas.
e. Menciona los problemas que, segn tu criterio, podran encontrarse y cmo podran
resolverse.
f. Justifica la razn de tu seleccin de modelo.
g. Debers obtener al final un documento que explique claramente a un lector lo que debe
hacer para desarrollar adecuadamente una aplicacin como la que especificaste.

2. Guarda tu documento con la nomenclatura CI_U1_EA_XXYZ. Y enva tu archivo al Portafolio de
evidencias.
3. Espera la retroalimentacin de tu Facilitador(a), atiende sus comentarios y reenva la nueva
versin de tu evidencia, en caso de que sea requerido.
4. Consulta la Escala de Evaluacin para conocer los criterios con que ser evaluado tu trabajo.


Cierre de la Unidad

En esta unidad se estudiaron los fundamentos de la informtica, as como la historia de la creacin y
evolucin de las computadoras. Se discuti acerca del contexto actual de la informtica incluyendo la
participacin del elemento humano.

Se discuti cmo algunos de los pioneros de la informtica propusieron diseos que an hoy en da se
utilizan para construir computadoras. Conociste algunos detalles de cmo se ejecutan los programas en
una computadora y cmo se almacenan los datos y programas.

Aprendiste finalmente acerca del ciclo de vida de desarrollo de software, un proceso sistemtico
basado en modelos que puedes utilizar para desarrollar programas o sistemas de propsito especfico
eficaces y de alta calidad.

Computacin I
Unidad 1. Informtica


Educacin Abierta y a Distancia * Ciencias Exactas, Ingenieras y Tecnologas
34


34
Para saber ms

Consulta los siguientes links:

Acerca de ENIAC: http://www.seas.upenn.edu/about-seas/eniac/

Acerca de EDVAC: http://www.youtube.com/watch?v=jhlSEIbxO0E

Acerca de von Newmann: http://www-cs-faculty.stanford.edu/~eroberts/courses/soco/projects/1998-
99/game-theory/neumann.html

Acerca de ingeniera de software:
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=1&cad=rja&ved=0CC0QFjAA&u
rl=http%3A%2F%2Finfolab.stanford.edu%2F~burback%2Fwatersluice%2Fwatersluice.pdf&ei=VryBUM6DB
8Oo2wW14oG4BQ&usg=AFQjCNHlEEg4qXEUpdB3gXXD6cK-DGiyPw&sig2=PzFA4gAE5IFaiGm1ZBauqQ


Fuentes de consulta

Stair, R., & Reynolds, G. (2012). Principles of Information Systems. (10th ed.). Boston: Cengage
Learning.
Karumanchi, N. (2011). Data Structures and Algorithms Made Easy (New. ed.). Bombay:
CareerMonk Publications.
Tanenbaum, A.(2000). Organizacin de Computadoras -Un Enfoque Estructurado. (7. Ed.). Mxico:
Prentice Hall Hispanoamericana, S.A.
Godfrey, M. Introduction to The First Draft Report on the EDVAC. IEEE Annals of the History of
Computing, Vol. 15, No. 4, pp.27-75, 1993.
Mano, M.(1982). Lgica digital y Diseo de Computadores. (1. Impres.). Espaa: Prentice-Hall
International.

También podría gustarte