0% encontró este documento útil (0 votos)
18 vistas10 páginas

IE 3 Software

El documento describe el software como el conjunto de programas que permiten a un ordenador funcionar, diferenciando entre software de base y software de aplicación. Se explican conceptos clave como programas, instrucciones, algoritmos y unidades de medida de información, así como la clasificación y componentes de los sistemas operativos. Además, se abordan los lenguajes de programación y su clasificación según diferentes criterios.

Cargado por

Hernan Paz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
18 vistas10 páginas

IE 3 Software

El documento describe el software como el conjunto de programas que permiten a un ordenador funcionar, diferenciando entre software de base y software de aplicación. Se explican conceptos clave como programas, instrucciones, algoritmos y unidades de medida de información, así como la clasificación y componentes de los sistemas operativos. Además, se abordan los lenguajes de programación y su clasificación según diferentes criterios.

Cargado por

Hernan Paz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

1

SOFTWARE
En contraste con el equipo físico (hardware), se utiliza el término software para referirse a todos los programas que se pueden
utilizar en un sistema de computación.
El software es el componente lógico que actuando sobre el hardware, permite que el ordenador pueda realizar su trabajo y
ayuda a sacar el máximo provecho del equipo, es, por consiguiente, el conjunto de programas que controlan el funcionamiento
del ordenador

PROGRAMA
Secuencia lógica y ordenada de instrucciones para resolver, mediante un computador, un determinado problema, a través de un
algoritmo.
Se dice que los programas están “escritos” por programadores. Los programas se “leen” (colocan) en una computadora y se
“corren” (procesan) por medio de la computadora como un tipo de datos. Los programas pueden revisarse y extenderse y con
frecuencia a esta actividad de le llama “mantenimiento de programas”.

INSTRUCCION
Comúnmente se entiende por instrucciones “el conjunto de reglas o normas dadas para la realización o empleo de algo”.
En informática, instrucción es la información que indica a un ordenador una acción elemental a ejecutar. Las instrucciones
tienen que ejecutarse en un orden adecuado. Así pues, una instrucción por separado no nos dice mucho; para obtener el
resultado necesitamos ejecutar el conjunto de todas las instrucciones debidamente ordenadas.

ALGORITMO
Es la descripción detallada de un procedimiento de calculo, o más generalmente, de tratamiento de datos.

UNIDADES DE MEDIDA DE LA INFORMACION


Las computadoras trabajan en forma interna en el sistema binario, por ende usa sólo dos dígitos, el 0 y el 1, cada uno de estos 0
y 1 se los llama bit (binary digit, dígito binario),
Como en sistema binario solo es posible representar dos estados (0-1, SI-N0, V-F), a los bits se los agrupa en conjuntos de a 8
a los que se denomina Byte, un byte es igual a una letra o carácter.
Un Byte puede tener 256 valores distintos (2 elevado a la 8). Lo que permite representar 256 letras, números, signos, y
símbolos especiales distintos.
Lo que se hace es adjudicar a cada valor una única letra, número, etc. determinado. Estos valores son fijos y están codificados
en una tabla de equivalencias, denominada Tabla de Caracteres ASCII.

Al hablar de cantidades grandes de bytes se utilizan prefijos:


1 Kilobyte (KB): representa 1024 bytes, o sea 2^10 bytes
1 Megabyte (MB): representa 1024 KB o 1048576 bytes, o sea 2^10 x 2^10
1 Gigabyte (GB): representa 1024 MB o 1073741824 bytes, o sea 2^10 x 2^10 x 2^10
1 Terabyte (TB): representa 1024 GB o 1099511627776 bytes, o sea 2^10 x 2^10 x 2^10 x 2^10

CODIGOS DE CARACTERES
En este momento estamos en condiciones de ver como administra la información la computadora. Aquí entra a jugar el código
de caracteres. Como ya vimos, la computadora trabaja en sistema binario y cada byte consta de 8 bits lo cual indica que puede
tener 256 valores distintos (2 elevado a la 8). Lo que hace el código de caracteres es adjudicar a cada valor un único número,
letra, etc. determinado. Al contenido de un byte (números, letras y símbolos especiales) se los llama caracteres.
Estas equivalencias se hallan establecidas en las denominadas Tabla de Caracteres, que según las distintas convenciones tienen
diferentes nombres. Así tenemos por ejemplo los códigos: HOLLERITH para tarjetas perforadas, EBCDIC, ASCII.
El código que utilizan las PC’s es el ASCII extendido (American Standard Code for Information Interchange, código estándar
americano para el intercambio de información), este código originalmente tenía 128 caracteres, ya que estaba formado por 7
bits; y en 1981 fue creado el código extendido por IBM, en cual agregó caracteres ajenos al inglés, símbolos matemáticos y
gráficos.

1
2

El código EBCDIC, (Extended Binary Code for Decimal Interchange Coded, Código Ampliado de Intercambio Decimal
Codificado a Binario) es el utilizado por la mayoría de los grandes equipos de computación (mainframes), principalmente los
de IBM.

CLASIFICACION DEL SOFTWARE


Hay dos tipos de software:
1. Software de Base:
2. Software de Aplicación:

