You are on page 1of 81

COMPUTACION E

INFORMATICA
SE CONOCE COMO TECNOLOGIA DE LA INFORMACION A LA
UTILIZACION DE LA TECNOLOGIA ESPECIFICAMENTE
COMPUTADORAS Y ORDENADORES ELECTRONICOS PARA EL
MANEJO Y PROCESAMIENTO DE INFORMACION
ESPECIFICAMENTE LA CAPTURA, TRANFORMACION,
ALMACENAMIENTO, PROTECCION, Y RECUPERACION DE
DATOS DE INFORMACION.

INTRODUCCION A
LA TECNOLOGIA DE
LA INFORMATICA

COMPUTACION E INFORMATICA

AO DE LA INTEGRACION NACIONAL
Y EL RECONOCIMIENTO DE NUESTRA
DIVERSIDAD

INSTITUTO LEONARDO DA VINCI

COMPUTACION E INFORMATICA

WILSON CESAR RONDON SANTOS

COMPILADO POR WILSON CESAR RONDON SANTOS

COMPUTACION E INFORMATICA

INTRODUCCION A LAS T.I.


TEMAS:

LENGUAJE DE PROGRAMACION

PROGRAMACION VISUAL

BASE DE DATOS

HERRAMIENTAS CASE

COMPILADO POR WILSON CESAR RONDON SANTOS

LENGUAJES DE PROGRAMACION .............................................................................. 4


HISTORIA Y EVOLUCIN .......................................................................................... 4
1.

INTRODUCCION.................................................................................................. 4

2. DEFINICIONES ....................................................................................................... 4
3. HISTORIA ................................................................................................................ 5
4. LAS TENDENCIAS DE LOS LENGUAJES DE PROGRAMACIN ......................... 6
5. CLASIFICACION DE LOS LENGUAJES DE PROGRAMACIN .......................... 10
5.1. LENGUAJE MQUINA: .................................................................................. 10
5.2. LENGUAJES DE BAJO NIVEL (ensamblador): .............................................. 11
5.3. LENGUAJES DE ALTO NIVEL: ...................................................................... 12
6. EVOLUCION DE LOS LENGUAJES DE PROGRAMACIN................................. 25
6.1. Primera Generacin ........................................................................................ 27
6.2. Segunda Generacin ...................................................................................... 28
6.3. Tercera generacin ......................................................................................... 29
6.4. Cuarta Generacin .......................................................................................... 30
6.5. Quinta Generacin .......................................................................................... 31
7. ELEMENTOS DE LENGUAJES DE PROGRAMACIN ........................................ 31
7.1. OPERADORES ............................................................................................... 32
7.2. DECLARACIONES. ........................................................................................ 32
7.3. CONSTANTES................................................................................................ 32
7.4. VARIABLES .................................................................................................... 33
7.5. VARIABLES Y VECTORES ............................................................................ 34
7.6. FUNCIONES DE BIBLIOTECA ....................................................................... 35
7.7. CONDICIONANTES ........................................................................................ 35
7.8. BUCLES .......................................................................................................... 36
7.9. SINTAXIS ........................................................................................................ 36
7.10. SEMANTICA ESTATICA ............................................................................... 38
8. SISTEMA DE TIPOS ............................................................................................. 39
8.1. Lenguajes tipados versus lenguajes no tipados .............................................. 39
8.2. Tipos estticos versus tipos dinmicos ........................................................... 40
8.3. Tipos dbiles y tipos fuertes ............................................................................ 40

COMPUTACION E INFORMATICA
8.5. Implementacin ............................................................................................... 41
Cdigo fuente de un programa escrito en el lenguaje de programacin Java. .......... 41
8.6. Tcnica ........................................................................................................... 42
8.7. Paradigmas ..................................................................................................... 43
PROGRAMACION VISUAL ........................................................................................... 44
1. INTRODUCCION A LA PROGRAMACION VISUAL.............................................. 44
2.

LA PROGRAMACION VISUAL........................................................................... 44

3.

LENGUAJES DE PROGRAMACION VISUAL .................................................... 44

4. CLASIFICACION DE LOS LENGUAJES VISUALES ............................................ 46


5. PRINCIPALES CONCEPTOS DE LOS LENGUAJES VISUALES......................... 46
6. CASO DE ESTUDIO: IMPLEMENTACION DE UNA NEURONA ARTIFICIAL CON
SAN SCRIPT ............................................................................................................. 47
7. EL ENTORNO DE TRABAJO. ............................................................................... 48
7.1. Colocacin de controles en el formulario ........................................................ 49
7.2. Eliminacin de un control colocado en el formulario ....................................... 49
8. VARIABLES Y CONSTANTES .............................................................................. 50
8.1. Las variables. .................................................................................................. 50
8.1.1. Tipos de datos .......................................................................................... 51
8.2. Las constantes ................................................................................................ 52
8.2.1. Constantes predefinidas de Visual Basic.................................................. 53
A.- Estructura de decisin simple.................................................................... 53
A.1.- Expresiones lgicas. ....................................................................... 54
B.- Estructura de decisin mltiple.................................................................. 54
C.- Estructuras de repeticin........................................................................... 55
D.- Estructura Do While Loop: ..................................................................... 55
D.1.- anlisis de un problema. ................................................................ 55
D.2.- Sintaxis. .......................................................................................... 55
D.3.- Las principales caractersticas son: ................................................ 55
E.- Estructura Do Until Loop ........................................................................ 55
F.- Estructura For Next ................................................................................ 56
F.1.- Funciones predefinidas ................................................................... 56
COMPILADO POR WILSON CESAR RONDON SANTOS

COMPUTACION E INFORMATICA
F.2.- Funciones numrica y de conversin de tipos ................................. 56
F.3.- Funciones para el tratamiento de cadenas ...................................... 56
Algunas de las funciones predefinidas ms usuales que operan con
cadenas de caracteres son las siguientes:........................................... 56
F.3.1.- Las animaciones en Visual Basic.............................................. 56
a). Su sintaxis es: ............................................................................. 57
b). El mtodo Circle .......................................................................... 57
c). El mtodo Line ............................................................................. 57
d). Manipulacin de formularios ........................................................ 57
9.- CONCLUSIONES. ................................................................................................ 58
BASE DE DATOS ......................................................................................................... 59
1.- INTRODUCCION Y CONCEPTO. ........................................................................ 59
2.- TIPOS DE BASE DE DATOS. .............................................................................. 59
2.1.- Segn la variabilidad de los datos almacenados ........................................... 59
2.2.- Segn el contenido ........................................................................................ 60
2.3.- Modelos de bases de datos ........................................................................... 61
3.- LENGUAJE........................................................................................................... 64
4.- VENTAJAS ........................................................................................................... 64
5.- DESVENTAJAS.................................................................................................... 64
6.- FASES .................................................................................................................. 64
7.- INTERPRETACION .............................................................................................. 65
8.- MECANISMOS ..................................................................................................... 65
9.- GESTION DE BASES DE DATOS DISTRIBUIDA (SGBD) .................................. 65
HERRAMIENTAS CASE ............................................................................................... 66
1.- INTRODUCCION Y CONCEPTO. ........................................................................ 66
2.- HERRAMIENTAS CASE ...................................................................................... 67
3.- HISTORIA ............................................................................................................ 67
4.- TECNOLOGIA CASE ........................................................................................... 68
5.- OBJETIVOS DE LA TECNOLOGIA CASE ........................................................... 68
6.- AUTOMATIZAR .................................................................................................... 68
7.- PERMITIR ............................................................................................................ 68
COMPILADO POR WILSON CESAR RONDON SANTOS

COMPUTACION E INFORMATICA
8.- COMPONENTES DE LAS HERRAMIENTAS CASE............................................ 69
9.- ESTRUCTURA GENERAL DE LAS HERRAMIENTAS CASE ............................. 69
10.- ESTADO ACTUAL .............................................................................................. 70
11.- INTEGRACION DE LAS HERRAMIENTAS CASE EN EL FUTURO .................. 70
12.- CLASIFICACION DE LAS HERRAMIENTAS CASE .......................................... 71
13.- CARACTERISTICAS DE LAS HERRAMIENTAS CASE .................................... 72
14.- DEBERES DE LAS HERRAMIENTAS CASE CLIENTE / SERVIDOR ............... 72
15.- FACTORES ASOCIADOS A LA IMPLANTACION DE LAS HERRAMIENTAS
CASE ......................................................................................................................... 74
16.- OBJETIVOS ....................................................................................................... 74
17.- CONCLUCION ................................................................................................... 74

COMPILADO POR WILSON CESAR RONDON SANTOS

COMPUTACION E INFORMATICA

LENGUAJES DE PROGRAMACION
HISTORIA Y EVOLUCIN
1. INTRODUCCION.
Los ordenadores no hablan nuestro idioma, son mquinas y como tales, necesitan un
lenguaje especfico pensado por el hombre para ellas. Adems, necesitan
constantemente interpretar todas las instrucciones que reciben. Dada la dificultad de
comunicacin insalvable entre el computador y el programador, pronto aparecieron
lenguajes de programacin que hacen posible la comunicacin con el microprocesador,
utilizando trminos y smbolos relacionados con el tipo de problema que se debe
resolver, mediante el empleo de herramientas que brinda la informtica.
Estos lenguajes permiten, por un lado, escribir las operaciones que son necesarias
realizar para resolver el problema de un modo parecido a como se escribira
convencionalmente (es decir, redactar adecuadamente el algoritmo de resolucin del
problema) y, por el otro, se encarga de traducir el algoritmo al lenguaje mquina
(proceso conocido como compilacin) con lo que se le confiere al programa la
capacidad de correr (ser ejecutado) en el ordenador. El ordenador es en realidad tan
slo una mquina virtual, capaz de resolver todos los problemas que los usuarios
seamos capaces de expresar mediante un algoritmo (programa).
En la actualidad hay muchos tipos de lenguajes de programacin, cada uno de ellos
con su propia gramtica, su terminologa especial y una sintaxis particular. Por ejemplo,
existen algunos creados especialmente para aplicaciones cientficas o matemticas
generales (BASIC, FORTRAN, PASCAL, etc. ); otros, en cambio, se orientan al campo
empresarial y al manejo de textos y ficheros, es decir, son en realidad
fundamentalmente gestores de informacin (COBOL, PL/1, etc. ), o muy relacionados
con el lenguaje mquina del ordenador (como el C y el ASSEMBLER).
Los ordenadores se programaban en lenguaje mquina pero las dificultades que esto
conllevaba, junto con la enorme facilidad de cometer errores, cuya localizacin era
larga y compleja, hicieron concebir, en la dcada de los 40, la posibilidad de usar
lenguajes simblicos. Los primeros en aparecer fueron los ensambladores,
fundamentalmente consista en dar un nombre (mnemnico) a cada tipo de instruccin
y cada direccin (etiqueta). Al principio s hacia el programa sobre papel y, despus se
traduca a mano con la ayuda de unas tablas, y se introducan en la mquina en forma
numrica, pero pronto aparecieron programas que se ensamblaban automticamente.
2. DEFINICIONES
Se asume generalmente que la traduccin de las instrucciones a un cdigo que
comprende la computadora debe ser completamente sistemtica. Normalmente es la
computadora la que realiza la traduccin.
Un lenguaje de programacin es una notacin para escribir programas, a travs de los
cuales podemos comunicarnos con el hardware y dar as las ordenes adecuadas para
la realizacin de un determinado proceso. Un lenguaje est definido por una gramtica
COMPILADO POR WILSON CESAR RONDON SANTOS

COMPUTACION E INFORMATICA
o conjunto de reglas que se aplican a un alfabeto constituido por el conjunto de
smbolos utilizados. Los distintos niveles de programacin existentes nos permiten
acceder al hardware, de tal forma que segn utilicemos un nivel u otro, as tendremos
que utilizar un determinado lenguaje ligado a sus correspondientes traductores.
Conjunto de normas lingsticas (palabras y smbolos) que permiten escribir un
programa y que ste sea entendido por el ordenador y pueda ser trasladado a
ordenadores similares para su funcionamiento en otros sistemas.
Conjunto de instrucciones, rdenes y smbolos reconocibles por autmata, a travs de
su unidad de programacin, que le permite ejecutar la secuencia de control deseada. Al
conjunto de total de estas instrucciones, rdenes y smbolos que estn disponibles se
le llamar lenguajes de programacin del autmata. El programa est formado por un
conjunto de instrucciones, sentencias, bloques funcionales y grafismos que indican las
operaciones a realizar. Las instrucciones representan la tarea ms elemental de un
programa: leer una entrada, realizar una operacin, activar una salida, etc. La
sentencia representa el mnimo conjunto de instrucciones o sentencias que realizan
una tarea o funcin compleja: encontrar el valor de una funcin lgica en combinacin
de varias variables, consultar un conjunto de condiciones, etc. El bloque funcional es el
conjunto de instrucciones o sentencias que realizan una tarea o funcin compleja:
contadores, registros de desplazamientos, transferencias de informacin, etc. Todos
estos elementos estn relacionados entre s mediante los smbolos o grafismos.
Es un conjunto de palabras y smbolos que permiten al usuario generar comandos e
instrucciones para que la computadora los ejecute. Los lenguajes de programacin
deben tener instrucciones que pertenecen a las categoras ya familiares de
entrada/salida,
calculo/manipulacin,
de
textos,
lgica/comparacin,
y
almacenamiento/recuperacin.
3. HISTORIA
Los primeros lenguajes de programacin surgieron de la idea de Charles Babagge, la
cual se le ocurri a este hombre a mediados del siglo XIX. Era un profesor matemtico
de la universidad de Cambridge e inventor ingls, que la principio del siglo XIX predijo
muchas de las teoras en que se basan los actuales ordenadores. Consista en lo que
l denominaba la maquina analtica, pero que por motivos tcnicos no pudo construirse
hasta mediados del siglo XX. Con l colaboro Ada Lovedby, la cual es considerada
como la primera programadora de la historia, pues realizo programas para aqulla
supuesta mquina de Babagge, en tarjetas perforadas. Como la maquina no llego
nunca a construirse, los programas de Ada, lgicamente, tampoco llegaron a
ejecutarse, pero si suponen un punto de partida de la programacin, sobre todo si
observamos que en cuanto se empez a programar, los programadores utilizaron las
tcnicas diseadas por Charles Babagge, y Ada, que consistan entre otras, en la
programacin mediante tarjetas perforadas. A pesar de ello, Ada ha permanecido como
la primera programadora de la historia. Se dice por tanto que estos dos genios de
antao, se adelantaron un siglo a su poca, lo cual describe la inteligencia de la que se
hallaban dotados.

COMPILADO POR WILSON CESAR RONDON SANTOS

COMPUTACION E INFORMATICA
En 1823 el gobierno Britnico lo apoyo para crear el proyecto de una mquina de
diferencias, un dispositivo mecnico para efectuar sumas repetidas. Pero Babagge se
dedic al proyecto de la mquina analtica, abandonando la mquina de diferencias,
que se pudiera programar con tarjetas perforadas, gracias a la creacin de Charles
Jacquard (francs). Este hombre era un fabricante de tejidos y haba creado un telar
que poda reproducir automticamente patrones de tejidos, leyendo la informacin
codificada en patrones de agujeros perforados en tarjetas de papel rgido. Entonces
Babagge intento crear la mquina que se pudiera programar con tarjetas perforadas
para efectuar cualquier clculo con una precisin de 20 dgitos. Pero la tecnologa de la
poca no bastaba para hacer realidad sus ideas. Si bien las ideas de Babagge no
llegaron a materializarse de forma definitiva, su contribucin es decisiva, ya que los
ordenadores actuales responden a un esquema anlogo al de la mquina analtica. En
su diseo, la mquina constaba de cinco unidades bsicas: 1) Unidad de entrada, para
introducir datos e instrucciones; 2) Memoria, donde se almacenaban datos y resultados
intermedios; 3) Unidad de control, para regular la secuencia de ejecucin de las
operaciones; 4) Unidad Aritmtico-Lgica, que efecta las operaciones; 5) Unidad de
salida, encargada de comunicar al exterior los resultados. Charles Babbage, conocido
como el "padre de la informtica" no pudo completar en aquella poca la construccin
del computador que haba soado, dado que faltaba algo fundamental: la electrnica.
El camino sealado de Babbage, no fue nunca abandonado y siguindolo, se
construyeron los primeros computadores.
Cuando surgi el primer ordenador, el famoso ENIAC (Electronic Numerical Integrator
And Calculator), su programacin se basaba en componentes fsicos, o sea, que se
programaba, cambiando directamente el Hardware de la mquina, exactamente lo que
s hacia era cambiar cables de sitio para conseguir as la programacin de la mquina.
La entrada y salida de datos se realizaba mediante tarjetas perforadas.

4. LAS TENDENCIAS DE LOS LENGUAJES DE PROGRAMACIN


El estudio de los lenguajes de programacin agrupa tres intereses diferentes; el del
programador profesional, el del diseador del lenguaje y del Implementador del
lenguaje.
Adems, estos tres trabajos han de realizarse dentro de las ligaduras y capacidades de
la organizacin de una computadora y de las limitaciones fundamentales de la propia
"calculabilidad". El trmino "el programador" es un tanto amorfo, en el sentido de que
camufla importantes diferencias entre distintos niveles y aplicaciones de la
programacin. Claramente el programador que ha realizado un curso de doce semanas
en COBOL y luego entra en el campo del procesamiento de datos es diferente del
programador que escribe un compilador en Pascal, o del programador que disea un
experimento de inteligencia artificial en LISP, o del programador que combina sus
rutinas de FORTRAN para resolver un problema de ingeniera complejo, o del
programador que desarrolla un sistema operativo multiprocesador en ADA.

COMPILADO POR WILSON CESAR RONDON SANTOS

COMPUTACION E INFORMATICA
Algunos lenguajes (como APL y LISP) fueron diseados por una sola persona con un
concepto nico, mientras que otros (FORTRAN y COBOL) son el producto de
desarrollo de varios aos realizados por comits de diseo de lenguajes.
El "Implementador del lenguaje" es la persona o grupo que desarrolla un compilador o
interprete para un lenguaje sobre una maquina particular o tipos de mquinas. Ms
frecuentemente, el primer compilador para el lenguaje Y sobre la maquina X es
desarrollada por la corporacin que manufactura la maquina X. Por ejemplo, hay varios
compiladores de Fortran en uso; uno desarrollado por IBM para una maquina IBM, otro
desarrollado por DEC para una maquina DEC, otro por CDC, y as sucesivamente. Las
compaas de software tambin desarrollan compiladores y tambin lo hacen los
grupos de investigacin de las universidades. Por ejemplo, la universidad de Waterloo
desarrolla compiladores para FORTRAN Y PASCAL, los cuales son tiles en un
entorno de programacin de estudiantes debido a su superior capacidad de diagnstico
y velocidad de compilacin.
Hay tambin muchos aspectos compartidos entre los programadores, diseadores de
un lenguaje implementadores del mismo. Cada uno debe comprender las necesidades
y ligaduras que gobiernan las actividades de los otros dos.
Hay, al menos, dos formas fundamentales desde las que pueden verse o
clasificarse los lenguajes de programacin: por su nivel y por principales
aplicaciones. Adems, estas visiones estn condicionadas por la visin histrica por la
que ha transcurrido el lenguaje. Adems, hay cuatro niveles distintos de lenguaje de
programacin.
Los "Lenguajes Declarativos" son los ms parecidos al castellano o ingles en su
potencia expresiva y funcionalidad estn en el nivel ms alto respecto a los otros. Son
fundamentalmente lenguajes de rdenes, dominados por sentencias que expresan "Lo
que hay que hacer" en vez de "Como hacerlo". Ejemplos de estos lenguajes son los
lenguajes estadsticos como SAS y SPSS y los lenguajes de bsqueda en base de
datos, como NATURAL e IMS. Estos lenguajes se desarrollaron con la idea de que los
profesionales pudieran asimilar ms rpidamente el lenguaje y usarlo en su trabajo, sin
necesidad de programadores o prcticas de programacin.
Los lenguajes de "Alto Nivel" son los ms utilizados como lenguaje de programacin.
Aunque no son fundamentalmente declarativos, estos lenguajes permiten que los
algoritmos se expresen en un nivel y estilo de escritura fcilmente legible y
comprensible por otros programadores. Adems, los lenguajes de alto nivel tienen
normalmente las caractersticas de " Transportabilidad". Es decir, estn implementadas
sobre varias mquinas de forma que un programa puede ser fcilmente " Transportado
" (Transferido) de una maquina a otra sin una revisin sustancial. En ese sentido se
llama "Independientes de la maquina". Ejemplos de estos lenguajes de alto nivel son
PASCAL, APL y FORTRAN (para aplicaciones cientficas), COBOL (para aplicaciones
de procesamiento de datos), SNOBOL( para aplicaciones de procesamiento de textos),
LISP y PROLOG (para aplicaciones de inteligencia artificial), C y ADA (para
aplicaciones de programacin de sistemas) y PL/I (para aplicaciones de propsitos
generales).

COMPILADO POR WILSON CESAR RONDON SANTOS

COMPUTACION E INFORMATICA
Los "Lenguajes Ensambladores" y los "Lenguajes Maquina" son dependientes de
la mquina. Cada tipo de mquina, tal como VAX de digital, tiene su propio lenguaje
maquina distinto y su lenguaje ensamblador asociado. El lenguaje Ensamblador es
simplemente una representacin simblica del lenguaje maquina asociado, lo cual
permite una programacin menos tediosa que con el anterior. Sin embargo, es
necesario un conocimiento de la arquitectura mecnica subyacente para realizar una
programacin efectiva en cualquiera de estos niveles lenguajes.
Los siguientes tres segmentos del programa equivalentes exponen las
distinciones bsicas entre lenguajes mquina, ensambladores de alto nivel:
Como muestra este ejemplo, a ms bajo nivel de lenguaje ms cerca est de las
caractersticas de un tipo e maquina particular y ms alejado de ser comprendido por
un humano ordinario. Hay tambin una estrecha relacin (correspondencia 1:1) entre
las sentencias en lenguaje ensamblador y sus formas en lenguaje maquina codificada.
La principal diferencia aqu es que los lenguajes ensambladores se utilizan smbolos
(X, Y, Z, A para " sumar", M para "multiplicar"), mientras que se requieren cdigos
numricos (OC1A4, etc.) para que lo comprenda la mquina.
La programacin de un lenguaje de alto nivel o en un lenguaje ensamblador requiere,
por tanto, algn tipo de interfaz con el lenguaje mquina para que el programa pueda
ejecutarse. Las tres interfaces ms comunes: un "ensamblador, un "compilador" y un
"interprete". El ensamblador y el compilador traducen el programa a otro equivalente en
el lenguaje X de la maquina "residente" como un paso separado antes de la ejecucin.
Por otra parte, el intrprete ejecuta directamente las instrucciones en un lenguaje Y de
alto nivel, sin un paso de procesamiento previo.
La compilacin es, en general, un proceso ms eficiente que la interpretacin para la
mayora de los tipos de mquina. Esto se debe principalmente a que las sentencias
dentro de un "bucle" deben ser reinterpretadas cada vez que se ejecutan por un
intrprete. Con un compilador. Cada sentencia es interpretada y luego traducida a
lenguaje maquina solo una vez.
Algunos lenguajes son lenguajes principalmente interpretados, como APL, PROLOG y
LISP. El resto de los lenguajes -- Pascal, FORTRAN, COBOL, PL/I, SNOBOL, C, Ada y
Modula-2 - son normalmente lenguajes compilados. En algunos casos, un compilador
estar utilizable alternativamente para un lenguaje interpretado (tal como LISP) e
inversamente (tal como el intrprete SNOBOL4 de los laboratorios Bell). 1
Frecuentemente la interpretacin es preferible a la compilacin en un entorno de
programacin experimental o de educacin, donde cada nueva ejecucin de un
programa implicado un cambio en el propio texto del programa. La calidad de diagnosis
y depuracin que soportan los lenguajes interpretados es generalmente mejor que la de
los lenguajes compilados, puesto que los mensajes de error se refieren directamente a
sentencias del texto del programa original. Adems, la ventaja de la eficiencia que se
adjudica tradicionalmente a los lenguajes compilados frente a los interpretados puede
pronto ser eliminado, debido a la evolucin de las maquinas cuyos lenguajes son ellos
mismos1lenguajes de alto nivel. Como ejemplo de estos estn las nuevas mquinas
LISP, las cuales han sido diseadas recientemente por Symbolics y Xerox
Corporations.
COMPILADO POR WILSON CESAR RONDON SANTOS

