Introducción a las computadoras
Unidad III
Conceptos de "software"
Introducción
En esta unidad repasarás los medios de comunicación
con la computadora. Algunos de estos medios son: lenguajes
de programación, programas de sistemas, programas de aplicación y
almacenamiento de datos. Antes de comenzar a repasar, te exhorto a
que leas los objetivos capacitantes.
Objetivos capacitantes
3.1 Definir los siguientes términos
a. "software"
b. lenguajes de programación
c. sistema operativo
d. programas de sistemas
e. programas de aplicaciones
f. almacenamiento de datos
g. procesamiento de datos
3.2 Describir los aspectos
generales de los lenguajes de bajo nivel.
3.3 Describir los aspectos
generales de los lenguajes de alto nivel.
¿Leíste y analizaste los objetivos capacitantes? Ahora
estás listo (a) para continuar con las actividades. Puedes regresar
al menú y seleccionar el tema deseado para estudiarlo.
Lenguajes de programación
Los lenguajes de programación son lenguajes especiales que ayudan al
usuario a comunicarse con la computadora. Establecen una comunicación
entre el humano que prefiere usar palabras, el sistema decimal y la computadora,
que trabaja solo con números binarios (0's y 1's).
Lenguajes
- Lenguaje de máquina
El lenguaje de máquina está orientado hacia la máquina que está
constituida por varios arreglos de "bits". Este
lenguaje es fácil de entender por la computadora, pero difícil para el
usuario. Es el lenguaje original de la computadora el cual es generado
por el "software", y no por el programador.
- Lenguaje de bajo nivel
Es un lenguaje de programación bien cercano al lenguaje de máquina. Es
difícil de entender por las personas y requiere que los programadores
codifiquen las instrucciones con muchos detalles. Ejemplo: lenguaje
ensamblador.
- Lenguaje de alto nivel
Es un lenguaje que se asemeja más al lenguaje humano que a un lenguaje de máquina
o ensamblador. Es más fácil escribir programas en este lenguaje,
pero luego deben ser traducidos por compiladores o intérpretes para que la
computadora los entienda.
Procesadores de lenguajes
Programas traductores
Son los que traducen instrucciones de lenguajes de programación de alto nivel
al código binario del lenguaje de la máquina.
- Código fuente ("source code")
Es un conjunto de instrucciones del programa que están escritas en un
lenguaje de programación.
- Código del objeto ("object
code")
Es un conjunto de instrucciones binarias traducidas y que la computadora
puede ejecutar.
Ejemplos de programas traductores
- Compilador
Es un programa que traduce un lenguaje de alto nivel al lenguaje de máquina
de una computadora. Según va ejecutando la traducción, coteja los
errores hechos por el programador. Traduce un programa una sola vez,
generalmente, y es cinco veces más rápido que los programas intérpretes.
Ejemplos: ALGOL, BASIC, COBOL, FORTRAN, PASCAL y PL/1.
- Intérprete
Es un programa que traduce un lenguaje de alto nivel al lenguaje
de máquina de una computadora. El programa siempre permanece en su
forma original (programa fuente) y traduce cuando está en la fase de
ejecución instrucción por instrucción. Ejemplo: BASIC
- Ensamblador
Es un programa de bajo nivel que traduce el lenguaje de ensamble a lenguaje
de máquina. Utiliza letras del alfabeto para representar los
diferentes arreglos del código binario de la máquina. Los
programadores de ensamble deben conocer profundamente la arquitectura y el
lenguaje de máquina de su computadora. El programa ensamblador
traduce cada instrucción de ensamble escrita por el programador a la
instrucción en lenguaje de máquina binario equivalente. En general,
las instrucciones ("software") de un sistema se escriben en este
lenguaje. Ejemplos: Sistema operativo y Sistemas de manejo de
base de datos.
Lenguajes de alto nivel más comunes
- BASIC (Beginners All-purpose Symbolic
Instruction Code)
Fue el lenguaje de programación interactivo más popular en la década de
los 70. Es un lenguaje de propósito general. Desarrollado por John
Kemeny y Thomas Kurtz en "Dartmouth College" en 1963. Existen
numerosas versiones, algunas son compiladores y otras son intérpretes.
- COBOL (Common Business Oriented Language)
Es un lenguaje compilador diseñado para aplicaciones de negocios. Desarrollado
en 1959 por el gobierno federal de los Estados Unidos y fabricantes de
computadoras bajo el liderazgo de Grace Hopper. Es el más
utilizado por los "mainframe". COBOL está estructurado en
cuatro divisiones; a saber:
- División de identificación - identifica el programa.
- División ambiental - identifica a las computadoras fuente y
objeto.
- División de datos - identifica las memorias
"buffer", constantes y áreas de trabajo.
- División de procedimiento - describe el procesamiento(la lógica
del programa).
- PASCAL
Este programa recibío su nombre en honor a Blaise Pascal. Fue
desarrollado por el científico suizo Niklaus Wirth en 1970 y diseñado
para enseñar técnicas de programación estructurada. Es fácil
de aprender y de usar y no utiliza línea sino ";" (semicolon).
Existen versiones de compilador, como de intérprete. Estas
varían según la versión.
- FORTRAN (FORmula TRANslator)
Es uno de los primeros lenguajes de alto nivel desarrollado en 1954 por John
Backus y un grupo de programadores de IBM. Es un lenguaje
compilador que se diseñó para expresar con facilidad las fórmulas matemáticas,
resolver problemas científicos y de ingeniería.
- ADA
Es un lenguaje desarrollado como una norma del Departamento de Defensa de
los Estados Unidos. Es un lenguaje basado en PASCAL, pero más amplio
y específico. Fue diseñado tanto para aplicaciones comerciales como
científicas. Es un lenguage de multitareas que puede ser compilado
por segmentos separados. Se llama ADA en honor de Augusta Ada Byron,
condesa de Lovelace e hija del poeta inglés Lord Byron.
- APL (A Programming Language)
Este programa fue desarrollado por Kenneth Inverson a mediados de la
década de 1960 para resolver problemas matemáticos. Este lenguaje se
caracteriza por su brevedad y por su capacidad de generación de matrices y
se utiliza en el desarrollo de modelos matemáticos.
- PL/1 (Programming Language 1)
Este programa fue desarrollado por IBM. Es un lenguaje de propósito
general que incluye características de COBOL y de FORTRAN. Su
principal utilidad es en los "mainframes".
- RPG (Report Program Generator)
Fue desarrollado por IBM en 1964 y diseñado para generar informes
comerciales o de negocios.
- Lenguaje C
Fue desarrollado a principios de la década de los 70 en Bell Laboratories
por Brian Kernigham y Dennis Ritchie. Ellos necesitaban
desarrollar un lenguaje que se pudiera integrar con UNIX, permitiendo a los
usuarios hacer modificaciones y mejorías fácilmente. Fue derivado de
otro lenguaje llamado BCPL.
- Lenguaje C++
Se pronuncia "ce plus plus". Fue
desarrollado por Bjarne Stroustrup en los Bell Laboratories a
principios de la decada de los '80. C++ introduce la programación
orientada al objeto en C. Es un lenguaje extremadamente poderoso y
eficiente. C++ es un super conjunto de C, para aprender C++
significa aprender todo acerca de C, luego aprender programación orientada
al objeto y el uso de éstas con C++.
- Visual BASIC
Este programa fue creado por Microsoft. Es un programa moderno
que da apoyo a las características y métodos orientados al objetos.
- Programación orientada al objeto
Las metas de la programación orientada al objeto es mejorar la
productividad de los programadores haciendo más fácil de reusar y extender
los programas y manejar sus complejidades. De esta forma, se
reduce el costo de desarrollo y mantenimiento de los programas. En
los lenguajes orientados al objeto los datos son considerados como objetos
que a su vez pertenecen a alguna clase. A las operaciones que se
definen sobre los objetos son llamados métodos. Ejemplo de programas
orientados al objeto: Visual BASIC y C++.
Programas de sistemas
Sistema Operativo
El sistema operativo es un conjunto de programas que coordinan el equipo físico
de la computadora y supervisan la entrada, la salida, el almacenamiento y las
funciones de procesamiento. Incluye comandos internos y externos. Los
comandos internos se encuentran en la memoria de la computadora y los comandos
externos, generalmente, están en la unidad de disco. Para usar los
comandos externos, se necesitan sus archivos.
El sistema operativo es una colección de programas diseñados para
facilitarle al usuario la creación y manipulación de archivos, la ejecución
de programas y la operación de otros periféricos conectados a la computadora.
Ejemplo de algunos comandos son: abrir un archivo, hacer una copia
impresa de lo que hay en la pantalla y copiar un archivo de un disco a otro.
En las décadas de los 70's y 80's la mayor parte de las computadoras
utilizaban su propio sistema operativo, o sea, que aquellas aplicaciones creadas
para un sistema operativo no se podían usar en otro. Debido a este
problema, los vendedores de sistemas operativos decidieron concentrarse en
aquellos sistemas más utilizados. Ellos visualizaron que las dos compañías
más grandes de microcomputadoras se unirían para crear mayor compatibilidad y
esto es un hecho.
Toda computadora tiene algún tipo de sistema operativo, el cual debe ser
activado cuando la computadora se enciende. Si el sistema operativo está
grabado en ROM o presente en el disco duro de la computadora, el sistema
operativo, generalmente, se activa automáticamente cuando la computadora se
enciende. Si no, se inserta un disco que contenga el sistema operativo
para activarlo.
Un sistema operativo provee un programa o rutina para preparar los discos
("formatting a disk"), copiar archivos o presentar un listado del
directorio del disco.
El sistema operativo del disco de una computadora personal de IBM (IBM-PC)
es una colección de programas diseñados para crear y manejar archivos, correr
programas y utilizar los dispositivos unidos al sistema de la computadora.
Microsoft (compañia de programas) desarrolló PC-DOS para IBM y MS-DOS
para IBM compatibles. Los dos sistemas operativos son idénticos. DOS
dicta cómo los programas son ejecutados en IBM y compatibles.
El DOS ("Disk Operating System") es el sistema operativo del
disco. Es el conjunto de instrucciones del programa que mantiene un
registro de las tareas requeridas para la operación de la computadora, o sea,
es una colección de programas diseñados para crear y manejar archivos, correr
programas y utilizar los dispositivos unidos al sistema de la computadora.
El DOS - MS DOS contiene tres partes, a saber:
- I/O Handler ("Input-Output") -
maneja la entrada y la salida, codificando y descodificando todos los datos
transferidos entre los programas de aplicaciones y los periféricos, tales
como: monitores, teclados, dispositivos de discos e impresoras. También
contiene rutinas para la preparación de los datos a ser almacenados en un
disco, ya sea un programa, un documento o cualquier otra cosa. El
manejador de entrada/salida contiene programas escondidos llamados IO.SYS y
DOS.SYS.
- El "Command Processor" contiene
funciones internas que están programadas dentro de la computadora llamadas
subprogramas que manejan la mayoría de las tareas del DOS, incluyendo
copias de archivos, ejecución de programas y examen de la tabla de
contenido del disco para determinar qué archivos son almacenados en él.
El archivo "COMMAND.COM" contiene el procesador de comando.
- Los "Utility Programs" realizan
tareas que no están dentro del procesador de comandos. Se refieren a
archivos externos porque están almacenados en archivos separados. Manejan
tareas como preparación de discos ("formatting disks"), comparación
de archivos y/o discos, e informan el espacio disponible en el disco.
Tipos de sistemas operativos
- El "Character based" - DOS dice
si está listo para recibir un comando presentando un símbolo
("prompt") en la pantalla: C:\>. El usuario responde
escribiendo una instrucción para ser ejecutada, carácter por carácter
mediante el uso del teclado. Ejemplo: IBM, IBM compatibles,
APPLE II.
- El "Graphic User Interface"
hace uso de un "mouse" como un dispositivo de puntero y permite
que se apunte a iconos (pequeños símbolos o figuras que representan alguna
tarea a realizarse) y oprimir el botón del "mouse" para ejecutar
la operación o tarea seleccionada. El usuario puede controlar el sistema
operativo seleccionando o manipulando iconos en el monitor, por ejemplo:
Macintosh, Windows NT.
Ejemplos de sistemas operativos
- PC-DOS (Personal Computer DOS)
Fue desarrollado por Microsoft para la compañía IBM.
- MS-DOS (Microsoft DOS)
Fue desarrollado por Microsoft para las IBM compatibles.
Estos dos
sistemas operativos son idénticos.
- OS/2 (IBM Operating System 2)
Permite al usuario tener más de una aplicación activa a la vez.
- DR DOS 5.0 (Digital Research DOS)
Contiene el GUI (Graphic User Interface).
- UNIX
Es un sistema operativo desarrollado por Bell Lab para aplicaciones de redes
de comunicaciones. No es compatible con programas diseñados para DOS.
Es el único sistema operativo que corre en diferentes tipos de
computadoras.
- Windows para sistemas operativos DOS
Fue creado por Microsoft para las PC's que están basadas en DOS. Es
de tipo GUI ("Graphic User Interface"). Se ha tornado bien
popular, ya que es más "user friendly".
- Windows NT
Es un sistema operativo GUI que sirve para PC de escritorio, estaciones de
trabajo, servidores de red y bases de datos.
Programas de aplicación
Los programas de aplicación son un conjunto de programas que indican a la
computadora cómo analizar tareas específicas para el usuario. La
aplicación es el objeto para el cual se usa la computadora. La
computadora obtiene instrucciones a partir del programa de aplicación. El
programa de aplicación lo escribe un programador de aplicación, y trabaja bajo
la dirección del sistema operativo de la computadora.
Ejemplos de programas de aplicación
- Procesador de palabras
Simplifica la tarea de escribir, editar e imprimir un documento. También
mejora la producción personal permitiendo la duplicación de un documento
sin reescribirlo, o recuperar el documento sin tener que ir sobre una
tonelada de papeles para encontrarlo. El usuario puede ver la carta en
la pantalla, leerla, corregirla y cambiarla antes de mandarla a imprimir.
Puede guardar la carta en un disco y recuperarla más tarde para
hacerle leves cambios o usarla de nuevo en el futuro. También
puede cotejar y corregir la gramática y sugerir sinónimos. Ahorra
mucho tiempo. Ejemplos: Word, Wordperfect, Word Star.
- Hoja electrónica
Es una hoja de cálculo que permite la manipulación de datos arreglados en
filas y columnas. Una celda puede contener texto, un número o una fórmula
que establece una relación con otras celdas. Cada vez que se cambia
el contenido de una celda, la hoja electrónica libera de lo tedioso de
hacer recálculos a mano, ahorrando una gran cantidad de tiempo. Tipos de
aplicaciones: inventario, registro de datos, balanceo de chequera,
planificación de producto, requerimientos de materiales y labores, producción
del informe del tiempo, presupuesto, adquisición y búsqueda de bienes raíces,
análisis de bienes raíces y mercadeo. Los paquetes complejos de
hojas electrónicas pueden hacer comparaciones de lógica como
"if-then-else" o pruebas de "less than/greater than".
Estas operaciones se utilizan en tareas como el cálculo de nóminas. Ejemplos: Excel,
Lotus 123.
- Manejo de base de datos
Es un método de organizar información. Ejemplos: Access, Dbase
III, Paradox.
- Comunicaciones de datos
Permite la transmición de información mediante el uso de líneas telefónicas
en solo varios minutos. Ejemplos: Internet, Netscape.
- Programas integrados
Son programas que pueden comunicarse entre sí. Permiten al usuario
utilizar la misma informacion de varias maneras. Ejemplos: Works,
Office, Framework, Symphony, Intuit, PFS: First Choice.
- Multimedia
Es la incorporación de texto, gráfica, sonido, color y video
enfatizando la interactividad para la creación de presentaciones. Ejemplos:
Toolbook y Macromind Director.
- Gráficas
Algunos programas de gráficas permiten al usuario manipular figuras
preparadas o hacer sus propias creaciones. Otros, proveen
comandos para crear figuras como objetos que pueden ser redimensionadas o
movidas sin afectar otros objetos. Ejemplos: Mac
Paint, Corel Draw, Harvard Graphics, Illustrator.
- "Desktop Publishing"
Se utiliza en el diseño de páginas que incluyen historias, gráficas, imágenes
fotográficas digitalizadas en las publicaciones como periódicos y
magacines. Ejemplos: Page Maker, Adobe Photo Shop.
- Presentaciones electrónicas
Es un programa que se utiliza para crear transparencias electrónicas o
presentaciones animadas usadas en reuniones, conferencias, etc. Ejemplos: Power
Point, Lotus Freelance, Wordperfect Presentation, Persuasion.
Almacenamiento de datos
Jerarquía de datos
El almacenamiento de datos sigue una jerarquía lineal, comenzando con la
porción más pequeña y terminando con la más grande.
- Carácter
Un carácter es una letra del alfabeto, dígito numérico o un símbolo
especial. También puede ser un espacio de almacenamiento para un
carácter ("BYTE"). Es el dato más pequeño utilizado por
el hombre.
- Campo
El campo consiste de un grupo de caracteres unidos tratados como una sola
unidad. Define la localización física de almacenamiento de una
unidad de datos o información. Describen una propiedad de una entidad
o sujeto para el cual los datos han sido almacenados. Un ejemplo
es: la nómina. Hay un campo para el nombre, un campo de
horas trabajadas, un campo de cuotas, un campo para la tasa de impuestos,
etc. Durante el proceso, los caracteres de cada uno serán usados como
una unidad.
- Récords
Es la colección de campos unidos o grupos de datos que son tratados como
una sola unidad. En nuestro ejemplo de nómina, un récord podría
tener los siguientes campos: número de seguro social, nombre del
empleado, dirección del empleado, días acumulados por enfermedad, días
acumulados por vacaciones regulares, pago de cuotas, descuentos de seguro
social, descuentos de tasa de impuestos, etc. Se tendría un récord
por cada empleado.
- Archivo
Es un número de records relacionados que son tratados como una unidad por
ejemplo: el archivo de la nómina de empleados de cualquier institución
consiste en el récord de todos los empleados.
- Base de datos
Es una colección de datos relacionados que pueden ser estructurados en
diferentes formas para cumplir con las necesidades de proceso y recuperación.
Cómo la computadora localiza y procesa datos
- Método de acceso secuencial
Almacena records en orden ascendente o descendente determinado por la clave
de récord y datos que identifican un récord de otros. El número de
seguro social sirve como clave de récord en muchos archivos secuenciales.
El archivo debe ser leído y procesado en secuencia. Se requiere que
se lean todos los records hasta que la clave del récord deseado sea
localizada (primer récord, segundo récord, ...). Es un proceso
relativamente lento. Es apropiado para procesar muchos récords a la
vez en cintas magnéticas o discos. Se utiliza para preparar cheques
de nóminas.
- Método de acceso directo
Utiliza algoritmos o índices para localizar un récord. Un
algoritmo es una serie de pasos que se siguen para resolver un problema (por
ejemplo: una fórmula matemática o la lógica de un programa). Un
índice es una lista de las claves de récord que contiene todos los records
del archivo y sus localizaciones. El acceso directo es apropiado para
las aplicaciones donde la información es requerida, según ocurren las
preguntas. Un ejemplo del mismo es: asignar asiento en un vuelo.
Al procesar los datos la computadora usa:
- Archivos principales
Los archivos principales contienen el resumen de datos semipermanentes de
una entidad. Es la fuente permanente de datos. Ejemplos: archivos
de clientes, archivos de empleados, archivos de estudiantes, archivos de
vendedores y archivos de inventario.
- Archivos de transacciones
Son archivos temporeros que contienen los datos sobre la acción de algún
negocio. Reflejan la actividad periódica de los datos. La
información en el archivo de transacción es entrada y usada para
actualizar los records de los archivos principales. Permiten la creación
de nuevas transacciones. Se almacenan en línea o fuera de línea.
Luego se elimina o se guarda en un archivo histórico.
Dos modalidades para el procesamiento de datos son:
- Procesamiento por lotes (batch processing)
En esta modalidad los récords son agrupados y después procesados todos
a la vez. Es decir, es el procesamiento de un grupo de transacciones
de una sola vez. En este tipo de procesamiento las transacciones se
juntan en lotes y se procesan como un solo grupo. Este procesamiento
implica el reagrupamiento de datos para su procesamiento posterior. Puede
usar el sistema de acceso secuencial o acceso directo. Este tipo de
procesamiento comienza con un documento fuente (forma en la cual se inscribió
la transaccion original, por ejemplo: pedidos, pagarés en base a
tarjetas de crédito, solicitudes, etc.). Luego, la información es
examinada por un programa editor (se asegura que la información sea
registrada propiamente) y finalmente el lote es procesado. Ejemplo:
la nómina.
- Procesamiento de tiempo real
Esta modalidad está diseñada para responder en forma inmediata a las
transacciones del usuario. Tiempo real significa sin demora y
respuesta instantánea. Se procesa cada transacción, según va
entrando a la computadora, y le transmite la informacion resultante al
operador, es decir, actualiza la información. Requiere archivos de
acceso directo. Ejemplo: muchas agencias de viajes utilizan este
proceso para hacer las reservaciones porque los precios y los espacios
disponibles están cambiando constantemente y hay que actualizarlos. Otro
ejemplo son los minibancos (ATH, ATM, máquinas automáticas).
Evaluación III
Unidad III
Anterior Siguiente