1 SOFTWARE DE BASE
Está formado por el Sistema Operativo y los Programas Utilitarios, los cuales pueden ser suministrados por el fabricante junto
con el ordenador, o bien pueden ser adquiridos por separado, lo cual es más frecuente.

1.1 SISTEMA OPERATIVO

1.1.1 DEFINICION
Programa, o conjunto de programas, que controla y administra la utilización de los recursos de Hardware y de Software de la
computadora.
He aquí la definición teórica del término, si bien en la práctica esta definición no siempre se respeta.
En los primeros ordenadores, la simplicidad de los Sistemas Operativos (SO) forzaba al hombre a realizar tareas no específicas
del problema que trataba de resolver.
La evolución de los mismos tiende a que el ser humano se desentienda cada vez más de los trabajos de la máquina para abo-
carse de lleno a los problemas que intenta resolver con esta herramienta.
Resulta útil comparar un sistema operativo con el gobierno de un país. Algunos gobiernos controlan eficientemente cada
aspecto de su país y la población vive en forma organizada, mientras que otros no poseen la capacidad para gobernar y el
pueblo dicta sus propias reglas. De igual modo, algunos sistemas operativos son suficientemente robustos como para controlar
todas las funciones de la computadora y permitir que los programas corran organizadamente, mientras que otros dejan librado
al criterio de cada programa la utilización -correcta o no de los recursos de la máquina.

1.1.2 Componentes
En términos generales, todo sistema operativo se compone de tres partes:
• Kernel (Núcleo): realiza todas las operaciones básicas de administración de los distintos elementos de la computadora,
como la memoria, el procesador y los periféricos en general. En el MS-DOS, el núcleo reside en el archivo llamado
[Link].
• Drivers (Manejadores): rutinas encargadas de administrar periféricos específicos. El hecho de que los drivers estén bien
diferenciados del núcleo del sistema operativo permite que éste sea extendible, es decir, se pueda adaptar a innovaciones en
hardware. Los drivers básicos para la PC (consola, impresora de líneas, etc.) se ubican en el archivo [Link] del MS-DOS.
• Interface con el usuario: es la parte “visible” del sistema operativo, que nos permite controlar sus funciones a través de una
consola. En algunos casos -como el [Link] del MS-DOS- ésta interfase consiste simplemente en un intérprete
de comandos que son ingresados por el teclado. En otros casos -como en el Windows- que simula un escritorio donde se
disponen los elementos de trabajo.

1.1.3 Areas de Incumbencia de un SO:


1) Asigna espacios de memoria a los programas.
2) Asigna unidades periféricas de E/S a los archivos necesarios.
3) Carga los programas en la memoria central desde la memoria auxiliar (o sea desde los soportes de información).
4) Acepta e interpreta mensajes especiales de control. Se comunica con el operador por medio de interfases.
5) Lleva registros del estado de todos los programas activos en el sistema. Sabe cual está listo para ejecutar y cual aguarda una
operación de E/S.
6) Realiza las operaciones de E/S a solicitud de los programas.
7) Controla archivos, abre y cierra los archivos que usan los programas. Lee, escribe, e interpreta automáticamente la
información asociada a los archivos en el catálogo de volumen (directorio).
8) Controla si los archivos están activos o no. Localiza el espacio libre para la creación de archivos en los dispositivos de
acceso directo.
Estas son las funciones standard de los sistemas operativos. Las hay más y menos complejas. En resumen, un sistema operativo
distribuye todos los recursos de la configuración (memoria principal, memoria auxiliar, unidades periféricas, etc.) y la
capacidad de procesamiento en una forma eficiente entre uno o varios programas a ejecutar.

2
3

El mundo de las PC’s se ha convertido en los últimos años en una suerte de campo de batalla donde varios sistemas operativos
se disputan la preponderancia actual y futura. Las ventajas de unos sobre otros no dependen simplemente de las mayores o
menores prestaciones ofrecidas, sino de una serie de factores como existencia de software compatible, capacidad para
adaptarse a mejoras en el hardware y posibilidad de interactuar con computadoras de diferente arquitectura.
Es poco probable que un único SO llegue a dominar absolutamente el mundo de la computación. La tendencia apunta más bien
a una segmentación según las necesidades de procesamiento.
Cabe suponer, sin embargo, que la supervivencia del más apto entre los SO estará determinada por algunos de los siguientes
factores:
• multitasking: posibilidad de ejecutar distintos procesos en forma simultáneamente en una misma computadora.
• multiprocesamiento: posibilidad de ejecutar distintos procesos en forma simultánea en una computadora con más de un
procesador.
• soporte de red: si bien los servicios de una red de computadoras no son funciones propias de un SO, siempre será
preferible aquel que brinde en forma adicional facilidades como para compartir recursos y correo electrónico.
• adaptabilidad: capacidad para subsistir ante los vertiginosos avances en hardware.
• compatibilidad: capacidad para funcionar en distintas computadoras y para interactuar con distintos SO.
• intefase humana: la comunicación con el usuario dejó de ser un factor desdeñable, ya que actualmente la mayoría de los
usuarios de computadoras son no-expertos.
Además de los factores mencionados, que hacen a la calidad de un SO, intervienen muchos otros: el márketing, la resistencia a
los cambios, etc. Estas cuestiones, que son totalmente ajenas a la computación, pueden hacer caer en el fracaso al SO más
osado.