COMPUTACION E INFORMATICA
Los lenguajes de Programacin son tomados de diferentes perspectivas. Es importante
para un programador decidir cuales conceptos emitir o cuales incluir en la
programacin. Con frecuencia el programador es osado a usar combinaciones de
conceptos que hacen al lenguaje "DURO" de usar, de entender e implementar. Cada
programador tiene en mente un estilo particular de programacin, la decisin de incluir
u omitir ciertos tipos de datos que pueden tener una significativa influencia en la forma
en que el Lenguaje es usado, la decisin de usar u omitir conceptos de programacin o
modelos.
A). Existen cinco estilos de programacin y son los siguientes:
a. Orientados a Objetos.
b. Imperativa: Entrada, procesamiento y salidas de Datos.
c. Funcional: "Funciones", los datos son funciones, los resultados pueden ser un valor
o una funcin.
d. Lgico: {T, F} + operaciones lgicas (Inteligencia Artificial).
e. Concurrente: An est en proceso de investigacin.
El programador, diseador e implementador de un lenguaje de programacin deben
comprender la evolucin histrica de los lenguajes para poder apreciar por que
presentan caractersticas diferentes. Por ejemplo, los lenguajes "ms jvenes"
desaconsejan (o prohben) el uso de las sentencias GOTO como mecanismo de control
inferior, y esto es correcto en el contexto de las filosofas actuales de ingeniera del
software y programacin estructurada. Pero hubo un tiempo en que la GOTO,
combinada con la IF, era la nica estructura de control disponible; el programador no
dispone de algo como la construccin WHILE o un IF-THEN-ELSE para elegir. Por
tanto, cuando se ve un lenguaje como FORTRAN, el cual tiene sus races en los
comienzos de la historia de los lenguajes de programacin, uno no debe sorprenderse
de ver la antigua sentencia GOTO dentro de su repertorio.
Lo ms importante es que la historia nos permite ver la evolucin de familias de
lenguajes de programacin, ver la influencia que ejercer las arquitecturas y
aplicaciones de las computadoras sobre el diseo de lenguajes y evitar futuros defectos
de diseo aprendido las lecciones del pasado. Los que estudian se han elegido debido
a su mayor influencia y amplio uso entre los programadores, as como por sus distintas
caractersticas de diseo e implementacin. Colectivamente cubren los aspectos ms
importantes con los que ha de enfrentarse el diseado de lenguajes y la mayora de las
aplicaciones con las que se enfrenta el programador. Para los lectores que estn
interesados en conocer con ms detalle la historia de los lenguajes de programacin
recomendamos las actas de una recin conferencia (1981) sobre este tema, editadas
por Richard Wexelblat. Vemos que FORTRAN I es un ascendente directo de
FORTRAN II, mientras que FORTRAN, COBOL, ALGO 60, LISP, SNOBOL y los
lenguajes ensambladores, influyeron en el diseo de PL/I.
Tambin varios lenguajes estn prefijados por las
American National Standards Institute ha adoptado
estndar nacional. Una vez que un lenguaje esta
implementan este lenguaje deben cumplir todas

letras ANS. Esto significa que el


esa versin del lenguaje como el
estandarizado, las maquinas que
las especificaciones estndares,

COMPILADO POR WILSON CESAR RONDON SANTOS

COMPUTACION E INFORMATICA
reforzando as el mximo de transportabilidad de programas de una maquina a otra. La
polica federal de no comprar maquinas que no cumplan la versin estndar de
cualquier lenguaje que soporte tiende a "fortalecer" el proceso de estandarizacin,
puesto que el gobierno es, con mucho, el mayor comprador de computadoras de la
nacin.
Finalmente, la notacin algebraica ordinaria, por ejemplo, influyo fuertemente en el
diseo de FORTRAN y ALGOL. Por otra parte, el ingls influyo en el desarrollo del
COBOL. El lambda clculo de Church dio los fundamentos de la notacin funcional de
LISP, mientras que el algoritmo de Markov motivo el estilo de reconocimiento de formas
de SNOBOL. La arquitectura de computadoras de Von Neumann, la cual fue una
evolucin de la maquina ms antigua de Turing, es el modelo bsico de la mayora de
los diseos de computadoras de las ltimas tres dcadas. Esta mquina no solo
influyeron en los primeros lenguajes sino que tambin suministraron el esqueleto
operacional sobre el que evoluciono la mayora de la programacin de sistemas.
Una discusin ms directa de todos estos primeros modelos no est entre los objetivos
de este texto. Sin embargo, es importante apuntar aqu debido a su fundamental
influencia en la evolucin de los primeros lenguajes de programacin, por una parte, y
por su estado en el ncleo de la teora de la computadora, por otra. Mas sobre este
punto, cualquier algoritmo que pueda describirse en ingls o castellano puede
escribirse igualmente como una mquina de Turing (mquina de Von Neumann), un
algoritmo de Markov o una funcin recursiva. Esta seccin, conocida ampliamente
como "tesis de Church", nos permite escribir algoritmos en distintos estilos de
programacin (lenguajes) sin sacrificar ninguna medida de generalidad, o potencia de
programacin, en la transicin.
5. CLASIFICACION DE LOS LENGUAJES DE PROGRAMACIN
5.1. LENGUAJE MQUINA:
El lenguaje mquina es el nico que entiende directamente la computadora, ya que
est escrito en lenguajes directamente inteligibles por la mquina (computadora), utiliza
el alfabeto binario, que consta de los dos nicos smbolos 0 y 1, denominados bits
(abreviatura inglesa de dgitos binarios). Sus instrucciones son cadenas binarias
(cadenas o series de caracteres de dgitos 0 y 1) que especifican una operacin y, las
posiciones (direccin) de memoria implicadas en la operacin se denominan
instrucciones de mquina o cdigo mquina. Fue el primer lenguaje utilizado en la
programacin de computadoras, pero dejo de utilizarse por su dificultad y complicacin,
siendo sustituido por otros lenguajes ms fciles de aprender y utilizar, que adems
reducen la posibilidad de cometer errores. El lenguaje mquina es el conocido cdigo
binario. Generalmente, en la codificacin de los programas se empleaba el sistema
hexadecimal para simplificar el trabajo de escritura. Todas las instrucciones preparadas
en cualquier lenguaje mquina tienen por lo menos dos partes. La primera es el
comando u operacin, que dice a las computadoras cual es la funcin que va a realizar.
Todas las computadoras tienen un cdigo de operacin para cada una de las
funciones. La segunda parte de la instruccin es el operando, que indica a la
computadora donde hallar o almacenar los datos y otras instrucciones que se van a
COMPILADO POR WILSON CESAR RONDON SANTOS

10

COMPUTACION E INFORMATICA
manipular, el nmero de operndoos de una instruccin varia en distintas
computadoras.
a). Ventajas del lenguaje mquina: posibilidad de cargar (transferir un programa a la
memoria) sin necesidad de traduccin posterior, lo que supone una velocidad de
ejecucin superior a cualquier otro lenguaje de programacin.
b). Desventajas del lenguaje mquina: dificultad y lentitud en la codificacin. Poca
fiabilidad. Gran dificultad para verificar y poner a punto los programas. Los programas
solo son ejecutables en el mismo procesador (CPU). En la actualidad, las desventajas
superan a las ventajas, lo que hace prcticamente no recomendables a los lenguajes
mquina.
5.2. LENGUAJES DE BAJO NIVEL (ensamblador):
Son ms fciles de utilizar que los lenguajes mquina, pero al igual que ellos,
dependen de la mquina en particular. El lenguaje de bajo nivel por excelencia es el
ensamblador. El lenguaje ensamblador es el primer intento de sustituir el lenguaje
maquina por otro ms similar a los utilizados por las personas. Este intenta
desflexibilizar la representacin de los diferentes campos. Esa flexibilidad se consigue
no escribiendo los campos en binario y aproximando la escritura al lenguaje. A
principios de la dcada de los 50 y con el fin de facilitar la labor de los programadores,
se desarrollaron cdigos mnemotcnicos para las operaciones y direcciones
simblicas. Los cdigos mnemotcnicas son los smbolos alfabticos del lenguaje
mquina. La computadora sigue utilizando el lenguaje mquina para procesar los
datos, pero los programas ensambladores traducen antes los smbolos de cdigo de
operacin especificados a sus equivalentes en el lenguaje mquina. En la actualidad
los programadores no asignan nmeros de direccin reales a los datos simblicos,
simplemente especifican donde quieren que se coloque la primera localidad del
programa y el programa ensamblador se encarga de lo dems, asigna localidades tanto
para las instrucciones como los datos. Estos programas de ensamble o ensambladores
tambin permiten a la computadora convertir las instrucciones en lenguaje
ensamblador del programador en su propio cdigo mquina. Un programa de
instrucciones escrito en lenguaje ensamblador por un programador se llama programa
fuente. Despus de que el ensamblador convierte el programa fuente en cdigo
maquina a este se le denomina programa objeto. Para los programadores es ms fcil
escribir instrucciones en un lenguaje ensamblador que en cdigo de lenguaje maquina
pero es posible que se requieran dos corridas de computadora antes de que se puedan
utilizar las instrucciones del programa fuente para producir las salidas deseadas.
El lenguaje de bajo nivel es el lenguaje de programacin que el ordenador puede
entender a la hora de ejecutar programas, lo que aumenta su velocidad de ejecucin,
pues no necesita un intrprete que traduzca cada lnea de instrucciones.
Visto a muy bajo nivel, los microprocesadores procesan exclusivamente seales
electrnicas binarias. Dar una instruccin a un microprocesador supone en realidad
enviar series de unos y ceros espaciadas en el tiempo de una forma determinada. Esta
secuencia de seales se denomina cdigo mquina. El cdigo representa normalmente
COMPILADO POR WILSON CESAR RONDON SANTOS

11

COMPUTACION E INFORMATICA
datos y nmeros e instrucciones para manipularlos. Un modo ms fcil de comprender
el cdigo mquina es dando a cada instruccin un mnemnico, como por ejemplo
STORE, ADD o JUMP. Esta abstraccin da como resultado el ensamblador, un
lenguaje de muy bajo nivel que es especfico de cada microprocesador.
Los lenguajes de bajo nivel permiten crear programas muy rpidos, pero que son, a
menudo, difciles de aprender. Ms importante es el hecho de que los programas
escritos en un bajo nivel sean altamente especficos de cada procesador. Si se lleva el
programa a otra mquina se debe reescribir el programa desde el principio.
a). Ventajas del lenguaje ensamblador frente al lenguaje mquina: mayor facilidad
de codificacin y, en general, su velocidad de clculo, ahorran tiempo y requieren
menos atencin a detalles. Se incurren en menos errores y los que se cometen son
ms fciles de localizar. Tanto el lenguaje maquina como el ensamblador gozan de la
ventaja de mnima ocupacin de memoria y mnimo tiempo de ejecucin en
comparacin con el resultado de la compilacin del programa equivalente escrito en
otros lenguajes. Los programas en lenguaje ensamblador son ms fciles de modificar
que los programas en lenguaje mquina.
b). Desventajas del lenguaje ensamblador: dependencia total de la maquina lo que
impide la transportabilidad de los programas (posibilidad de ejecutar un programa en
diferentes mquinas). El lenguaje ensamblador del PC es distinto del lenguaje
ensamblador del Apple Machintosh. La formacin de los programadores es ms
compleja que la correspondiente a los programadores de alto nivel, ya que exige no
solo las tcnicas de programacin, sino tambin el conocimiento del interior de la
maquina El programador ha de conocer perfectamente el hardware del equipo, ya que
maneja directamente las posiciones de memoria, registros del procesador y dems
elementos fsicos. Todas las instrucciones son elementales, es decir, en el programa se
deben describir con el mximo detalle todas las operaciones que se han de efectuar en
la mquina para la realizacin de cualquier proceso.
Los lenguajes ensamblador tienen sus aplicaciones muy reducidas, se centran
bsicamente en aplicaciones de tiempo real, control de procesos y de dispositivos
electrnicos.
5.3. LENGUAJES DE ALTO NIVEL:
Estos lenguajes son los ms utilizados por los programadores. Estn diseados para
que las personas escriban y entiendan los programas de un modo mucho ms fcil que
los lenguajes mquina y ensamblador. Un programa escrito en lenguaje de alto nivel es
independiente de la mquina (las instrucciones no dependen del diseo del hardware o
de una computadora en particular), por lo que estos programas son portables o
transportables. Los programas escritos en lenguaje de alto nivel pueden ser ejecutados
con poca o ninguna modificacin en diferentes tipos de computadoras. Son lenguajes
de programacin en los que las instrucciones enviadas para que el ordenador ejecute
ciertas rdenes son similares al lenguaje humano. Dado que el ordenador no es capaz
COMPILADO POR WILSON CESAR RONDON SANTOS

12

COMPUTACION E INFORMATICA
de reconocer estas rdenes, es necesario el uso de un intrprete que traduzca el
lenguaje de alto nivel a un lenguaje de bajo nivel que el sistema pueda entender.
Por lo general se piensa que los ordenadores son mquinas que realizan tareas de
clculos o procesamiento de texto. La descripcin anterior es slo una forma muy
esquemtica de ver una computadora. Hay un alto nivel de abstraccin entre lo que se
pide a la computadora y lo que realmente comprende. Existe tambin una relacin
compleja entre los lenguajes de alto nivel y el cdigo mquina.
Los lenguajes de alto nivel son normalmente fciles de aprender porque estn
formados por elementos de lenguajes naturales, como el ingls. En BASIC, el lenguaje
de alto nivel ms conocido, los comandos como IF CONTADOR=10 THEN STOP
pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a diez.
Por desgracia para muchas personas esta forma de trabajar es un poco frustrante,
dado que a pesar de que las computadoras parecen comprender un lenguaje natural, lo
hacen en realidad de una forma rgida y sistemtica.
Los lenguajes de alto nivel, tambin denominados lenguajes evolucionados, surgen con
posterioridad a los anteriores (lenguaje mquina, lenguajes de bajo nivel o
ensamblador) con los siguientes objetivos, entre otros:
Lograr independencia de la mquina, pudiendo utilizar un mismo programa en
diferentes equipos con la nica condicin de disponer de un programa traductor o
compilador, que es suministrado por el fabricante, para obtener el programa ejecutable
en lenguaje binario de la mquina que se trate. Adems, no se necesita conocer el
hardware especfico de dicha mquina. Aproximarse al lenguaje natural, para que el
programa se pueda escribir y leer de una forma ms sencilla, eliminando muchas de las
posibilidades de cometer errores que se daban en el lenguaje mquina, ya que se
utilizan palabras (en ingls) en lugar de cadenas de smbolos sin ningn significado
aparente.
Incluir rutinas de uso frecuente, como las de entrada / salida, funciones matemticas,
manejo de tablas, etc., que figuran en una especie de librera del lenguaje, de manera
que se puedan utilizar siempre que se quiera sin necesidad de programarlas cada vez.
a). Ventajas de los lenguajes de alto nivel: el tiempo de formacin de los
programadores es relativamente corto comparado con otros lenguajes. La escritura de
programas se basa en reglas sintcticas similares a los lenguajes humanos, nombres
de las instrucciones tales como READ, WRITE, PRINT, OPEN, etc. Las modificaciones
y puestas a punto de los programas son ms fciles. Reduccin del costo de los
programas. Transportabilidad. Permiten tener una mejor documentacin. Son ms
fciles de mantener.
b). Desventajas de los lenguajes de alto nivel: incremento del tiempo de puesta a
punto al necesitarse diferentes traducciones del programa fuente para conseguir el
programa definitivo. No se aprovechan los recursos internos de la mquina que se
explotan mucho mejor en lenguajes mquina y ensambladores. Aumento de la
ocupacin de memoria. El tiempo de ejecucin de los programas es mucho mayor.
COMPILADO POR WILSON CESAR RONDON SANTOS

13

COMPUTACION E INFORMATICA
Se puede decir que el principal problema que presentan los lenguajes de alto nivel es la
gran cantidad de ellos que existen actualmente en uso, adems de las diferentes
versiones o dialectos que se han desarrollado de algunos de ellos.
Es difcil establecer una clasificacin general de los mismos, ya que en cualquiera que
se realice habr lenguajes que pertenezcan a ms de uno de los grupos establecidos.
A). Una clasificacin muy extendida, atendiendo a la forma de trabajar de los
programas y a la filosofa con que fueron concebidos, es la siguiente:
a). Lenguajes imperativos. Utilizan instrucciones como unidad de trabajo de los
programas (Cobol, Pascal, C, Ada).
b).Lenguajes declarativos. Los programas se construyen mediante descripciones de
funciones o expresiones lgicas (Lisp, Prolog).
c).Lenguajes orientados a objetos. El diseo de los programas se basa ms en los
datos y su estructura. La unidad de proceso es el objeto y en l se incluyen los datos
(variables) y las operaciones que actan sobre ellos (Smalltalk, C++).
d).Lenguajes orientados al problema. Diseados para problemas especficos,
principalmente de gestin, suelen ser generadores de aplicaciones.
e).Lenguajes naturales. Estn desarrollndose nuevos lenguajes con el principal
objetivo de aproximar el diseo y construccin de programas al lenguaje de las
personas.
B).Otra clasificacin que se puede hacer es de atendiendo al desarrollo de los
lenguajes desde la aparicin de las computadoras, que sigue un cierto paralelismo con
las generaciones establecidas en la evolucin de las mismas:
a).Primera generacin. Lenguajes mquina y ensambladores.
b).Segunda generacin. Primeros lenguajes de alto nivel imperativo (FROTRAN,
COBOL).
c).Tercera generacin. Lenguajes de alto nivel imperativo. Son los ms utilizados y
siguen vigentes en la actualidad (ALGOL 8, PL/I, PASCAL, MODULA).
d).Cuarta generacin. Orientados bsicamente a las aplicaciones de gestin y al
manejo de bases de datos (NATURAL, SQL).
e).Quinta generacin. Orientados a la inteligencia artificial y al procesamiento de los
lenguajes naturales (LISP, PROLOG).
Para la mejor compresin se harn unas definiciones:
COMPILADO POR WILSON CESAR RONDON SANTOS

14

COMPUTACION E INFORMATICA
Programa: es un conjunto de instrucciones escritas en un lenguaje de programacin
que indican a la computadora la secuencia de pasos, para resolver un problema.
Cdigo fuente: esta creado en algn lenguaje de alto nivel, por lo que es entendido
100% por el ser humano. Este debe estar complementado por su documentacin o
manuales donde se indica el desarrollo lgico del mismo.
Cdigo objeto: es creado por los compiladores y nos sirve como enlace entre el
programa fuente y el ejecutable.

5.3.1. ALGUNOS LEGUAJES DE PROGRAMACIN DE ALTO NIVEL


A continuacin se presentan varios de los ms conocidos y utilizados, lenguajes de alto
nivel.
FORTRAN
Abreviatura de FORmula TRANslator (traductor de frmulas), fue definido alrededor del
ao 1955 en Estados Unidos por la compaa IBM. Es el ms antiguo de los lenguajes
de alto nivel. Antes de l, todos los programas se escriban en lenguaje ensamblador o
en lenguaje mquina. Es un lenguaje especializado en aplicaciones tcnicas y
cientficas. Se caracteriza por su potencia en los clculos matemticos, pero est
limitado en las aplicaciones de gestin, manejo de archivos, tratamiento de cadenas de
caracteres y edicin de informes. Es un lenguaje notorio, por la facilidad con que
permite expresar una ecuacin. Muchas de sus caractersticas fueron incorporadas
ms tarde en el primer lenguaje BASIC. Una de sus ventajas es que es un lenguaje
compacto y es tambin ampliamente utilizado para aplicaciones en los negocios que no
requieren manejo de grandes archivos de datos. Hasta 1961 se mantuvo como
monopolio de IBM, pero posteriormente se fue implementando en ordenadores de otros
fabricantes. A lo largo de su existencia han aparecido diferentes versiones, entre las
que destaca la adoptada en 1966 por el ANSI (American National Standards Institute),
en la que se definieron nuevas reglas del lenguaje y se logr la independencia del
mismo con respecto a la mquina; es decir, comenzo la portabilidad del lenguaje. Esta
versin se denomin FORTRAN IV o FORTRAN 66, y el idioma se hizo tan popular en
los aos 60, que FORTRAN 66 se volvi el primer idioma en ser regularizado
oficialmente en 1972. En 1977 apareci una nueva versin ms evolucionada que se
llam FORTRAN V o FORTRAN 77. Est reflejada en el documento ANS X3.9-1978:
Programming Language FORTRAN y define dos niveles del lenguaje denominados
FORTRAN 77 completo y FORTRAN 77 bsico, siendo el segundo un subconjunto del
primero. Incluye, adems, instrucciones para el manejo de cadenas de caracteres y de
archivos, as como otras para la utilizacin de tcnicas de programacin estructurada.
Estas caractersticas hacer que el lenguaje tambin sea vlido para determinadas
aplicaciones de gestin. A mediados de los aos setenta se proporcionaron
virtualmente cada computadora, mini o mainframe, con un sistema FORTRAN 66
normal. Era por consiguiente posible escribir programas en FORTRAN en cualquier
sistema y estar bastante seguro que estos pudieran moverse para trabajar en cualquier
otro sistema bastante fcil. Esto, y el hecho que pudieran procesarse programas de
COMPILADO POR WILSON CESAR RONDON SANTOS

15

