Date post: | 25-Jan-2023 |
Category: |
Documents |
Upload: | independent |
View: | 1 times |
Download: | 0 times |
INFORMÁTICA BÁSICA
AUTOR:
BR. LIMA NORKIS
i
REPÚBLICA BOLIVARIANA DE VENEZUELAMINISTERIO DEL PODER POPULAR PARA LA EDUCACION SUPERIOR
INSTITUTO UNIVESITARIO DE TECNOLOGIA “MARILIS MENDEZ”
SAN FERNANDO – ESTADO APURE
BIRUACA, MAYO DE 2010
Índice
Introducción..........................................1UNIDAD I................................................3Origen y Evolución....................................3Generaciones de Computadoras..........................9Organización Física de la Computadora. Arquitectura. .14Estructura del Computador............................15Software.............................................16Hardware.............................................16Componentes Del Computador...........................17El Procesador........................................18Dispositivos De Entrada:.............................19Dispositivos De Almacenamiento.......................22Dispositivos De Salida en esta se encuentran.........24Funcionamiento Interno Del Computador................26Clasificación de las Computadoras por su Capacidad. . .32Supercomputadora.....................................33Computadora O Mainframe..............................34Minicomputadora......................................34Microcomputadoras....................................34La Computadora Personal..............................35
UNIDAD II..............................................36Sistema Operativo....................................36Perspectiva Histórica...............................37
Clasificación de los Sistemas Operativos.............37Cómo funciona un Sistema Operativo...................38Cómo se utiliza un Sistema Operativo................38
ii
Ejemplos de Sistema Operativo........................38Componentes de un Sistema Operativo..................39Características.....................................42
UNIDAD III.............................................45Algoritmos y Programas...............................45Qué es un Algoritmo..................................45Modelos Computacionales.............................46Programas: Algoritmos para ser ejecutados por un ordenador...........................................46
Qué Instrucciones Ejecuta un Ordenador...............47Tipos de Lenguajes...................................47Programación para Seres Humanos.....................49
Resolución de Problemas con Computadora y Herramientas de Programación......................................51La representación de los Algoritmos..................52Programación Modular.................................57Programación Estructurada............................59Orígenes de la Programación Estructurada............59
Estructura Secuencial................................60Ventajas de la Programación Estructurada............64Inconvenientes de la Programación Estructurada......64
Concepto de Programa.................................65Instrucciones y Tipos................................65Elementos Básicos de un Programa.....................66Elementos del Lenguaje de Programación...............66Conclusión...........................................71Bibliografía.........................................72
iii
Introducción
La investigación se diseño de forma práctica y
sencilla para comenzar a conocer un poco de esta
extraordinaria herramienta, recorriendo la historia de
las mismas, su origen, evolución, clasificándolas por
generaciones y dando una breve descripción de los
principales componentes de un computador.
Las computadoras no han nacido en los últimos años,
en realidad el hombre siempre buscó tener dispositivos
que le ayudaran a efectuar cálculos precisos y rápidos.
Desde la aparición de las calculadoras binarias hasta
nuestros días, hay muy pocas actividades humanas que no
estén ligadas en una u otra forma a las máquinas
electrónicas. De tal forma podemos definir a la
computadora como un dispositivo electrónico capaz de
recibir un conjunto de instrucciones y ejecutarlas
realizando cálculos sobre los datos numéricos, o
compilando y correlacionando otros tipos de información
para obtener otro conjunto de datos o información como
respuesta.
La informática, por su rapidez de crecimiento y
expansión, ha venido transformando rápidamente las
sociedades actuales; sin embargo el público en general
solo las conoce superficialmente. Lo importante para
1
entrar en el asombroso mundo de la computación, es
perderle el miedo a esa extraña pantalla, a ese complejo
teclado y a esos misteriosos discos y así poder entender
lo práctico, lo útil y sencillo que resulta tenerlas como
nuestro aliado en el día a día de nuestras vidas.
La programación estructurada es una forma de
escribir programas de ordenador (programación de
computadora) de manera clara. Para ello utiliza
únicamente tres estructuras: secuencia, selección e
iteración; siendo innecesario el uso de la instrucción o
instrucciones de transferencia incondicional
El sistema operativo es el programa (o software) más
importante de un ordenador. Para que funcionen los otros
programas, cada ordenador de uso general debe tener un
sistema operativo. Los sistemas operativos realizan
tareas básicas, tales como reconocimiento de la conexión
del teclado, enviar la información a la pantalla, no
perder de vista archivos y directorios en el disco, y
controlar los dispositivos periféricos tales como
impresoras, escáner, etc.
Los tipos o técnicas de programación son bastante
variados, aunque puede que muchos de los lectores sólo
conozcan una metodología para realizar programas. En la
mayoría de los casos, las técnicas se centran en
programación modular y programación estructurada, pero
2
existen otros tipos de programación. Los explicaremos a
lo largo del artículo.
UNIDAD I
Origen y Evolución
3
La Computadora Primitiva
Un computador ó computadora es una maquina creada
por el hombre con el propósito de que le sirva como
herramienta de trabajo. Al hablar del Origen del
Computador, debemos situarnos en la edad antigua,
apuntando que el hombre primitivo, aparentemente no
necesitaba mecanismos para el manejo de información,
tanto financiera como de otro tipo, ya que en el medio
que se desenvolvía no se lo exigía.
El comercio en esa etapa era NULO. Se afirma que los
pueblos primitivos contaban sus ovejas por medio de
palitos o piedrecillas. Acorde con los tiempos avanzan
las sociedades; es por tal razón que surge el Trueque,
que consistía en cambiar una cosa por otra entre dos o
más tribus. Con el trueque aun el hombre primitivo no se
siente incomodo para el manejo de las pocas cosas
materiales que poseían en ese entonces, ya que no existía
el empleo de la información numérica, y por ende no
existían las relaciones comerciales.
A mediada que el trueque va evolucionando y que el
hombre primitivo de una manera u otra se va relacionando
uno con otros, formando así una pequeña sociedad, nace la
imperante necesidad de sustituir el trueque; ante este
fenómeno se crea el DINERO, el cual le permitía adquirir
4
cualquier mercancía. Así se crean los mercados, y con
ellos la oferta y la demanda.
Con la aparición del dinero, y la ingente necesidad
de SABER administrarlo para así adquirir mayor numero de
mercancías, el hombre se siente obligado y empujado por
la sociedad a buscar formas posibles para el buen manejo
del calculo. El dinero hace que el hombre nómada aprenda
a diferenciar los sistemas en los cuales se adquieren más
bienes. Podemos sintetizar que las necesidades del
calculo por parte del hombre datan de miles de años.
Muchos son los autores que coinciden que el primer
método que utilizo el hombre nómada, para sumar fueron
los dedos de sus manos, siendo este el método preferido
por los niños para aprender a contar. Nuestro sistema
numérico de base 10 proviene indudablemente del uso de
los diez (10) dedos de la mano como elemento de cálculo.
En nuestra breve reseña histórica del computador
solo haremos mención a los principales mecanismos de
cálculos utilizados por el hombre, hasta nuestros días;
sin embargo, lea con detenimiento las siguientes
afirmaciones antes de entrar en lleno a definirlos
elementos utilizados por el hombre para la realización
del calculo: ??Los arqueólogos han desenterrado tablillas
de arcilla que contienen cálculos matemáticos elaborados
en la Edad Media. Tablillas que contienen tablas de
5
multiplicación y de recíprocos han sido encontradas en
Babilonia y se cree que fueron escritas alrededor de mil
setecientos años a. de C.
Los Babilonios utilizaban un sistema numérico
sexagesimal, o sea, de base 60, de lo cual provienen
nuestras actuales unidades de horas, minutos y segundos?.
Mostramos su pequeño párrafo para enfatizar que los
mecanismos que mencionaremos a continuación NO fueron los
primeros en resolver la problemática de calculo, no
obstante son los únicos que poseen datos biográficos
propios.
El Ábaco
Es uno de los dispositivos o herramientas mecánicas
de cálculo más antiguo registrado en la historia, del se
encuentran versiones muy primitivas en el Medio Oriente
hacia 2,500 años antes de Cristo. La palabra Ábaco se
deriva del griego Abakos, que significa superficie plana.
El Ábaco consta de unas cuentas ensartadas en unos
alambres, donde se deslizan sietes cuentas, dos arribas
de un travesaño central y cinco abajo.
El Ábaco es capaz de representar cualquier número
hasta 999,999. Ahora bien, los japoneses también tienen
su propio Abaco, el cual tiene mucha similitud al de los
chinos. El Ábaco se utilizaba para realizar operaciones
6
matemáticas como suma, resta, multiplicación, división y
procesos compuestos.
Estructura de Napier
En el siglo XVII, John Napier (1550-1617), el
matemático escocés, famoso por la invención de los
logaritmos, diseñó un dispositivo mecánico, que
utilizando palillos con números impresos, le permitía
realizar operaciones de multiplicación y división. A este
dispositivo se le llamo Estructura de Napier, este estaba
constituido de nueve hileras, por cada uno de los dígitos
del 1 al 9. Cada Hilera representa una columna de una
tabla de multiplicación, se publicaron en el año 1614.
La Regla de Calculo
En el año 1633, un clérigo inglés, de nombre William
Oughted, inventó un dispositivo de cálculo basado en los
logaritmos de Napier, al cual le denominó Círculo de
Proporción. Este instrumento llegó a ser conocido como la
Regla de Cálculo, constituida por marcas que representan
7
logaritmos de los números, en consecuencia los productos
y cocientes se obtienen al sumar y restar longitudes.
Se hizo muy popular entre los científicos e
ingenieros hasta hace poco tiempo, cuando fue sustituida
por la calculadora de bolsillo.
La Pascalina
Blaise Pascal diseñó un a calculadora de ruedas
giratorias construida para ayudar a su padre quien era
colector de impuestos. Esta calculadora era conocida como
La Pascalina, tiene una rueda que corresponde a cada
potencia de 10, cada rueda tiene 10 posiciones, una por
cada dígito entre 0 y 9. Era una calculadora diseñada
para sumar, restar y multiplicar a través de sumas
sucesivas, también podía dividir, a través de sucesivas
restas.
Maquina Leibnitz
Otro gran genio de la época fue el matemático y
filosofo G.W. Leibnitz (1646-1716), quien en 1672 dio a
conocer una maquina más perfeccionada que la de Pascal,
8
ya que esa podía multiplicar, dividir y obtener raíces
cuadradas. ? Fue la mente más universal de su época?. A
este inventor se le atribuye él haber propuesto una
maquina de calcular que utilizaba el sistema binario,
todavía utilizado en nuestros días por los modernos
computadores.
La Maquina Analítica y Diferencial
Los ingenios citados anteriormente no pueden
considerarse como maquinas automáticas, ya que esas
requerían una constante intervención del operador para
introducir nuevos datos y efectuar las maniobras que
implican cada operación.
La sociedad de la época exigía una maquina para
resolver cálculos automáticamente, es decir, sin la
intervención del operador en el proceso, con la exactitud
y precisión deseadas. En 1812, el matemático e ingeniero
británico CHARLES BABBAGE (1712-1871), profesor de
matemáticas de la Universidad de Cambridge, preocupado
por los muchos errores que contenían las tablas de
calculo que utilizaba en su trabajo diario, construyó el
modelo para calcular tablas, denominado: maquina
diferencial ( maquina de diferencias), basada en la rueda
giratoria capaz de calcular logaritmos con veinte
decimales.
9
Babbage no pudo completar ninguna de sus dos
ingeniosas maquinas, ya que el gobierno británico,
preocupado por la falta de progreso, le retiró la
subvención económica. Tuvo que pasar un siglo para que
ideas similares a estas fueran puestas en practica.
Muchos son los escritores en el área de la informática,
que definen a Charles Babbage como el Padre de la
Informática, ya que sentó las bases teóricas
fundamentales en las cuales se basan las computadoras
actuales.
Tarjeta Perforada
Procesamiento Electrónico de Datos
Otro personaje que merece que lo incluyamos en
nuestra breve historia de la computadora es HERNAN
10
HOLLERITH, quien en 1879 fue contratado como asistente en
las Oficinas de Censo de Estados Unidos.
Con Hollerith se inicia el procesamiento electrónico
de datos. En 1910-1911, las maquinas tabuladoras de
Hollerith podían procesar grandes cantidades de datos a
alta velocidad; esto así, gracias al estadígrafo James
Power, quien logró que las maquinas de Hollerith
aumentaran en capacidad y en velocidad. Hollerith
abandona la Oficina de Censo de Estados Unidos, y funda
su propia compañía, llamada Tabulating Machine Company
( compañía de maquinas tabuladoras). En 1924 la
Tabulating Machine Company se integra con otras dos
compañías para formar lo que en la actualidad es la
INTERNATIONAL BUSINESS MACHINES CORPORACIÓN (IBM).
En el año 1911 el estadígrafo James Power, quien se
había destacado por los adelantos como perfeccionista de
las maquinas de Hollerith, se retira de las Oficinas del
Censo y crea su propia compañía denominada Power
11
Accounting Machine Company, la cual más tarde se unió a
otras dos compañías para formar la Remington Rand
Corporation, ésta a su vez se convirtió en la UNIVAC,
división de Sperry Rand.
En el año 1930, los Laboratorios Bell construyeron
una calculadora basada en interruptores telefónicos,
llamada MODEL I, la cual usaba el principio de encendido-
apagado para realizar cálculos aritméticos.
En 1937, Howard Aiken, de la Universidad de Harvard,
ideó una gigantesca calculadora mecánica llamada MARK I,
capaz de realizar largas secuencias de operaciones
aritméticas lógicas. Esta maquina era relativamente
lenta, por lo que la compañía IBM emprendió la
construcción de la calculadora Aiken, siendo en la
Universidad de Harvard, en 1944, cuando se presento la
primera maquina.
En el año 1945 el profesor John Mauchly, de la
Universidad de Pensilvania, y Presper Eckert diseñaron la
ENIAC (Electronic Numerical Integrator Carculator); fue
la primera computadora TOTALMENTE ELECTRONICA. Era mucho
más rápida que la MARK I; sin embargo, carecía de memoria
interna y debía recibir instrucciones por medio de un
tablero de conmutadores y cordones enchufables.
La Univac (Universal Automatic Computer) fue la
primera computadora comercial moderna. Este computador se
12
utilizaba para el tratamiento de datos no científicos.
Fue construida por la Remington Rand (Sperry Rand),
compañía fundada por Eckert y Mauchly. La UNIVAC fue la
primera maquina capaz de aceptar y tratar o procesar
datos alfabéticos y numéricos.
Generaciones de Computadoras
Generación Cero (1942 - 1945)Aparecieron los primeros ordenadores analógicos:
comenzaron a construirse a principios del siglo XX los
primeros modelos realizaban los cálculos mediante ejes y
engranajes giratorios. Con estas máquinas se calculaban
las aproximaciones numéricas de ecuaciones demasiado
difíciles como para poder ser resueltas mediante otros
métodos.
La generación cero que abarcó la década de la
segunda guerra mundial un equipo de científicos y
matemáticos crearon lo que se considera el primer
ordenador digital totalmente eléctrico: EL COLOSSUS, este
incorporaba 1500 válvulas o tubos de vacío y era ya
operativo. Fue utilizado por el equipo dirigido por Alan
Turíng para decodificar los mensajes de radio cifrado de
los Alemanes.
Primera Generación (1951 - 1958)
13
En esta generación había un gran desconocimiento de
las capacidades de las computadoras, puesto que se
realizó un estudio en esta época que determinó que con
veinte computadoras se saturaría el mercado de los
Estados Unidos en el campo de procesamiento de datos.
Estas tenían las siguientes características:
Emplearon bulbos (Válvulas al vacío) para procesar
la información.
Esta generación de máquinas eran muy grandes y
costosas.
Alto consumo de energía. El voltaje de los bulbos
era de 300 v y la posibilidad de fundirse era grande,
además de que requerían de sistemas de aire acondicionado
especial.
Uso de tarjetas perforadas. Se utilizaba un modelo
de codificación de la información originado en el siglo
pasado, las tarjetas perforadas.
Almacenamiento de información en tambor magnético
interior. Un tambor magnético dispuesto en el interior de
la computadora, recogía y memorizaba los datos y los
programas que le suministraban mediante tarjetas.
Lenguaje máquina. La programación se codificaba en
un lenguaje muy rudimentario denominado "Lenguaje
Máquina" el cual consistía en la yuxtaposición de largos
bits o cadenas de ceros y unos, la combinación de los
14
elementos del sistema binarios era la única manera de
"instruir a la máquina", pues no entendía más lenguaje
que el numérico.
Tenían aplicaciones en el área científica y militar.
Eckert y Mauchly contribuyeron al desarrollo de las
computadoras de la primera generación, formando una
compañía privada y construyendo la UNIVAC I, la cual se
utilizó para evaluar el censo de 1950 en los Estados
Unidos.
En las dos primeras generaciones, las unidades de
entrada utilizaban tarjetas perforadas, retomadas por
Herman Hollerith, quien además fundó una compañía que con
el paso del tiempo se conocería como IBM (Internacional
Bussines Machines).
Después se desarrolló la IBM 701 de la cual se entraron
18 unidades entre 1953 y 1957.
La computadora mas exitosa de esta generación fue la
IBM 650 la cuál usaba un esquema de memoria secundaria
llamado tambor magnético que es el antecesor de los
discos actuales.
Segunda Generación (1959-1954)
La segunda generación se basa en el funcionamiento
del transistor, lo que hizo posible una nueva generación
de computadoras más pequeñas, más rápidas y con menores
15
necesidades de ventilación, por todos estos motivos la
densidad del circuito podía ser aumentada
significativamente, lo que quería decir que los
componentes podían colocarse mucho más cerca unos de
otros y así ahorrar mas espacio.
Diversas compañías como IBM, UNIVAC, HONEYWELL,
construyen ordenadores de este tipo. Las principales
características son:
El componente principal es un pequeño trozo de
semiconductor: el transistor.
Disminución del tamaño.
Disminución del consumo y la producción de calor.
Aumento de la factibilidad.
Mayor rapidez.
Memoria interna de núcleo de ferrita y tambor
magnético.
Instrumento de almacenamiento: accesorio para
almacenar en el exterior información (Cintas y discos).
Mejoran los dispositivos de entradas y salidas, para
la mejor lectura de las tarjetas perforadas, se disponía
de células fotoeléctricas.
Introducción de elementos modulares.
Las impresoras aumentan su capacidad de trabajo.
Lenguajes de programación más potentes,
ensambladores y de alto nivel (Fortran, Cobol y Algol).
16
Se usaban para nuevas aplicaciones, como en los
sistemas de reservación de líneas aéreas y simulaciones
para uso general. Las empresas comenzaron a usarlas en
tareas de almacenamiento de registros, nóminas y
contabilidad.
Tercera Generación (1964-1971)Con los progresos de la electrónica y los avances en
comunicación con las computadoras en la década de 1960,
surge la tercera generación de las computadoras. Se
inaugura con la IBM 360 en abril de 1064. Las principales
características son:
Circuito integrado. Miniaturización y reunión de
centenares de elementos en una placa de silicio o "Chip".
Menor consumo de energía.
Apreciable reducción de espacio.
Aumento de la fiabilidad.
Teleprocesos. Se instalan terminales remotos que
acceden a la computadora central para realizar
operaciones, extraer o introducir información en bancos
de datos, etc.
Trabajo a tiempo compartido: uso de las computadoras
por varios clientes a tiempo compartido, pues el aparato
puede discernir entre diversos procesos que realiza
simultáneamente.
17
Multiprogramación.
Renovación de periféricos.
Generalización de los lenguajes de alto nivel
Instrumentalización del sistema.
Compatibilidad.
Ampliación de aplicaciones: en procesos
industriales, en la educación, en el hogar, agricultura,
etc.
La miniaturización de los sistemas lógicos conduce a
la fabricación de la mini computadora, que agiliza y
descentraliza los procesos.
Cuarta Generación (1972-1984)El Microprocesador: el proceso de reducción del
tamaño de los componentes llega a operar a escalas
microscópicas. La microminiaturización permite construir
el microprocesador, circuito integrado que rige las
funciones fundamentales del ordenador.
Las aplicaciones del microprocesador se han
proyectado más allá de la computadora y se encuentra en
multitud de aparatos, sean instrumentos médicos,
automóviles, juguetes, electrodomésticos, etc.
Memorias Electrónicas: Se desechan las memorias
internas de los núcleos magnéticos de ferrita y se
introducen memorias electrónicas, que resultan más
18
rápidas. Al principio presentan el inconveniente de su
mayor costo, pero este disminuye con la fabricación en
serie.
Sistema de tratamiento de base de datos: el aumento
cuantitativo de las bases de datos lleva a crear formas
de gestión que faciliten las tareas de consulta y
edición. Lo sistemas de tratamiento de base de datos
consisten en un conjunto de elementos de hardware y
software interrelacionados que permite un uso sencillo y
rápido de la información. Las principales características
son:
Aparición del microprocesador.
Memoria electrónica.
Sistema de tratamiento de base de datos.
Se fabrican computadoras personales y
microcomputadoras.
Se utiliza el disquete (Floppy Disk) como unidad de
almacenamiento.
Aparecieron gran cantidad de lenguajes de
programación y las redes de transmisión de datos
(Teleinformática).
Organización Física de la Computadora. Arquitectura
19
Estructura del Computador
• Dispositivos de Almacenamiento: Memoria RAM, Disco
Duro, unidades de disco extraíbles.
• Unidad Central de Procesamiento (CPU): Procesador.
• Tarjeta Madre.
• Dispositivos de entrada: Teclado, tarjeta de red,
Web cam, Mouse, scanner, entre otros.
• Dispositivos de salida: tarjeta de video y sonio,
monitor, impresora, tarjeta de red, entre otros.
20
Estructura del Computador
Computador
Es una máquina electrónica, humanamente programada,
capaz de realizar a gran velocidad cálculos matemáticos y
procesos lógicos. También es capaz de leer, almacenar,
procesar y escribir información con mucha rapidez y
exactitud.
El computador responde a una estructura mecánica
capaz de desarrollar actividades que, de hacerlas el
hombre, demandarían el uso de capacidades intelectuales.
La idea de computador como Cerebro Electrónico es
adecuada si se entiende como un mecanismo que debe ser
programado para cada tarea que se quiere realizar.
Una computadora no debe considerarse como una
máquina capaz de realizar únicamente operaciones
aritméticas, aunque éste fue su primera aplicación real,
es capaz de realizar trabajos con símbolos, números,
21
textos, imágenes, sonidos y otros, describiendo así el
concepto de multimedia.
La gran velocidad de operación es la más brillante
característica de la computadora. La velocidad de un
computador se mide, en nuestros días, en nanosegundos y
picosegundos, equivalentes a una mil millonésima y una
billonésima parte de un segundo respectivamente.
Componentes:
El Hardware
El Software
Definiendo cada una de las partes tendremos
Software
Del ingles "soft" blando y "ware" artículos, se
refiere al conjunto de instrucciones (programa) que
indican a la electrónica de la maquina que modifique su
estado, para llevar a cabo un proceso de datos; éste se
encuentra almacenado previamente en memoria junto con los
datos.
El software es un ingrediente indispensable para el
funcionamiento del computador. Está formado por una serie
de instrucciones y datos, que permiten aprovechar todos
22
los recursos que el computador tiene, de manera que pueda
resolver gran cantidad de problemas. Un computador en si,
es sólo un conglomerado de componentes electrónicos; el
software le da vida al computador, haciendo que sus
componentes funcionen de forma ordenada.
El software es un conjunto de instrucciones detalladas
que controlan la operación de un sistema computacional.
Hardware
Del ingles "hard" duro y "ware" artículos, hace
referencia a los medios físicos (equipamiento material)
que permiten llevar a cabo un proceso de datos, conforme
lo ordenan las instrucciones de un cierto programa,
previamente memorizado en un computador.
Conjunto de dispositivos físicos que forman un
computador. El equipo que debe permitir a un usuario
hacer trabajos (escribir textos, sacar cuentas), escuchar
música, navegar en Internet, hacer llamadas telefónicas,
ver películas, etc.
En el hardware encontramos la memoria del
computador, los circuitos que se encuentran dentro del
gabinete, la disquetera, el teclado, la impresora, el
monitor, el Mouse.
Componentes Del Computador
23
Es un sistema compuesto de cinco elementos
diferenciados: una CPU (unidad central de Procesamiento),
dispositivo de entrada, dispositivos de almacenamiento,
dispositivos de salida y una red de comunicaciones,
denominada bus, que enlaza todos los elementos del
sistema y conecta a éste con el mundo exterior.
Ucp o cpu (central processing unit):
UCP o procesador, interpreta y lleva a cabo las
instrucciones de los programas, efectúa manipulaciones
aritméticas y lógicas con los datos y se comunica con las
demás partes del sistema. Una UCP es una colección
compleja de circuitos electrónicos.
Cuando se incorporan todos estos circuitos en un chip de
silicio, a este chip se le denomina microprocesador. La
UCP y otros chips y componentes electrónicos se ubican en
un tablero de circuitos o tarjeta madre.
Los factores relevantes de los chips de UCP son
Compatibilidad: No todo el soft es compatible con
todas las UCP. En algunos casos se pueden resolver los
problemas de compatibilidad usando software especial.
Velocidad: La velocidad de una computadora está
determinada por la velocidad de su reloj interno, el
24
dispositivo cronométrico que produce pulsos eléctricos
para sincronizar las operaciones de la computadora.
Las computadoras se describen en función de su
velocidad de reloj, que se mide en mega hertz. La
velocidad también está determinada por la arquitectura
del procesador, es decir el diseño que establece de qué
manera están colocados en el chip los componentes
individuales de la CPU. Desde la perspectiva del usuario,
el punto crucial es que "más rápido" casi siempre
significa "mejor".
El Procesador
El chip más importante de cualquier placa madre es
el procesador. Sin el la computadora no podría funcionar.
A menudo este componente se determina CPU, que describe a
la perfección su papel dentro del sistema. El procesador
es realmente el elemento central del proceso de
procesamiento de datos.
Los procesadores se describen en términos de su
tamaño de palabra, su velocidad y la capacidad de su RAM
asociada.
Tamaño de la palabra: Es el número de bits que se
maneja como una unidad en un sistema de computación en
particular.
25
Velocidad del procesador: Se mide en diferentes
unidades según el tipo de computador:
MHz (Megahertz): para microcomputadoras. Un oscilador de
cristal controla la ejecución de instrucciones dentro del
procesador. La velocidad del procesador de una micro se
mide por su frecuencia de oscilación o por el número de
ciclos de reloj por segundo. El tiempo transcurrido para
un ciclo de reloj es 1/frecuencia.
MIPS (Millones de instrucciones por segundo): Para
estaciones de trabajo, minis y macrocomputadoras. Por
ejemplo una computadora de 100 MIPS puede ejecutar 100
millones de instrucciones por segundo.
FLOPS (floating point operations per second, operaciones
de punto flotante por segundo): Para las
supercomputadoras. Las operaciones de punto flotante
incluyen cifras muy pequeñas o muy altas. Hay
supercomputadoras para las cuales se puede hablar de
GFLOPS (Gigaflops, es decir 1.000 millones de FLOPS).
Capacidad de la RAM: Se mide en términos del número de
bytes que puede almacenar. Habitualmente se mide en KB y
MB, aunque ya hay computadoras en las que se debe hablar
de GB.
Dispositivos De Entrada:
En esta se encuentran:
26
Teclado
Mouse o Ratón
Escáner o digitalizador de imágenes
El Teclado
Es un dispositivo periférico de entrada, que
convierte la acción mecánica de pulsar una serie de
pulsos eléctricos codificados que permiten identificarla.
Las teclas que lo constituyen sirven para entrar
caracteres alfanuméricos y comandos a una computadora.
En un teclado se puede distinguir a cuatro
subconjuntos de teclas:
Teclado alfanumérico: con las teclas dispuestas como
en una maquina de escribir.
Teclado numérico: (ubicado a la derecha del
anterior) con teclas dispuestas como en una calculadora.
Teclado de funciones: (desde F1 hasta F12) son
teclas cuya función depende del programa en ejecución.
Teclado de cursor: para ir con el cursor de un lugar
a otro en un texto. El cursor se mueve según el sentido
de las flechas de las teclas, ir al comienzo de un
párrafo (" HOME "), avanzar / retroceder una pagina
("PAGE UP/PAGE DOWN "), eliminar caracteres ("delete"),
etc.
27
Cada tecla tiene su contacto, que se encuentra debajo de,
ella al oprimirla se " Cierra " y al soltarla se " Abre
", de esta manera constituye una llave "si – no".
Debajo del teclado existe una matriz con pistas
conductoras que puede pensarse en forma rectangular,
siendo en realidad de formato irregular. Si no hay teclas
oprimidas, no se toca ningún conductor horizontal con
otro vertical. Las teclas están sobre los puntos de
intersección de las líneas conductoras horizontales y
verticales. Cuando se pulsa una tecla. Se establece un
contacto eléctrico entre la línea conductora vertical y
horizontal que pasan por debajo de la misma.
El Mouse O Ratón
El ratón o Mouseinformático es un dispositivo
señalador o de entrada, recibe esta denominación por su
apariencia.
Para poder indicar la trayectoria que recorrió, a
medida que se desplaza, el Mouse debe enviar al
computador señales eléctricas binarias que permitan
reconstruir su trayectoria, con el fin que la misma sea
28
repetida por una flecha en el monitor. Para ello el Mouse
debe realizar dos funciones: Conversión Analógica -
Digital: Esta generar por cada fracción de milímetro que
se mueve, uno o más pulsos eléctricos.
Port serie: Dichos pulsos y enviar hacia la interfaz a la
cual esta conectado el valor de la cuenta, junto con la
información acerca de sí se pulsa alguna de sus dos o
tres teclas ubicada en su parte superior.
Existen dos tecnologías principales en fabricación
de ratones: Ratones mecánicos y Ratones ópticos.
Ratones mecánicos: Estos constan de una bola situada en
su parte inferior. La bola, al moverse el ratón, roza
unos contactos en forma de rueda que indican el
movimiento del cursor en la pantalla del sistema
informático.
Ratones ópticos: Estos tienen un pequeño haz de luz láser
en lugar de la bola rodante de los mecánicos. Un censor
óptico situado dentro del cuerpo del ratón detecta el
movimiento del reflejo al mover el ratón sobre el espejo
e indica la posición del cursor en la pantalla de la
computadora.
29
El Escáner o Digitalizador de Imágenes
Son periféricos diseñados para registrar caracteres
escritos, o gráficos en forma de fotografías o dibujos,
impresos en una hoja de papel facilitando su introducción
la computadora convirtiéndolos en información binaria
comprensible para ésta.
El funcionamiento de un escáner es similar al de una
fotocopiadora. Se coloca una hoja de papel que contiene
una imagen sobre una superficie de cristal transparente,
bajo el cristal existe una lente especial que realiza un
barrido de la imagen existente en el papel; al realizar
el barrido, la información existente en la hoja de papel
es convertida en una sucesión de información en forma de
unos y ceros que se introducen en la computadora.
Los escáneres captaban las imágenes únicamente en
blanco y negro o, como mucho, con un número muy limitado
de matices de gris, entre 16 y 256. Posteriormente
aparecieron escáner que podían captar color, aunque el
proceso requería tres pasadas por encima de la imagen,
una para cada color primario (rojo, azul y verde). Hoy en
día la práctica totalidad de los escáner captan hasta
16,7 millones de colores distintos en una única pasada, e
incluso algunos llegan hasta los 68.719 millones de
colores.
30
En todos los ordenadores se utiliza lo que se
denomina sistema binario, que es un sistema matemático en
el cual la unidad superior no es el 10 como en el sistema
decimal al que estamos acostumbrados, sino el 2. Un BIT
cualquiera puede, por tanto, tomar 2 valores, que pueden
representar colores (blanco y negro, por ejemplo); si en
vez de un BIT tenemos 8, los posibles valores son 2
elevado a 8 = 256 colores; si son 16 bits, 2 elevado a 16
= 65.536 colores; si son 24 bits, 2 elevado a 24 =
16.777216 colores, una imagen a 24 bits de color" es una
imagen en la cual cada punto puede tener hasta 16,7
millones de colores distintos; esta cantidad de colores
se considera suficiente para casi todos los usos normales
de una imagen, por lo que se le suele denominar color
real.
Dispositivos De Almacenamiento
En esta se encuentran
Disco Duro
Diskettes 3 ½
Maletón-ópticos de 5,25
Disco Duro
Este esta compuestos por varios platos, es decir,
varios discos de material magnético montados sobre un eje
31
central sobre el que se mueven. Para leer y escribir
datos en estos platos se usan las cabezas de lectura /
escritura que mediante un proceso electromagnético
codifican / decodifican la información que han de leer o
escribir. La cabeza de lectura / escritura en un disco
duro está muy cerca de la superficie, de forma que casi
da vuelta sobre ella, sobre el colchón de aire formado
por su propio movimiento. Debido a esto, están cerrados
herméticamente, porque cualquier partícula de polvo puede
dañarlos.
Este dividen en unos círculos concéntricos
cilíndricos (coincidentes con las pistas de los
disquetes), que empiezan en la parte exterior del disco
(primer cilindro) y terminan en la parte interior
(ultimo). Asimismo, estos cilindros se dividen en
sectores, cuyo número esta determinado por el tipo de
disco y su formato, siendo todos ellos de un tamaño fijo
en cualquier disco. Cilindros como sectores se
identifican con una serie de números que se les asigna,
empezando por el 1, pues el numero 0 de cada cilindro se
reservan para propósitos de identificación mas que para
almacenamientos de datos. Estos escritos / leídos en el
disco deben ajustarse al tamaño fijado del almacenamiento
de los sectores. Habitualmente, los sistemas de discos
duros contienen mas de una unidad en su interior, por lo
32
que el número de caras puede ser más de dos. Estas se
identifican con un número, siendo el 0 para la primera.
En general su organización es igual a los disquetes. La
capacidad del disco resulta de multiplicar el número de
caras por el de pistas por cara y por el de sectores por
pista, al total por el numero de bytes por sector.
Diskettes 3 ½
Son disco de almacenamiento de alta densidad de 1,44
MB, este presenta dos agujeros en la parte inferior del
mismo, uno para proteger al disco contra escritura y el
otro solo para diferenciarlo del disco de doble densidad.
Maletón-Ópticos De 5,25
Este se basa en la misma tecnología que sus hermanos
pequeños de 3,5", su ventajas: Gran fiabilidad y
durabilidad de los datos a la vez que una velocidad
razonablemente elevada Los discos van desde los 650 MB
33
hasta los 5,2 GB de almacenamiento, o lo que es lo mismo:
desde la capacidad de un solo CD-ROM hasta la de 8.
Dispositivos De Salida en esta se encuentran
Impresoras
Monitor
Las Impresoras
Esta es la que permite obtener en un soporte de
papel una ¨hardcopy¨: copia visualizable, perdurable
y transportable de la información procesada por un
computador.
Las primeras impresoras nacieron muchos años antes
que el PC e incluso antes que los monitores, siendo
durante años el método más usual para presentar los
resultados de los cálculos en aquellos primitivos
ordenadores, todo un avance respecto a las tarjetas y
cintas perforadas que se usaban hasta entonces.
La velocidad de una impresora se suele medir con dos
parámetros:
Ppm : páginas por minuto que es capaz de imprimir;
Cps: caracteres (letras) por segundo que es capaz de
imprimir
Ppp: puntos por pulgada (cuadrada) que imprime una
impresora
34
Tipo De Impresoras
Impacto por matriz de aguja o punto
Chorro o inyección de tinta
Láser
El Monitor
Evidentemente, es la pantalla en la que se ve la
información suministrada por el ordenador. En el caso más
habitual se trata de un aparato basado en un tubo de
rayos catódicos (CRT) como el de los televisores,
mientras que en los portátiles es una pantalla plana de
cristal líquido (LCD). La resolución se define como el
número de puntos que puede representar el monitor por
pantalla, en horizontal x vertical. Así, un monitor cuya
resolución máxima sea de 1024x768 puntos puede
representar hasta 768 líneas horizontales de 1024 puntos
cada una, probablemente además de otras resoluciones
inferiores, como 640x480 u 800x600. Cuan mayor sea la
resolución de un monitor, mejor será la calidad de la
imagen en pantalla, y mayor será la calidad (y por
consiguiente el precio) del monitor.
Red De Comunicaciones
Un sistema computacional es un sistema complejo que
puede llegar a estar constituido por millones de
35
componentes electrónicos elementales. Esta naturaleza
multinivel de los sistemas complejos es esencial para
comprender tanto su descripción como su diseño. En cada
nivel se analiza su estructura y su función en el sentido
siguiente:
Estructura: La forma en que se interrelacionan las
componentes Función: La operación de cada componente
individual como parte de la estructura. Por su particular
importancia se considera la estructura de interconexión
tipo bus. EI bus representa básicamente una serie de
cables mediante los cuales pueden cargarse datos en la
memoria y desde allí transportarse a la CPU. Por así
decirlo es la autopista de los datos dentro del PC ya que
comunica todos los componentes del ordenador con el
microprocesador. El bus se controla y maneja desde la
CPU.
Funcionamiento Interno Del Computador
Al iniciar el arranque, en la mayoría de
computadores, cualquiera sea su tamaño o potencia, el
control pasa mediante circuito cableado a unas memorias
de tipo ROM, grabadas con información permanente (datos
de configuración, fecha y hora, dispositivos, etc.).
Después de la lectura de esta información, el circuito de
control mandará a cargar en la memoria principal desde
algún soporte externo (disco duro o disquete) los
36
programas del sistema operativo que controlarán las
operaciones a seguir, y en pocos segundos aparecerá en
pantalla el identificador o interfaz, dando muestra al
usuario que ya se está en condiciones de utilización.
Si el usuario carga un programa con sus
instrucciones y datos desde cualquier soporte de
información, bastará una pequeña orden para que dicho
programa comience a procesarse, una instrucción tras
otra, a gran velocidad, transfiriendo la información
desde y hacia donde esté previsto en el programa con
pausas si el programa es inactivo, en las que se pide al
usuario entradas de información. Finalizada esta
operación de entrada, el ordenador continuará su proceso
secuencial hasta culminar la ejecución del programa,
presentando sus resultados en pantalla, impresora o
cualquier periférico.
Cada una de las instrucciones tiene un código
diferente expresado en formato binario. Esta combinación
distinta de unos y ceros la interpreta el <<cerebro>> del
ordenador, y como está diseñado para que sepa diferenciar
lo que tiene que hacer al procesar cada una de ellas, las
ejecuta y continúa con la siguiente instrucción, sin
necesidad de que intervenga el ordenador. El proceso de
una instrucción se descompone en operaciones muy simples
de transferencia de información u operaciones aritméticas
37
y lógicas elementales, que realizadas a gran velocidad le
proporcionan una gran potencia que es utilizada en
múltiples aplicaciones.
Realmente, esa información digitalizada en binario,
a la que se refiere con unos y ceros, el ordenador la
diferencia porque se trata de niveles diferentes de
voltaje. Cuando se emplean circuitos integrados, los
niveles lógicos bajo y alto, que se representan por ceros
y unos, corresponden a valores muy próximos a cero y
cinco voltios en la mayoría de los casos.
Cuando las entradas de las puertas lógicas de los
circuitos digitales se les aplica el nivel alto o bajo de
voltaje, el comportamiento muy diferente. Por ejemplo, si
se le aplica nivel alto conducen o cierran el circuito;
en cambio si se aplica nivel bajo no conducen o dejan
abierto el circuito. Para que esto ocurra, los
transistores que constituyen los circuitos integrados
trabajan en conmutación, pasando del corte a la
saturación.
Estructura Interna Del Computador En ella la
conforman cada uno de los chips que se encuentran en la
plaqueta base o tarjeta madre, estos son:
Bios
Caché
Chipset
38
Puestos USB
Zócalo ZIF
Slot de Expansión
o Ranuras PCI
o Ranuras DIMM
o Ranuras SIMM
o Ranuras AGP
o Ranuras ISA
Pila
Conector disquetera
Conector electrónico
Conector EIDE (disco duro)
Bios: "Basic Input-Output System", sistema básico de
entrada-salida. Programa incorporado en un chip de la
placa base que se encarga de realizar las funciones
básicas de manejo y configuración del ordenador.
Caché: es un tipo de memoria del ordenador; por tanto, en
ella se guardarán datos que el ordenador necesita para
trabajar. Esta también tiene una segunda utilidad que es
la de memoria intermedia que almacena los datos mas
usados, para ahorrar mucho mas tiempo del tránsito y
acceso a la lenta memoria RAM.
Chipset: es el conjunto (set) de chips que se encargan de
controlar determinadas funciones del ordenador, como la
forma en que interacciona el microprocesador con la
39
memoria o la caché, o el control de los puertos y slots
ISA, PCI, AGP, USB.
USB: En las placas más modernas (ni siquiera en todas las
ATX); de forma estrecha y rectangular, inconfundible pero
de poca utilidad por ahora.
Zócalo ZIF: Es el lugar donde se inserta el "cerebro" del
ordenador. Durante más de 10 años ha consistido en un
rectángulo o cuadrado donde el "micro", una pastilla de
plástico negro con patitas, se introducía con mayor o
menor facilidad; recientemente, la aparición de los
Pentium II ha cambiado un poco este panorama.
Slot de Expansión: son unas ranuras de plástico con
conectores eléctricos (slots) donde se introducen las
tarjetas de expansión (tarjeta de vídeo, de sonido, de
red...). Según la tecnología en que se basen presentan un
aspecto externo diferente, con diferente tamaño y a veces
incluso en distinto color. En esta se encuentran:
Ranuras PCI: el estándar actual. Pueden dar hasta
132 MB/s a 33 MHz, lo que es suficiente para casi todo,
excepto quizá para algunas tarjetas de vídeo 3D. Miden
unos 8,5 cm y generalmente son blancas.
Ranuras DIMM: son ranuras de 168 contactos y 13 cm.
Originalmente de color negro.
Ranuras SIMM: los originales tenían 30 conectores,
esto es, 30 contactos, y medían unos 8,5 cm. Hacia
40
finales de la época del 486 aparecieron los de 72
contactos, más largos: unos 10,5 cm de color blanco.
Ranuras AGP: o más bien ranura, ya que se dedica
exclusivamente a conectar tarjetas de vídeo 3D, por lo
que sólo suele haber una; además, su propia estructura
impide que se utilice para todos los propósitos, por lo
que se utiliza como una ayuda para el PCI. Según el modo
de funcionamiento puede ofrecer 264 MB/s o incluso 528
MB/s. Mide unos 8 cm y se encuentra bastante separada del
borde de la placa.
Ranuras ISA: son las más veteranas, un legado de los
primeros tiempos del PC. Funcionan a unos 8 MHz y ofrecen
un máximo de 16 MB/s, suficiente para conectar un módem o
una tarjeta de sonido, pero muy poco para una tarjeta de
vídeo. Miden unos 14 cm y su color suele ser negro;
existe una versión aún más antigua que mide sólo 8,5 cm.
Pila
Se encarga de conservar los parámetros de la BIOS
cuando el ordenador está apagado. Sin ella, cada vez que
encendiéramos tendríamos que introducir las
características del disco duro, del Chipset, la fecha y
la hora.
Conectores internos: Bajo esta denominación
englobamos a los conectores para dispositivos internos,
41
como puedan ser la disquetera, el disco duro, el CD-ROM o
el altavoz interno, e incluso para los puertos serie,
paralelo y de joystick.
Tarjeta de video
La tarjeta de video, (también llamada controlador de
video, ver figura 2), es un componente electrónico
requerido para generar una señal de video que se manda a
una pantalla de video por medio de un cable. La tarjeta
de video se encuentra normalmente en la placa de sistema
de la computadora o en una placa de expansión. La tarjeta
gráfica reúne toda la información que debe visualizarse
en pantalla y actúa como interfaz entre el procesador y
el monitor; la información es enviada a éste por la placa
luego de haberla recibido a través del sistema de buses.
Una tarjeta gráfica se compone, básicamente, de un
controlador de video, de la memoria de pantalla o RAM
video, y el generador de caracteres, y en la actualidad
también poseen un acelerador de gráficos. El controlador
de video va leyendo a intervalos la información
almacenada en la RAM video y la transfiere al monitor en
forma de señal de video; el número de veces por segundo
que el contenido de la RAM video es leído y transmitido
al monitor en forma de señal de video se conoce como
frecuencia de refresco de la pantalla. Entonces, como ya
42
dijimos antes, la frecuencia depende en gran medida de la
calidad de la placa de video.
Tarjeta de Sonido
Es una tarjeta electrónica que se conecta una ranura
que tiene la computadora (CPU, en especifico la tarjeta
madre) que tiene como funciones principales: la
generación o reproducción de sonido y la entrada o
grabación del mismo. Para reproducir sonidos, las
tarjetas incluyen un chip sintetizador que genera ondas
musicales. Este sintetizador solía emplear la tecnología
FM, que emula el sonido de instrumentos reales mediante
pura programación; sin embargo, una técnica relativamente
reciente ha eclipsado a la síntesis FM, y es la síntesis
por tabla de ondas (WaveTable).
En WaveTable se usan grabaciones de instrumentos
reales, produciéndose un gran salto en calidad de la
reproducción, ya que se pasa de simular artificialmente
un sonido a emitir uno real. Las tarjetas que usan esta
técnica suelen incluir una memoria ROM donde almacenan
dichos "samples" o cortos; normalmente se incluyen
zócalos SIMM para añadir memoria a la tarjeta, de modo
que se nos permita incorporar más instrumentos a la
misma.
43
Qué es el Módem
Es un dispositivo electrónico de entrada / salida
(ver figura 3)que se utiliza principalmente para
convertir señales digitales a análogas y viceversa, una
de sus principales aplicaciones es en la conexión a redes
teniendo como principal punto de referencia o ejemplo la
Internet.
Por otra parte, si la queremos definir técnicamente
tendríamos, diríamos que cuando hay una conexión con
redes telefónicas se establece mediante el módem, y
gracias a este los usuarios de muy diversos lugares
pueden intercambiar información como faxes, memorandos,
etc., la palabra MODEM surgió de la combinación de dos
términos los cuales son MODULADOR y el otro DEMODULADOR.
La Modulación consiste en transformar los datos de
la computadora (bits y bytes) en sonido o vibraciones
acústicas, sin embargo, la Demodulación consiste en el
proceso inverso, los sonidos se reciben y los cuales son
convertidos a datos.
Qué es SIMM
Siglas de Single In line Memory Module (ver figura
4), un tipo de encapsulado consistente en una pequeña
placa de circuito impreso que almacena chips de memoria,
y que se inserta en un zócalo SIMM en la placa madre o en
44
la placa de memoria. Los SIMMs son más fáciles de
instalar que los antiguos chips de memoria individuales,
y a diferencia de ellos son medidos en bytes en lugar de
bits. El primer formato que se hizo popular en los
computadores personales tenía 3.5" de largo y usaba un
conector de 32 pins. Un formato más largo de 4.25", que
usa 72 contactos y puede almacenar hasta 64 megabytes de
RAM es actualmente el más frecuente.
Un PC usa tanto memoria de nueve bits (ocho bits y
un bit de paridad, en 9 chips de memoria RAM dinámica)
como memoria de ocho bits sin paridad. En el primer caso
los ocho primeros son para datos y el noveno es para el
chequeo de paridad.
Son los SIMM propios de las primeras placas base con
micros de 32 bits (386 y 486). Supongamos una de estas
placas con zócalos de 30 contactos, cada uno de los
cuales soporta 8 bits de datos. Necesitaremos 4 SIMM’s de
30 contactos para conseguir los 32 bits. Típicamente,
estas placas tienen 8 zócalos divididos en dos bancos de
4 zócalos cada uno. El microprocesador sólo puede
direccionar uno de los dos bancos en cada momento.
En algunos ordenadores, el hecho de mezclar SIMM’s
de diferente capacidad en el mismo banco, puede producir
efectos tales como una mala detección de la cantidad de
memoria del sistema, o que el ordenador no arranque.
45
SIMM’s de 72 contactos
Los SIMM de 72 contactos se desarrollaron para
satisfacer los requerimientos de expansión de memoria
cada vez mayores. Un SIMM de 72 contactos soporta 32 bits
de datos, es decir, cuatro veces el número de bits de
datos soportado por los SIMM de 30 contactos. En placas
base con micros de 32 bits (Intel 386 y 486) se necesita
sólo un SIMM de 72 contactos por banco para proporcionar
al microprocesador los 32 bits de datos. Con los
microprocesadores Pentium, al tener 64 bits para
comunicaciones externas (aunque internamente sean micros
de 32 bits), se necesita utilizar grupos de dos SIMM para
proporcionar los 64 bits necesarios.
Qué es DIMM
Los módulos DIMM (Dual In-Line Memory Module, ver
figura 5) son similares a los SIMM, aunque con notables
diferencias. Al igual que los SIMM, los DIMM se instalan
verticalmente en los sockets de memoria de la placa base.
Sin embargo, un DIMM dispone de 168 contactos, la mitad
por cada cara, separados entre sí. Los DIMM se instalan
en aquellas placas que soportan típicamente un bus de
memoria de 64 bits o más. Típicamente, son los módulos
que se montan en todas las placas Pentium-II con chipset
46
LX, y hoy por hoy se han convertido en el estándar en
memoria.
Clasificación de las Computadoras por su Capacidad
Atendiendo a la configuración o estructura interna
de una computadora puede, clasificares de la siguiente
forma:
Computadoras Analógicas
Son aquellas que manejan señales eléctricas
analógicas proporcionales a medidas físicas de tipo
continuo. Su programación en la mayoría de los casos está
en su propio cableado y se utiliza fundamentalmente para
controlar procesos y en problema de simulación.
Computadoras Digitales
Maneja señales eléctricas de tipo digital. Se
programa por medio de lenguajes de programación y su
utilización contiene cualquier tipo de trabajos; por
tanto, configuran el grupo de computadoras de tipo
general. En la actualidad, mas de 95 por 100 de las
computadoras son de este tipo.
Computadoras Híbridas
47
Poseen características de las dos anteriores. Suelen
estar constituidas de una computadora digital que procesa
información analógica, para lo cual tiene sus entradas y
salidas controladas por medio de convertidores analógico
- digitales y digitales - analógicos (fig. 1.32)
Computadora Analógica Computadora Digital Conv.
Computadora Conv. A/D Digital D/A Computadora Híbrida
Computadoras Analógicas, Digitales e Híbridas Las
computadoras digitales por su potencia de calculo,
capacidad de almacenamiento interno y numero de
periféricos que pueden soportar como se clasifican en
cuatro grandes grupos:
Supercomputadora
Es una maquina diseñada especialmente para calculo
que precisa una gran velocidad de proceso. Generalmente
pose un gran numero de procesadores que trabajan en
paralelo, con lo que consiguen realizar billones de
operaciones por segundo. Un ejemplo de estas computadoras
es la Cray Y-MP de Cray Research INC.
Computadora O Mainframe
Es una maquina designada principalmente para dar
servicio a grandes empresas y organizaciones. Su potencia
de calculo es inferior a la de las anteriores ,
cifrandose en la ejecución de varios millones de
48
operaciones por segundo. Una de las características
principales es la de soportar un gran numero de
terminales o estaciones de trabajo. Además pueden
intervenir en proceso distribuidos en los que se conectan
dos o más computadoras en paralelo, de tal forma que se
reparte en trabajo a realizar. Un buen ejemplo de este
tipo de computadoras es la IBM 3090 de la internacional
busines machines, capas de soportar aproximadamente 50000
terminales conectados.
Minicomputadora
Son maquinas de tipo medio, es decir su capacidad de
proceso es inferior a la de las anteriores y por lo tanto
pueden controlar un menor numero de terminales. Dos
ejemplos muy típicos de este tipo de computadoras son las
VAX de digital equipment corporation (DEC) y la AS/400 de
IBM.
Microcomputadoras
Se trata de una maquina cuyo funcionamiento interno
se basa en el uso del microcomputador, y con el se
consigue una serie de prestaciones, que en potencia,
manejabilidad, portabilidad, precio, etc., cubren la gama
más baja de necesidades en el mundo de la informática.
Hoy se puede decir que el mundo de la microinformatica o
49
el de las Microcomputadoras es el más importante y
también el más popular. Dentro de las microcomputadora se
puede distinguir dos grupos importantes: ****-
Computadora personal (personal computer-PC) ****-
Estación de trabajo (workstation)
La Computadora Personal
Es la microcomputadora fácil de usar y con grandes
prestaciones. Generalmente posee un solo puesto de
trabajo, aunque puede tener varios. Actualmente la mayor
gama de equipo hardware y de aplicaciones software que
existen en el mercado pertenecen al grupo de computadoras
personales.
Una Estación de Trabajo
Es una microcomputadora de gran potencia que se
utiliza para trabajo de ingeniería o similares y permite
la conexión a través de una red con una computadora de
mayor potencia. Dentro del grupo de computadoras
personales, existen una clasificación según el tamaño,
prestaciones, precio, etc. Los tipos de vertientes o
computadoras personales diferentes del modelo clásico son
las siguientes.
50
Portátil o Transportable
Se trata de una computadora de características
físicas que permiten fácilmente un transporte de un sitio
a otro sin perder algunas cualidades de una computadora
general clásica.
Laptop
Consisten en una computadora personal portátil de
tamaño pequeño, gran potencia y muy manejable en todos
los sentidos. Las características principales su peso que
oscila entre 1 y 2 kg.
Macrocomputadoras
Son aquellas que dentro de su configuración básica
contiene unidades que proveen de capacidad masiva de
información, terminales(monitores), etc. Su capacidad de
memoria varía desde 256 a 512 kbytes, también puede tener
varios megabytes o hasta gigabytes según las necesidades
de la empresa.
UNIDAD II
Sistema Operativo
Un Sistema Operativo (SO) es un software que actúa
de interfaz entre los dispositivos de hardware y los
programas usados por el usuario para manejar un
51
computador. Es responsable de gestionar, coordinar las
actividades y llevar a cabo el intercambio de los
recursos y actúa como estación para las aplicaciones que
se ejecutan en la máquina.
Nótese que es un error común muy extendido denominar
al conjunto completo de herramientas sistema operativo,
pues este, es sólo el núcleo y no necesita de entorno
operador para estar operativo y funcional. Este error de
precisión, se debe a la modernización de la informática
llevada a cabo a finales de los 80, cuando la filosofía
de estructura básica de funcionamiento de los grandes
computadores se rediseñó a fin de llevarla a los hogares
y facilitar su uso, cambiando el concepto de computador
multiusuario, (muchos usuarios al mismo tiempo) por un
sistema monousuario (únicamente un usuario al mismo
tiempo) más sencillo de gestionar. (Véase AmigaOS, beOS o
MacOS como los pioneros de dicha modernización, cuando
los Amiga, fueron bautizados con el sobrenombre de Video
Toasters por su capacidad para la Edición de vídeo en
entorno multitarea round robin, con gestión de miles de
colores e interfaces intuitivos para diseño en 3D con
programas como Imagine o Scala multimedia, entre muchos
otros.)
Uno de los propósitos de un sistema operativo como
programa estación principal, consiste en gestionar los
52
recursos de localización y protección de acceso del
hardware, hecho que alivia a los programadores de
aplicaciones de tener que tratar con estos detalles. Se
encuentran en la mayoría de los aparatos electrónicos que
utilizan microprocesadores para funcionar. (Teléfonos
móviles, reproductores de DVD, computadoras, radios,
etc.)
Parte de la infraestructura de la World Wide Web está
compuesta por el Sistema Operativo de Internet, creado
por Cisco Systems para gestionar equipos de interconexión
como los conmutadores y los enrutadores.
Perspectiva Histórica
Los primeros sistemas (1945 - 1950) eran grandes
máquinas operadas desde la consola maestra por los
programadores. Durante la década siguiente (1950 - 1960)
se llevaron a cabo avances en el hardware: lectoras de
tarjetas, impresoras, cintas magnéticas, etc. Esto a su
vez provocó un avance en el software: compiladores,
ensambladores, cargadores, manejadores de dispositivos,
etc.
A finales de los años 80, un Amiga equipado con una
aceleradora Video Toaster, era capaz de producir efectos
comparados a sistemas dedicados que costaban el triple.
Un Video Toaster junto a Lightwave ayudó a producir
53
muchos programas de televisión y películas, entre las que
se incluyen Babylon 5, Seaquest DSV y Terminator II.
Clasificación de los Sistemas Operativos
Los sistemas operativos pueden ser clasificados de
la siguiente forma:
Multiusuario: Permite que dos o más usuarios
utilicen sus programas al mismo tiempo. Algunos sistemas
operativos permiten a centenares o millares de usuarios
al mismo tiempo.
Multiprocesador: soporta el abrir un mismo programa
en más de una CPU.
Multitarea: Permite que varios programas se
ejecuten al mismo tiempo.
Multitramo: Permite que diversas partes de un solo
programa funcionen al mismo tiempo.
Tiempo Real: Responde a las entradas
inmediatamente. Los sistemas operativos como DOS y UNIX,
no funcionan en tiempo real.
Cómo funciona un Sistema Operativo
Los sistemas operativos proporcionan una plataforma
de software encima de la cual otros programas, llamados
aplicaciones, puedan funcionar. Las aplicaciones se
programan para que funcionen encima de un sistema
operativo particular, por tanto, la elección del sistema
54
operativo determina en gran medida las aplicaciones que
puedes utilizar.
Los sistemas operativos más utilizados en los PC son
DOS, OS/2, y Windows, pero hay otros que también se
utilizan, como por ejemplo Linux.
Cómo se utiliza un Sistema Operativo
Un usuario normalmente interactúa con el sistema
operativo a través de un sistema de comandos, por
ejemplo, el sistema operativo DOS contiene comandos como
copiar y pegar para copiar y pegar archivos
respectivamente. Los comandos son aceptados y ejecutados
por una parte del sistema operativo llamada procesador de
comandos o intérprete de la línea de comandos. Las
interfaces gráficas permiten que utilices los comandos
señalando y pinchando en objetos que aparecen en la
pantalla.
Ejemplos de Sistema Operativo
A continuación detallamos algunos ejemplos de
sistemas operativos:
Familia Windows
Windows 95
Windows 98
Windows ME
55
Windows NT
Windows 2000
Windows 2000 server
Windows XP
Windows Server 2003
Windows CE
Windows Vista (Longhorn)
Familia Macintosh
Mac OS 7
Mac OS 8
Mac OS 9
Mac OS X
Familia UNIX
AIX
AMIX
GNU/Linux
GNU / Hurd
HP-UX
Irix
Minix
System V
Solaris
UnixWare
Componentes de un Sistema Operativo
56
Gestión de procesos
Un proceso es simplemente, un programa en ejecución
que necesita recursos para realizar su tarea: tiempo de
CPU, memoria, archivos y dispositivos de E/S. El SO es el
responsable de:
Crear y destruir los procesos.
Parar y reanudar los procesos.
Ofrecer mecanismos para que se comuniquen y
sincronicen.
La gestión de procesos podría ser similar al trabajo
de oficina. Se puede tener una lista de tareas a realizar
y a estas fijarles prioridades alta, media, baja por
ejemplo. Debemos comenzar haciendo las tareas de
prioridad alta primero y cuando se terminen seguir con
las de prioridad media y después las de baja. Una vez
realizada la tarea se tacha. Esto puede traer un problema
que las tareas de baja prioridad pueden que nunca lleguen
a ejecutarse. y permanezcan en la lista para siempre.
Para solucionar esto, se puede asignar alta prioridad a
las tareas más antiguas.
Gestión de la Memoria Principal
La Memoria (informática) es una gran tabla de
palabras o bytes que se referencia cada una mediante una
dirección única. Este almacén de datos de rápido accesos
57
es compartido por la CPU y los dispositivos de E/S, es
volátil y pierde su contenido en los fallos del sistema.
El SO es el responsable de:
Conocer qué partes de la memoria están utilizadas y
por quién.
Decidir qué procesos se cargarán en memoria cuando
haya espacio disponible.
Asignar y reclamar espacio de memoria cuando sea
necesario.
Gestión del Almacenamiento Secundario
Un sistema de almacenamiento secundario es
necesario, ya que la memoria principal (almacenamiento
primario) es volátil y además muy pequeña para almacenar
todos los programas y datos. También es necesario
mantener los datos que no convenga mantener en la memoria
principal. El SO se encarga de:
Planificar los discos.
Gestionar el espacio libre.
Asignar el almacenamiento.
El Sistema de E/S
Consiste en un sistema de almacenamiento temporal
(caché), una interfaz de manejadores de dispositivos y
otra para dispositivos concretos. El sistema operativo
58
debe gestionar el almacenamiento temporal de E/S y servir
las interrupciones de los dispositivos de E/S.
Sistema de Archivos
Los archivos son colecciones de información
relacionada, definidas por sus creadores. Éstos almacenan
programas (en código fuente y objeto) y datos tales como
imágenes, textos, información de bases de datos, etc. El
SO es responsable de:
Construir y eliminar archivos y directorios.
Ofrecer funciones para manipular archivos y
directorios.
Establecer la correspondencia entre archivos y
unidades de almacenamiento.
Realizar copias de seguridad de archivos.
Existen diferentes Sistemas de Archivos, es decir,
existen diferentes formas de organizar la información que
se almacena en las memorias (normalmente discos) de los
ordenadores. Por ejemplo, existen los sistemas de
archivos FAT, FAT32, EXT2, NTFS, etc.
Desde el punto de vista del usuario estas
diferencias pueden parecer insignificantes a primera
vista, sin embargo, existen diferencias muy importantes.
Por ejemplo, los sistemas de ficheros FAT32 y NTFS, que
se utilizan fundamentalmente en sistemas operativos de
Microsoft, tienen una gran diferencia para un usuario que
59
utilice una base de datos con bastante información ya que
el tamaño máximo de un fichero con un Sistema de Archivos
FAT32 está limitado a 4 gigabytes, sin embargo, en un
sistema NTFS el tamaño es considerablemente mayor.
Sistemas de Protección
Mecanismo que controla el acceso de los programas o
los usuarios a los recursos del sistema. El SO se encarga
de:
Distinguir entre uso autorizado y no autorizado.
Especificar los controles de seguridad a realizar.
Forzar el uso de estos mecanismos de protección.
Sistema de Comunicaciones
Para mantener las comunicaciones con otros sistemas
es necesario poder controlar el envío y recepción de
información a través de las interfaces de red. También
hay que crear y mantener puntos de comunicación que
sirvan a las aplicaciones para enviar y recibir
información, y crear y mantener conexiones virtuales
entre aplicaciones que están ejecutándose localmente y
otras que lo hacen remotamente.
Programas de Sistema
60
Son aplicaciones de utilidad que se suministran con
el SO pero no forman parte de él. Ofrecen un entorno útil
para el desarrollo y ejecución de programas, siendo
algunas de las tareas que realizan:
Manipulación y modificación de archivos.
Información del estado del sistema.
Soporte a lenguajes de programación.
Comunicaciones.
Características
Administración de tareas
Monotarea: Solamente puede ejecutar un proceso
(aparte de los procesos del propio S.O.) en un momento
dado. Una vez que empieza a ejecutar un proceso,
continuará haciéndolo hasta su finalización y/o
interrupción.
Multitarea: Es capaz de ejecutar varios procesos al
mismo tiempo. Este tipo de S.O. normalmente asigna los
recursos disponibles (CPU, memoria, periféricos) de forma
alternada a los procesos que los solicitan, de manera que
el usuario percibe que todos funcionan a la vez, de forma
concurrente.
Administración de Usuarios
61
Monousuario: Si sólo permite ejecutar los programas
de un usuario al mismo tiempo.
Multiusuario: Si permite que varios usuarios
ejecuten simultáneamente sus programas, accediendo a la
vez a los recursos de la computadora. Normalmente estos
sistemas operativos utilizan métodos de protección de
datos, de manera que un programa no pueda usar o cambiar
los datos de otro usuario.
Manejo de Recursos
Centralizado: Si permite utilizar los recursos de
una sola computadora.
Distribuido: Si permite utilizar los recursos
(memoria, CPU, disco, periféricos... ) de más de una
computadora al mismo tiempo.
Lenguajes de Programación
Los lenguajes utilizados para escribir programas de
computadoras que puedan ser entendidos por ellas se
denominan programas de programación. Los lenguajes de
programación se clasifican en tres grandes categorías,
maquinas: bajo nivel y alto nivel.
Lenguaje Máquina: Todo se programa con 1 y 0, que es
lo único que entiende el ordenador.
Ventaja: No necesita ser traducido.
62
Inconveniente: La dificultad, la confusión, para corregir
errores, es propia de cada máquina.
De Bajo Nivel o Ensamblador: Se utilizan
mnemotécnicos (abreviaturas).
Ventaja: No es tan difícil como el lenguaje máquina.
Inconvenientes: Cada máquina tiene su propio lenguaje,
necesitamos un proceso de traducción.
El programa escrito en ensamblador se llama programa
fuente y el programa que se obtiene al ensamblarlo se
llama programa objeto.
Lenguajes de Alto Nivel: Los más cercanos al
lenguaje humano.
Ventaja: Son independientes de cada maquina (los
compiladores aceptan las instrucciones estándar, pero
también tienen instrucciones propias).
Inconveniente: El proceso de traducción es muy largo y
ocupa más recursos. Aprovecha menos los recursos
internos.
63
UNIDAD III
Algoritmos y Programas
Qué es un Algoritmo
La definición de algoritmo, se entiende que éste es
un conjunto finito de instrucciones que se deben seguir
para resolver un problema. No obstante, desde el punto de
vista de la programación de ordenadores, la definición
del algoritmo como la especificación de una serie de
64
pasos, es incompleta. Debe observarse que los ordenadores
son equipos que tienen limitaciones físicas en cuanto a
capacidad de almacenamiento y procesamiento. Por
consiguiente debemos refinar un poco más nuestra
definición de algoritmo para hacerla aplicable de manera
efectiva en el ámbito de la informática.
Un algoritmo se entiende como una sucesión finita de
pasos que debe cumplir las siguientes especificaciones:
1. Cada paso del algoritmo debe estar bien
definido: Esto significa que la definición de un paso
debe ser suficientemente clara, para que una persona
pueda entenderla y realizarla. Si bien no se puede dar un
criterio determinístico para decidir si un paso está bien
definido, debemos apelar al sentido común para decidir
que un paso está especificado sin ambigüedades.
2. Un algoritmo debe tener un principio y un fin:
Un programa es un algoritmo escrito con un objetivo:
conseguir un resultado. No tiene sentido crear un
programa que espere ~ segundos (infinitos segundos) y
luego escriba en pantalla "Hola Mundo!", del mismo modo
que un algoritmo debe tener un principio bien definido
(tampoco tiene sentido el algoritmo "haz nada, y luego
escribe Hola Mundo!").
65
Modelos Computacionales
Un modelo computacional es un modelo matemático en
las ciencias de la computación que requiere extensos
recursos computacionales para estudiar el comportamiento
de un sistema complejo por medio de la simulación por
computadora. El sistema bajo estudio es a menudo un
sistema complejo no lineal para el cual las soluciones
analíticas simples e intuitivas no están fácilmente
disponibles. En lugar de derivar una solución analítica
matemática para el problema, la experimentación es hecha
con el modelo cambiando los parámetros del sistema en la
computadora, y se estudian las diferencias en el
resultado de los experimentos. Las teorías de la
operación del modelo se pueden derivar/deducir de estos
experimentos de computacionales.
Programas: Algoritmos para ser ejecutados por un ordenador
Un ordenador o computadora está, desde que se
enciende hasta que se apaga totalmente, ejecutando un
algoritmo. Por lo general, estos algoritmos, escritos
para que los entienda una máquina, terminan siendo vagos
y confusos para la mayoría de quienes no han estudiado
programación. Una máquina no puede entender "escribe Hola
Mundo!" porque no sabe lo que es "escribe" ni lo que es
una letra o un espacio, ni lo que es una pantalla. En
66
cambio, puede entender "mov eax, 0x23afb31" (escribir en
la dirección de memoria eax el número 0x23afb31), aunque
nosotros no. Un ordenador es solo un circuito
electrónico, no funciona a base de magia ni nada por el
estilo.
Debido a lo difícil que es escribir en lenguaje
máquina, e incluso en ensamblador, se crearon diferentes
lenguajes de programación, más o menos parecidos al
inglés actual y a cómo se redacta un algoritmo. Estos
lenguajes proveen de cosas tan complejas para una máquina
como los bucles for. Los compiladores se encargan de
traducir esos ficheros al lenguaje ensamblador que
corresponda, el ensamblador de traducirlos a lenguaje
máquina y el enlazador de juntar todo ese código máquina
en un solo archivo, el programa. Y el microprocesador, se
encarga de ir encendiendo o apagando transistores según
lo que le diga el código máquina. Es fácil entender el
lenguaje de alto nivel en comparación al lenguaje maquina
pero de la evolución surgieron.
Qué Instrucciones Ejecuta un Ordenador
El Lenguaje de Programación
Existen diferentes tipos, de bajo nivel y de alto
nivel.
Instrucciones en una computadora y sus tipos:
67
Una instrucción es cada paso de un algoritmo, pero
que lo ejecuta el ordenador. Un programa es un conjunto
de instrucciones que ejecutadas ordenadamente resuelven
un problema.
Tipos de Instrucciones
E/S: Pasar información del exterior al interior del
ordenador y al revés.
Aritmético-lógicas: Aritméticas: +,-,*,... ;
Lógicas: or, and, <, >, ...
Selectivas: Permiten la selección de una alternativa
en función de una condición.
Repetitivas: Repetición de un número de
instrucciones un número finito de veces.
Tipos de Lenguajes
Lenguaje de Máquina
Cada tipo de microprocesador contiene un conjunto de
instrucciones que realizan ciertas operaciones sobre una
o más palabras de bits; las instrucciones van también
codificadas en bits. No queremos hacer aquí una discusión
sobre arquitectura de ordenadores, por lo que con esto
debe valer por ahora.
Se entiende que escribir sólo con dos teclas, el 0 y
el 1, es incómodo. Históricamente, a la hora de diseñar
68
un algoritmo para que el ordenador ejecutara, se escribía
mediante unas etiquetas mnemotécnicas; éste fue el origen
del lenguaje ensamblador. Por ejemplo quizás en una
cierta arquitectura la instrucción de borrado de memoria
(Memory Clear, en inglés) corresponda al código 010.
Pronto surgieron programas que leían, siguiendo el
ejemplo, MC, y lo sustituían por 010.
Lenguaje Ensamblador
El código máquina tenía dos grandes inconvenientes
para los programadores:
- El primero es que se trata de unas instrucciones
difíciles de recordar ya que no guardan relación con la
operación que se está realizando.
- El segundo inconveniente es que puede haber, y de hecho
hay, diferencias entre las instrucciones de un procesador
a otro.
Todo esto ha llevado a "poner nombre" a las
instrucciones de código máquina de manera que a una
secuencia concreta de bits que realiza una operación se
le pone un nombre sencillo que identifique la operación.
Esta traducción a un lenguaje más sencillo para las
personas resulta en una mayor comodidad para el
programador, además el proceso de traducción inverso de
69
lenguaje ensamblador a código máquina puede ser realizado
por un sencillo programa.
Proceso de traducción y ejecución de un programa escrito
en un lenguaje a alto nivel:
Usamos un editor y obtenemos el programa fuente, y
el compilador es el que traduce el programa al lenguaje
máquina. El compilador internamente ha sido diseñado para
traducir.
El compilador obtiene el programa o el fichero
objeto. El compilador tiene que buscar los errores.
Normalmente no sale un ejecutable, sino que necesita
elementos, librerías,
Mediante un linkador juntamos el programa objeto y
las librerías, y se forma un programa ejecutable.
Cuando se ejecuta el programa, el cargador lleva al
programa a memoria para que éste pueda ser ejecutable.
Debbuger: Depura el programa ejecutándolo paso a
paso, viendo la memoria paso a paso para encontrar el
error.
Para traducir puedo utilizar el compilador o un
intérprete, con el compilador cojo todo el programa al
completo y el interprete lee cada instrucción y lo va
ejecutando.
El intérprete es más rápido, pero menos eficiente.
70
Todos los lenguajes tienen compiladores, pero no
todos tienen intérpretes.
LISP (Lenguaje de inteligencia artificial) : Sólo
tiene interpretes.
Programación para Seres Humanos
Lenguajes de Alto Nivel
Sobre este lenguaje ensamblador inicial se fueron
construyendo otros lenguajes de programación de más alto
nivel; esto significa que ocultan ciertos aspectos de
manera que el programador no se ha de preocupar sobre si
en la máquina que quiere que se ejecute el algoritmo el
MC corresponde a la instrucción 101 o 010. Se produce,
por tanto, una abstracción de datos, muy deseable para
poder utilizar el trabajo de otros para avanzar un paso
más en vez de tener que "reinventar la rueda", como se
suele decir. Estos textos en los que se codifican los
algoritmos son los códigos fuente; siguen las reglas
sintácticas de un determinado lenguaje de programación.
Existen numerosos lenguajes de programación, y se utiliza
uno u otros según sus características se adecuen más o
menos a la resolución de nuestro problema.
Traductores e Intérpretes
71
Tras la escritura del algoritmo, un compilador o un
intérprete (otros programas) transformarán el texto en
código máquina que el procesador es capaz de ejecutar.
Toda esta abstracción permite resolver problemas
alejados de sumar números binarios, como pueden ser la
consulta de esta misma enciclopedia o jugar a un
videojuego en 3D.
Lenguajes Interpretados vs. Lenguajes Compilados
Los lenguajes interpretados nacen como respuesta a
la dificultad de manejo de los compilados. Un lenguaje
compilado es sólo apto para un sistema operativo o
formato de ejecutable (en Linux y Unix System V es ELF,
en Windows o incluso en BSD es muy diferente), y es
tedioso de manejar: para comprobar bugs o errores el
computador debe:
Compilar cada uno de los ficheros de código.
Ensamblarlos en ficheros objeto.
Enlazar los ficheros objeto.
Volverlos a ensamblar.
Todo eso no es gran derroche de recursos para un
ordenador medio actualmente, pero dura sus 10 o 15
segundos. En cambio, con un lenguaje interpretado, el
programa intérprete analiza el fichero de código y lo va
ejecutando en tiempo real, sin compilarlo ni ensamblarlo.
72
Otra de las ventajas de los lenguajes interpretados es
que son multiplataforma: un programa en Perl, por
ejemplo, no debe ser compilado dos veces (una para Unix y
otra para Windows). Con que haya diferentes versiones del
intérprete en cada uno de esos ordenadores,
específicamente compilados para ellos, basta.
Sus desventajas:
Consume muchos recursos de memoria, sobre todo RAM.
Se depende del intérprete: si no tienes instalado el
intérprete que corresponda, no podrás ejecutar el
programa.
Ejemplos de lenguajes interpretados son PHP, Perl,
Python, Tcl/Tk, BASIC, LISP (en algunas de sus
versiones).
Resolución de Problemas con Computadora y Herramientas de
Programación
Resolución de problemas.
Análisis del problema.
Diseño del algoritmo.
Resolución en la computadora.
Flujogramas.
Diagramas NS o de NASSI-SCHEDERMAN
Pseudocódigo.
73
1. Resolución de Problemas
La resolución de un problema desde el punto de vista
algorítmico tiene 3 fases:
Análisis del problema: Comprensión.
Diseño del algoritmo: Resolución algorítmica.
Resolución en computadora: Implantación del
algoritmo en un lenguaje de programación.
2. Análisis del Problema
El objetivo de ésta fase es comprender el problema
para lo cual como resultado tenemos que obtener la
especificación de las entradas y salidas del problema.
Tiene que quedar claro que entra y que sale.
3. Diseño del Algoritmo
Una vez comprendido el problema se trata de
determinar que pasos o acciones tenemos que realizar para
resolverlo.
Como criterios a seguir a la hora de dar la solución
algorítmica hay que tener en cuenta:
Si el problema es bastante complicado lo mejor es
dividirlo en partes más pequeñas e intentar dividirlo en
partes más pequeñas e intentar resolverlas por separado.
74
Esta metodología de “divide y vencerás” también se conoce
con el nombre de diseño descendente.
Las ventajas de aplicar esto son:
Al dividir el problema en módulos o partes se
comprende más fácilmente.
Al hacer modificaciones es más fácil sobre un módulo
en particular que en todo el algoritmo.
En cuanto a los resultados, se probarán mucho mejor
comprobando si cada módulo da el resultado correcto que
si intentamos probar de un golpe todo el programa porque
si se produce un error sabemos en que módulo ha sido.
Una segunda filosofía a la hora de diseñar
algoritmos es el refinamiento por pasos, y es partir de
una idea general e ir concretando cada vez más esa
descripción hasta que tengamos algo tan concreto para
resolver. Pasamos de lo más complejo a lo más simple.
La representación de los Algoritmos
Una vez que tenemos la solución hay que
implementarla con alguna representación. Las
representaciones más usadas son los flujogramas, los
diagramas NS y el pseudocódigo.
También la solución se puede escribir en algunos
casos en lenguaje natural pero no se hace porque es muy
75
ambiguo, e incluso otras formas de expresión como
fórmulas matemáticas.
Escritura del Algoritmo
Al escribir el algoritmo hay que tener en cuenta:
Las acciones o pasos a realizar tienen que tener un
determinado orden.
En cada momento solo se puede ejecutar una acción.
Dentro de las sentencias del algoritmo pueden
existir palabras reservadas (palabras propias del
lenguaje de programación que tienen para el compilador un
determinado significado).
Si estamos utilizando pseudocódigo tenemos también
que usar la identación (aumenta la legibilidad del
problema para que se pueda leer mejor).
4. Resolución en la Computadora
Es hacer entender nuestro algoritmo a la computadora
para que lo pueda hacer.
Codificamos el algoritmo en un leguaje de
programación.
Ejecutar el programa antes compilado.
Comprobar los resultados y si no funciona,
corregirlo.
5. Flujogramas
76
Es una notación gráfica para implementar algoritmos.
Se basa en la utilización de unos símbolos gráficos que
denominamos cajas, en las que escribimos las acciones que
tiene que realizar el algoritmo.
Las cajas están conectadas entre sí por líneas y eso
nos indica el orden en el que tenemos que ejecutar las
acciones.
En todo algoritmo siempre habrá una caja de inicio y otra
de fin, para el principio y final del algoritmo.
Los Símbolos
Líneas de flujo: Una línea con una flecha que sirve
para conectar los símbolos del diagrama y la flecha
indica la secuencia en la que se van a ejecutar las
acciones.
Símbolo de proceso: Indica la acción que tiene que
realizar la computadora. Dentro escribimos la acción.
Representa las acciones de entrada y salida. Dentro
colocaremos las acciones de lectura y escritura.
Condición: Dentro se va a colocar una condición.
Sirve para representar estructuras selectivas y
repetitivas y lo que se hace al encontrar ese signo es
evaluar la condición que hay dentro tal que según la
77
condición sea verdadera o falsa iremos por caminos
distintos.
Principio y fin: Dentro del símbolo ira la palabra
inicio o fin del algoritmo.
Subprograma: Dentro se coloca el nombre del
subprograma al que se llama.
Conectores: Nos sirven cuando un flujograma no me
cabe en una columna de la hoja y hay que seguir en otra
columna:
Si es en la misma hoja:
Si es en hoja distinta:
Los conectores se ponen uno donde termina la columna
y otra donde empieza.
Es una aclaración para entender mejor el código,
pero no es parte del código, no se ejecuta.
Otros Símbolos
- Pantalla: Cuando una salida es por pantalla.
- Teclado: Para representar una entrada por teclado.
- Impresora:
- Entrada/Salida por disco:
Problema:
Queremos hallar el producto de varios números
positivos introducidos por teclado y el proceso termina
cuando se meta un número negativo.
78
Iniciar la variable del producto.
Leer el primer número.
Preguntar si es negativo o positivo.
Si es negativo nos salimos y escribimos el producto.
Si es positivo, multiplicamos el número leído y
luego leemos un nuevo número, y se vuelve al paso 3.
Inicio
P 1
Leer num
Num >= 0 Escribir P
P P * num Fin
Leer num
6. Diagramas N-S O de Nassi-Schederman
Es semejante al flujograma, peor sin flechas y
cambiando algo los símbolos de condición y repetición.
Las cajas van unidas.
<acción>
Condiciones:
Condición
SI NO
<acc1> <acc2>
Repetitivas:
Mientas <cond> <acciones> Desde vi=v1 hasta vn
<acciones>
79
Repetir hasta <cond> <acciones>
Problema anterior:
Inicio
P 1
Leer num
Mientras num >= 0
P p*num
Leer num
Escribir P
Fin
7. Pseudocódigo
Es un lenguaje de especificación de algoritmos, pero
muy parecido a cualquier lenguaje de programación, por lo
que luego su traducción al lenguaje es muy sencillo, pero
con la ventaja de que no se rige por las normas de un
lenguaje en particular. Nos centramos más en la lógica
del problema.
El pseudocódigo también va a utilizar una serie de
palabras clave o palabras especiales que va indicando lo
que significa el algoritmo.
Inicio y Fin: Por donde empieza y acaba el algoritmo.
Begin /end : Pacal.
{ } : En C.
Sí <cond>
80
Entonces <acc1> If then else
Sino <acc2>
3.Mientras <cond> /hacer while do
4. Repetir / hasta repeat until
5. Desde /hasta for .. to
Según sea Case
Swith
Los comentarios van encerrados entre llaves.
Hay que utilizar la identación.
Algoritmo <nombre alg>
Var
<nombre>: <tipo>
Inicio
<Instrucciones>
Fin
Algoritmo Producto
Var
P, num: entero
Inicio
P 1
Leer num
Mientras num >=0 hacer
P p*num
Leer num
Fin mientras
81
Escribir p
Fin
Programación Modular
La programación modular es un paradigma de
programación que consiste en dividir un programa en
módulos o subprogramas con el fin de hacerlo más legible
y manejable.
Se presenta históricamente como una evolución de la
programación estructurada para solucionar problemas de
programación más grandes y complejos de lo que ésta puede
resolver.
Al aplicar la programación modular, un problema
complejo debe ser dividido en varios subproblemas más
simples, y estos a su vez en otros subproblemas más
simples. Esto debe hacerse hasta obtener subproblemas lo
suficientemente simples como para poder ser resueltos
fácilmente con algún lenguaje de programación. Ésta
técnica se llama refinamiento sucesivo, divide y vencerás
ó análisis descendente (Top-Down).
Un módulo es cada una de las partes de un programa
que resuelve uno de los subproblemas en que se divide el
problema complejo original. Cada uno de estos módulos
tiene una tarea bien definida y algunos necesitan de
otros para poder operar. En caso de que un módulo
necesite de otro, puede comunicarse con éste mediante una
82
interfaz de comunicación que también debe estar bien
definida.
Si bien un modulo puede entenderse como una parte de
un programa en cualquiera de sus formas y variados
contextos, en la práctica es común representarlos con
procedimientos y funciones. Adicionalmente, también
pueden considerarse módulos las librerías que pueden
incluirse en un programa o, en programación orientada a
objetos, la implementación de un tipo de dato abstracto.
Uno de los métodos más conocidos para resolver un
problema es dividirlo en problemas más pequeños, llamados
subproblemas. De esta manera, en lugar de resolver una
tarea compleja y tediosa, resolvemos otras más sencillas
y a partir de ellas llegamos a la solución. Esta técnica
se usa mucho en programación ya que programar no es más
que resolver problemas, y se le suele llamar diseño
descendente, metodología del divide y vencerás o
programación top-down.
Es evidente que si esta metodología nos lleva a
tratar con subproblemas, entonces también tengamos la
necesidad de poder crear y trabajar con subprogramas para
resolverlos. A estos subprogramas se les suele llamar
módulos, de ahí viene el nombre de programación modular.
En Pascal disponemos de dos tipos de módulos: los
procedimientos y las funciones.
83
Veamos un ejemplo de cómo emplear el diseño
descendente para resolver un problema. Supongamos que un
profesor quiere crear un programa para gestionar las
notas de sus alumnos. Quiere que dicho programa le
permita realizar tareas tales como asignar notas, cambiar
notas, ver las notas según distintas calificaciones, etc.
A continuación tines un esquema que representa una de las
posibles divisiones del problema en módulos.
Programación Estructurada
La programación estructurada es una forma de
escribir programas de ordenador (programación de
computadora) de manera clara. Para ello utiliza
únicamente tres estructuras: secuencia, selección e
iteración; siendo innecesario el uso de la instrucción o
instrucciones de transferencia incondicional (GOTO, EXIT
FUNCTION, EXIT SUB o múltiples RETURN).
84
Hoy en día las aplicaciones informáticas son mucho
más ambiciosas que las necesidades de programación
existentes en los años 1960, principalmente debido a las
aplicaciones gráficas, por lo que las técnicas de
programación estructurada no son suficientes. Ello ha
llevado al desarrollo de nuevas técnicas, tales como la
programación orientada a objetos y el desarrollo de
entornos de programación que facilitan la programación de
grandes aplicaciones.
Orígenes de la Programación Estructurada
A finales de los años 1960 surgió una nueva forma de
programar que no solamente daba lugar a programas fiables
y eficientes, sino que además estaban escritos de manera
que facilitaba su comprensión posterior.
El teorema del programa estructurado, demostrado por
Böhm-Jacopini, demuestra que todo programa puede
escribirse utilizando únicamente las tres instrucciones
de control siguientes:
Secuencia
Instrucción condicional.
Iteración (bucle de instrucciones) con condición al
principio.
Solamente con estas tres estructuras se pueden
escribir todos los programas y aplicaciones posibles. Si
85
bien los lenguajes de programación tienen un mayor
repertorio de estructuras de control, éstas pueden ser
construidas mediante las tres básicas.
Estructura Secuencial
Una estructura de programa es secuencial si se
ejecutan una tras otra a modo de secuencia, es decir que
una instrucción no se ejecuta hasta que finaliza la
anterior.
Ejemplo:
INPUT x
INPUT y
auxiliar= x
x= y
y= auxiliar
PRINT x
PRINT y
Esta secuencia de instrucciones permuta los valores
de x e y, con ayuda de una variable auxiliar, intermedia.
1º Guardamos una copia del valor de x en auxiliar.
2º Guardamos el valor de y en x, se pierde el valor
anterior de x pero no importa porque tenemos una copia en
auxiliar.
3º Guardamos en y el valor de auxiliar, que es el
valor inicial de x.
86
El resultado es el intercambio de los valores de x e
y, en tres operaciones secuenciales.
Estructura Selectiva o de Selección
La estructura selectiva permite la realización de
una instrucción u otra según un criterio, solo una de
estas instrucciones se ejecutara.
Ejemplo:
IF a > b THEN
PRINT a ; " es mayor que " ; b
ELSE
PRINT a ; " no es mayor que " ; b
END IF
Esta instrucción selectiva puede presentar dos
mensajes, uno a es mayor que b, y el otro a no es mayor
que b, solo uno de ellos será presentado, según el
resultado de la comparación de a y b, si el resultado de
a > b es cierto, se presenta el primer mensaje, si es
falso el segundo, las palabras IF, THEN, ELSE, END IF;
son propias de la instrucción (palabra reservadas) que
tienen un significado en el lenguaje, sirven de
separadores, y el usuario no debe utilizarlas salvo para
este fin.
87
IF señala el comienzo de la instrucción condicional,
y se espera que después esté la condición de control de
la instrucción.
THEN señala el fin de la condición, y después estará
la instrucción a realizar si la condición es cierta.
ELSE separa la instrucción que se ejecutará si la
condición es cierta de la que se ejecutará si es falsa.
END IF indica que la instrucción condicional
finaliza y el programa seguirá su curso.
Ampliemos un poco el ejemplo anterior:
IF a > b THEN
PRINT a ; " es mayor que " ; b
ELSEIF a < b THEN
PRINT a ; " es menor que " ; b
ELSE
PRINT a ; " es igual que " ; b
END IF
Este ejemplo nos permite considerar situaciones en
las que tenemos más de dos alternativas. En este caso
hemos considerado tres, pero hay situaciones en las que
deben considerarse más casos y para ellos se puede
repetir las veces que queramos la parte ELSEIF.
Estructura Iterativa
88
Un bucle iterativo o iteración de una secuencia de
instrucciones, hace que se repitan mientras se cumpla una
condición, en un principio el número de iteraciones no
tiene porque estar determinado.
Ejemplo:
a= 0
b= 7
WHILE b > a DO
PRINT a
a= a + 1
WEND
Esta instrucción tiene tres palabras reservadas
WHILE, DO y WEND.
WHILE: señala el comienzo del bucle y después de
esta palabra se espera la condición de repetición, si la
condición es cierta se pasa al cuerpo del bucle, si no al
final de la instrucción mientras.
DO: señala el final de la condición, lo que esté
después será el cuerpo del bucle.
WEND: señala el final del cuerpo del bucle y de la
instrucción WHILE.
El bucle mientras, se repite mientras la condición
sea cierta, esta condición se comprueba al principio por
lo que el cuerpo del bucle puede que no se ejecute nunca,
89
cuando la condición es falsa en un principio, o que se
repita tantas veces como sea necesario, mientras la
condición sea cierta.
En el ejemplo tenemos dos variables a y b que al
iniciarse el bucle tienen los valores a=0 y b=7.
La condición del bucle es b > a.
Cuando a=0 y b=7. la condición es cierta, en el
cuerpo del bucle se escribe el valor de a en pantalla y
se incrementa a en una unidad. Entonces a=1 y b=7.
Cuando a=6 y b=7. la condición es cierta, se escribe
el valor de a en pantalla y se incrementa en una unidad.
Resultando que a=7 y b=7. Entonces la condición es
falsa y la instrucción WHILE finaliza.
La salida por pantalla de este ejemplo seria 0 1 2 3
4 5 6
Anidamiento
El cuerpo de cualquier estructura puede ser una
instrucción simple u otra estructura, que a su vez puede
anidar a otra.
Ejemplo:
IF a > b THEN
auxiliar= a
a= b
b= auxiliar
90
ELSE
REM nada
END IF
PRINT a ; b
Ventajas de la Programación Estructurada
1. Los programas son más fáciles de entender, ya que
pueden ser leídos de forma secuencial, sin necesidad de
hacer seguimiento a saltos de línea (GOTO) dentro de los
bloques de código para entender la lógica.
2. La estructura del programa es clara, puesto que
las instrucciones están más ligadas o relacionadas entre
sí.
3. Reducción del esfuerzo en las pruebas. El
seguimiento de los fallos o errores del programa
("debugging") se facilita debido a la estructura más
visible, por lo que los errores se pueden detectar y
corregir más fácilmente.
4. Reducción de los costos de mantenimiento de los
programas.
5. Programas más sencillos y más rápidos (ya que es
más fácil su optimización).
6. Los bloques de código son auto explicativos, lo
que facilita la documentación.
91
7. Los GOTO se reservan para construir las
instrucciones básicas. Aunque no se usan de forma
directa, por estar prohibida su utilización, están
incluidas implícitamente en las instrucciones de
selección e iteración.
8. Un programa escrito de acuerdo a estos principios
no solamente tendrá una mejor estructura sino también una
excelente presentación.
9. La programación estructurada ofrece estos
beneficios, pero no se la debe considerar como una
panacea ya que el desarrollo de programas es,
principalmente, una tarea de dedicación, esfuerzo y
creatividad.
Inconvenientes de la Programación Estructurada
El principal inconveniente de este método de
programación es que se obtiene un único bloque de
programa, que cuando se hace demasiado grande puede
resultar problemático su manejo; esto se resuelve
empleando la programación modular, definiendo módulos
interdependientes programados y compilados por separado
(en realidad esto no es necesario, pero es recomendable
para su mantenimiento y funcionalidad).
En realidad, cuando se programa hoy en día (inicios
del siglo XXI) se suelen utilizar, tanto las técnicas de
92
programación estructurada como las de programación
modular, de forma conjunta y por lo tanto es posible que
cuando uno haga referencia a la programación estructurada
esté considerando también las técnicas de modularización.
Un método un poco más sofisticado es la programación
por capas, en la que los módulos tienen una estructura
jerárquica en la que se pueden definir funciones dentro
de funciones o de procedimientos.
Concepto de Programa
Un programa es un conjunto de instrucciones que al
ser ejecutadas resuelven un problema.
Un programa tiene 3 partes:
Entrada de datos: Normalmente se va a ejecutar a través
de instrucciones de lectura, y en lo que se le pide al
usuario la información que el programa va a necesitar
para ejecutarse y se hace a través de lecturas.
Acciones de un algoritmo: Parte en la que se resuelve el
problema usando los datos de entrada.
Salida: Mostrar en un dispositivo de salida los
resultados de las acciones anteriormente realizadas. Son
acciones de escritura.
En la parte de las acciones a ejecutar se
distinguirán dos partes:
Declaración de variables.
93
Instrucciones del programa.
Instrucciones y Tipos
Para que una instrucción se ejecute tiene que ser
llevada a memoria. En cuanto al orden de ejecución de las
instrucciones, el programa puede ser de dos tipos:
Programas lineales: Se va ejecutando una instrucción
más otra y el orden de ejecución es igual al orden de
escritura.
Programas no lineales: Las instrucciones no se
ejecutan en el mismo orden en el que aparecen escritas,
sino que se realizan saltos que nos mandan de unas
instrucciones a otras.
Nunca se deben hacer saltos no lineales.
Tipos de Instrucciones
Inicio y fin.
Asignación: Dar un valor a una variable.
Lectura / escritura: Introducir o sacar información
por dispositivos E/S.
Instrucciones de bifurcación: Alternan el orden de
ejecución del programa. Salto a otra instrucción que no
es la siguiente.
94
Bifurcación incondicional: El salto se produce
siempre que el programa vaya a esa instrucción: Goto Ir
a.
Bifurcación condicional: Se ejecutan un conjunto de
instrucciones u otras dependiendo del valor devuelto al
evaluar una condición.
Elementos Básicos de un Programa
Qué es la Sintaxis de un Lenguaje
Conjunto de reglas que tenemos que seguir a la hora
de escribir un programa en ese lenguaje tal que si no
seguimos esas reglas de sintaxis el compilador da
errores.
Elementos del Lenguaje de Programación
Palabras reservadas: Son un conjunto de palabras
especiales que nos sirven para definir la estructura del
programa, y solo se pueden usar para el fin para el que
están reservadas.
Identificadores: Son los nombres que aparecen en el
programa dados por el usuario. Son por tanto los nombres
de variables, de constantes, de subprogramas y nombres de
tipos creados por el usuario.
95
Caracteres especiales: Sirven como separadores entre
sentencias, por ejemplo el ;.
Instrucciones: De 3 tipos, secuenciales, repetitivas y
selectivas, y pueden aparecer elementos especiales
(bucles, contadores, interruptores y acumuladores).
Bucle: Un conjunto de instrucciones que se repiten
un número finito de veces. Lleva asociado aparte de las
instrucciones una condición que es la que determina
cuando se termina un bucle. Ejecución de un bucle
(iteración). Los bucles se pueden anidar unos dentro de
otros, y puede haber varios bucles al mismo nivel, pero
nunca se entrelazan.
Contador: Un elemento cuyo valor se incrementa o
decrementa en un valor constante en cada iteración de un
bucle, y se utiliza para controlar la condición del
bucle.
Acumulador: Es una variable que también se suele
usar en los bucles y que se incrementa o decrementa en
cada iteración del bucle, pero no en una cantidad
constante.
Algoritmo Ejemplo
Var cont, num, sum: entero
Inicio
96
Cont 0
Sum 0
Mientras cont <> 3
Leer num
Sum sum + num
Cont cont +1
Fin mientras
Escribir suma
End
Interruptor (marca, bandera o flag): Es una variable
que sirve como indicador de una determinada información y
que solo puede tomar uno de dos valores. El valor de la
variable tiene asociado un signo y puede variar a lo
largo de la ejecución.
Algoritmo ejemplo
Var cont, num, suma: entero
Neg: boolean
Inicio
Cont 0
Sum 0
Neg falso
Mientras cont <>3
Leer num
Si num < 0
Entonces neg verdadero
97
Fin si
Sum sum + num
Cont cont + 1
Fin mientras
Si neg=verdadero
Entonces escribir (“Se ha leído negativos”)
Sino escribir (“No negativos”)
Fin si
Si es leer un número negativo o hasta 3 números:
Mientras (cont <> 3) y (neg = verdadero)
Escritura de Algoritmos y Programas
En pseudocódigo el programa tiene dos partes, la
cabecera y el cuerpo. La cabecera contiene el nombre del
algoritmo, y el cuerpo contiene 2 partes.
La primera es la zona de declaraciones de var y
const, y la segunda es la zona de las instrucciones del
programa.
En la zona de instrucciones para que quede más legible
hay que usar la identación y si es necesario hay que usar
comentarios entre llaves.
Ejercicios
1. ¿Cuáles y cuántos son los números primos comprendidos
entre 1 y 1000?
Algoritmo n_primos
98
Const
Primero=1
Limite=1000
Var
cont, i, j: entero
primo: boolean
Inicio
Cont 0
Desde i= primero hasta limite
primo verdadero
j 2
mientras (i>j) y (primo =verdadero)
Si i mod j = 0
Entonces primo falso
Sino j j + 1
Fin si
Fin mientras
Si primo = verdadero
Entonces escribir i” “
Cont cont + 1
Fin si
Fin desde
Escribir “Entre “primero” y “limite” hay “cont” nº
primos”
Fin
99
2. Calcular el máximo de números positivos introducidos
por teclado, sabiendo que metemos números hasta que
introduzcamos uno negativo. El negativo no cuenta.
Algoritmo maximo
Var
Num, max: entero
Inicio
Max 0
Escribir “Introduzca nº positivos y para acabar
introduzca uno negativo”
Leer num
Mientras num >=0
Si num >max
Entonces max num
Fin si
Leer num
Fin mientras
Escribir “El mayor número es” max
Fin
3. Determinar cuales son los múltiplos de 5 comprendidos
entre 1 y N.
Algoritmo multiplos
Var
i: entero
Inicio
100
Desde i=1 hasta n
Si i mod 5 =0
Entonces escribir i
Fin si
Fin desde
Fin
Conclusión
Desde el ábaco, pasando por la pascalina y las
lectoras de tarjetas perforadas, el camino recorrido por
el ingenio del hombre para crear los ordenadores que se
conocen hoy en día ha sido largo, laborioso y lleno de
retos. La computadora moderna llego para facilitar la
vida de todos, procesando datos en segundos y brindando
soluciones con solo presionar una tecla.
El uso de sistemas muy rudimentarios, tenemos como
antecedentes el uso de los dedos de las manos, nudos en
cuerdas, agrupación de piedras, etc. Se dice que el
sistema mas eficaz fue la utilización del ABACO
ciertamente es que no se han puesto de acuerdo quien lo
descubrió ya que los Chinos dicen que ellos y los
Egipcios también.
101
Un computador ó computadora es una maquina creada
por el hombre con el propósito de que le sirva como
herramienta de trabajo. Al hablar del Origen del
Computador, debemos situarnos en la edad antigua,
apuntando que el hombre primitivo, aparentemente no
necesitaba mecanismos para el manejo de información,
tanto financiera como de otro tipo, ya que en el medio
que se desenvolvía no se lo exigía.
La estructura básica de una computadora incluye
microprocesador (CPU), memoria y dispositivos de
entrada/salida (E/S), junto a los buses que permiten la
comunicación entre ellos. En resumen la computadora es
una dualidad entre hardware (parte física) y software
(parte lógica), que interactúan entre sí para una
determinada función.
Bibliografía
http://es.wikipedia.org/wiki/
Sistema_operativo#Gesti.C3.B3n_del_almacenamiento_secunda
rio
102
http://es.wikipedia.org/w/index.php?
title=Programacion_modular&action=edit
http://www.gratisweb.com/atlasernesto/3.htm
http://www.monografias.com/trabajos15/computadoras/
computadoras.shtml#QUEES
http://MIPUNTO_COM Temas Tecnología Historia de la
computadora personal.mht
http://es.wikipedia.org/wiki/
Programacion_estructurada#Estructura_selectiva_o_de_selec
ci.C3.B3n
103