1.2 PROGRAMAS UTILITARIOS

1.2.1 Definición:
Conforman un paquete de programas que puede ser provisto por el fabricante junto con el sistema operativo, o bien adquirido
por el usuario en forma separada. Algunos de los más famosos son: PCTOOLS, NORTON COMMANDER, NORTON DISK
DOCTOR.
Existen dos clases de utilitarios:
a) Los orientados al hardware (por ej.: programas de testeo de unidades periféricas, memoria principal, etc.)
b) Los orientados al software, que permiten conocer, manejar y proteger la información de nuestro sistema.
Básicamente son programas que desarrollan, o bien tareas simples y rutinarias, o trabajos de considerable complejidad.
Estos programas están en franco proceso de desaparición debido a la absorción de sus tareas por parte del software de base.

2 SOFTWARE DE APLICACION
Son los programas que permiten la adecuada utilización del ordenador para diferentes tareas, obteniéndose de él la máxima
performance posible.
Estos pueden ser hechos por el usuario mismo o por un tercero a quien se lo encargue, estos son los denominados programas a
medida, o bien pueden ser programas comerciales, (programas enlatados) que se compran en casas de computación, estos son
los denominados programas enlatados siendo estos últimos los más difundidos y conocidos, pudiendo citar como ejemplos:
LOTUS, EXCEL, WORD, DBASE, WORD PERFECT, etc.

2.1 TIPOS DE SOFTWARE DE APLICACION


Estos son:
1. Lenguajes de Programación
2. Procesadores de Texto
3. Planillas Electrónicas de Calculo
4. Administradores de Bases de Datos
5. Graficadores
6. Programas de Comunicaciones
7. Programas de Correo Electrónico (E-Mail)
8. Programas de Autoedición
9. Programas de Diseño Asistido (CAD)
10. Programas Educativos
11. Entretenimiento

3
4

2.1.1 LENGUAJES DE PROGRAMACION

[Link] DEFINICION
Se denomina habitualmente lenguajes de programación a los lenguajes exteriores, o evolucionados, por oposición a los
diferentes lenguajes de maquina (o de nivel I), y los lenguajes ensambladores (o de nivel II). El termino “exterior” significa
aquí “independiente de la estructura de la maquina utilizada”. Programar usando un lenguaje de programación “exterior”, o de
nivel III, libera (en principio) de conocer de antemano la forma en que el constructor ha definido la estructura de la memoria,
el juego de instrucciones de la maquina, el sistema de direccionamiento, las modalidades de acceso a las unidades de entrada-
salida, etc.
No consideraremos aquí mas que los lenguajes de nivel II y III, y los denominaremos simplemente, siguiendo el uso general,
lenguajes de programación. Debe quedar claro, sin embargo, que una buena programación, cualquiera sea el lenguaje utilizado,
no ignora la arquitectura del equipo sobre el cual opera.
Un lenguaje de programación es, una notación formal que permite describir algoritmos que serán ejecutados por la
computadora.
Como toda notación formal, posee dos componentes: la sintaxis y la semántica.
La sintaxis consiste en un conjunto de reglas que especifican cómo se construyen los programas. Las reglas sintácticas son las
que indican, por ejemplo, que los paréntesis en una expresión aritmética deben estar balanceados.
Por otro lado, las reglas semánticas son las que especifican el significado de todo programa sintácticamente correcto.
Una manera sencilla de describir la semántica de un lenguaje dado, es dando una descripción intuitiva en castellano de cada
construcción del mencionado lenguaje. Obviamente una descripción de este tipo sufre las ambigüedades del lenguaje natural,
es por ello que un área de la Ciencia de la Computación estudia la forma de dar semántica mediante herramientas matemáticas.
Es difícil dar un panorama global sobre los diferentes lenguajes de programación. En primer lugar se pueden dar algunos
conceptos que pueden ser útiles en el momento de tener que decidirse por alguno:
• Todos los lenguajes poseen costos adicionales al de su compra, que son el mantenimiento de los mismos y el entrenamiento
del usuario.
• Los programas escritos sobre lenguajes estructurados tales como Pascal o C generalmente son más fáciles para desarrollar,
depurar, mantener y modificar.
• El elegir un lenguaje común hace que haya disponible en el mercado mucha gente calificada y experimentada en el mismo,
que puede llegar a ser muy útil para aclarar consulta, dudas, etc. Todo programador sabe muy bien lo que es encontrarse
con uno de esos problemas que pueden llevar varios días de trabajo antes de encontrar su solución.
• Si no se tiene muy en claro la aplicación que se va a desarrollar, es conveniente invertir en un lenguaje tal que los
programas escritos en él sean fácilmente modificables, tal como un lenguaje de cuarta generación, aunque este requiera de
mas hardware para funcionar.
• Tener en cuenta la portabilidad. Es conveniente asegurarse de no utilizar un lenguaje exótico con portabilidad limitada.

Puntos a tener en cuenta cuando se enumeran las características de los lenguajes de programación:
rapidez de ejecución
entorno de trabajo
modularidad
acceso a archivos
legibilidad de los programas
documentación disponible

[Link] CLASIFICACION DE LOS LENGUAJES DE PROGRAMACION


Los lenguajes de programación pueden clasificarse de varias formas a saber:

[Link].1 Según el paradigma de programación al que pertenecen:


a) Imperativos o Procedurales
b) Funcionales
c) Lógicos
d) Orientados a Objetos

[Link].2 Por niveles de ejecución:


a) Lenguajes de Alto Nivel
b) Lenguajes de Bajo Nivel

4
5

[Link].3 Por forma de ejecución:


a) Lenguajes compilados
b) Lenguajes Interpretados

[Link].4 Por nivel de complejidad:


a) Aplicativos
b) Simples
c) Intermedios
d) Complejos y Muy Complejos

[Link].4.1 PARADIGMAS DE PROGRAMACION


Un paradigma de programación es un modelo, forma o manera de programar. Los cuatro paradigmas básicos de programación
son: el Procedural o Imperativo, el Lógico, el Funcional y el Orientado a Objetos.
La mayoría de la gente está acostumbrada a tratar con el primero de ellos, debido a que los lenguajes que lo implementan
salieron rápidamente al mercado mientras que los otros permanecieron bastante tiempo más dentro de los ámbitos
universitarios o de investigación, por ello les resulta difícil imaginar cuáles pueden ser otras formas de programar. Sin
embargo, existen otros paradigmas de programación totalmente distintos.
Seguidamente se explican brevemente estos paradigmas.

[Link].4.1.1 Imperativos o Procedurales


Son los más difundidos, dan órdenes a la máquina para procesar los datos de determinada forma.
La utilización de las siguientes características que poseen los lenguajes operativos es el factor común que poseen:
• variables: los valores de los datos son almacenados en celdas. Estas celdas deben ser nombradas; en los lenguajes de bajo
nivel esta necesidad se hace muy obvia, en aquellos de más alto nivel esta noción se representa mediante variables.
• operación de asignación: muy relacionada con lo antes mencionado está la necesidad de guardar cada valor, siendo para
ello necesaria la operación de asignación.
• repetición: un programa en un lenguaje imperativo generalmente cumple su cometido mediante la ejecución repetida de una
secuencia de pasos elementales.

[Link].4.1.2 Funcionales
Se apoya en el concepto matemático de función (la cual es su teoría subyacente), y su esencia es la de combinar funciones para
producir otras de mayor potencia.
En principio, un programa escrito bajo este paradigma no tendría ninguna “instrucción” en particular, sino que estaría formado
por una o más funciones.
Se recordara que son las funciones: son relaciones entre elementos de conjuntos, que toman valores pertenecientes a él o los
conjuntos de salida. Por ejemplo, matemáticamente se define la función suma entre números naturales como:
suma: N x N -> N
Lo que indica que esta función tomará dos números naturales como entrada y devolverá un número natural.
La gran diferencia entre las funciones de los lenguajes imperativos y los funcionales es que en los primeros los parámetros son
nombres de celdas, que eventualmente pueden ser modificados. Incluso pueden cambiarse los valores de variables que hay en
común entre quien invoca la función y ésta.
La programación funcional tiene como objetivo evitar estos efectos oscuros y resuelve este problema considerando a un
parámetro de una función como algo fijado en el momento de aplicación de la misma.
Las primeras implementaciones de este paradigma datan de la década del 50. Sin embargo se tardo bastante tiempo en
conseguir que este deje los ámbitos universitarios.
El lenguaje mas conocido y el primero de este paradigma es el LISP, existiendo varios otros que lo utilizan (ej.: APL). Uno de
ellos implementa un conjunto reducido de este paradigma, tal es el caso del LOGO.

[Link].4.1.3 Lógicos
La base de la programación lógica es la de codificar el problema y no su solución (que es como se hace en la programación
procedural). Su objetivo es permitir en cierto modo ejecutar directamente las especificaciones, lo que se busca es que el
programador simplemente enuncie las propiedades que cuenta el problema al cual se le busca solución.
En este modelo de programación la descripción del problema se da mediante la implementación de algún formalismo lógico.

5
6

Su implementación se basa en la interpretación del cálculo de predicados de la lógica tradicional, restringido a cláusulas de
Horn. Si esto no se entiende puede verse con un ejemplo:
Una “instrucción” en un paradigma lógico tendría este aspecto:
si premisa1 y premisa2 y.... y premisaN entonces conclusión
Cuando se habla del cálculo de predicados se habla de las oraciones del tipo “si... entonces..”. Los predicados tienen la forma:
Predicado(parametro1,....,parámetroN)
Las cláusulas de Horn son predicados que tienen una y solo una conclusión.
El lenguaje típico que cumple con este modelo es el Prolog (PROgramming in LOgic), que fue presentado a principios de la
década del ‘70 en Francia.

[Link].4.1.4 Orientado a Objetos


En este paradigma lo que se persigue es modelar los sistemas como un conjunto de objetos que pueden comunicarse unos con
otros a través de mensajes. Los objetos de software son paquetes que contienen una cierta cantidad de datos y los programas
necesarios para procesarlos. Se puede representar como un objeto cualquier elemento relevante que forme parte de una
aplicación.
Los objetos no sólo describen aquello que representan sino que además actúan. La mayor ventaja de los objetos es que pueden
ser reutilizados en diferentes programas.
Como representante nato de programación orientada a objetos se encuentra el Smalltalk, el cual fue el primer programa que
implemento este paradigma.
Actualmente este modelo de programación se esta imponiendo en aplicaciones prácticas, ya que han nacido dialectos que
combinan la programación orientada a objetos con la programación tradicional. Un ejemplo típico de estos dialectos es el C++.