COMPUTACION E INFORMATICA
FORTRAN muy eficazmente. La ultima normalizacin del lenguaje, FRONTRAN 90, se
encuentra en el documento ANS X3.198-1991 en la que se incluyen caractersticas
como la recursividad, tratamiento paralelo de tablas y uso de memoria dinmica.
Permite expresar los programas de maneras que se satisfacen ms a un ambiente de
la informtica moderna y han quedado obsoletos muchos de los mecanismos que eran
apropiados en FROTRAN 77. En FROTRAN 90 algunos rasgos de FROTRAN 77 han
sido reemplazados por rasgos mejores, ms seguros y ms eficaces, muchos de estos
fueron quitados del idioma FORTRAN 95. El FRONTRAN tiene la ventaja de ser un
lenguaje compacto que sirve muy bien para satisfacer las necesidades de los
cientficos y los estadsticos de los negocios.
COBOL
Es el lenguaje ms utilizado en las aplicaciones de gestin, creado en 1960 por un
comit denominado CODASYL (COnference on DAta SYstems Languages),
patrocinado por el Departamento de Defensa de Estados Unidos, a fin de disponer de
un lenguaje universal para aplicaciones comerciales, como expresa su nombre
(COmmnon Business Oriented Language).
A lo largo de su existencia ha sufrido diversas actualizaciones. Su primer estndar fue
aprobado por el ANSI en 1968. Posteriormente, en 1974, se adopta la norma ANS
X3.23-1974, que ha perdurado hasta su ltima versin, COBOL ANS-85, que facilita el
diseo estructurado de los programas.
Sus caractersticas ms destacables son las siguientes: se asemeja al lenguaje natural
(ingls), es autodocumentado y ofrece grandes facilidades en el manejo de archivos,
as como en la edicin de informes escritos. Puede emplear trminos comnmente
utilizados en los negocios.
Entre sus inconvenientes estn sus rgidas reglas de formatos de escritura, la
necesidad de escribir todos los elementos al mximo detalle, la extensin excesiva en
sus sentencias, e incluso duplicacin en algunos casos, y la inexistencia de funciones
matemticas.
No obstante, se puede afirmar que en la actualidad continua siendo el lenguaje ms
utilizado en las aplicaciones de gestin.
PL/I
Fue creado a comienzos de los aos sesenta por IBM para ser usado en sus equipos
del sistema 360. Inspirndose en los lenguajes ALGOL, COBOL y FORTRAN se
desarroll el PL/I (Programming Language/I) tomando las mejores caractersticas de los
anteriores y aadiendo algunas nuevas, con el objetivo de obtener un lenguaje lo ms
general posible en cuanto a su implementacin, til para aplicaciones tcnicocientficas, comerciales, de proceso de textos, de bases de datos y de programacin de
sistemas. Se trata de un lenguaje de programacin complejo. Compilado y
estructurado, es capaz de gestionar errores y de procesar multitareas, y se emplea en
entornos acadmicos y de investigacin.
Entre sus novedades esta su gran libertad en el formato de escritura de los programas:
soporta la programacin estructurada y diseo modular. Es un lenguaje flexible y
COMPILADO POR WILSON CESAR RONDON SANTOS

16

COMPUTACION E INFORMATICA
sofisticado. No obstante, no ha superado a sus progenitores en sus aplicaciones
especficas, debido en parte a su amplitud y, por ello, al tamao de su compilador que
hasta ahora solo se poda instalar en grandes equipos. El elemento bsico de este
programa es el enunciado que termina en punto y coma. Los enunciados se combinan
en procedimientos. Un procedimiento puede representar por completo a un programa
pequeo o un bloque de construccin o mdulo de un programa ms complejo.
BASIC
El lenguaje BASIC fue diseado por los profesores John G. Kemeny y Thomas E. Kurtz
del Dartmouth College (Estados Unidos) en 1965, con el objetivo principal de
proporcionar a los principiantes un lenguaje fcil de aprender, como se indica en su
nombre Beginner's All-purpose Symbolic Instruction Code (Cdigo de instrucciones
simblico de propsito general para principiantes). Es un lenguaje interactivo muy
popular que tiene una aceptacin debido a la facilidad de su uso, es un idioma simple
para aprender y fcil de traducir. Que s interactivo, permite la comunicacin directa
entre el usuario y el sistema de cmputo durante la preparacin y uso de los
programas.
Entre sus principales novedades estn las de ser un lenguaje interpretado y de uso
conversacional, til para aplicaciones tcnicas y de gestin. Esto, unido a la
popularizacin de las microcomputadoras y computadoras personales, ha hecho que su
utilizacin sea haya extendido enormemente, a la vez que ha propiciado el surgimiento
de una gran diversidad de diversiones que extienden y se adaptan a necesidades
particulares el lenguaje original. Existen multitud de interpretes y compiladores del
lenguaje.
PASCAL
Fue creado por el matemtico suizo Nicklaus Wirth en 1970, basndose en el lenguaje
ALGOL, en cuyo diseo haba participado en los aos sesenta. Su nombre proviene del
filsofo y matemtico francs del siglo XVII, Blaise Pascal, que invento la primera
mquina tipo mecnico para sumar. Fue el primer gran lenguaje creado despus de
haber sido ampliamente diseminados los conceptos asociados con la programacin
estructurada.
Aunque en principio la idea del diseador era proporcionar un lenguaje adecuado para
la enseanza de los conceptos y tcnicas de programacin, con el tiempo ha llegado a
ser un lenguaje ampliamente utilizado en todo tipo de aplicaciones, que posee grandes
facilidades para la programacin de sistemas y diseo grfico.
Aporta los conceptos de tipo de datos, programacin estructurada y diseo
descendente, entre otros, adems de haberse convertido en predecesor de otros
lenguajes ms modernos, como MODULA-2 y ADA.
C
Este lenguaje fue creado en 1972 por Dennis Ritchie a partir del trabajo elaborado por
su colega de los laboratorios Bell Telephone, Ken Thompson. Estos haban diseado
con anterioridad el sistema operativo UNIX, y su intencin al desarrollar el lenguaje C
COMPILADO POR WILSON CESAR RONDON SANTOS

17

COMPUTACION E INFORMATICA
fue la de conseguir un lenguaje idneo para la programacin de sistemas que fuese
independiente de la mquina, con el cual escribir su sistema UNIX.
Aunque, como acabo de decir, fue diseado inicialmente para la programacin de
sistemas, posteriormente su uso se ha extendido a ablaciones tcnico-cientficas, de
bases de datos, de proceso de textos, etc.
En 1980 Bjarne Stroustrup, inspirado en el lenguaje Simula67 adicion las
caractersticas de la programacin orientada a objetos incluyendo la ventaja de una
biblioteca de funciones orientadas a objetos) y lo denomino C con clases. Para 1983
dicha denominacin cambio a la de C++. Con este nuevo enfoque surge la nueva
metodologa que aumenta las posibilidades de la programacin bajo nuevos conceptos.
La utilizacin ptima de este lenguaje se consigue dentro de su entorno natural, que
ese el sistema operativo UNIX, y entre sus caractersticas destaca el uso de
programacin estructurada para resolver tareas de bajo nivel, as como la amplia
librera de rutinas de que dispone. El lenguaje C rene caractersticas de programacin
intermedia entre los lenguajes ensambladores y los lenguajes de alto nivel; con gran
podero basado en sus operaciones a nivel de bits (propias de ensambladores) y la
mayora de los elementos de la programacin estructurada de los lenguajes de alto
nivel, por lo que resulta ser el lenguaje preferido para el desarrollo de software de
sistemas y aplicaciones profesionales de la programacin de computadoras.
MODULA-2
El lenguaje MODULA fue diseado en 1977 bajo la direccin de Nicklaus Wirth, creador
tambin el lenguaje PASCAL, con la intencin de incluir las necesidades de la
programacin de sistemas y dar respuestas a las crticas recibidas respecto de las
carencias del lenguaje PASCAL. En 1979 se realiza una versin que pasa a
denominarse MODULA-2 y que perdura en la actualidad.
Adems de incluir las caractersticas de su predecesor, este nuevo lenguaje incorpora
las principales carencias de aquel, como la posibilidad de compilacin separada,
creacin de libreras, programacin concurrente, mejora el manejo de cadenas de
caracteres, los procedimientos de entrada/salida y la gestin de la memoria, etc.
adems, posee grandes facilidades para la programacin de sistemas.
Tambin, debido a sus cualidades didcticas, ha sido ampliamente aceptado por la
comunidad universitaria como herramienta idnea para la enseanza de la
programacin.
ADA
Es el ltimo intento de obtener un nico lenguaje para todo tipo de aplicaciones, e
incluso los ltimos avances de tcnicas de programacin. Su diseo fue encargado por
el Departamento de Defensa de Estados Unidos, para su uso en servicios militares, a la
empresa Honeywell-Bull despus de una seleccin rigurosa entre varias propuestas
realizadas sobre una serie de requerimientos del lenguaje y de haber evaluado

COMPILADO POR WILSON CESAR RONDON SANTOS

18

COMPUTACION E INFORMATICA
negativamente veintitrs lenguajes existentes. De estos, se seleccionaron como base
para la creacin del nuevo lenguaje el PASCAL, el ALGOL y el PL/I.
La estandarizacin del lenguaje se public en 1983 con el nombre de ADA, en honor de
la considerada primera programadora de la historia, Augusta Ada Byron, condesa de
Lovelace.
Entre las caractersticas del lenguaje se encuentran la compilacin separada, los tipos
abstractos de datos, programacin concurrente, programacin estructurada, libertad de
formatos de escritura, etc. Como principal inconveniente presenta su gran extensin.
Los escritores lo llamaron inflexible e ineficiente, en tanto que sus favorecedores lo
consideraban un gran avance en la tecnologa del software.
LISP
En informtica, acrnimo de List Processing. Un lenguaje de programacin para
ordenadores o computadoras orientado a la generacin de listas, desarrollado en 19591960 por John McCarthy y usado principalmente para manipular listas de datos o de
smbolos. El lenguaje LISP constituy un cambio radical con respecto a los lenguajes
procedurales (FORTRAN, ALGOL) que se desarrollaban por entonces. El LISP es un
lenguaje interpretado, en el que cada expresin es una lista de llamadas a funciones.
Este lenguaje se sigue utilizando con frecuencia en investigacin y en crculos
acadmicos, y fue considerado durante mucho tiempo el lenguaje modelo para la
investigacin de la inteligencia artificial (IA), aunque el Prolog ha ganado terreno
durante los ltimos aos.

LOGO
En informtica, lenguaje de programacin de ordenadores o computadoras,
desarrollado en 1968 por Seymour Papert en el MIT, que se usa frecuentemente en la
enseanza de lenguaje de programacin a nios. Una caracterstica importante de
Logo son los grficos de tortuga, que permiten al programador hacer dibujos simples
dirigiendo los movimientos de la tortuga en la pantalla hacia adelante, hacia la derecha
o la izquierda. Una vez que dominan el entorno sencillo del dibujo, el programador
(normalmente un nio o una nia) empieza a descubrir las caractersticas ms
sofisticadas del lenguaje, que estn basadas fundamentalmente en el lenguaje de
programacin LISP. Logo est considerado como un lenguaje para la formacin, a
pesar de que algunas empresas intentaron que tuviera una mayor aceptacin en los
crculos profesionales de programacin.
RPG
Report Program Operator fue introducido en 1960 como un lenguaje para duplicar
rpidamente el enfoque de proceso utilizado con un equipo de tarjeta perforada. Este
lenguaje fue desarrollado por IBM en 1964. Su uso esta aun limitado sobre todo para
las aplicaciones de negocios que son procesadas en pequeas computadoras, generar
informes comerciales o de negocios. Como su nombre lo sugiere, el RPG est
COMPILADO POR WILSON CESAR RONDON SANTOS

19

COMPUTACION E INFORMATICA
diseado para generar los reportes de salida que resultan del proceso de aplicaciones
de negocios.
A pesar de las aplicaciones de actualizacin de archivos, el RPG es un lenguaje de
propsito limitado porque los programas objeto generados por el compilador de RPG
siguen sin desviacin, un ciclo de procesamiento bsico.
Una ventaja del RPG es la relativa facilidad para aprenderlo y usarlo. Dado que la
lgica de la programacin es fija, existen menos reglas formales que en otros
lenguajes.
ALGOL
El ALGOL (ALGOritmic Language) fue presentado en 1958. Fue el primer lenguaje de
programacin de proceso estructurado de alto nivel. Fue orientado al uso de quienes
participan en proyectos cientficos y matemticos. Un grupo internacional de
matemticos europeos y americanos, pretendan crear un lenguaje comn normalizado
que les permitiera el intercambio de algoritmos, aunque est en desuso, fue el primero
que incorporo conceptos claves para la programacin actual.
APL
Sus siglas significan (A Programming Language). Un Lenguaje de Programacin. Este
programa fue desarrollado por Kenneth Inverson en el ao 1961 para resolver
problemas matemticos. Este lenguaje se caracteriza por su brevedad y por su
capacidad de generacin de matrices y se utiliza en el desarrollo de modelos
matemticos.
PILOT
Programmend Inquiry Language Or Teaching (Consulta, lenguaje o aprendizaje de
investigacin programada) creado en 1969.
Este lenguaje de programacin es utilizado fundamentalmente para crear aplicaciones
destinadas a instrucciones asistidas por computadoras. Se caracteriza por utilizar un
mnimo de sintaxis.
SMALLTALK
SMALLTALK, Lenguaje de Programacin orientado a objetos integrados con un
entorno de desarrollo multiventana. SMALLTALK no es solo un hermoso lenguaje de
computacin orientado a objetos. El entorno de desarrollo merece similar valoracin y
ha sido copiado muchas veces, desde el Sistema Operativo de Apple MS Windows y
Borland Pascal (en una memoria extensin). Muchos conceptos de SMALLTALK como
los browsers y las tcnicas de browsing han encontrado hoy su rumbo en muchas
herramientas de desarrollo de la generacin X, desarrollado por SMALLTALK poseen
un factor divertido-de-usar. Los cambios se graban instantneamente y los mismos
pueden probarse rpidamente.
SMALLTALK fue desarrollado dentro del Grupo de Investigacin del Aprendizaje en el
Centro de Investigacin de Xerox en palo Alto a comienzos de los 70. Las principales
COMPILADO POR WILSON CESAR RONDON SANTOS

20

COMPUTACION E INFORMATICA
ideas de SMALLTALK se le atribuyen generalmente a Alan kay con races en Simula,
LISP y SketchPad. Dan Ingalls escribi el cdigo de las primeras ventanas solapables,
los pop-up mens y la clase BitBlt. Adele Goldberg y Dave Robson escribieron los
manuales de referencia para SMALLTALK y fueron miembros clave del equipo de
desarrollo. Un programa de licenciamiento de Xerox y Xerox Special Information
Systems. Sin embargo la distribucin generalizada a la comunidad de desarrollo no
sucedi hasta la fundacin de una nueva compaa llamada ParcPlace Systems Inc. ,
Dirigida por Adele Goldberg.
Un segundo SMALLTALK (SMALLTALK 4) fue desarrollado por Digitalk en los Angeles
California. Este SMALLTALK estaba dirigido a cubrir la necesidad de un producto
pequeo, de alta velocidad, basado en PC.
Object Technology International Inc. (OTI) desarroll un conjunto de herramientas para
proveer el control de inversiones y el manejo de configuraciones en grandes proyectos.
IBM desarroll la familia de productos VisualAge para SMALLTALK en colaboracin
con Object Technology (antiguamente ParcPlase-Digitalk) e IBM permanecen como los
distribuidores dominantes de entornos de desarrollos en SMALLTALK. Algunos nuevos
SMALLTALK se hallan en etapa de desarrollo.
FORTH
Lenguaje de cuarta generacin, creado en 1970, es un lenguaje estructurado e
interpretado de fcil ampliacin y ofrece una alta funcionalidad en un espacio reducido.
Es un lenguaje de alto nivel del cual derivan en la actualidad casi todos los lenguajes
empleados en los robots.
LENGUAJE C++
Se pronuncia ce plus plus. Fue desarrollada por Bjarme Stroustrup en los Bell
Laboratories a principios de la dcada de los 80. C++ introduce la programacin
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 de C, luego
aprender programacin orientada al objeto y el uso de stas con C++.
DELPHI
Es un entorno de programacin visual orientado a objetos para desarrollo rpido de
aplicaciones (RAD) de propsito general, incluyendo aplicaciones cliente/servidor.
Delphi es la versin de Delphi para 32 bits (delphi 3), es decir son casi los mismos, con
la nica diferencia que Delphi 3 es mucho ms mejorado, por ejemplo contiene un
TeeChart, que sirve para los grficos de negocio.
Delphi tiene las siguientes caractersticas:

Rendimiento - con el mejor y ms rpido compilador del mundo.

Empresa e Internet - soluciones cliente y servicio

Desarrollo de aplicaciones rpidas (RAD).

Reusabilidad de componentes, un verdadero entorno orientado a objetos.


COMPILADO POR WILSON CESAR RONDON SANTOS

21

COMPUTACION E INFORMATICA

Manejo de Base de Datos escalables.

Arquitectura multinivel abierta y dimensionable.

Diseminacin de informacin de base de datos en la Web a una gran velocidad.


JAVA
Es un lenguaje de programacin para crear programas seguros, porttiles, orientados a
objetos interactivos, para mejorar la entrega de informacin a travs de Internet, etc.
JAVASCRIPT
Este lenguaje de programacin originalmente fue llamado LIVESCRIPT, pero luego fue
renombrado con el nombre de JAVASCRIPT, con la idea de capitalizar la fama de
Java, lenguaje desarrollado por Sun Microsystems. ste es un complemento ideal del
lenguaje HTML, al permitir a la pgina realizar algunas tareas por si misma, sin
necesidad de estar sobrecargando el servidor del cual depende; JAVASCRIPT es un
lenguaje diseado especialmente para ejecutarlo en internet.
Entre estas tareas, puede estar, por ejemplo, realizar algunos clculos simples,
formatear un texto para que sea ledo por distintas personas de manera distinta,
proveer de un medio de configurar la visualizacin de una pgina, realizar un pre
chequeo de validacin en formulario antes de enviarlo, etc.
HTML
El lenguaje HTML, sirve para realizar esas atractivas pginas Web. Se trata de un
sistema de marcas que permite enlazar al mismo tiempo texto, sonidos y grficos
dentro del mismo documento, con otros dentro del servidor o incluso con otros
servidores WWW. Es decir, es un editor para combinar textos, imgenes e incluso
sonido y ahora tambin imgenes en movimiento. Es, en definitiva, la forma de manejar
y presentar la informacin en la red.
Para escribir documentos de hipertexto se ha desarrollado un nuevo formato de datos o
lenguaje llamado Hyper Text Markup Language (HTML). Este lenguaje permite dar
indicaciones precisas al programa cliente de cmo debe presentarse el documento en
pantalla o al ser impreso.
El lenguaje HTML es el usado actualmente para escribir textos Hypermediales en el
web.
Tres normas fundamentales:
1.- HTML simplemente texto
Lo primero es saber que un documento HTML es un archivo de texto simple, luego, se
puede editar con cualquier editor de textos.
2.- No importan los Tabs ni los saltos de lnea
Los interpretes HTML no toman en cuenta las tabulaciones, los saltos de lneas ni los
espacios en blanco extra. Esto tiene ventajas o desventajas. La principal ventaja es que
COMPILADO POR WILSON CESAR RONDON SANTOS

22

COMPUTACION E INFORMATICA
permite obtener resultados uniformes y de buena presentacin de manera bastante
fcil. La principal desventaja es que un documento HTML, por lo menos se debe usar
los comandos <P>... </P> o <BR> para evitar que quede todo el texto en una sola
lnea.
3.- Existen 3 caracteres especiales:
a). < menor que, se usa para indicar el comienzo de un comando HTML
b). >mayor que, se usa para indicar el trmino de un comando HTML.
c). & Ampersand, se usa para escribir caracteres especiales (smbolos matemticos,
comerciales, as como el signo menor que y el mayor que entre otros) en un
documento.
COMANDOS DEL DOCUMENTO HTML.
EL COMANDO PRRAFO:
El comando <P>... </P> se utiliza como un delimitador de prrafo en HTML. Inserta
automticamente un quiebre de lnea al final del prrafo, y produce un espaciamiento
conveniente entre los diferentes prrafos de un documento. Tambin en forma
adicional permite alinear el texto al centro, a la izquierda o a la derecha.
EL COMANDO QUIEBRE DE LNEAS:
El comando < BR> permite hacer un quiebre (salto) de lnea.
LOS COMANDOS DE ENCABEZADO:
Los textos en HTML poseen seis niveles de encabezado. Por ejemplo el nivel 1 se usa
para las divisiones mayores de texto, el nivel de encabezado 6 se usa para las
divisiones ms chicas de texto.
ESTRUCTURA DE HYPERTEXTO:
Existen dos partes fundamentales de un documento HTML.
ENCABEZADO:
Se inicia mediante el comando<HEAD> y se termina con </HEAD>. Por lo general se
incluyen aqu el ttulo del documento, mediante el comando <TITLE>... </TITLE>.
CUERPO:
Se inicia mediante el comando <BODY> y se termina con el comando. Dentro del
cuerpo del documento se incluyen cualquier carcter imprimible. Adems es importante
incluir el comando<ADDRESS>... </ADDRESS> al final del cuerpo pero dentro de l.
Dentro del ADDRESS se escribe el nombre del autor del documento, la organizacin a
la que pertenece, su direccin del correo electrnico y otra informacin que se
considere relevante.

COMPILADO POR WILSON CESAR RONDON SANTOS

23

COMPUTACION E INFORMATICA
HYPERTALK
"HyperTalk" es el lenguaje desarrollado por Dan Winkler para Bill Atkinson, el creador
del "HyperCard" para Apple-Macintosh. Est orientado a la creacin de aplicaciones
conforme al sistema de "hiperarchivos" (sistemas de fichas interrelacionadas donde se
facilita el "navegar" de un archivo a otro).
HyperTalk es un buen ejemplo de lenguaje orientado a objetos. Este tipo de lenguaje
combina la lgica declarativa con los algoritmos (Vea "PROLOG"). Un programa ya no
es una secuencia de instrucciones sino un conjunto de objetos agrupados en conjuntos,
definidos mediante atributos y a los cuales pueden asociarse instrucciones. As, en
HyperCard, existen archivos ("stacks" o "pilas") que agrupan fichas ("cards"), y cada
una de stas contiene campos de datos y botones. Todos son "objetos" que -si bien
mantienen entre s una relacin jerrquica- tienen asociados paquetes de instrucciones
("scripts") independientes unos de otros. Cada objeto pertenece a un conjunto (como
fichas o botones) que tiene "atributos" propios comunes a todos sus miembros, y cada
atributo tendr un valor comn o especfico para cada caso. Para dar o buscar dicho
valor intervienen "facetas" que son instrucciones (procedimientos) asociadas.
Perl
Es un lenguaje especializado en el procesamiento de textos, particularmente extraer y
validar las respuestas a cuestionarios incluidos en pginas web.
PHP
Lenguaje que se acopla al HTML (pginas web) para definir procedimientos que ha de
realizar el servidor de web, por ejemplo procesar un formulario, enviar o extraer datos
de una base de datos (acoplndose tambin con un lenguaje de tipo SQL), enviar una
u otra pgina web segn determinadas condiciones prefijadas por el programador, etc.
PROLOG
Los primeros aos de la dcada del 70 son conocidos como un perodo de "crisis del
software", en que se descubri que la creacin de buenos programas involucraba
costos mayores que los del hardware que los ejecuta. Tambin se haca patente una
creciente necesidad de procesar "conocimientos" (algo mucho ms amplio y complejo
que los datos cuantitativos o meras "secuencias de caracteres" a los cuales se reducen
muchos lenguajes de programacin). Esta crisis llev a investigar numerosas
alternativas, entre las cuales nuevos lenguajes no basados en instrucciones
algortmicas o procedimientos. Si el hombre "procesa" ms informacin por inferencia
lgica que por clculo, no podra la mquina hacer lo mismo?
PROLOG ("PROgramacin en LOGica") es una respuesta a esta crisis, producto del
avance de la lgica moderna (de tipo funcional). Lo crearon A. Colmenauer y Ph.
Roussel, con la colaboracin de R. Kowalski, simultneamente en la Universidad de
Aix-Marseille (Francia) y Edimburgo (Gran Bretaa). Se basa en el clculo de
predicados de primer orden y en el principio de resolucin de Robinson. En vez de ser
algortmico ("procedural" en ingls, trmino sin traduccin), es decir concebido como un
conjunto de instrucciones que la mquina debe ejecutar en forma secuencial, es
COMPILADO POR WILSON CESAR RONDON SANTOS