[Link].4.2 POR NIVELES


Los lenguajes de programación se dividen en niveles. Los hay de Alto y Bajo Nivel. Ya sabemos que las instrucciones de
máquina son muy simples como por ejemplo: extraer un número de la memoria, activar la Unidad Aritmético-Lógica, ordenar
volver a guardar el resultado en memoria.
En los lenguajes de Bajo Nivel, se necesita una instrucción de lenguaje simbólico par cada instrucción de máquina. En cambio
si cada instrucción en lenguaje simbólico es equivalente a varias instrucciones en lenguaje de máquina, estamos en presencia
de un lenguaje de Alto Nivel.

[Link].4.3 POR FORMA DE EJECUCION

Según la forma en que se ejecutan los programas escritos con ellos, los lenguajes de programación se dividen en: lenguajes
compilados y lenguajes interpretados.

[Link].4.3.1 Lenguajes Compilados


La traducción de un programa escrito en un lenguaje de programación dado (llamado programa fuente) a su equivalente
ejecutable por la maquina (denominado programa objeto), esta asegurada por un programa especializado llamado compilador,
por lo tanto, se denomina Compilación al proceso de traducción de un programa fuente, a programa objeto (en lenguaje de
máquina).
La compilación comprende los siguientes pasos:
a) Traduce cada instrucción del programa fuente a una o varias en lenguaje de Bajo Nivel, controlando que haya respetado la
sintaxis del lenguaje.
b) Traduce el programa (de Bajo Nivel) obtenido en el paso a) a lenguaje de máquina, adjudicando a cada nombre simbólico
una dirección en la memoria principal.
Se denomina Linkedición al proceso de incorporación a nuestro programa (tal como lo dejamos en el paso b) de módulos
(también en lenguaje de máquina) que él necesita y que forman parte del software de base. De esta manera se van resolviendo
las llamadas externas. Estos módulos se irán intercalando en los lugares que corresponda. En estos están incluidos operaciones
que se encuentran repetidas en la mayoría de los programas de aplicación (ej.: apertura y cierre de archivos).
De esta forma se evita repetir un mismo conjunto de instrucciones que en la mayoría de los casos solo difieren en algunos
parámetros (nombre de archivo, campo, etc.), que se encontraran especificados en la sentencia de llamada. Recién luego de
este proceso podemos afirmar que el programa es ejecutable.

[Link].4.3.2 Lenguajes Interpretados

6
7

El hecho de que un Interprete tenga una filosofía distinta al compilador/linkeditor, no cambia el hecho de que el computador
entienda solo instrucciones en lenguaje de máquina. Por lo tanto y partiendo de un programa en lenguaje de programación, este
también tendrá que ser traducido a lenguaje de máquina, si bien el método es distinto.
Este consiste en realizar para cada instrucción en lenguaje de programación el proceso equivalente al de Compilación,
Linkedición y Ejecución. De aquí se deduce que es necesario que el interprete esté presente en la memoria junto con el
programa, mientras el compilador/linkeditor, una vez usados, no ocupan lugar en memoria.

[Link].4.4 POR NIVEL DE COMPLEJIDAD


Para comenzar con esta clasificación debemos explicar previamente que es la ideología de un lenguaje.
Por ideología se entiende una cierta visión de cómo hay que plantear soluciones a ciertos problemas y también el curso
evolutivo de la tecnología en el tiempo).

[Link].4.4.1 Lenguajes aplicativos:


Son aquellos que constituyen la herramienta de programación que es ofrecida al usuario para manejarse en un entorno
especifico, antiguamente se conocían como lenguajes de productividad, típicamente son los lenguajes de macros de Lotus,
Excel o Word.
Lo que tienen en común es que son lenguajes cuyo propósito no excede el ámbito de aplicación del entorno que le dio origen,
ya que son simplemente una interfase de servicios al entorno.
Funcionan bajo condiciones muy controladas y asistidas, normalmente son interpretados, solo excepcionalmente se cuenta con
compiladores.
En general son más simples de aprender y su curva de aprendizaje es menor, sin embargo su alcance de aplicación esta
limitado al entorno que les dio nacimiento.
Una excepción notable y digna de estudio en esta categoría es el lenguaje de programación de dBASE, el que se origino como
una herramienta para utilizar el dBASE II, luego evoluciono y también sufrió una divergencia en su sintaxis por la aparición de
dialectos como ser FOX,y CLIPPER.
Con todas esta mutaciones el lenguaje fue tornándose más poderoso y complejo, excediendo en mucho lo que era su propósito
original.

[Link].4.4.2 Lenguajes Simples:


Son de propósito general, sin una ideología en especial subyacente salvo la de resolver problemas. Es muy común que sean
interpretados y a veces cuenten con compiladores. Son de Alto Nivel para poder brindar suficiente asistencia al usuario tanto
en el diseño como en la corrida de los programas.
Brindan al usuario herramientas para solucionar los temas que más frecuentemente tiene que tratar. No poseen estándar, lo cual
hace su portabilidad difícil o más bien un capricho del fabricante. La curva de aprendizaje depende de cada producto por la
falta de estándares, y porque cada fabricante incluye en el producto cuanto le place. Otro factor que influye en la curva de
aprendizaje es la situación tecnológica al momento en el que fue creado el lenguaje.