24

COMPUTACION E INFORMATICA
"declarativo", es decir basado en definiciones (de "hechos" o "reglas", como se explica
ms abajo).
SQL
Lenguaje desarrollado especialmente para facilitar la consulta de bases de datos (BD),
acotando progresivamente la bsqueda (de ah el nombre de "Sequential Query
Language").
Existen hoy numerosas aplicaciones de administracin de bases de datos que recurren
al SQL (Las ms conocidas, potentes - y caras - son Oracle e Informix).
Hoy se pueden acoplar las bases de datos a hipertextos (pginas web), para lo cual las
buenas aplicaciones ya traen mdulos que hacen la conexin. El lenguaje PHP del cual
hablamos ms arriba tambin sirve para definir procedimientos de insercin y de
consulta de datos en BD que funcionan con SQL.
ASP
Su nombre es Active Server Pages. Es un lenguaje independiente, diseado por
Microsoft para la codificacin eficiente de los scripts de los servidores, que fueron
diseados para ser ejecutados por un servidor Web en respuesta a la peticin de un
URL de un usuario. Los scripts de ASP son similares a otros scripts de servidores con
los que puedes estar familiarizado, que son utilizados en otras plataformas, como Perl,
Python, etc.
6. EVOLUCION DE LOS LENGUAJES DE PROGRAMACIN
periodo

Influencias

Lenguajes

1950 - 55

Ordenadores primitivos

Lenguajes ensamblador
Lenguajes experimentales
de alto nivel

1956 - 60

Ordenadores pequeos,

FORTRAN

caros y lentos

ALGOL 58 y 60

Cintas magnticas

COBOL

Compiladores e interpretes

LISP

Optimizacin del cdigo


1961 - 65

Ord. grandes y caros

FORTRAN IV

Discos Magnticos

COBOL 61 Extendido

COMPILADO POR WILSON CESAR RONDON SANTOS

25

COMPUTACION E INFORMATICA

Sistemas operativos

ALGOL 60 Revisado

Leng. de propsito general

SNOBOL
APL ( como notacin slo)

1966 - 70

Ordenadores de diferentes

PL/I

tamaos, velocidades, costes

FORTRAN 66 (estandard)

Sistemas de almacenamiento

COBOL 65 (estandard)

masivo de datos (caros)

ALGOL 68

S.O. multitarea e

SNOBOL4

interactivos

SIMULA 67

Compil. con optimizacin

BASIC

Leng. estandard ,

APL/360

flexibles y generales
1971 - 75

Micro ordenadores
Sistemas de almacenamiento

PASCAL

masivo de datos pequeos

COBOL 74

y baratos

PL /I

Progr. estructurada
Ingeniera del software
Leng. sencillos
1976 - 80

Ord. baratos y potentes

ADA

Sistemas distribuidos

FORTRAN 77

Prog. tiempo-real

PROLOG

Prog. interactiva

COMPILADO POR WILSON CESAR RONDON SANTOS

26

COMPUTACION E INFORMATICA

Abstraccin de datos
Prog. con fiabilidad
y fcil mantenimiento
Todo este desarrollo de las computadoras y de los lenguajes de programacin, suele
divisarse por generaciones y el criterio que se determin para determinar el cambio de
generacin no est muy bien definido, pero resulta aparente que deben cumplirse al
menos los siguientes requisitos:

La forma en que estn construidas.

Forma en que el ser humano se comunica con ellas.


6.1. Primera Generacin
En esta generacin haba 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 saturara el mercado de los Estados Unidos en el campo de
procesamiento de datos.
Esta generacin abarco la dcada de los cincuenta. Y se conoce como la primera
generacin. Estas mquinas tenan las siguientes caractersticas:

Estas mquinas estaban construidas por medio de tubos de vaco.

Eran programadas en lenguaje de mquina. 1


En esta generacin las mquinas son grandes y costosas (de un costo aproximado de
ciento de miles de dlares). En 1951 aparece la UNIVAC (NIVersAl Computer), fue la
primera computadora comercial, que dispona de mil palabras de memoria central y
podan leer cintas magnticas, se utiliz para procesar el censo de 1950 en los Estados
Unidos.
En las dos primeras generaciones, las unidades de entrada utilizaban tarjetas
perforadas, retomadas por Herman Hollerith (1860 - 1929), quien adems fund una
compaa que con el paso del tiempo se conocera como IBM (International Bussines
Machines).
Despus se desarroll por IBM la IBM 701 de la cual se entregaron 18 unidades entre
1953 y 1957.
Posteriormente, la compaa Remington Rand fabric el modelo 1103, que competa
con la 701 en el campo cientfico, por lo que la IBM desarrollo la 702, la cual present
problemas en memoria, debido a esto no dur en el mercado.
La computadora ms exitosa de la primera generacin fue la IBM 650, de la cual se
produjeron varios cientos. Esta computadora que usaba un esquema de memoria
secundaria llamado tambor magntico, que es el antecesor de los discos actuales.

COMPILADO POR WILSON CESAR RONDON SANTOS

27

COMPUTACION E INFORMATICA
Otros modelos de computadora que se pueden situar en los inicios de la segunda
generacin son: la UNIVAC 80 y 90, las IBM 704 y 709, Burroughs 220 y UNIVAC
1105.
6.2. Segunda Generacin
Cerca de la dcada de 1960, las computadoras seguan evolucionando, se reduca su
tamao y creca su capacidad de procesamiento. Tambin en esta poca se empez a
definir la forma de comunicarse con las computadoras, que reciba el nombre de
programacin de sistemas.
Las caractersticas de la segunda generacin son las siguientes:

Estn construidas con circuitos de transistores.

Se programan en nuevos lenguajes llamados lenguajes de alto nivel.


En esta generacin las computadoras se reducen de tamao y son de menor costo.
Aparecen muchas compaas y las computadoras eran bastante avanzadas para su
poca como la serie 5000 de Burroughs y la ATLAS de la Universidad de Manchester.
Algunas de estas computadoras se programaban con cintas perforadas y otras ms por
medio de cableado en un tablero. Los programas eran hechos a la medida por un
equipo de expertos: analistas, diseadores, programadores y operadores que se
manejaban como una orquesta para resolver los problemas y clculos solicitados por la
administracin. El usuario final de la informacin no tena contacto directo con las
computadoras. Esta situacin en un principio se produjo en las primeras computadoras
personales, pues se requera saberlas "programar" (alimentarle instrucciones) para
obtener resultados; por lo tanto su uso estaba limitado a aquellos audaces pioneros
que gustaran de pasar un buen nmero de horas escribiendo instrucciones, "corriendo"
el programa resultante y verificando y corrigiendo los errores o bugs que aparecieran.
Adems, para no perder el "programa" resultante haba que "guardarlo" (almacenarlo)
en una grabadora de astte, pues en esa poca no haba discos flexibles y mucho
menos discos duros para las PC; este procedimiento poda tomar de 10 a 45 minutos,
segn el programa. El panorama se modific totalmente con la aparicin de las
computadoras personales con mejore circuitos, ms memoria, unidades de disco
flexible y sobre todo con la aparicin de programas de aplicacin general en donde el
usuario compra el programa y se pone a trabajar. Aparecen los programas
procesadores de palabras como el clebre Word Star, la impresionante hoja de clculo
(spreadsheet) Visicalc y otros ms que de la noche a la maana cambian la imagen de
la PC. El sortware empieza a tratar de alcanzar el paso del hardware. Pero aqu
aparece un nuevo elemento: el usuario.
El usuario de las computadoras va cambiando y evolucionando con el tiempo. De estar
totalmente desconectado a ellas en las mquinas grandes pasa la PC a ser pieza clave
en el diseo tanto del hardware como del software. Aparece el concepto de human
interface que es la relacin entre el usuario y su computadora. Se habla entonces de
hardware ergonmico (adaptado a las dimensiones humanas para reducir el
cansancio), diseos de pantallas antirreflejos y teclados que descansen la mueca.
Con respecto al software se inicia una verdadera carrera para encontrar la manera en
que el usuario pase menos tiempo capacitndose y entrenndose y ms tiempo
COMPILADO POR WILSON CESAR RONDON SANTOS

28

COMPUTACION E INFORMATICA
produciendo. Se ponen al alcance programas con mens (listas de opciones) que
orientan en todo momento al usuario (con el consiguiente aburrimiento de los usuarios
expertos); otros programas ofrecen toda una artillera de teclas de control y teclas de
funciones (atajos) para efectuar toda suerte de efectos en el trabajo (con la
consiguiente desorientacin de los usuarios novatos). Se ofrecen un sinnmero de
cursos prometiendo que en pocas semanas hacen de cualquier persona un experto en
los programas comerciales. Pero el problema "constante" es que ninguna solucin para
el uso de los programas es "constante". Cada nuevo programa requiere aprender
nuevos controles, nuevos trucos, nuevos mens. Se empieza a sentir que la relacin
usuario-PC no est acorde con los desarrollos del equipo y de la potencia de los
programas. Hace falta una relacin amistosa entre el usuario y la PC.
Las computadoras de esta generacin fueron: la Philco 212 (esta compaa se retir
del mercado en 1964) y la UNIVAC M460, la Control Data Corporation modelo 1604,
seguida por la serie 3000, la IBM mejor la 709 y sac al mercado la 7090, la National
Cash Register empez a producir mquinas para proceso de datos de tipo comercial,
introdujo el modelo NCR 315.
La Radio Corporation of America introdujo el modelo 501, que manejaba el lenguaje
COBOL, para procesos administrativos y comerciales. Despus sali al mercado la
RCA 601.
6.3. Tercera generacin
Con los progresos de la electrnica y los avances de comunicacin con las
computadoras en la dcada de los 1960, surge la tercera generacin de las
computadoras. Se inaugura con la IBM 360 en abril de 1964.3
Las caractersticas de esta generacin fueron las siguientes:

Su fabricacin electrnica est basada en circuitos integrados.

Su manejo es por medio de los lenguajes de control de los sistemas operativos.


La IBM produce la serie 360 con los modelos 20, 22, 30, 40, 50, 65, 67, 75, 85, 90, 195
que utilizaban tcnicas especiales del procesador, unidades de cinta de nueve canales,
paquetes de discos magnticos y otras caractersticas que ahora son estndares (no
todos los modelos usaban estas tcnicas, sino que estaba dividido por aplicaciones).
El sistema operativo de la serie 360, se llam OS que contaba con varias
configuraciones, inclua un conjunto de tcnicas de manejo de memoria y del
procesador que pronto se convirtieron en estndares. 2
En 1964 CDC introdujo la serie 6000 con la computadora 6600 que se consider
durante algunos aos como la ms rpida.
En la dcada de 1970, la IBM produce la serie 370 (modelos 115, 125, 135, 145, 158,
168). UNIVAC compite son los modelos 1108 y 1110, mquinas en gran escala;
mientras que CDC produce su serie 7000 con el modelo 7600. Estas computadoras se
caracterizan por ser muy potentes y veloces.
A finales de esta dcada la IBM de su serie 370 produce los modelos 3031, 3033,
4341. Burroughs con su serie 6000 produce los modelos 6500 y 6700 de avanzado
COMPILADO POR WILSON CESAR RONDON SANTOS

29

COMPUTACION E INFORMATICA
diseo, que se reemplazaron por su serie 7000. Honey - Well participa con su
computadora DPS con varios modelos.
A mediados de la dcada de 1970, aparecen en el mercado las computadoras de
tamao mediano, o minicomputadoras que no son tan costosas como las grandes
(llamadas tambin como mainframes que significa tambin, gran sistema), pero
disponen de gran capacidad de procesamiento. Algunas minicomputadoras fueron las
siguientes: la PDP - 8 y la PDP - 11 de Digital Equipment Corporation, la VAX (Virtual
Address eXtended) de la misma compaa, los modelos NOVA y ECLIPSE de Data
General, la serie 3000 y 9000 de Hewlett - Packard con varios modelos el 36 y el 34,
la Wang y Honey - Well -Bull, Siemens de origen alemn, la ICL fabricada en Inglaterra.
En la Unin Sovitica se utiliz la US (Sistema Unificado, Ryad) que ha pasado por
varias generaciones.
6.4. Cuarta Generacin
Aqu aparecen los microprocesadores que es un gran adelanto de la microelectrnica,
son circuitos integrados de alta densidad y con una velocidad impresionante. Las
microcomputadoras con base en estos circuitos son extremadamente pequeas y
baratas, por lo que su uso se extiende al mercado industrial. Aqu nacen las
computadoras personales que han adquirido proporciones enormes y que han influido
en la sociedad en general sobre la llamada "revolucin informtica".
En 1976 Steve Wozniak y Steve Jobs inventan la primera microcomputadora de uso
masivo y ms tarde forman la compaa conocida como la Apple que fue la segunda
compaa ms grande del mundo, antecedida tan solo por IBM; y est por su parte es
an de las cinco compaas ms grandes del mundo.
En 1981 se vendieron 800 00 computadoras personales, al siguiente subi a 1 400 000.
Entre 1984 y 1987 se vendieron alrededor de 60 millones de computadoras personales,
por lo que no queda duda que su impacto y penetracin han sido enormes.
Con el surgimiento de las computadoras personales, el software y los sistemas que con
ellas de manejan han tenido un considerable avance, porque han hecho ms interactiva
la comunicacin con el usuario. Surgen otras aplicaciones como los procesadores de
palabra, las hojas electrnicas de clculo, paquetes grficos, etc. Tambin las
industrias del Software de las computadoras personales crecen con gran rapidez, Gary
Kildall y William Gates se dedicaron durante aos a la creacin de sistemas operativos
y mtodos para lograr una utilizacin sencilla de las microcomputadoras (son los
creadores de CP/M y de los productos de Microsoft).
No todo son microcomputadoras, por supuesto, las minicomputadoras y los grandes
sistemas continan en desarrollo. De hecho las mquinas pequeas rebasaban por
mucho la capacidad de los grandes sistemas de 10 o 15 aos antes, que requeran de
instalaciones costosas y especiales, pero sera equivocado suponer que las grandes
computadoras han desaparecido; por el contrario, su presencia era ya ineludible en
prcticamente todas las esferas de control gubernamental, militar y de la gran industria.
Las enormes computadoras de las series CDC, CRAY, Hitachi o IBM por ejemplo, eran
capaces de atender a varios cientos de millones de operaciones por segundo.
COMPILADO POR WILSON CESAR RONDON SANTOS

30

COMPUTACION E INFORMATICA
6.5. Quinta Generacin
En vista de la acelerada marcha de la microelectrnica, la sociedad industrial se ha
dado a la tarea de poner tambin a esa altura el desarrollo del software y los sistemas
con que se manejan las computadoras. Surge la competencia internacional por el
dominio del mercado de la computacin, en la que se perfilan dos lderes que, sin
embargo, no han podido alcanzar el nivel que se desea: la capacidad de comunicarse
con la computadora en un lenguaje ms cotidiano y no a travs de cdigos o lenguajes
de control especializados.
Japn lanz en 1983 el llamado "programa de la quinta generacin de computadoras",
con los objetivos explcitos de producir mquinas con innovaciones reales en los
criterios mencionados. Y en los Estados Unidos ya est en actividad un programa en
desarrollo que persigue objetivos semejantes, que pueden resumirse de la siguiente
manera:

Procesamiento en paralelo mediante arquitecturas y diseos especiales y circuitos de


gran velocidad.

Manejo de lenguaje natural y sistemas de inteligencia artificial.


El futuro previsible de la computacin es muy interesante, y se puede esperar que esta
ciencia siga siendo objeto de atencin prioritaria de gobiernos y de la sociedad en
conjunto.

7. ELEMENTOS DE LENGUAJES DE PROGRAMACIN


Los elementos esenciales de todo lenguaje de programacin son:

Operadores

. Funciones de biblioteca

Declaraciones

. Condicionantes

Constantes

. Bucles

Variables

. Sintaxis

Variables y vectores

. Semntica esttica

Es mediante ellos y algunos otros elementos de programacin bsicos, que podemos


definir correctamente un buen nmero de instrucciones o pasos para la solucin de un
problema con la computadora, desde la entrada de informacin hasta la salida de los
resultados.

COMPILADO POR WILSON CESAR RONDON SANTOS

31

COMPUTACION E INFORMATICA
7.1. OPERADORES
Los operadores bsicos son los siguientes:

suma........................................................ (+)

resta......................................................... (-)

negacin................................................... (-)

residuo de divisin entera........................(mod)

multiplicacin.......................................... (*)

divisin entera..........................................(\) [ en C se usa el carcter % ]

divisin..................................................... (/)

exponenciacin..........................................(^) [ en C se usa una funcin ]

La prioridad de los operadores para la evaluacin de las expresiones aritmticas,


involucrando funciones del programa y de biblioteca, de izquierda a derecha es la
siguiente:
1. Funciones
2. Exponenciacin
3. Multiplicacin o divisin reales
4. Divisin entera
5. Mod
6. Suma resta
7.2. DECLARACIONES.
Las instrucciones de un programa se dividen en ejecutables y no ejecutables. Estas
ltimas (las declaraciones no ejecutables) proveen a la computadora la informacin
necesaria sobre las caracterstica de las variables, especificaciones para formatos de
salida, etc.
7.3. CONSTANTES
Los tipos de constantes se dividen en:

Enteras

Reales

COMPILADO POR WILSON CESAR RONDON SANTOS

32

COMPUTACION E INFORMATICA

Alfanumricas

A su vez de los dos primeros grupos, las constantes pueden catalogarse en:

De precisin sencilla

De doble precisin

7.3.1. Definiciones:

Constante entera. Cantidad que carece de punto y dgitos decimales, solo


admite signos (positivo y negativo)

Constante real. Cantidad que incluye punto y dgitos decimales, solo admite
signos (positivo y negativo)

Constante alfanumrica. Son valores que involucran no solamente dgitos, sino


tambin letras o caracteres y que en su conjunto tienen asignado un valor
numrico para almacenarse en la memoria de la computadora.

7.3.2. Comentario
Las constantes reales permiten representar algunos nmeros racionales o cantidades
con fraccin definida exactamente, en razn de las limitaciones de su memoria y de la
forma en que se almacenan. Curiosamente una fraccin real se almacena en forma
parecida a una notacin representada en forma exponencial, es decir, hay una parte
entera y un exponente. La precisin simple de las cantidades reales garantiza por lo
general seis dgitos decimales exactos, la doble precisin, el doble ms o menos.
Las constantes enteras se utilizan en la programacin para definir contadores, ndices
de arreglos, valores mximos en cuanto al nmero de elementos en arreglos, tamao
de variables numricas, etc., y se prefiere hacerlo con variables debido a que sus
valores se almacenan utilizando menos localidades de memoria y, por lo tanto un
empleo ms eficiente de la memoria de la computadora.
7.4. VARIABLES
Una variable es un nombre que empieza con una letra y puede estar formada por
varios caracteres ms (por lo general son vlidos dgitos, letras y el sub guin _).
Las variables estn clasificadas en:

Enteras

. Reales

. Alfanumricas

y se emplean para almacenar valores definidos por constantes de tipo

Entero

. Real

. Alfanumrico

COMPILADO POR WILSON CESAR RONDON SANTOS

33

COMPUTACION E INFORMATICA
7.4.1. Definiciones.

Las variables enteras son aquellas cuyo nombre esta mencionado en una
declaracin de este tipo o que se dan por definicin en algn lenguaje o porque
incluyen algn carcter especfico que acta como identificador de tipo, como en
el caso del lenguaje Basic, por ejemplo: I%,J%,K%,N%,M%,(el carcter %
identifica a variables de tipo entero.) Estas variables solo almacenan valores
enteros, por lo que si se les da valores con fraccin lo redondearan al entero
ms prximo para almacenarlo. Algunos lenguajes no redondean y solo toman la
parte entera; en lenguaje C se definen mediante declaraciones.

Las variables reales son aquellas cuyo nombre se incluye en una declaracin de
tipo (lenguaje C) o que son consideradas as por omisin (lenguaje Basic), por
ejemplo: A,B,C,X,Y,Z. En el caso del Basic se puede adicionar un carcter como
identificador de tipo, por ejemplo: A!,B!,etc.

La clasificacin en variables de tipo alfanumrico requiere de la presencia de


una declaracin de tipo al principio del programa fuente (lenguaje C) o de un
identificador como se muestra a continuacin para el caso de Basic:
RESP$,X$,W$

7.5. VARIABLES Y VECTORES


Las variables podran calificarse como contenedores de datos y por ello se diferencian
segn el tipo de dato que son capaces de almacenar. En la mayora de lenguajes de
programacin se requiere especificar un tipo de variable concreto para guardar un dato
concreto. Por ejemplo, en Java, si deseamos guardar una cadena de texto deberemos
especificar que la variable es del tipo "String". Por contra en otros lenguajes como PHP,
este tipo de especificacin de variables no es necesario. Adems tambin existen
variables compuestas por varias variables llamados vectores. Un vector no es ms que
un conjunto de variables ordenadas guardadas dentro de una variables contenedor del
tipo vector. A continuacin aadimos un listado con los tipos de variables y vectores
ms comunes:
7.5.1. Variables tipo Char: Estas variables contienen un nico caracter, es decir, una
letra, un signo o un nmero.
7.5.2. Variables tipo Int: Contienen un nmero entero.
7.5.3. Variables tipo float: Contienen un nmero decimal.
7.5.4. Variables tipo String: Contienen cadenas de texto, o lo que es lo mismo, es un
vector con varias variables del tipo Char.

COMPILADO POR WILSON CESAR RONDON SANTOS

34

COMPUTACION E INFORMATICA
7.5.5. Variables del tipo Boolean: Solo pueden contener un 0 o un 1. El cero es
considerado para muchos lenguajes como la variable del tipo String "False" mientras
que el 1 se considera "True".
7.6. FUNCIONES DE BIBLIOTECA
Una funcin de biblioteca es un subproceso reprogramado, identificado con un nombre
de una letra y de uno a cinco caracteres ms, seguido de argumento(s) entre
parntesis que asocia a l o a los valores definidos por argumento(s), un valor nico en
respuesta al llamado de la funcin.
Todo lenguaje de programacin cuenta con una cantidad bsica de funciones
conocidas como de biblioteca, que ayudan al programador en sus labores y evitan
definirlas con subprocesos adicionales. Su nmero vara de lenguaje en lenguaje y de
computadora a computadora, sin embargo, podemos decir que dicha lista bsica y
sintaxis es prcticamente comn a todos los lenguajes. Las funciones pueden
emplearse en todas las expresiones aritmticas, rdenes de escritura y asignacin.
Como ejemplo considrese las siguientes funciones:
Funciones bsicas ms usuales:

Valor absoluto de X, ABS(X)

Logaritmo natural de X, LOG(X)

Seno trigonomtrico de X (en radianes), SIN(X)

Coseno trigonomtrico de X (en radianes), COS(X)

Funcin eX, EXP(X)

Raz cuadrada de X, SQR(X)

Tangente de X (en radianes), TAN(X)

Arco tangente de X, ATN(X)

7.7. CONDICIONANTES
Los condicionantes son estructuras de cdigo que indican que para que cierta parte del
programa se ejecute, deben cumplirse ciertas premisas, como por ejemplo, que dos
valores sean iguales, que un valor exista, que un valor sea mayor que otro y similares.
Estos condicionantes por lo general solo se ejecutan una vez a lo largo del programa.
Los condicionantes ms conocidos y empleados en programacin son:
If: Indica una condicin para que se ejecute una parte del programa.
COMPILADO POR WILSON CESAR RONDON SANTOS

35

COMPUTACION E INFORMATICA
Else if: Siempre va precedido de un "If" e indica una condicin para que se ejecute una
parte del programa siempre que no cumpla la condicin del if previo y si se cumpla con
la que el "else if" especifique.
Else: Siempre precedido de "If" y en ocasiones de "Else If". Indica que debe ejecutarse
cuando no se cumplan las condiciones prvias.
7.8. BUCLES
Los bucles son parientes cercanos de los condicionantes, pero ejecutan
constantemente un cdigo mientras se cumpla una determinada condicin. Los ms
frecuentes son:

For: Ejecuta un cdigo mientras una variable se encuentre entre 2 determinados


parmetros.
While: Ejecuta un cdigo mientras se cumpla la condicin que solicita.

Hay que decir que a pesar de que existan distintos tipos de bucles, ambos son capaces
de realizar exactamente las mismas funciones. El empleo de uno u otro depende, por lo
general, del gusto del programador.
7.8.1. Funciones
Las funciones se crearon para evitar tener que repetir constantemente fragmentos de
cdigo. Una funcin podra considerarse como una variable que encierra cdigo dentro
de s. Por tanto cuando accedemos a dicha variable (la funcin) en realidad lo que
estamos es diciendo al programa que ejecute un determinado cdigo predefinido
anteriormente.
Todos los lenguajes de programacin tienen algunos elementos de formacin primitivos
para la descripcin de los datos y de los procesos o transformaciones aplicadas a estos
datos (tal como la suma de dos nmeros o la seleccin de un elemento que forma parte
de una coleccin). Estos elementos primitivos son definidos por reglas sintcticas y
semnticas que describen su estructura y significado respectivamente.
7.9. SINTAXIS
Con frecuencia se resaltan los elementos de la sintaxis con colores diferentes para
facilitar su lectura. Este ejemplo est escrito en Python.
A la forma visible de un lenguaje de programacin se le conoce como sintaxis. La
mayora de los lenguajes de programacin son puramente textuales, es decir, utilizan
secuencias de texto que incluyen palabras, nmeros y puntuacin, de manera similar a
los lenguajes naturales escritos. Por otra parte, hay algunos lenguajes de programacin
que son ms grficos en su naturaleza, utilizando relaciones visuales entre smbolos
para especificar un programa.
COMPILADO POR WILSON CESAR RONDON SANTOS

36

COMPUTACION E INFORMATICA
La sintaxis de un lenguaje de programacin describe las combinaciones posibles de los
smbolos que forman un programa sintcticamente correcto. El significado que se le da
a una combinacin de smbolos es manejado por su semntica (ya sea formal o como
parte del cdigo duro de la referencia de implementacin). Dado que la mayora de los
lenguajes son textuales, este artculo trata de la sintaxis textual.
La sintaxis de los lenguajes de programacin es definida generalmente utilizando una
combinacin de expresiones regulares (para la estructura lxica) y la Notacin de
Backus-Naur (para la estructura gramtica). Este es un ejemplo de una gramtica
simple, tomada de Lisp:
Expresin:= tomo | lista
tomo := nmero | smbolo
Nmero := [+-] ? ['0'-'9']+
Smbolo := ['A'-'Z'<nowiki>'</nowiki>a'-'z'].*
Lista := '(' expresin* ')'
Con esta gramtica se especifica lo siguiente:

una expresin puede ser un tomo o una lista;


un tomo puede ser un nmero o un smbolo;
un nmero es una secuencia continua de uno o ms dgitos decimales,
precedido opcionalmente por un signo ms o un signo menos;
un smbolo es una letra seguida de cero o ms caracteres (excluyendo
espacios); y
una lista es un par de parntesis que abren y cierran, con cero o ms
expresiones en medio.

Algunos ejemplos de secuencias bien formadas de acuerdo a esta gramtica:


'12345', '()', '(a b c232 (1))'
No todos los programas sintcticamente correctos son semnticamente correctos.
Muchos programas sintcticamente correctos tienen inconsistencias con las reglas del
lenguaje; y pueden (dependiendo de la especificacin del lenguaje y la solidez de la
implementacin) resultar en un error de traduccin o ejecucin. En algunos casos, tales
programas pueden exhibir un comportamiento indefinido. Adems, incluso cuando un
programa est bien definido dentro de un lenguaje, todava puede tener un significado
que no es el que la persona que lo escribi estaba tratando de construir.
Usando el lenguaje natural, por ejemplo, puede no ser posible asignarle significado a
una oracin gramaticalmente vlida o la oracin puede ser falsa:

"Las ideas verdes y descoloridas duermen furiosamente" es una oracin bien


formada gramaticalmente pero no tiene significado comnmente aceptado.

COMPILADO POR WILSON CESAR RONDON SANTOS

37

COMPUTACION E INFORMATICA

"Juan es un soltero casado" tambin est bien formada gramaticalmente pero


expresa un significado que no puede ser verdadero.

El siguiente fragmento en el lenguaje C es sintcticamente correcto, pero ejecuta una


operacin que no est definida semnticamente (dado que p es un apuntador nulo, las
operaciones p->real y p->im no tienen ningn significado):
Complex *p = NULL;
Complex abs_p = sqrt (p->real * p->real + p->im * p->im);
Si la declaracin de tipo de la primera lnea fuera omitida, el programa disparara un
error de compilacin, pues la variable "p" no estara definida. Pero el programa sera
sintcticamente correcto todava, dado que las declaraciones de tipo proveen
informacin semntica solamente.
La gramtica necesaria para especificar un lenguaje de programacin puede ser
clasificada por su posicin en la Jerarqua de Chomsky. La sintaxis de la mayora de
los lenguajes de programacin puede ser especificada utilizando una gramtica Tipo-2,
es decir, son gramticas libres de contexto. Algunos lenguajes, incluyendo a Perl y a
Lisp, contienen construcciones que permiten la ejecucin durante la fase de anlisis.
Los lenguajes que permiten construcciones que permiten al programador alterar el
comportamiento de un analizador hacen del anlisis de la sintaxis un problema sin
decisin nica, y generalmente oscurecen la separacin entre anlisis y ejecucin. En
contraste con el sistema de macros de Lisp y los bloques BEGIN de Perl, que pueden
tener clculos generales, las macros de C son meros reemplazos de cadenas, y no
requieren ejecucin de cdigo.
7.10. SEMANTICA ESTATICA
La semntica esttica define las restricciones sobre la estructura de los textos vlidos
que resulta imposible o muy difcil expresar mediante formalismos sintcticos estndar.
Para los lenguajes compilados, la semntica esttica bsicamente incluye las reglas
semnticas que se pueden verificar en el momento de compilar. Por ejemplo el
chequeo de que cada identificador sea declarado antes de ser usado (en lenguajes que
requieren tales declaraciones) o que las etiquetas en cada brazo de una estructura
case sean distintas. Muchas restricciones importantes de este tipo, como la validacin
de que los identificadores sean usados en los contextos apropiados (por ejemplo no
sumar un entero al nombre de una funcin), o que las llamadas a subrutinas tengan el
nmero y tipo de parmetros adecuado, puede ser implementadas definindolas como
reglas en una lgica conocida como sistema de tipos. Otras formas de anlisis
estticos, como los anlisis de flujo de datos, tambin pueden ser parte de la semntica
esttica. Nuevos lenguajes de programacin como Java y C# tienen un anlisis definido
de asignaciones, una forma de anlisis de flujo de datos, como parte de su semntica
esttica.

COMPILADO POR WILSON CESAR RONDON SANTOS

38

COMPUTACION E INFORMATICA
8. SISTEMA DE TIPOS
Un sistema de tipos define la manera en la cual un lenguaje de programacin clasifica
los valores y expresiones en tipos, cmo pueden ser manipulados dichos tipos y cmo
interactan. El objetivo de un sistema de tipos es verificar y normalmente poner en
vigor un cierto nivel de exactitud en programas escritos en el lenguaje en cuestin,
detectando ciertas operaciones invlidas. Cualquier sistema de tipos decidible tiene sus
ventajas y desventajas. Mientras por un lado rechaza muchos programas incorrectos,
tambin prohbe algunos programas correctos aunque poco comunes. Para poder
minimizar esta desventaja, algunos lenguajes incluyen lagunas de tipos, conversiones
explcitas no checadas que pueden ser usadas por el programador para permitir
explcitamente una operacin normalmente no permitida entre diferentes tipos. En la
mayora de los lenguajes con tipos, el sistema de tipos es usado solamente para
checar los tipos de los programas, pero varios lenguajes, generalmente funcionales,
llevan a cabo lo que se conoce como inferencia de tipos, que le quita al programador la
tarea de especificar los tipos. Al diseo y estudio formal de los sistemas de tipos se le
conoce como teora de tipos.
8.1. Lenguajes tipados versus lenguajes no tipados
Se dice que un lenguaje tiene tipos si la especificacin de cada operacin define tipos
de datos para los cuales la operacin es aplicable, con la implicacin de que no es
aplicable a otros tipos. Por ejemplo, "este texto entre comillas" es una cadena. En la
mayora de los lenguajes de programacin, dividir un nmero por una cadena no tiene
ningn significado. Por tanto, la mayora de los lenguajes de programacin modernos
rechazaran cualquier intento de ejecutar dicha operacin por parte de algn programa.
En algunos lenguajes, estas operaciones sin significado son detectadas cuando el
programa es compilado (validacin de tipos "esttica") y son rechazadas por el
compilador, mientras en otros son detectadas cuando el programa es ejecutado
(validacin de tipos "dinmica") y se genera una excepcin en tiempo de ejecucin.
Un caso especial de lenguajes de tipo son los lenguajes de tipo sencillo. Estos son con
frecuencia lenguajes de marcado o de scripts, como REXX o SGML, y solamente
cuentan con un tipo de datos; comnmente cadenas de caracteres que luego son
usadas tanto para datos numricos como simblicos.
En contraste, un lenguaje sin tipos, como la mayora de los lenguajes ensambladores,
permiten que cualquier operacin se aplique a cualquier dato, que por lo general se
consideren secuencias de bits de varias longitudes. Lenguajes de alto nivel sin datos
incluyen BCPL y algunas variedades de Forth.
En la prctica, aunque pocos lenguajes son considerados con tipo desde el punto de
vista de la teora de tipos (es decir, que verifican o rechazan todas las operaciones), la
mayora de los lenguajes modernos ofrecen algn grado de manejo de tipos. Si bien
muchos lenguajes de produccin proveen medios para brincarse o subvertir el sistema
de tipos.
COMPILADO POR WILSON CESAR RONDON SANTOS

39

COMPUTACION E INFORMATICA

8.2. Tipos estticos versus tipos dinmicos


En lenguajes con tipos estticos se determina el tipo de todas las expresiones antes de
la ejecucin del programa (tpicamente al compilar). Por ejemplo, 1 y (2+2) son
expresiones enteras; no pueden ser pasadas a una funcin que espera una cadena, ni
pueden guardarse en una variable que est definida como fecha.
Los lenguajes con tipos estticos pueden manejar tipos explcitos o tipos inferidos. En
el primer caso, el programador debe escribir los tipos en determinadas posiciones
textuales. En el segundo caso, el compilador infiere los tipos de las expresiones y las
declaraciones de acuerdo al contexto. La mayora de los lenguajes populares con tipos
estticos, tales como C++, C# y Java, manejan tipos explcitos. Inferencia total de los
tipos suele asociarse con lenguajes menos populares, tales como Haskell y ML. Sin
embargo, muchos lenguajes de tipos explcitos permiten inferencias parciales de tipo;
tanto Java y C#, por ejemplo, infieren tipos en un nmero limitado de casos.
Los lenguajes con tipos dinmicos determinan la validez de los tipos involucrados en
las operaciones durante la ejecucin del programa. En otras palabras, los tipos estn
asociados con valores en ejecucin en lugar de expresiones textuales. Como en el
caso de lenguajes con tipos inferidos, los lenguajes con tipos dinmicos no requieren
que el programador escriba los tipos de las expresiones. Entre otras cosas, esto
permite que una misma variable se pueda asociar con valores de tipos distintos en
diferentes momentos de la ejecucin de un programa. Sin embargo, los errores de tipo
no pueden ser detectados automticamente hasta que se ejecuta el cdigo, dificultando
la depuracin de los programas. Ruby, Lisp, JavaScript y Python son lenguajes con
tipos dinmicos.
8.3. Tipos dbiles y tipos fuertes
8.3.1. Los lenguajes dbilmente tipados permiten que un valor de un tipo pueda ser
tratado como de otro tipo, por ejemplo una cadena puede ser operada como un
nmero. Esto puede ser til a veces, pero tambin puede permitir ciertos tipos de fallas
que no pueden ser detectadas durante la compilacin o a veces ni siquiera durante la
ejecucin.
8.3.2. Los lenguajes fuertemente tipados evitan que pase lo anterior. Cualquier
intento de llevar a cabo una operacin sobre el tipo equivocado dispara un error. A los
lenguajes con tipos fuertes se les suele llamar de tipos seguros.
Lenguajes con tipos dbiles como Perl y JavaScript permiten un gran nmero de
conversiones de tipo implcitas. Por ejemplo en JavaScript la expresin 2 * x convierte
implcitamente x a un nmero, y esta conversin es exitosa inclusive cuando x es null,
undefined, un Array o una cadena de letras. Estas conversiones implcitas son tiles
con frecuencia, pero tambin pueden ocultar errores de programacin.
COMPILADO POR WILSON CESAR RONDON SANTOS

40

COMPUTACION E INFORMATICA
8.4. Las caractersticas de estticos y fuertes son ahora generalmente consideradas
conceptos ortogonales, pero su trato en diferentes textos varia. Algunos utilizan el
trmino de tipos fuertes para referirse a tipos fuertemente estticos o, para aumentar la
confusin, simplemente como equivalencia de tipos estticos. De tal manera que C ha
sido llamado tanto lenguaje de tipos fuertes como lenguaje de tipos estticos dbiles.
8.5. Implementacin
Cdigo fuente de un programa escrito en el lenguaje de programacin Java.
La implementacin de un lenguaje es la que provee una manera de que se ejecute un
programa para una determinada combinacin de software y hardware. Existen
bsicamente dos maneras de implementar un lenguaje: compilacin e interpretacin.
Compilacin: es el proceso que traduce un programa escrito en un lenguaje de
programacin a otro lenguaje de programacin, generando un programa equivalente
que la mquina ser capaz interpretar. Los programas traductores que pueden realizar
esta operacin se llaman compiladores. stos, como los programas ensambladores
avanzados, pueden generar muchas lneas de cdigo de mquina por cada proposicin
del programa fuente.
Interpretacin: es una asignacin de significados a las frmulas bien formadas de un
lenguaje formal. Como los lenguajes formales pueden definirse en trminos puramente
sintcticos, sus frmulas bien formadas pueden no ser ms que cadenas de smbolos
sin ningn significado. Una interpretacin otorga significado a esas frmulas.
Se puede tambin utilizar una alternativa para traducir lenguajes de alto nivel. En lugar
de traducir el programa fuente y grabar en forma permanente el cdigo objeto que se
produce durante la compilacin para utilizarlo en una ejecucin futura, el programador
slo carga el programa fuente en la computadora junto con los datos que se van a
procesar. A continuacin, un programa intrprete, almacenado en el sistema operativo
del disco, o incluido de manera permanente dentro de la mquina, convierte cada
proposicin del programa fuente en lenguaje de mquina conforme vaya siendo
necesario durante el procesamiento de los datos. El cdigo objeto no se graba para
utilizarlo posteriormente.
La siguiente vez que se utilice una instruccin, se la deber interpretar otra vez y
traducir a lenguaje mquina. Por ejemplo, durante el procesamiento repetitivo de los
pasos de un ciclo o bucle, cada instruccin del bucle tendr que volver a ser
interpretada en cada ejecucin repetida del ciclo, lo cual hace que el programa sea ms
lento en tiempo de ejecucin (porque se va revisando el cdigo en tiempo de ejecucin)
pero ms rpido en tiempo de diseo (porque no se tiene que estar compilando a cada
momento el cdigo completo). El intrprete elimina la necesidad de realizar una
compilacin despus de cada modificacin del programa cuando se quiere agregar
funciones o corregir errores; pero es obvio que un programa objeto compilado con
COMPILADO POR WILSON CESAR RONDON SANTOS

41

COMPUTACION E INFORMATICA
antelacin deber ejecutarse con mucha mayor rapidez que uno que se debe
interpretar a cada paso durante una ejecucin del cdigo.
La mayora de lenguajes de alto nivel permiten la programacin multipropsito, aunque
muchos de ellos fueron diseados para permitir programacin dedicada, como lo fue el
Pascal con las matemticas en su comienzo. Tambin se han implementado lenguajes
educativos infantiles como Logo mediante una serie de simples instrucciones. En la
actualidad son muy populares algunos lenguajes especialmente indicados para
aplicaciones web, como Perl, PHP, Ruby, Python o JavaScript.
8.6. Tcnica
Libros sobre diversos lenguajes de programacin.
Para escribir programas que proporcionen los mejores resultados, cabe tener en cuenta
una serie de detalles.
Correccin. Un programa es correcto si hace lo que debe hacer tal y como se
estableci en las fases previas a su desarrollo. Para determinar si un programa hace lo
que debe, es muy importante especificar claramente qu debe hacer el programa antes
de desarrollarlo y, una vez acabado, compararlo con lo que realmente hace.
Claridad. Es muy importante que el programa sea lo ms claro y legible posible, para
facilitar as su desarrollo y posterior mantenimiento. Al elaborar un programa se debe
intentar que su estructura sea sencilla y coherente, as como cuidar el estilo en la
edicin; de esta forma se ve facilitado el trabajo del programador, tanto en la fase de
creacin como en las fases posteriores de correccin de errores, ampliaciones,
modificaciones, etc. Fases que pueden ser realizadas incluso por otro programador,
con lo cual la claridad es an ms necesaria para que otros programadores puedan
continuar el trabajo fcilmente. Algunos programadores llegan incluso a utilizar Arte
ASCII para delimitar secciones de cdigo. Otros, por diversin o para impedir un
anlisis cmodo a otros programadores, recurren al uso de cdigo ofuscado.
Eficiencia. Se trata de que el programa, adems de realizar aquello para lo que fue
creado (es decir, que sea correcto), lo haga gestionando de la mejor forma posible los
recursos que utiliza. Normalmente, al hablar de eficiencia de un programa, se suele
hacer referencia al tiempo que tarda en realizar la tarea para la que ha sido creado y a
la cantidad de memoria que necesita, pero hay otros recursos que tambin pueden ser
de consideracin al obtener la eficiencia de un programa, dependiendo de su
naturaleza (espacio en disco que utiliza, trfico de red que genera, etc.).
Portabilidad. Un programa es portable cuando tiene la capacidad de poder ejecutarse
en una plataforma, ya sea hardware o software, diferente a aquella en la que se
elabor. La portabilidad es una caracterstica muy deseable para un programa, ya que
COMPILADO POR WILSON CESAR RONDON SANTOS

42

COMPUTACION E INFORMATICA
permite, por ejemplo, a un programa que se ha desarrollado para sistemas GNU/Linux
ejecutarse tambin en la familia de sistemas operativos Windows. Esto permite que el
programa pueda llegar a ms usuarios ms fcilmente.
8.7. Paradigmas
Los programas se pueden clasificar por el paradigma del lenguaje que se use para
producirlos. Los principales paradigmas son: imperativos, declarativos y orientacin a
objetos.
Los programas que usan un lenguaje imperativo especifican un algoritmo, usan
declaraciones, expresiones y sentencias. Una declaracin asocia un nombre de
variable con un tipo de dato, por ejemplo: var x: integer;. Una expresin contiene un
valor, por ejemplo: 2 + 2 contiene el valor 4. Finalmente, una sentencia debe asignar
una expresin a una variable o usar el valor de una variable para alterar el flujo de un
programa, por ejemplo: x := 2 + 2; if x == 4 then haz_algo();. Una crtica comn en los
lenguajes imperativos es el efecto de las sentencias de asignacin sobre una clase de
variables llamadas "no locales".
Los programas que usan un lenguaje declarativo especifican las propiedades que la
salida debe conocer y no especifica cualquier detalle de implementacin. Dos amplias
categoras de lenguajes declarativos son los lenguajes funcionales y los lenguajes
lgicos. Los lenguajes funcionales no permiten asignaciones de variables no locales,
as, se hacen ms fciles, por ejemplo, programas como funciones matemticas. El
principio detrs de los lenguajes lgicos es definir el problema que se quiere resolver
(el objetivo) y dejar los detalles de la solucin al sistema. El objetivo es definido dando
una lista de sub-objetivos. Cada sub-objetivo tambin se define dando una lista de sus
sub-objetivos, etc. Si al tratar de buscar una solucin, una ruta de sub-objetivos falla,
entonces tal sub-objetivo se descarta y sistemticamente se prueba otra ruta.
La forma en la cual se programa puede ser por medio de texto o de forma visual. En la
programacin visual los elementos son manipulados grficamente en vez de
especificarse por medio de texto.

COMPILADO POR WILSON CESAR RONDON SANTOS

43

COMPUTACION E INFORMATICA

PROGRAMACION VISUAL
La programacin visual brinda los conocimientos necesarios para disear y desarrollar
aplicaciones con un entorno visual amigable y fcil de utilizar para el usuario.
Los lenguajes de programacin visual tienden a facilitar la tarea de los programadores,
dado que con los primeros lenguajes de programacin crear una ventana de tarea de
meses de desarrollo y de un equipo de trabajo.
1. INTRODUCCION A LA PROGRAMACION VISUAL
Un programa es una secuencia de instrucciones detalladas y codificadas a fin de que
una computadora realice las operaciones necesarias para resolver determinado
problema.
Programar: consiste en idear y ordenar las acciones que permiten obtener la solucin
de un problema.
2. LA PROGRAMACION VISUAL
(Visual program ming) se refiere al desarrollo de software donde las notaciones grficas
y los componentes de software manipulables interactivamente son usados
principalmente para definir y componer programas. La programacin visual se define
comnmente como el uso de expresiones visuales (tales como grficos, animacin o
iconos) en el proceso de la programacin, pueden ser utilizadas para formar la sintaxis
de los nuevos lenguajes de programacin visuales que conducen a los nuevos
paradigmas tales como programacin por la demostracin; o pueden ser utilizadas en
las presentaciones grficas del comportamiento o de la estructura de un programa. El
objetivo de la programacin visual es mejorar la comprensin de los programas y
simplificar la programacin en s. Ms all, la programacin visual deber fomentar a
los usuarios finales a construir sus propios programas, que de otra forma deben ser
escritos por programadores profesionales.

3. LENGUAJES DE PROGRAMACION VISUAL


La programacin visual se basa en el uso de lenguajes visuales (LVP). Un Lenguaje de
programacin Visual puede definirse como:
Un lenguaje de programacin que usa una representacin visual (tal como grficos,
dibujos, animaciones o iconos, parcial o completamente).

COMPILADO POR WILSON CESAR RONDON SANTOS

44

COMPUTACION E INFORMATICA
Un lenguaje visual manipula informacin visual o soporta interaccin visual, o permite
programar con expresiones visuales.
Un lenguaje visual es un conjunto de arreglos espaciales de smbolos de texto y
grficos con una interpretacin semntica que es usada para comunicar acciones en un
ambiente.
Los LVP son lenguajes de programacin donde se usan tcnicas visuales para
expresar relaciones o transformaciones en la informacin. Por ejemplo, un objeto visual
que representa un proceso de adicin (suma) toma dos entradas y produce una salida.
En un LVP tpico de flujo de datos, el usuario simplemente selecciona un valor de
entrada y selecciona un puerto de entrada al objeto para establecer una relacin entre
los datos y el proceso. El gnesis de los LPV vino en 1975 con la publicacin de David
Canfield Smith Pygmalion: A Creative Program ming Environment''. Por ejemplo,
Pygmalion incorpor un paradigma de programacin basado en iconos en el cual los
objetos creados podan ser modificados, y conectados juntos, con las caractersticas
definidas para realizar cmputos. Muchos LPV modernos emplean un acercamiento
basado en iconos como el de Smith. Pygmalion tambin hizo uso el concepto de
programacin por ejemplo, en donde el usuario muestra al sistema cmo realizar una
tarea en un caso especfico y el sistema utiliza esta informacin para generar un
programa el cul realiza la tarea en casos generales. Por qu insistimos en
comunicarnos con las computadoras usando lenguajes de programacin textuales?
No sera mejor comunicarnos con las computadoras usando una representacin que
aproveche nuestra naturaleza visual? Obviamente, los autores de los lenguajes de
programacin visuales (LPV) discuten que la respuesta a ambas preguntas es s. Las
principales motivaciones para la mayora de la investigacin en LPV son:
Mucha gente piensa y recuerda cosas en trminos de cuadros.
Ella se relaciona con el mundo de una manera intrnsecamente grfica y utiliza
imgenes como componente primario del pensamiento creativo
Adems, los lenguajes de programacin textuales han demostrado ser algo difciles
para que mucha gente creativa e inteligente aprenda utilizar con eficacia.
La reduccin o eliminacin de la necesidad de traducir ideas visuales en
representaciones textuales puede ayudar a atenuar este problema de la curva del
aprendizaje.
Adems, una variedad de aplicaciones, incluyendo la visualizacin cientfica y la
simulacin interactiva se prestan bien a los mtodos visuales de desarrollo. Un LPV
NO es un ambiente integrado de desarrollo
COMPILADO POR WILSON CESAR RONDON SANTOS

45

COMPUTACION E INFORMATICA
(o IDE). La diferencia es que un VPL debe ser capaz de llevar a cabo todas las tareas
de programacin de forma visual, sin tener que recurrir a la representacin textual.
4. CLASIFICACION DE LOS LENGUAJES VISUALES
Los lenguajes visuales se dividen en las siguientes categoras:
Lenguajes puramente visuales
Sistemas hbridos de texto y elementos visuales
Sistema de programacin por ejemplo (Program ming by example)
Sistemas orientados a restricciones (Constraint-oriented systems)
Sistemas basados en formas (entradas tipo hoja de clculo animada) A un que los
LPV comunican la informacin de una manera ms visual que los lenguajes textuales
tradicionales, el texto an tiene su lugar en la programacin visual. Hay 3 reas que
ilustran la superioridad del texto en algunas situaciones:
Documentacin,
Asignar nombres para distinguir entre elementos de un mismo tipo, y
Expresar conceptos bien conocidos y compactos que son inherentemente textuales
(p.ej. frmulas algebraicas)

5. PRINCIPALES CONCEPTOS DE LOS LENGUAJES VISUALES


Los principales conceptos relativos a los lenguajes visuales son:
Abstraccin procedural (descomposicin del programa en mdulos)
Abstraccin de datos, consiste en encapsular los tipos de datos abstractos definidos
por el usuario, permitiendo su acceso solo por medio de operaciones definidas.
Sistema de tipos
Control de flujo
Estructuras de control (seleccin, iteracin)
Formatos y estndares. Se refiere a la definicin de reglas que permitan especificar
los elementos del LPV (p.ej. GXL, XGMML, GML)
Gramticas de lenguajes visuales. Los lenguajes visuales se especifican por una
tripleta (ID,G,B), donde :
COMPILADO POR WILSON CESAR RONDON SANTOS

46

COMPUTACION E INFORMATICA
ID es el diccionario de iconos, el cual es un conjunto de iconos generalizados, cada uno
representado por un par (Xm,Xi) , donde Xm es la parte lgica (significado) y Xi es la
parte fsica (imagen).
G es una gramtica que especifica cmo pueden construirse objetos compuestos a
partir de iconos simples usando operadores de relacin espaciales.
B es una base de conocimiento de dominio especfico, la cual contiene la informacin
necesaria para construir el significado de la sentencia visual(nombres de eventos,
relaciones, referencias a los objetos, etc).
6. CASO DE ESTUDIO: IMPLEMENTACION DE UNA NEURONA ARTIFICIAL CON
SAN SCRIPT
Para demostrar el uso de un LPV, se realiz el desarrollo de una neurona artificial (NA)
usando la herramienta Sanscript. Cabe mencionar que Sanscript implementa las
siguientes abstracciones fundamentales:
Funciones, que son los bloques con los que se construyen las aplicaciones en
Sanscript. Una funcin tiene entradas, ejecuta un clculo y produce salidas.
Flujogramas (flowgrams), que son diagramas de funciones ligadas confunciones donde
se especifica una accin (equivalentes a un programa textual, solo que visual).
Conexiones, que son los vnculos (relaciones) entre funciones
Aplicaciones, que son programas que se ejecutan fuera de la herramienta
Una neurona artificial consta bsicamente de 4 partes, que son:
Las entradas
Los pesos
Una funcin que calcula la suma ponderada de los pesos y las entradas
La funcin de transferencia
La neurona artificial implementada solo tiene 2 entradas y una salida, pero el modelo
puede ampliarse fcilmente.
Cada una de estas partes se implement de la siguiente manera:
6.1. Lista de entradas. Debido a que podemos tener N entradas en la neurona lo ms
conveniente es tener una lista para que tengamos las entradas en una sola estructura
de datos y poder obtener de esa estructura los valores para realizar la suma de los
pesos por las entradas.
COMPILADO POR WILSON CESAR RONDON SANTOS

47

COMPUTACION E INFORMATICA
6.2. Lista de pesos. Como debe tenerse la misma cantidad de entradas que de pesos
para poder realizar la suma ponderada, hay que contar con una estructura de datos
igual a la de las en
6.3. Suma Ponderada. Para hacer la suma ponderada tenemos que tener la longitud
de nuestras listas para saber cuntas veces vamos a realizar el ciclo, como las dos
listas son de la misma longitud solamente hacemos este paso con la lista de entradas.
Pero ahora con los pesos. El iterador obtiene de la lista de entradas y de salidas el
valor en la posicin N de las listas que son f, g, los multiplica f * g y los va sumando. El
ciclo termina cuando ya no hay elementos en la lista. En la implementacin del caso del
ejemplo hay 2 elementos en cada una de las listas, pero se pueden t.
6.4. Funcin de Transferencia. La funcin de transferencia hace la comparacin entre
el resultado del iterador (suma ponderada) y el umbral de la neurona; si el resultado del
ciclo es mayor al del umbral, la neurona dispara; si el resultado del ciclo es menor
entonces la neurona se inhibe (manda como As, al integrar una red de neuronas
artificiales, las salidas (axones) de cada una de las neuronas, se convertir en entradas
de otras. o valor un 0).ener N elementos.
En la dcada del 60 Microsoft diseo un lenguaje de programacin muy difundido
llamado Basic destinado a principiantes en el rea. Visual Basic es sucesor de
aquel programa. Este lenguaje de programacin proporciona un sistema completo que
permite escribir, editar y probar aplicaciones para Windows y tambin desarrollar
aplicaciones para Internet.
7. EL ENTORNO DE TRABAJO.
a).Cuadro de herramientas: Elementos que podrn colocarse en el formulario.
b).Ventana formulario: Es el rea primaria de trabajo. Se visualiza una serie de
componentes enlazados entre s mediante un cdigo de programa.
c).Proyecto: Muestra un diagrama de la estructura jerrquica de todos los archivos
incluidos en la aplicacin.
Ventana posicin del formulario: Indica la posibilidad y el tamao relativo.
Desarrollo de una aplicacin en Visual Basic

A todo el conjunto de instrucciones o sentencias se lo denomina cdigo de programa


fuente.

COMPILADO POR WILSON CESAR RONDON SANTOS

48

COMPUTACION E INFORMATICA
El proyecto es el que genera el programa final que podr ser ejecutado desde
Windows. Entonces, una aplicacin o proyecto es una coleccin de archivos que se
compilan y dan lugar a la obtencin de un programa ejecutable.
Posicin del formulario
Junto al cuadro de herramientas, aparecer la ventana formulario, con uno en blanco
listo para empezar a trabajar. Debe controlarse la ventana posicin del formulario para
visualizar donde aparecer este respecto a la pantalla.
Cuando se inicie la aplicacin, se podr verificar que esta ventana muestra
correctamente la posicin del formulario.
Los controles del cuadro de herramientas
El cuadro de herramientas posee los siguientes controles del lenguaje Visual Basic.
7.1. Colocacin de controles en el formulario
Existen 2 formas de colocar un control del cuadro de herramientas en el formulario.
La 1 es hacer clic sobre el icono correspondiente y luego delimitar sobre el formulario
la superficie rectangular que ste ocupa.
La 2 es hacer doble clic sobre el icono de control que se quiere colocar. Una vez
seleccionado un control, es posible moverlo dentro del formulario y tambin cambiar
sus dimensiones.
7.2. Eliminacin de un control colocado en el formulario
Para borrar un control que ya se ha colocado sobre el formulario, debe seleccionar
haciendo clic sobre l, luego presionar la tecla delete (Supr.)
Asignacin de valores a las propiedades de un control
Consiste en escribir un programa en lenguaje Visual Basic que terminar de dar forma
a la aplicacin.
La codificacin, edicin y visualizacin de un programa realizado en este programa se
efecta en una ventana especial llamada ventana cdigo. Cumple las funciones de un
editor de textos. Para acceder a esta, se puede hacer doble clic en cualquier parte del
formulario o bien ver Cdigo.
a). Edicin del cdigo: Cuerpo del procedimiento.
En la zona de edicin se define el cdigo correspondiente al control y al evento que
figuran en el encabezado.
Los procedimientos asociados a un evento comienzan con las palabras PRIVATE SUB
y finalizan con END SUB.
Se conoce como cuerpo del procedimiento.
Todos los objetos tienen nombres nicos. As como tambin todos los procedimientos
de eventos.
El nombre de un procedimiento sigue la siguiente condicin:
COMPILADO POR WILSON CESAR RONDON SANTOS