[Link].4.4.3 Lenguajes intermedios:


Son mas estructurados y tienen una mayor cantidad de ideología subyacente. Estos lenguajes tienen una visión más filosófica
de lo que es la resolución de problemas, la cual incluye una cierta adaptación planeada a los cambios que provoque la
tecnología.
El nivel de complejidad inicial para este tipo de lenguajes es lógicamente mayor y conlleva una curva de aprendizaje mas
larga.
Es frecuente que estos lenguajes ya posean un compilador y un entorno que incluya debuggers para la asistencia en el diseño.
La portabilidad teórica depende de si hay un cuerpo de estándares que defina los criterios del lenguaje y por ende en base a una
especificación permita a los fabricantes ofrecer productos que utilicen la sintaxis del lenguaje en distintos entornos.
La portabilidad real depende de la capacidad del programador para escribir con lógica portable.

[Link].4.4.4 Lenguajes complejos y muy complejos:


Estos ya tienen una relación inversa entre filosofía de diseño y uso del lenguaje; es impráctico e inefectivo en estos casos
estudia el lenguaje sin necesariamente antes estudiar la filosofía subyacente de diseño.
El nivel de complejidad es sensiblemente mayor que en los lenguajes anteriores, pero los problemas que ambicionan resolver
también son sensiblemente más delicados.

7
8

Se cuenta con cuerpos de estándares que son mas o menos activos, que emiten normas de evolución sintáctica del lenguaje en
cuestión.
La portabilidad teórica es mucho más amplia que en los casos anteriores. Sin embargo la portabilidad practica puede acercarse
a la teórica o por el contrario hacerse mucho más difícil que en los casos de lenguajes más simples dependiendo de su grado de
conocimiento de entre que y que quiere portar las cosas.
La curva de aprendizaje es mucho más larga por el hecho de que requiere una serie de conocimientos a priori.
Algunos ejemplos de estos lenguajes son: C, ADA, MODULA, APL, SMALLTALK, ASSEMBLER

2.1.2 PROCESADORES DE TEXTO


¿Qué es un procesador de texto?, como su nombre lo indica es un programa que permite procesar los diferentes textos que uno
pueda utilizar, esto es: cartas, memorándum, informes, o todo aquello que Uds. obtendrían con una máquina de escribir, pero
con una gran diferencia: se pueden modificar los documentos (de aquí en mas llamaremos así a las cartas, memos, informes,
etc.) tantas veces como se desee hasta obtener realmente que uno se propone, colocar tipografías especiales, títulos, y una vez
que se ha decidido cuál será el documento final, puede listarlo tantas veces como Ud. desea; esto permite ahorrar mucho
tiempo en retipeo de los documentos.

2.1.3 PLANILLAS DE CALCULO


Una planilla de cálculo es un programa que sirve para organizar y almacenar información en forma de tablas, efectuar cálculos
sobre esa información y graficarla. Por ejemplo, podríamos construir una planilla conteniendo ventas mensuales de un
producto, y hacer que la computadora calcule y grafique las variaciones porcentuales mes a mes. También podríamos hacer
que calcule cuales serian las ventas de ese producto en los próximos meses si se mantienen las tendencias de ventas. Podríamos
armar una planilla con ventas de varios productos, y luego hacer un gráfico de torta para ver en un instante cual es el más
vendido. Por supuesto, las planillas pueden ser grabadas en disco, y luego recuperadas para consultarlas o seguir trabajando en
ellas.
En una definición más formal, una planilla de cálculo es una disposición rectangular de celdas, cada una de las cuales está
definida por la intersección de una fila y una columna. Las celdas pueden contener información de cuatro tipos: texto,
números, fechas o fórmulas. La función de los textos es describir las distintas zonas de la planilla, una aclaración de que
contienen. Los números son los datos que se van a procesar, y las fórmulas indican cómo deben procesarse esos números.
Por ejemplo, podríamos multiplicar el contenido de una celda por el de otra, y poner el resultado en una tercera. Si se cambia
(a mano) el valor de alguna de las dos celdas que contienen los valores, la tercera celda se actualiza automáticamente para
mostrar el nuevo resultado. Esto permite la construcción de una planilla “modelo” para un problema determinado, que
contenga textos descriptivos y fórmulas, y luego, al ingresar los valores, la computadora realizara todos los cálculos indicados.
De la misma manera una vez que todo está armado, el usuario podría preguntarse qué ocurriría con los resultados de todos los
cálculos si se cambia uno de los valores. Para saberlo basta con cambiar ese valor, y en un instante (o un poco más,
dependiendo de la maquina), tendrá todos los resultados recalculados.

2.1.4 PROGRAMAS DE AUTOEDICION


El termino Autoedición (Desktop Publishing) se refiere al uso de la computadora personal como herramienta de producción
para generar texto con calidad de impresión y gráficos.
Esta actividad tiene sus orígenes en la utilización de procesadores de texto, cuando los programadores comenzaron a ver este
software como herramienta para preparar manuales de los programas que escribían, Sin embargo, estos manuales eran
impresos en impresoras de baja resolución, lo que los hacía poco atractivos para su distribución al público. Las investigaciones
llevadas a cabo en los laboratorios de Xerox Corporation, demostraron la factibilidad técnica de producir documento de alta
calidad utilizando software con WYSIWYG: “What You See Is What You Get” (este término extraño se refiere a la
posibilidad de ver en pantalla lo que saldrá impreso) e impresoras láser. Pero con los precios de ese momento, estos sistemas
eran prohibitivos para la mayoría de las empresas.
El rápido crecimiento de la autoedición como una aplicación de las computadoras personales fue posible gracias a cuatro
innovaciones claves:
1. La disponibilidad de computadoras no muy caras capaces de combinar texto y gráficos en pantalla (el caso Macintosh).
2. El desarrollo de programas de diagramación.
3. El desarrollo de lenguajes de descripción de páginas.
4. La aparición de impresoras láser de precio moderado.
Debido a que estas innovaciones tuvieron lugar en ambiente Macintosh, estas computadoras se adueñaron del terreno de la
autoedición. Las computadoras PC tuvieron que resolver ciertos problemas de memoria e interfase para poder competir con las
Macintosh.

[Link] Componentes de la Autoedición


8
9

Se componen de programas de diagramación y de programas de ilustración

[Link].1 Programas de Diagramación:


Conocido también como programas de composición de páginas (page layout), estas aplicaciones se utilizan para combinar
textos y gráficos provenientes de distintas fuentes y determinar con precisión su ubicación y tamaño dentro de un diseño de
pagina presentado en pantalla.
La gran ventaja que ofrecen los programas de diagramación consiste en la posibilidad de ver en pantalla los documentos tal
cual como saldrán impresos. También cuentan con “cajas de herramientas” que siempre están al alcance de la mano -más
precisamente del mouse- y que contienen los elementos necesarios para realizar casi todo el trabajo.

[Link].2 Programas de Ilustración:


Estos programas son capaces de que cualquier dibujante se sienta frente a la computadora como si estuviera frente a su tablero.
En general, todos ellos presentan en la pantalla una hoja limpia, capaz de repeler cualquier mancha indeseable con una simple
operación del mouse. De estos programas existen dos variedades, los de tipo paint, basados en pixel, y los de tipo draw,
basados en vectores.

2.1.5 CAD
El diseño asistido por computadora (CAD; Computer Aided Design) fue durante algún tiempo patrimonio exclusivo de las
grandes computadoras y los poseedores de PC’s solo podíamos enterarnos de la existencia de esta disciplina a través de
documentales televisivos. Sin embargo, gracias al crecimiento experimento por las computadoras personales en materia de
capacidad de procesamiento, hoy en día cualquiera de nosotros puede tener en la máquina de su escritorio un poderoso
programa CAD.
La sigla a la que hacemos referencia está íntimamente relacionada con otras dos siglas parecidas: CAM (Computer aided
Manufacturing, Fabricación Asistida por Computadora) y CAE (Computer Aided Engineering, Ingeniería Asistida por
Computadora). Las tres siglas se suelen utilizar en conjunto (CAD/CAM/CAI) ya que hasta cierto punto se refieren a una
misma cosa. El diseño hecho en computadora puede ser utilizado por un ingeniero para construir un prototipo “soft”, es decir,
que no tiene presencia física. Este prototipo puede ser testeado virtualmente y los errores encontrados pueden corregirse con
rapidez, sin necesidad de borronear planos o tirar maquetas a la basura. Estas ventajas dan origen a la sigla CAE. De igual
modo, un modelo construido con un sistema de CAD puede descomponerse en las piezas que lo conforman, y pueden
obtenerse cálculos respecto a las cantidades de materiales, calibración de herramientas, y demás datos necesarios para acelerar
procesos de fabricación. Esto indica el porqué de la sigla CAM.
Hasta ahora hemos hablado únicamente de ingenieros y fábricas, pero el diseño asistido por computadora también se utiliza
con probados resultados en diversas actividades, como arquitectura, diseño de interiores, e inclusive, paisajismo. Con un
sistema de CAD, el arquitecto puede construir una casa en forma virtual y permitir que sus clientes recorran la totalidad de sus
rincones cuando ni siquiera están cavados los cimientos. Un moderno paisajista podría, por su parte, construir un “jardín
virtual” y mostrarlo con la luz del amanecer o del atardecer, en primavera o en otoño, además de agregar o sacar árboles,
arbustos y canteros sin ensuciarse las manos con tierra.

[Link] SOFTWARE PARA CAD