49

COMPUTACION E INFORMATICA
Nombre Del objeto _nombre del evento ()
Por eso suele decirse que el nombre establece una asociacin entre el objeto y el
cdigo. Algunos procedimientos requieren valores entre los parntesis (parmetros) y
otros no. Tales parntesis son obligatorios.
Dentro de cada procedimiento, se pueden cambiar las propiedades de cada formulario
como respuesta a los eventos que se producen mientras se ejecuta una aplicacin.
b). La sintaxis para llevar a cabo esta tarea es:
Identificador del objeto. Propiedad = valor de propiedad
Cdigo de procedimientos que programa estas acciones:
Ejecucin de una aplicacin.
Antes de ejecutar una aplicacin, es conveniente almacenarla en disco.
c). Las opciones del men son: Guardar proyecto. Un proyecto consta de:

Un archivo de extensin VBP que realiza el seguimiento de todos los


componentes.

Un archivo para cada formulario creado, que tendr extensin FRM.

Opcionalmente pueden generarse de manera automtica o crearse otros archivos de


extensiones: FRX. BAS. CLS. OCX. RES.
Para creas una archivo ejecutable, en el men Archivo se selecciona la opcin generar
archivo. Se selecciona la opcin Generar archivo.exe donde archivo es el nombre
de la aplicacin para el proyecto.
8. VARIABLES Y CONSTANTES
8.1. Las variables.
Una variable es una posicin en la memoria con nombre. El nombre de la posicin es el
identificador de la variable: El valor almacenado en la posicin se llama contenido.
Como en todo lenguaje de programacin, se necesitan variables para desarrollar
cdigos o programas generales. Antes de usar las variables, hay que declararlas. Para
ello se utiliza la instruccin Dim en la que se especifica el tipo de dato y el nombre. La
sintaxis es: Dim NOMBRE as Tipo.
En NOMBRE se indica el identificador de la variable.
El tipo se declara opcionalmente, el tipo de dato de la variable.
En tipo se declara, opcionalmente, el tipo de dato de la variable especfica.
Otro de los atributos de una variable es el mbito al que pertenece, en que parte de la
aplicacin puede ser reconocida y utilizada.
El nombre de una variable debe cumplir con ciertas reglas para los identificadores que
son los siguientes:
COMPILADO POR WILSON CESAR RONDON SANTOS

50

COMPUTACION E INFORMATICA

Debe comenzar con una letra.

Puede contener letras, dgitos y caracteres subrayados.

Su longitud debe ser menor o igual que 255.

No puede contener caracteres que tienen significado en Visual Basic.

No puede coincidir con una palabra reservada.

Debe ser nico de su mbito.


8.1.1. Tipos de datos
El tipo de dato que puede almacenar una variable establece dos condiciones; el
conjunto de valores permitidos para este dato y el grupo de operaciones que se pueden
aplicar sobre esos valores.
a). Los tipos de datos se dividen en 3 categoras elementales, que son:
Numricos; cadena de caracteres y lgicos.
b). En Visual Basic, se agrupan en conjuntos de valores que tienen nombres
especficos.

Enteros (integer): Pertenecen al conjunto de los nmeros enteros. (valores extremos


-32768 y 32767)

Enteros positivos (byte): Pertenecen al subconjunto de los enteros (valores


extremos 0 y 255).

Enteros largos (long): Pertenecen a una ampliacin del conjunto anterior (valores
extremos -247483648 y 214748377)

Reales simples (single): Son los nmeros reales pertenecientes al intervalo cerrado
(valores extremos -3.202833.1038y 3.402823.1038)

Moneda.

Lgicos (Bootean)

Cadena (String)
Aunque el valor de la variable puede cambiar repetidamente al ejecutarse un programa,
su tipo no debera cambiar nunca, as verifica que todas las operaciones efectuadas
sobre las variables sean coherentes con declaracin del tipo.
La sentencia Dim: inicializa las variables, asignndoles como contenido los siguientes
valores segn su tipo.

Un cero, si se trata de una variable numrica.

La cadena nula, si est declarado una variable alfanumrica.

El valor false, si se trata de una variable de tipo lgico.


Prefijos para nombrar la variable.
c). Designacin de un identificador de una variable:

COMPILADO POR WILSON CESAR RONDON SANTOS

51

COMPUTACION E INFORMATICA

Las tres primeras letras que componen deben identificar el tipo de dato que la variable
puede contener; y estas tres letras se escriben, generalmente con minscula.

El resto del identificador se escribe con mayscula, y se trata de una palabra


relacionada con la funcin que cumple la variable de aplicacin.
8.2. Las constantes
Es una posicin en la memoria con nombre. El valor almacenado en una constante no
puede cambiar a lo largo de la ejecucin de la aplicacin.
Tambin tienen que ser declaradas. Para ello se usa la instruccin Const., en la que se
especifica el tipo de dato y el nombre. La sintaxis es: ConstNOMBRE as Tipo = Valor.
El NOMBRE se indica el identificador de la constante.
En tipo se declara, opcionalmente, el tipo de dato de la constante especificada.
El identificador de una constante debe cumplir las mismas reglas enunciadas
anteriormente.
A.- Asignacin, entrada y salida de datos.
Asignacin de datos a variables.
Esta accin trata de una operacin que sita un valor determinado en una posicin de
la memoria.
NOMBRE = Expresin.
Nombre, es el nombre de la variable, declarada previamente mediante la sentencia
Dim.
Expresin: Puede ser un valor del tipo correspondiente.
La opcin de asignar es destructiva, ya que el valor que tiene la variable antes de la
asignacin se pierde y se reemplaza por el nuevo valor.
Ingreso de datos
a). A travs de controles.
Para que el usuario pueda proporcionar la ejecucin de una aplicacin, se utiliza las
sentencias de ingreso de datos
La propiedad Text. del cuadro de textos tales como contenido lo que el usuario tipie en
ese control.
b). A travs de funciones.
Una funcin es una rutina que devuelve un nico resultado. Existen funciones
predefinidas y otras que puedan ser creadas.
Los nombres se caracterizan por contener parntesis al final. De esta manera se las
distingue de los nombres de las variables. Entre los parntesis se especifican los
argumentos.
La sintaxis de una funcin es:
COMPILADO POR WILSON CESAR RONDON SANTOS

52

COMPUTACION E INFORMATICA
Nombre de la funcin (X1, X2,, Xn)
Donde X1, X2,, Xn, son los argumentos de la funcin, es decir, los valores sobre los
cuales se aplica la funcin.
Se consideran 2 tipos de funciones:

Las predefinidas, que son aquellas que ya estn incorporadas en el lenguaje y pueden
ser usadas, por ejemplo: sqr(100): esta funcin es de tipo real.

Las definidas por el usuario, que se disean mediante un cdigo especial.


La funcin Imput Box devuelve una cadena con el texto ingresado por el usuario.
Su sintaxis es:
VARIABLE = Input Box (mensaje, titulo, respuesta, pos X, pos Y)
El texto ingresado se almacena en la variable de nombre VARIABLE, por lo tanto, sta
debe ser de tipo string.
Los cuadros de entrada siempre incluyen los botones Aceptar y Cancelar.
B.- Emisin de mensajes de salida
a). Emisin de mensajes a travs de controladores.
Mediante un control de tipo etiqueta (label), se obtiene la visualizacin de mensaje. A la
propiedad caption de la etiqueta se le puede asignar el contenido que interesa emitir.
Por ejemplo:
Si el nombre del control etiqueta es ibiMENSAJE, a travs de la siguiente instruccin.
IbMENSAJE.caption=strNUEVOCLIENTE & La empresa RBA le da la bienvenida.
b). Emisin mediante funciones.
Se puede crear cuadros de mensaje con la funcin MsgBox(). Esta funcin permite
incorporar distintos botones e iconos que acompaan al mensaje.
La sintaxis es:
VARIABLE=MsgBox(Mensaje, tipo, titulo)
8.2.1. Constantes predefinidas de Visual Basic.
Los botones que pueden mostrarse en un mensaje de salida mediante el uso de la
funcin MsgBox() dependen de la constante predefinida que se utilice. Estas
constantes son:
Los valores devueltos por la funcin MsgBox () son:
A.- Estructura de decisin simple.
Una estructura de decisin simple se especifica por medio de una condicin, tambin
llamada expresin lgica, que puede resultar verdadera (trae) o Falsa (False).

COMPILADO POR WILSON CESAR RONDON SANTOS

53

COMPUTACION E INFORMATICA
Toda expresin lgica se compone de dos operandos y un operador de relacin. Por
ejemplo: 10>5, A=B, B_C.
La sintaxis es la siguiente:
If Condicin Then
Sentencia A1
Sentencia A2

Sentencia An
Else
Sentencia B1
Sentencia B2
..
Sentencia Bm
End if
Cuando una sentencia de decisin simple es utilizada en una aplicacin, luego de
evaluar la expresin lgica, el control pasa a uno u otro grupo de sentencias. Estas
finalizan cuando se encuentran la palabra reservada End if y en ese momento el control
pasa a la sentencia inmediatamente siguiente del cdigo.
En los casos que resulten necesarios puede omitirse la clusula else.
Las condiciones pueden ser simples o compuestas. En este ltimo caso, puede usarse
los conectivos lgicos, And, Or y Not.
A.1.- Expresiones lgicas.
Es aquella que tiene un valor de verdad; puede ser Verdadera (V) o falsa (F). Estas
expresiones son tambin denominadas booleanas.
Para componer expresiones lgicas se utilizan operadores lgicos: Conjuncin,
disyuncin y negacin.
El resultado queda definido por la tabla de verdad del operador que interviene en ella:
B.- Estructura de decisin mltiple.
La estructura de decisin mltiple se utiliza para resolver situaciones en las cuales el
nmero de alternativas es mayor a 2. Segn el valor de una expresin, que puede
tomar n valores distintos, se ejecutar una y solo una de las n sentencias
especificadas.
Generalizando las sintaxis en Visual Basic de la estructura de decisin mltiple es:
Listas de constantes utilizadas en una estructura de decisin mltiple.
Ejemplo:
Los formatos de salida
COMPILADO POR WILSON CESAR RONDON SANTOS

54

COMPUTACION E INFORMATICA
A la propiedad Text del cuadro de texto txtSALIDA se le asigna el contenido de la
variable de tipo entero de nombre intRESULTADO.
C.- Estructuras de repeticin.
Es otro tipo de estructura algortmica que describen procesos que se repiten en la
solucin de un problema, las estructuras cclicas o de repeticin.
D.- Estructura Do While Loop:
En visual basic net este ciclo el cuerpo de instrucciones se ejecuta mientras una
condicin permanezca como verdadera en el momento en que la condicin se convierte
en falsa el ciclo termina
D.1.- anlisis de un problema.
Por ejemplo un juego se realiza cierta cantidad de veces que depende de una eleccin
efectuada por el usuario, es decir, mientras este lo decida.
Visual Basic dispone de una estructura que permite resolver este tipo de problemas. La
interfaz con el usuario y la codificacin de la situacin propuestas son las siguientes:
Estructura Do While Loop:
D.2.- Sintaxis.
El conjunto de acciones repiten conforman l cuerpo del bucle. Cada ejecucin del
cuerpo del bucle se denomina iteracin.
D.3.- Las principales caractersticas son:

La condicin se evala antes de la ejecucin. Si esta resulta verdadera, el cuerpo del


bucle es ejecutado; si la condicin es falsa se finaliza la repeticin. Por lo tanto puede
ser que el cuerpo del bucle no se ejecute nunca.

Una vez ejecutadas todas las acciones del cuerpo del bucle, se vuelven a evaluar la
condicin.

No se conoce de antemano la cantidad de interaciones.


El valor de la condicin en las estructuras repetitivas.
Cuando se incorpora en el cdigo de programa una estructura de repeticin es
importante tener en cuenta que dentro del cuerpo del bucle debe existir necesariamente una sentencia que permita modificar, en algn momento, el valor de verdad
de la condicin. Teniendo en cuenta que esta estructura ejecuta el cuerpo del bucle
"mientras la condicin permanezca verdadera", si sta nunca cambia su valor, la
cantidad de veces que se ejecute no tendr fin; se realizarn infinitas ejecuciones y habremos generado un bucle infinito. Cuando esto sucede, el programa no se puede
detener (o suspender) ni aun utilizando el botn Cerrar o Salir que pudiera existir en el
formulario.
E.- Estructura Do Until Loop
En esta estructura se cumple que:

COMPILADO POR WILSON CESAR RONDON SANTOS

55

COMPUTACION E INFORMATICA

La condicin es evaluada despus de cada ejecucin del cuerpo del bucle; por lo
tanto, las acciones son ejecutadas por lo menos una vez.

El cuerpo del bucle deber repetirse en tanto la condicin se mantenga falsa.

No se conoce de antemano la cantidad de iteraciones.


Asi como las estructuras de decisin simple pueden anidarse, tambin es posible incluir
una estructura de repeticin dentro de otra estructura de repeticin.
F.- Estructura For Next
Es otra estructura de repeticin que se reserva para situaciones en las que el nmero
de repeticiones se puede predecir y enumerar fcilmente antes de que comience el
bucle.
En esta estructura se cumple que:
VARIABLE no puede ser un constante ni un control de Visual Basic.

Valor inicial y valor final pueden ser constantes, variables o expresiones.

Al comienzo de esta estructura se asigna a VARIABLE el contenido especificado en


valor inicial, y cada vez que se ejecute el cuerpo del bucle este valor se ir
incrementando en una unidad, salvo que se indique un aumento distinto.

El cuerpo del bucle deja de ejecutarse cuando el valor de VARIABLE es mayor que el
valor final.
Esta estructura admite la posibilidad de agregar un incremento para el valor de
VARIABLE distinto de uno.
F.1.- Funciones predefinidas
Es un cdigo de programa que, generalmente, recibe como argumento ciertos valores,
y a partir de ellos, la funcin es: NOMBRE DE LA FUNCIN (X1, X2,, Xn) donde
estos son los argumentos, es decir, los valores sobre lo que sta aplica.
F.2.- Funciones numrica y de conversin de tipos
En ocasiones puede resultar necesario convertir un tipo de dato en otro, para poder
realizar ciertas operaciones vlidas para uno y no para el otro. Las funciones de
conversin de tipos ms empleados son:
F.3.- Funciones para el tratamiento de cadenas
Una cadena es un tipo de dato que permite la manipulacin de informacin no
numrica. Un String es una serie de caracteres cuya longitud puede variar de 0 a
65.400.
Algunas de las funciones predefinidas ms usuales que operan con cadenas de
caracteres son las siguientes:
F.3.1.- Las animaciones en Visual Basic.
Es la simulacin de un movimiento mediante la visualizacin de una o ms imgenes.
Para disear una animacin, simplemente se puede obtener el efecto de movimiento o
COMPILADO POR WILSON CESAR RONDON SANTOS

56

COMPUTACION E INFORMATICA
bien el de movimiento en conjuncin con el cambio de aspecto de un cierto objeto,
modificando su tamao, ocultndolo, agregando otros controles, etc.
Visual Basic tiene incorporado un mtodo denominado Move, que puede asociarse a
un objeto.
a). Su sintaxis es:
OBJETO. Move N1, N2, N3, N4.
Dnde:

N1, N2, N3 y N4 son valores enteros que expresan una cierta cantidad de twips.

OBJETO es el control al que se va reubicar o redimensionar.


Otro concepto que puede ser de utilidad en el desarrollo de una aplicacin con
animaciones es el funcionamiento del control temporizador (timer). Este control evala
intervalos de tiempo cuyo lapso de duracin se especifica en la propiedad Interval.
El timer siempre funcione en segundo plano, su imagen no es visualizada por el usuario
a lo largo de la ejecucin de una aplicacin. Su funcionalidad podra definirse como la
posibilidad de activar cierto evento en determinados lapsos de tiempo.
b). El mtodo Circle
Permite dibujar circunferencias, elipses, crculos, superficies elpticas, sectores
circulares y elpticos, etc. Su sintaxis es:
Circle(X,Y), RADIO, COLOR, NGULO INICIAL, NGULO FINAL, ASPECTO.
Dnde:

X e Y especifican las coordenadas del centro de la figura.

RADIO define la longitud del radio de la figura;

COLOR determina el color de trazado;

NGULO INICIAL y NGULO FINAL establecen amplitudes de ngulos expresadas


en radianes, especifican el ngulo en que comienza y finaliza la figura a graficar
respectivamente.
c). El mtodo Line
El mtodo Line permite dibujar segmentos, rectngulos y superficies rectangulares,
como se describe en la siguiente tabla:
d). Manipulacin de formularios
Da la posibilidad de presentar al usuario ms de un formulario a lo largo del desarrollo
de una aplicacin le otorga ms funcionalidad a cualquiera de las aplicaciones que
podamos crear. Posee dos mtodos y dos sentencias orientados especficamente a la
manipulacin de formularios.

COMPILADO POR WILSON CESAR RONDON SANTOS

57

COMPUTACION E INFORMATICA
9.- CONCLUSIONES.
Algunas de las perspectivas en el desarrollo de la programacin visual son:
Complemento de IDEs (p.ej. Visual Age)
Construccin de aplicaciones sobre una plataforma nativa (ej. Sanscript)
Generacin de cdigo (de la representacin visual a un lenguaje textual)
Fusin con lenguajes de modelado (UML + SDL)
Integracin de recursos multimedia a las aplicaciones (Peri Producer, Stage cast
Creator)
Creacin de sistemas de agentes (AgentSheet) El desarrollo de lenguajes visuales de
programacin implicar que los codificadores pierdan su hegemona en el desarrollo de
software, lo cual es sano si se toma en cuenta que tener un experto en la sintaxis de un
lenguaje y en el uso de herramientas de desarrollo, dista mucho de que sea capaz de
resolver problemas mediante el uso de recursos de cmputo y sistemas informticos.
As que los verdaderos programadores pueden estar tranquilos, pues podrn mejorar
su efectividad y productividad con herramientas que les permitan mejorar la proyeccin
de sus modelos mentales y soluciones a problemas dados (herramientas de 5a.
generacin [1]).Que los usuarios incursionen en el desarrollo es sano pues por fin
comprendern que los requerimientos inexactos o ambiguos son un factor que fomenta
los dolores de cabeza y el atraso de los proyectos, adems de que al obtener cierta
independencia, mejorar el nivel de comunicacin con desarrolladores profesionales.
Vale la pena responder por adelantado a la pregunta de muchos programadores:"me
sirven los conocimientos que ya tengo o hay que empezar de nuevo?". Manejar
lenguajes visuales implica para empezar, conocer la sintaxis del lenguaje (esto es una
constante), pero a partir de este punto los beneficios son muchos:
Se cuenta con una herramienta de integracin de componentes robusta
La representacin de los mdulos, subsistemas y sistemas es comprensible paratodos
los miembros del equipo
Las mini especificaciones de diseo se fusionan con la implementacin
Dependiendo de la herramienta es posible reusar componentes de plataformas
disponibles en el mercado
El aprendizaje de tcnicas de programacin es ms rpido y claro. Este nuevo
paradigma es un medio excelente para ensear a programar y resolver problemas, por
lo que se sugiere su adopcin en los niveles formativos de educacin.
COMPILADO POR WILSON CESAR RONDON SANTOS

58

COMPUTACION E INFORMATICA

BASE DE DATOS

1.- INTRODUCCION Y CONCEPTO.


Una base de datos o banco de datos (en ocasiones abreviada con la sigla BD o con la
abreviatura b. d.) es un conjunto de datos pertenecientes a un mismo contexto y
almacenados sistemticamente para su posterior uso. En este sentido, una biblioteca
puede considerarse una base de datos compuesta en su mayora por documentos y
textos impresos en papel e indexados para su consulta. Actualmente, y debido al
desarrollo tecnolgico de campos como la informtica y la electrnica, la mayora de las
bases de datos estn en formato digital (electrnico), que ofrece un amplio rango de
soluciones al problema de almacenar datos.
Existen programas denominados sistemas gestores de bases de datos, abreviado
SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rpida y
estructurada. Las propiedades de estos SGBD, as como su utilizacin y
administracin, se estudian dentro del mbito de la informtica.
Las aplicaciones ms usuales son para la gestin de empresas e instituciones pblicas.
Tambin son ampliamente utilizadas en entornos cientficos con el objeto de almacenar
la informacin experimental.
Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos
se encuentran protegidos por las leyes de varios pases. Por ejemplo, en Espaa los
datos personales se encuentran protegidos por la Ley Orgnica de Proteccin de Datos
de Carcter Personal (LOPD).
2.- TIPOS DE BASE DE DATOS.
Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto que
se est manejando, la utilidad de las mismas o las necesidades que satisfagan.
2.1.- Segn la variabilidad de los datos almacenados
2.1.1.- Bases de datos estticas
Son bases de datos de slo lectura, utilizadas primordialmente para almacenar datos
histricos que posteriormente se pueden utilizar para estudiar el comportamiento de un
conjunto de datos a travs del tiempo, realizar proyecciones, tomar decisiones y
realizar anlisis de datos para inteligencia empresarial.
COMPILADO POR WILSON CESAR RONDON SANTOS

59

COMPUTACION E INFORMATICA
2.1.2.- Bases de datos dinmicas
stas son bases de datos donde la informacin almacenada se modifica con el tiempo,
permitiendo operaciones como actualizacin, borrado y adicin de datos, adems de
las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de
datos utilizada en un sistema de informacin de un supermercado, una farmacia, un
videoclub o una empresa.
2.2.- Segn el contenido

2.2.1.- Bases de datos bibliogrficas


Slo contienen un subrogante (representante) de la fuente primaria, que permite
localizarla. Un registro tpico de una base de datos bibliogrfica contiene informacin
sobre el autor, fecha de publicacin, editorial, ttulo, edicin, de una determinada
publicacin, etc. Puede contener un resumen o extracto de la publicacin original, pero
nunca el texto completo, porque si no, estaramos en presencia de una base de datos a
texto completo (o de fuentes primarias ver ms abajo). Como su nombre lo indica, el
contenido son cifras o nmeros. Por ejemplo, una coleccin de resultados de anlisis
de laboratorio, entre otras.
2.2.2.- Bases de datos de texto completo
Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las
ediciones de una coleccin de revistas cientficas.
a). Directorios
Un ejemplo son las guas telefnicas en formato electrnico.
2.2.3.- Bases de datos o "bibliotecas" de informacin qumica o biolgica
Son bases de datos que almacenan diferentes tipos de informacin proveniente de la
qumica, las ciencias de la vida o mdicas. Se pueden considerar en varios subtipos:

Las que almacenan secuencias de nucletidos o protenas.


Las bases de datos de rutas metablicas.
Bases de datos de estructura, comprende los registros de datos experimentales
sobre estructuras 3D de biomolculasBases de datos clnicas.
Bases de datos bibliogrficas (biolgicas, qumicas, mdicas y de otros campos):
PubChem, Medline, EBSCOhost.

COMPILADO POR WILSON CESAR RONDON SANTOS

60

COMPUTACION E INFORMATICA
2.3.- Modelos de bases de datos
Adems de la clasificacin por la funcin de las bases de datos, stas tambin se
pueden clasificar de acuerdo a su modelo de administracin de datos.
Un modelo de datos es bsicamente una "descripcin" de algo conocido como
contenedor de datos (algo en donde se guarda la informacin), as como de los
mtodos para almacenar y recuperar informacin de esos contenedores. Los modelos
de datos no son cosas fsicas: son abstracciones que permiten la implementacin de un
sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos
matemticos.
Algunos modelos con frecuencia utilizados en las bases de datos:
2.3.1.- Bases de datos jerrquicas
Base de datos jerrquica.
En este modelo los datos se organizan en una forma similar a un rbol (visto al revs),
en donde un nodo padre de informacin puede tener varios hijos. El nodo que no tiene
padres es llamado raz, y a los nodos que no tienen hijos se los conoce como hojas.
Las bases de datos jerrquicas son especialmente tiles en el caso de aplicaciones
que manejan un gran volumen de informacin y datos muy compartidos permitiendo
crear estructuras estables y de gran rendimiento.
Una de las principales limitaciones de este modelo es su incapacidad de representar
eficientemente la redundancia de datos.
2.3.2.- Base de datos de red
ste es un modelo ligeramente distinto del jerrquico; su diferencia fundamental es la
modificacin del concepto de nodo: se permite que un mismo nodo tenga varios padres
(posibilidad no permitida en el modelo jerrquico).
Fue una gran mejora con respecto al modelo jerrquico, ya que ofreca una solucin
eficiente al problema de redundancia de datos; pero, aun as, la dificultad que significa
administrar la informacin en una base de datos de red ha significado que sea un
modelo utilizado en su mayora por programadores ms que por usuarios finales.
2.3.3.- Bases de datos transaccionales
Son bases de datos cuyo nico fin es el envo y recepcin de datos a grandes
velocidades, estas bases son muy poco comunes y estn dirigidas por lo general al
entorno de anlisis de calidad, datos de produccin e industrial, es importante entender
que su fin nico es recolectar y recuperar los datos a la mayor velocidad posible, por lo
COMPILADO POR WILSON CESAR RONDON SANTOS

61

COMPUTACION E INFORMATICA
tanto la redundancia y duplicacin de informacin no es un problema como con las
dems bases de datos, por lo general para poderlas aprovechar al mximo permiten
algn tipo de conectividad a bases de datos relacionales.
Un ejemplo habitual de transaccin es el traspaso de una cantidad de dinero entre
cuentas bancarias. Normalmente se realiza mediante dos operaciones distintas, una en
la que se decrementa el saldo de la cuenta origen y otra en la que incrementamos el
saldo de la cuenta destino. Para garantizar la atomicidad del sistema (es decir, para
que no aparezca o desaparezca dinero), las dos operaciones deben ser atmicas, es
decir, el sistema debe garantizar que, bajo cualquier circunstancia (incluso una cada
del sistema), el resultado final es que, o bien se han realizado las dos operaciones, o
bien no se ha realizado ninguna.
2.3.4.- Bases de datos relacionales
Modelo relacional.
Base de datos relacional.
ste es el modelo utilizado en la actualidad para modelar problemas reales y
administrar datos dinmicamente. Tras ser postulados sus fundamentos en 1970 por
Edgar Frank Codd, de los laboratorios IBM en San Jos (California), no tard en
consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea
fundamental es el uso de "relaciones". Estas relaciones podran considerarse en forma
lgica como conjuntos de datos llamados "tuplas". Pese a que sta es la teora de las
bases de datos relacionales creadas por Codd, la mayora de las veces se
conceptualiza de una manera ms fcil de imaginar. Esto es pensando en cada
relacin como si fuese una tabla que est compuesta por registros (las filas de una
tabla), que representaran las tuplas, y campos (las columnas de una tabla).
En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia
(a diferencia de otros modelos como el jerrquico y el de red). Esto tiene la
considerable ventaja de que es ms fcil de entender y de utilizar para un usuario
espordico de la base de datos. La informacin puede ser recuperada o almacenada
mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la
informacin.
El lenguaje ms habitual para construir las consultas a bases de datos relacionales es
SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estndar
implementado por los principales motores o sistemas de gestin de bases de datos
relacionales.
Durante su diseo, una base de datos relacional pasa por un proceso al que se le
conoce como normalizacin de una base de datos.

COMPILADO POR WILSON CESAR RONDON SANTOS

62

COMPUTACION E INFORMATICA
Durante los aos 80 la aparicin de dBASE produjo una revolucin en los lenguajes de
programacin y sistemas de administracin de datos. Aunque nunca debe olvidarse
que dBase no utilizaba SQL como lenguaje base para su gestin.

2.3.5.- Bases de datos multidimensionales


Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como
creacin de Cubos OLAP. Bsicamente no se diferencian demasiado de las bases de
datos relacionales (una tabla en una base de datos relacional podra serlo tambin en
una base de datos multidimensional), la diferencia est ms bien a nivel conceptual; en
las bases de datos multidimensionales los campos o atributos de una tabla pueden ser
de dos tipos, o bien representan dimensiones de la tabla, o bien representan mtricas
que se desean estudiar.
2.3.6.- Bases de datos orientadas a objetos
Este modelo, bastante reciente, y propio de los modelos informticos orientados a
objetos, trata de almacenar en la base de datos los objetos completos (estado y
comportamiento).
Una base de datos orientada a objetos es una base de datos que incorpora todos los
conceptos importantes del paradigma de objetos:

Encapsulacin - Propiedad que permite ocultar la informacin al resto de los


objetos, impidiendo as accesos incorrectos o conflictos.
Herencia - Propiedad a travs de la cual los objetos heredan comportamiento
dentro de una jerarqua de clases.
Polimorfismo - Propiedad de una operacin mediante la cual puede ser aplicada
a distintos tipos de objetos.

En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre
los datos como parte de la definicin de la base de datos. Una operacin (llamada
funcin) se especifica en dos partes. La interfaz (o signatura) de una operacin incluye
el nombre de la operacin y los tipos de datos de sus argumentos (o parmetros). La
implementacin (o mtodo) de la operacin se especifica separadamente y puede
modificarse sin afectar la interfaz. Los programas de aplicacin de los usuarios pueden
operar sobre los datos invocando a dichas operaciones a travs de sus nombres y
argumentos, sea cual sea la forma en la que se han implementado. Esto podra
denominarse independencia entre programas y operaciones.
SQL:2003, es el estndar de SQL92 ampliado, soporta los conceptos orientados a
objetos y mantiene la compatibilidad con SQL92.

COMPILADO POR WILSON CESAR RONDON SANTOS

63

COMPUTACION E INFORMATICA
2.3.7.- Bases de datos documentales
Permiten la indexacin a texto completo, y en lneas generales realizar bsquedas ms
potentes. Tesaurus es un sistema de ndices optimizado para este tipo de bases de
datos.
2.3.8.- Bases de datos deductivas
Un sistema de base de datos deductiva, es un sistema de base de datos pero con la
diferencia de que permite hacer deducciones a travs de inferencias. Se basa
principalmente en reglas y hechos que son almacenados en la base de datos. Las
bases de datos deductivas son tambin llamadas bases de datos lgicas, a raz de que
se basa en lgica matemtica. Este tipo de base de datos surge debido a las
limitaciones de la Base de Datos Relacional de responder a consultas recursivas y de
deducir relaciones indirectas de los datos almacenados en la base de datos.
3.- LENGUAJE
Utiliza un subconjunto del lenguaje Prolog llamado Datalog el cual es declarativo y
permite al ordenador hacer deducciones para contestar a consultas basndose en los
hechos y reglas almacenados.
4.- VENTAJAS

Uso de reglas lgicas para expresar las consultas.


Permite responder consultas recursivas.
Cuenta con negaciones estratificadas
Capacidad de obtener nueva informacin a travs de la ya almacenada en la
base de datos mediante inferencia.
Uso de algoritmos de optimizacin de consultas.
Soporta objetos y conjuntos complejos.

5.- DESVENTAJAS

Crear procedimientos eficaces de deduccin para evitar caer en bucles infinitos.


Encontrar criterios que decidan la utilizacin de una ley como regla de
deduccin.
Replantear las convenciones habituales de la base de datos.

6.- FASES
a). Fase de Interrogacin: se encarga de buscar en la base de datos informaciones
deducibles implcitas. Las reglas de esta fase se denominan reglas de derivacin.
b). Fase de Modificacin: se encarga de aadir a la base de datos nuevas
informaciones deducibles. Las reglas de esta fase se denominan reglas de generacin.
COMPILADO POR WILSON CESAR RONDON SANTOS

64

COMPUTACION E INFORMATICA
7.- INTERPRETACION
Encontramos dos teoras de interpretacin de las bases de datos deductivas:
a). Teora de Demostracin: consideramos las reglas y los hechos como axiomas.
Los hechos son axiomas base que se consideran como verdaderos y no contienen
variables. Las reglas son axiomas deductivos ya que se utilizan para deducir nuevos
hechos.
b). Teora de Modelos: una interpretacin es llamada modelo cuando para un conjunto
especfico de reglas, stas se cumplen siempre para esa interpretacin. Consiste en
asignar a un predicado todas las combinaciones de valores y argumentos de un
dominio de valores constantes dado. A continuacin se debe verificar si ese predicado
es verdadero o falso.
8.- MECANISMOS
Existen dos mecanismos de inferencia:
a). Ascendente: donde se parte de los hechos y se obtiene nuevos aplicando reglas de
inferencia.
b). Descendente: donde se parte del predicado (objetivo de la consulta realizada) e
intenta encontrar similitudes entre las variables que nos lleven a hechos correctos
almacenados en la base de datos.
9.- GESTION DE BASES DE DATOS DISTRIBUIDA (SGBD)
La base de datos y el software SGBD pueden estar distribuidos en mltiples sitios
conectados por una red. Hay de dos tipos:
a). Distribuidos homogneos: utilizan el mismo SGBD en mltiples sitios.
b). Distribuidos heterogneos: Da lugar a los SGBD federados o sistemas multibase
de datos en los que los SGBD participantes tienen cierto grado de autonoma local y
tienen acceso a varias bases de datos autnomas preexistentes almacenados en los
SGBD, muchos de estos emplean una arquitectura cliente-servidor.
Estas surgen debido a la existencia fsica de organismos descentralizados. Esto les da
la capacidad de unir las bases de datos de cada localidad y acceder as a distintas
universidades, sucursales de tiendas, etctera.

COMPILADO POR WILSON CESAR RONDON SANTOS

65

COMPUTACION E INFORMATICA