Un sistema de CAD nos permite, en principio, dibujar en la pantalla de nuestra PC como si estuviéramos sobre un tablero de
dibujo. A partir de ahí nos ofrece una gran cantidad de herramientas para que un simple dibujo se convierta en un modelo
representativo de un objeto físico. Es entonces donde se distinguen las dos grandes ramas de programas de CAD: de 2
dimensiones (2D) y de 3 dimensiones (3D).
Un programa de CAD de 2 dimensiones es un pariente cercano de los programas de dibujo utilizados en autoedición. Sus
herramientas nos permiten realizar dibujos con gran precisión combinando figuras geométricas básicas como líneas rectas o
curvas rectángulos, óvalos, etc. Estas se pueden agrandar, achicar, rotar, colorear o lo que nuestra voluntad disponga. ¿Dónde
está entonces la diferencia con un programa de autoedición?
Un ingeniero podría dibujar sus planos utilizando un programa de autoedición, pero los efectos especiales que estos ofrecen, si
bien son muy interesantes para un diseñador gráfico, carecen de utilidad para su trabajo especifico. Además, un programa CAD
2D normalmente ofrece utilidades que aceleran y facilitan el trabajo de diseño, como lenguajes de macros, listados automáticos
de materiales, soporte para plotters o trabajo por coordenadas y vectores.
La sigla CAD es a menudo utilizada informalmente para referirse a los programas de modelización en tres dimensiones, ya que
este tipo de trabajo es la parte del diseño asistido por computadora que más salta a la vista. La forma de trabajar con un
programa CAD 3D es análoga a la mencionada par el CAD 2D. Todo diseño se realiza a partir de objetos geométricos básicos,
solo que en este caso los objetos no solamente tienen ancho y largo, sino también profundidad: esferas, cubos, cilindros, y
muchos más.
Inicialmente, estos objetos tienen el aspecto de maquetas elaboradas con alambres e hilos, ya que solo pueden verse sus bordes.
Para darles, “solidez” se les deben asignar colores y determinar la ubicación en el espacio de una fuente de luz, a partir de lo
cual cada cara del objeto se verá con una mayor o menor intensidad del color asignado, según como este ubicada esta cara
respecto a la fuente de luz. Algunos programas ofrecen tramas, además de colores lisos, que se pueden utilizar para pintar las
caras de un objeto, con lo cual adquieren un realismo mucho mayor.

9
10

Editar un cuerpo geométrico de 3 dimensiones puede resultar más complejo que editar un figura en 2 D. En este último caso,
bastaba con mover puntos, estirar líneas o cambiar la concavidad de una curva. Para lo primero, los programas de
modelización en 3D cuentan con herramientas más poderosas. Además de componer un objeto a partir de cuerpos elementales
como esferas o cubos, estos se pueden seccionar con un plano como si fuera una filosa navaja, en cualquier ángulo que se
desee.
Por más que un programa de CAD nos permita crear virtualmente un objeto con tres dimensiones, la pantalla de la PC aun
sigue siendo plana. La ilusión de la tercera dimensión se crea gracias a la posibilidad de hacer girar los objetos en torno a
cualquiera de los tres ejes de coordenadas espaciales, y ver la imagen que resulta de proyectar el objeto en las dos dimensiones
de la pantalla. De este modo podremos verlo desde el ángulo que más nos guste. Además, estos programas suelen permitir que
se divida la pantalla en varias ventanas para poder ver el objeto desde arriba, desde el costado, de frente y en perspectiva, todo
en la misma pantalla.
El conocido comando Zoom, que en los programas de dibujo nos permite simplemente ver en detalle nuestro trabajo, en un
programa 3D sirve más bien para entrar en él.

[Link] HARDWARE PARA CAD


El monitor es un factor de gran importancia tanto en lo que se refiere a la resolución como a la cantidad de colores. Cuanta más
resolución tenga el mismo, mayor continuidad se observara en las líneas trazadas, y cuantos más colores sea capaz de mostrar
simultáneamente, mayor suavidad tendrán las superficies curvas.
Como dispositivos de salida se destaca el plotter, similar a la impresora en el sentido que también arroja resultados escribiendo
sobre papel pero diferente de esta en su mecanismo. El plotter cuenta con una serie de marcadores especiales de punta muy
fina de distintos colores, que van trazando el papel según las indicaciones de la computadora. Por esta razón es ideal para el
dibujo de planos y poco adecuado para imprimir grandes áreas coloreadas. Existen plotters de gran tamaño (proporcional a su
costo) capaces de imprimir sobre papeles del tamaño de un tablero de dibujo.
Cuando se habla de autoedición, es inevitable mencionar al scanner, ese accesorio capaz de captar imágenes provenientes de
superficies planas. Ahora existe una contrapartida de este dispositivo para uso en CAD: un scanner 3D. Este artefacto utiliza un
rayo láser para determinar la forma de un cuerpo con una precisión de 0,0015 pulgadas a razón de 85 puntos por segundo. Con
un software asociado es posible corregir imperfecciones en la imagen obtenida por el scanner y enviar la información a un
programa de CAD para su posterior procesamiento.
Si bien existe una gran variedad de programas CAD para uso en PC’s, en ámbitos profesionales se utilizan estaciones de
trabajo poderosísimas conectadas en red, para trabajar según una nueva metodología conocida como ingeniería concurrente. La
idea básica de esta forma de trabajo es que varios ingenieros puedan utilizar simultáneamente un mismo archivo CAD, con la
posibilidad de que cada uno pueda observar desde su estación de trabajo las modificaciones que introducen sus colegas. Estas
estaciones de trabajo utilizan procesadores de tipo RISC, tienen monitores de 27 pulgadas capaces de mostrar dos millones de
pixels. Sus precios oscilan entre los 10000 y los 50000 U$S.

10

También podría gustarte