HERRAMIENTAS CASE
1.- INTRODUCCION Y CONCEPTO.
Las herramientas CASE (Computer Aided Software Engineering, Ingeniera de
Software Asistida por Computadora) son diversas aplicaciones informticas destinadas
a aumentar la productividad en el desarrollo de software reduciendo el costo de las
mismas en trminos de tiempo y de dinero. Estas herramientas nos pueden ayudar en
todos los aspectos del ciclo de vida de desarrollo del software en tareas como el
proceso de realizar un diseo del proyecto, clculo de costos, implementacin de parte
del cdigo automticamente con el diseo dado, compilacin automtica,
documentacin o deteccin de errores entre otras, que analizaba la relacin existente
entre los requisitos de un problema y las necesidades que stos generaban, el lenguaje
en cuestin se denominaba PSL (Problem Statement Language) y la aplicacin que
ayudaba a buscar las necesidades de los diseadores PSA (Problem Statement
Analyzer).
Hoy en da, muchas empresas se han extendido a la adquisicin de herramientas
CASE (Ingeniera Asistida por Computadora), con el fin de automatizar los aspectos
clave de todo el proceso de desarrollo de un sistema, desde el principio hasta el final e
incrementar su posicin en el mercado competitivo, pero obteniendo algunas veces
elevados costos en la adquisicin de la herramienta y costos de entrenamiento de
personal as como la falta de adaptacin de la herramienta a la arquitectura de la
informacin y a las metodologas de desarrollo utilizadas por la organizacin. Por otra
parte, algunas herramientas CASE no ofrecen o evalan soluciones potenciales para
los problemas relacionados con sistemas o virtualmente no llevan a cabo ningn
anlisis de los requerimientos de la aplicacin.
Sin embargo, CASE proporciona un conjunto de herramientas semi automatizadas y
automatizadas que estn desarrollando una cultura de ingeniera nueva para muchas
empresas. Uno de los objetivos ms importante del CASE (a largo plazo) es conseguir
la generacin automtica de programas desde una especificacin a nivel de diseo.
Ahora bien, con la aparicin de las redes de ordenadores en empresas y universidades
ha surgido en el mundo de la informtica la tecnologa cliente / servidor. Son muchas
de las organizaciones que ya cuentan con un nmero considerable de aplicaciones
cliente / servidor en operacin: Servidores de Bases de Datos y Manejadores de
Objetos Distribuidos. Cliente / servidor es una tecnologa de bajo costo que proporciona
recursos compartidos, escalabilidad, integridad, encapsulamiento de servicios, etc.
Pero al igual que toda tecnologa, el desarrollo de aplicaciones cliente / servidor
requiere que la persona tenga conocimientos, experiencia y habilidades en
procesamiento de transacciones, diseo de base de datos, redes de ordenadores y
diseo grfica de inter fase.

COMPILADO POR WILSON CESAR RONDON SANTOS

66

COMPUTACION E INFORMATICA
2.- HERRAMIENTAS CASE
De acuerdo con Kendall y Kendall la ingeniera de sistemas asistida por ordenador es
la aplicacin de tecnologa informtica a las actividades, las tcnicas y las
metodologas propias de desarrollo, su objetivo es acelerar el proceso para el que han
sido diseadas, en el caso de CASE para automatizar o apoyar una o mas fases del
ciclo de vida del desarrollo de sistemas.
Cuando se hace la planificacin de la base de datos, la primera etapa del ciclo de vida
de las aplicaciones de bases de datos, tambin se puede escoger una herramienta
CASE (Computer-Aided Software Engineering) que permita llevar a cabo el resto de
tareas del modo ms eficiente y efectivo posible. Una herramienta CASE suele incluir:
Un diccionario de datos para almacenar informacin sobre los datos de la aplicacin de
bases de datos.
Herramientas de diseo para dar apoyo al anlisis de datos.
Herramientas que permitan desarrollar el modelo de datos corporativo, as como los
esquemas conceptual y lgico.
Herramientas para desarrollar los prototipos de las aplicaciones.
El uso de las herramientas CASE puede mejorar la productividad en el desarrollo de
una aplicacin de bases de datos.
3.- HISTORIA
En la dcada de los setenta el proyecto ISDOS desarroll un lenguaje llamado
"Problem Statement Language" (PSL) para la descripcin de los problemas de usuarios
y las necesidades de solucin de un sistema de informacin en un diccionario
computarizado. Problem Statement Analyzer (PSA) era un producto asociado que
analizaba la relacin de problemas y necesidades.
La primera herramienta CASE como hoy la conocemos fue "Excelerator" en 1984, era
para PC. Actualmente la oferta de herramientas CASE es muy amplia y tenemos por
ejemplo el EASYCASE o WINPROJECT.
Las herramientas CASE alcanzaron su techo a principios de los aos 90. En la poca
en la que IBM haba conseguido una alianza con la empresa de software AD/Cycle
para trabajar con sus mainframes, estos dos gigantes trabajaban con herramientas
CASE que abarcaban todo el ciclo de vida del software. Pero poco a poco los
mainframes han ido siendo menos utilizados y actualmente el mercado de las Big
CASE ha muerto completamente abriendo el mercado de diversas herramientas ms
especficas para cada fase del ciclo de vida del software.
COMPILADO POR WILSON CESAR RONDON SANTOS

67

COMPUTACION E INFORMATICA
4.- TECNOLOGIA CASE
La tecnologa CASE supone la automatizacin del desarrollo del software,
contribuyendo a mejorar la calidad y la productividad en el desarrollo de sistemas de
informacin.
5.- OBJETIVOS DE LA TECNOLOGIA CASE
Permitir la aplicacin prctica de metodologas estructuradas, las cuales al ser
realizadas con una herramienta se consigue agilizar el trabajo.
Facilitar la realizacin de prototipos y el desarrollo conjunto de aplicaciones.
Simplificar el mantenimiento de los programas.
Mejorar y estandarizar la documentacin.
Aumentar la portabilidad de las aplicaciones.
Facilitar la reutilizacin de componentes software.
Permitir un desarrollo y un refinamiento visual de las aplicaciones, mediante la
utilizacin de grficos.
6.- AUTOMATIZAR
El desarrollo del software
La documentacin
La generacin del cdigo
El chequeo de errores
La gestin del proyecto
7.- PERMITIR
La reutilizacin del software
La portabilidad del software
La estandarizacin de la documentacin

COMPILADO POR WILSON CESAR RONDON SANTOS

68

COMPUTACION E INFORMATICA
8.- COMPONENTES DE LAS HERRAMIENTAS CASE
De una forma esquemtica podemos decir que una herramienta CASE se compone de
los siguientes elementos:
Repositorio (diccionario) donde se almacenan los elementos definidos o creados por la
herramienta, y cuya gestin se realiza mediante el apoyo de un Sistema de Gestin de
Base de Datos (SGBD) o de un sistema de gestin de ficheros.
Meta modelo (no siempre visible), que constituye el marco para la definicin de las
tcnicas y metodologas soportadas por la herramienta.
Carga o descarga de datos, son facilidades que permiten cargar el repertorio de la
herramienta CASE con datos provenientes de otros sistemas, o bien generar a partir de
la propia herramienta esquemas de base de datos, programas, etc. que pueden, a su
vez, alimentar otros sistemas. Este elemento proporciona as un medio de
comunicacin con otras herramientas.
Comprobacin de errores, facilidades que permiten llevar a cabo un anlisis de la
exactitud, integridad y consistencia de los esquemas generados por la herramienta.
Interfaz de usuario, que constar de editores de texto y herramientas de diseo grfico
que permitan, mediante la utilizacin de un sistema de ventanas, iconos y mens, con
la ayuda del ratn, definir los diagramas, matrices, etc. que incluyen las distintas
metodologas.
9.- ESTRUCTURA GENERAL DE LAS HERRAMIENTAS CASE
La estructura CASE se basa en la siguiente terminologa:
9.1.- CASE de alto nivel son aquellas herramientas que automatizan o apoyan las
fases finales o superiores del ciclo de vida del desarrollo de sistemas como la
planificacin de sistemas, el anlisis de sistemas y el diseo de sistemas.
9.2.- CASE de bajo nivel son aquellas herramientas que automatizan o apoyan las
fases finales o inferiores del ciclo de vida como el diseo detallado de sistemas, la
implantacin de sistemas y el soporte de sistemas.
9.3.- CASE cruzado de ciclo de vida se aplica a aquellas herramientas que apoyan
actividades que tienen lugar a lo largo de todo el ciclo de vida, se incluyen actividades
como la gestin de proyectos y la estimacin.

COMPILADO POR WILSON CESAR RONDON SANTOS

69

COMPUTACION E INFORMATICA
10.- ESTADO ACTUAL
En las ltimas dcadas se ha trabajado en el rea de desarrollo de sistemas para
encontrar tcnicas que permitan incrementar la productividad y el control de calidad en
cualquier proceso de elaboracin de software, y hoy en da la tecnologa CASE
(Computer Aided Software Engineering) reemplaza al papel y al lpiz por el ordenador
para transformar la actividad de desarrollar software en un proceso automatizado.
La tecnologa CASE supone la informatizacin de la informticaes decir la
automatizacin del desarrollo del software--, contribuyendo as a elevar la productividad
y la calidad de en el desarrollo de los sistemas de informacin de forma anloga a lo
que suponen las tcnicas CAD/CAM en el rea de fabricacin.
En este nuevo enfoque que persigue mejorar la calidad del software e incrementar la
productividad en el proceso de desarrollo del mismo, se plantean los siguientes
objetivos:
<<> Permitir la aplicacin prctica de metodologas, lo que resulta muy difcil sin
emplear herramientas.
<<> Facilitar la realizacin de prototipos y el desarrollo conjunto de aplicaciones.
<<> Simplificar el mantenimiento del software.
Mejorar y estandarizar la documentacin.
Aumentar la portabilidad de las aplicaciones.
Facilitar la reutilizacin de componentes de software
Permitir un desarrollo y un refinamiento (visual) de las aplicaciones, mediante la
utilizacin de controles grficos (piezas de cdigo reutilizables).
11.- INTEGRACION DE LAS HERRAMIENTAS CASE EN EL FUTURO
Las herramientas CASE evolucionan hacia tres tipos de integracin:
La integracin de datos permite disponer de herramientas CASE con diferentes
estructuras de diccionarios locales para el intercambio de datos.
La integracin de presentacin confiere a todas las herramientas CASE el mismo
aspecto.
La integracin de herramientas permite disponer de herramientas CASE capaces de
invocar a otras CASE de forma automtica.
COMPILADO POR WILSON CESAR RONDON SANTOS

70

COMPUTACION E INFORMATICA

12.- CLASIFICACION DE LAS HERRAMIENTAS CASE


No existe una nica clasificacin de herramientas CASE y, en ocasiones, es
difcil incluirlas en una clase determinada. Podran clasificarse atendiendo a:
- Las plataformas que soportan.
- Las fases del ciclo de vida del desarrollo de sistemas que cubren.
- La arquitectura de las aplicaciones que producen.
- Su funcionalidad.
Por funcionalidad podramos diferenciar algunas como:

Herramientas de generacin semiautomtica de cdigo.


Editores UML.
Herramientas de Refactorizacin de cdigo.
Herramientas de mantenimiento como los sistemas de control de versiones.

CASE es una combinacin de herramientas software (aplicaciones) y de metodologas


de desarrollo:
A. Las herramientas permiten automatizar el proceso de desarrollo del software.
B. Las metodologas definen los procesos automatizar.
Las herramientas CASE se clasifican por su amplitud:
TOOLKIT: es una coleccin de herramientas integradas que permiten automatizar un
conjunto de tareas de algunas de las fases del ciclo de vida del sistema informtico:
Planificacin estratgica, Anlisis, Diseo, Generacin de programas.
WORKBENCH: Son conjuntos integrados de herramientas que dan soporte a la
automatizacin del proceso completo de desarrollo del sistema informtico. Permiten
cubrir el ciclo de vida completo. El producto final aportado por ellas es un sistema en
cdigo ejecutable y su documentacin.
Clasificacin teniendo en cuenta las fases o tareas del ciclo de vida que
automatizan:
UPPER CASE: (U-CASE), herramientas que ayudan en las fases de planificacin,
anlisis de requisitos y estrategia del desarrollo, usando, entre otros diagramas UML.
COMPILADO POR WILSON CESAR RONDON SANTOS

71

COMPUTACION E INFORMATICA
Planificacin estratgica,
Corporativos.

Requerimientos de

Desarrollo

Funcional de

Planes

MIDDLE CASE: (M-CASE) Herramientas para automatizar tareas en el anlisis y


diseo de la aplicacin.
LOWER CASE:(L-CASE) Generacin de cdigo, test e implantacin
Herramientas que semi-automatizan la generacin de cdigo, crean programas de
deteccin de errores, soportan la depuracin de programas y pruebas. Adems
automatizan la documentacin completa de la aplicacin. Aqu pueden incluirse las
herramientas de Desarrollo rpido de aplicaciones.
Existen otros nombres que se le dan a este tipo de herramientas, y que no es una
clasificacin excluyente entre s, ni con la anterior:

Integrated CASE (I-CASE), herramientas que engloban todo el proceso de


desarrollo software, desde anlisis hasta implementacin.
MetaCASE, herramientas que permiten la definicin de nuestra propia tcnica
de modelado, los elementos permitidos del meta modelo generado se guardan
en un repositorio y pueden ser usados por otros analistas, es decir, es como si
definiramos nuestro propio UML, con nuestros elementos, restricciones y
relaciones posibles.
CAST (Computer-Aided Software Testing), herramientas de soporte a la prueba
de software.
IPSE (Integrated Programming Support Environment), herramientas que
soportan todo el ciclo de vida, incluyen componentes para la gestin de
proyectos y gestin de la configuracin activa.

13.- CARACTERISTICAS DE LAS HERRAMIENTAS CASE


Una herramienta CASE cliente / servidor provee modelo de datos, generacin de
cdigo, registro del ciclo de vida de los proyectos, comunicacin entre distintos
ingenieros. Las principales herramientas son KnowledgeWares Application
Development Workbench, TIs, Information Engineering Facility (IEF), y Andersen
Consultings Foundation for Cooperative Processing.
14.- DEBERES DE LAS HERRAMIENTAS CASE CLIENTE / SERVIDOR
Proporcionar topologas de aplicacin flexibles. La herramienta debe
proporcionar facilidades de construccin que permita separar la aplicacin (en muchos
puntos diferentes) entre el cliente, el servidor y ms importante, entre servidores.
Proporcionar aplicaciones porttiles. La herramienta debe generar cdigo para
Windows, OS/ 2, Macintosh, Unix y todas las plataformas de servidores conocidas.
COMPILADO POR WILSON CESAR RONDON SANTOS

72

COMPUTACION E INFORMATICA
Debe ser capaz, a tiempo de corrida, desplegar la versin correcta del cdigo en la
mquina apropiada.
Control de Versin. La herramienta debe reconocer las versiones de cdigos que
se ejecutan en los clientes y servidores, y asegurarse que sean consistentes. Tambin,
la herramienta debe ser capaz de controlar un gran nmero de tipos de objetos
incluyendo texto, grficos, mapas de bits, documentos complejos y objetos nicos, tales
como definiciones de pantallas y de informes, archivos de objetos y datos de prueba y
resultados. Debe mantener versiones de objetos con niveles arbitrarios de
granularidad; por ejemplo, una nica definicin de datos o una agrupacin de mdulos.
Crear cdigo compilado en el servidor. La herramienta debe ser capaz de
compilar automticamente cdigo 4GL en el servidor para obtener el mximo
performance.
Trabajar con una variedad de administradores de recurso. La herramienta debe
adaptarse ella misma a los administradores de recurso que existen en varios servidores
de la red; su interaccin con los administradores de recurso debera ser negociable a
tiempo de ejecucin.
Trabajar con una variedad de software intermedios. La herramienta debe adaptar
sus comunicaciones cliente / servidor al software intermedio existente. Como mnimo la
herramienta debera ajustar los temporizadores basndose en, si el trfico se est
moviendo en una LAN o WAN.
Soporte multiusuarios. La herramienta debe permitir que varios diseadores
trabajen en una aplicacin simultneamente. Debe gestionarse los accesos
concurrentes a la base de datos por diferentes usuarios, mediante el arbitrio y bloqueos
de accesos a nivel de archivo o de registro.
Seguridad. La herramienta debe proporcionar mecanismos para controlar el acceso
y las modificaciones a los que contiene. La herramienta debe, al menos, mantener
contraseas y permisos de acceso en distintos niveles para cada usuario. Tambin
debe facilitar la realizacin automtica de copias de seguridad y recuperaciones de las
mismas, as como el almacenamiento de grupos de informacin determinados, por
ejemplo, por proyecto o aplicaciones.
Desarrollo en equipo, repositorio de libreras compartidas. Debe permitir que
grupos de programadores trabajen en un proyecto comn; debe proveer facilidades de
check-in/ check-out registrar formas, widgets, controles, campos, objetos de negocio,
DLL, etc.; debe proporcionar un mecanismo para compartir las libreras entre distintos
realizadores y mltiples herramientas; Gestiona y controla el acceso multiusuario a los
datos y bloquea los objetos para evitar que se pierdan modificaciones inadvertidamente
cuando se realizan simultneamente.

COMPILADO POR WILSON CESAR RONDON SANTOS

73

COMPUTACION E INFORMATICA
15.- FACTORES ASOCIADOS A LA IMPLANTACION DE LAS HERRAMIENTAS
CASE
La difusin de las innovaciones en esta rea ha comenzado a estudiarse a partir de los
aos 1940. Por ello, existen estudios tericos al respecto, realizndose evaluaciones,
adopcin e implementacin tecnolgica.
Existe un amplio cuerpo de investigaciones disponibles sobre la adopcin de
innovaciones. Muchos de los estudios sobre innovacin se han analizado bajo dos
perspectivas: adopcin y difusin (Kimberly, 1981). Mientras unos estudios usan la
perspectiva de la adopcin para evaluar la receptividad y los cambios de la
organizacin o sociedad por la innovacin, otros usan la perspectiva de la difusin para
intentar entender por qu y cmo se difunde y qu caractersticas generales o
principales de la innovacin son aceptadas.
16.- OBJETIVOS
1. Mejorar la productividad en el desarrollo y mantenimiento del software.
2. Aumentar la calidad del software.
3. Reducir el tiempo y coste de desarrollo y mantenimiento de los sistemas
informticos.
4. Mejorar la planificacin de un proyecto
5. Aumentar la biblioteca de conocimiento informtico de una empresa ayudando a
la bsqueda de soluciones para los requisitos.
6. Automatizar el desarrollo del software, la documentacin, la generacin de
cdigo, las pruebas de errores y la gestin del proyecto.
7. Ayuda a la reutilizacin del software, portabilidad y estandarizacin de la
documentacin
8. Gestin global en todas las fases de desarrollo de software con una misma
herramienta.
17.- CONCLUCION
Sin lugar a dudas las herramientas CASE han venido a revolucionar la forma de
automatizar los aspectos clave en el desarrollo de los sistemas de informacin, debido
a la gran plataforma de seguridad que ofrecen a los sistemas que las usan y es que
stas, brindan toda una gama de componentes que incluyen todas o la mayora de los
requisitos necesarios para el desarrollo de los sistemas, han sido creadas con una gran
exactitud en torno a las necesidades de los desarrolladores de sistemas para la
automatizacin de procesos incluyendo el anlisis, diseo e implantacin.
Las Herramientas CASE se clasifican por su amplitud en: TOOLKIT, WORKBENCH
adems tambin se pueden dividir teniendo en cuenta las fases del ciclo de vida que
automatizan: UPPER CASE, MIDDLE CASE, LOWER CASE.

COMPILADO POR WILSON CESAR RONDON SANTOS

74

COMPUTACION E INFORMATICA
Debido a la gran demanda que tienen las CASE su exigencia en cuanto a su uso ha ido
aumentando, por lo que toda CASE debe entre otras cosas:
Proporcionar topologas de aplicacin flexibles
Proporcionar aplicaciones porttiles
Brindar un Control de versin
Crear cdigo compilado en el servidor
Dar un Soporte multiusuario
Ofrecer Seguridad
Desde que se crearon stas herramientas (1984) hasta la actualidad, las CASE
cuentan con una credibilidad y exactitud que tienen un reconocimiento universal, siendo
usadas por cualquier desarrollador y / o programador que busca un resultado ptimo y
eficiente, pero sobre todo que busca esa minuciosidad necesaria de los procesos y
entre los procesos.

COMPILADO POR WILSON CESAR RONDON SANTOS

75

COMPUTACION E INFORMATICA

BIBLIOGRAFIA
LENGUAJES DE PROGRAMACION
1. [Mark] (2010). O'Reilly Media, Inc. (ed.): Learning Python, Fourth Edition
(libro). O'Reilly. Consultado el 11 de febrero de 2010.
2. http://www.softwarepreservation.org/projects/FORTRAN/index.
html#By_FORTRAN_project_members
3. Wilson, Leslie B. (1993). Comparative Programming Languages, Second
Edition. Addison-Wesley. pp. 75. ISBN 0-201-56885-3. (En ingles).
a b
4.
Wilson, Leslie B. (1993). Comparative Programming Languages, Second
Edition. Addison-Wesley. pp. 213. ISBN 0-201-56885-3. (En ingles).
5. Wilson, Leslie B. (1993). Comparative Programming Languages, Second
Edition. Addison-Wesley. pp. 244. ISBN 0-201-56885-3. (En ingles).

PROGRAMACION VISUAL
The myth of code-centricity. Jack Harich.
http://www.javaworld.com/javaworld/jw-08-2001/jw-0824-myth_p.html Visual
Programming
http://www-lsi.upc.es/~rbaeza/cursos/vp/todo.html Visual Programming Languages
http://www.cs.washington.edu/homes/jpower/vpl/vpl_home.html Visual Programming Foundations and Applications
http://www.swe.unilinz.ac.at/research/visual_programming.html International Telecommunication Union
recommendation Z.109 SDLcombined with UML http://www.itu.int/itu-doc/itut/rec/z/index.html OMG RFC Action semantics for the UML" 11/1999
http://www.omg.org OMG RFC UML 2.0 superstructure 9/2000http://www.omg.org.

COMPILADO POR WILSON CESAR RONDON SANTOS

76

COMPUTACION E INFORMATICA

BASE DE DATOS
1. Link Sites. SF Site. Consultado el 17-05-2009.
2. Cory Doctorow (September de 1998). Internet Column from Science Fiction
Age. Science Fiction Age. Consultado el 17-05-2009. The best all-round guide
to things science-fictional remains the Internet Speculative Fiction Database..
3. Monografias.com
4. Slideshare.com
5. es.kioskea.net/contents/bdd/bddintro.php3
6. Cordn Garca, J A; Lpez Lucas j; Vaquero pulido, J.R. : Manual de bsqueda
documental y practica bibliogrfica. Madrid: Pirmide, 1999.
7. LANCASTER, F.W.: El control del vocabulario en la recuperacin de
informacin. Valencia: Universidad, 1995.
8. LOPEZ YEPES. J. (coord.) Manual de informacin y documentacin. Madrid
Pirmide, 1996.
9. SALVADOR OLIVAN, J.A.; ANGOS ULLATE, J.M.: Tcnicas de recuperacin de
informacin. Aplicacin con Dialog. Gijn: Trea, 2000.

HERRAMIENTAS CASE
http://ceds.nauta.es/Catal/Products/caselist2.htm
http://www3.uji.es/~mmarques/f47/apun/node75.html
www.monografias.com
http://www.iscmolina.com/Herramientas%20CASE.html

COMPILADO POR WILSON CESAR RONDON SANTOS

77

You might also like