Cuadro de texto:  

 

 

 

 

 

INTRODUCCIÓN A LA TEORÍA DE CONJUNTOS

Rama de las matemáticas a las que el matemático Georg Ferdinand Ludwing Philipp Cantor es el padre de la Teoría de Conjuntos, dio su primer tratamiento formal en 1870. El concepto de conjunto es uno de los más fundamentales en matemáticas, incluso más que la operación de contar, pues se puede encontrar implícita o explícitamente, en todas las ramas de las matemáticas puras y aplicadas. En su forma explícita, los principios y terminología de los conjuntos se utilizan para construir proposiciones matemáticas más claras y precisas y para explicar conceptos abstractos como el infinito.

En el año 1874, apareció el primer trabajo revolucionario de Cantor sobre la Teoría de conjuntos.

DEFINICIONES

Sabemos que la palabra conjunto implica la idea de una colección de objetos que se caracterizan en algo común.

En matemática tiene el mismo significado, sólo que a estos objetos se les llama elementos o miembros del conjunto.

La noción simple de una colección o conjunto de objetos es fundamental en la estructura básica de las matemáticas y fue Georg Cantor, en los años 1870 quien primero llamó la atención de los matemáticos a este respecto.

No puede darse una definición satisfactoria de un conjunto en términos de conceptos simples, por lo tanto la palabra "CONJUNTO" debe aceptarse lógicamente como un término no definido.

Un conjunto es una colección bien definida de objetos de cualquier clase.

DETERMINACIÓN DE UN CONJUNTO

Hay dos formas de determinar conjuntos.

  Por extensión ó Forma Tabular

Se dice que un conjunto es determinado por extensión (o enumeración), cuando se da una lista que comprende a todos los elementos del conjunto y sólo a ellos.

Ejemplos:

A = { a, e, i, o, u }

B = { 0, 2, 4, 6, 8 }

C = { c, o, n, j, u, t, s } En un conjunto determinado por extensión no se repite un mismo elemento.

Por compresión ó Forma Constructiva

Se dice que un conjunto es determinado por comprensión, cuando se da una propiedad que la cumpla en todos los elementos del conjunto y sólo a ellos.

Ejemplos:

A = { x/x es una vocal }

B = { x/x es un número par menor que 10 }

C = { x/x es una letra de la palabra conjuntos }

 

Vamos a mostrarte un cuadro comparativo de determinación de conjuntos

Por extensión

 

Por compresión

A = { a, e, i, o, u }

 

A = { x/x es una vocal }

B = { 0, 2, 4, 6, 8 }

 

B = { x/x es un número par menor que 10 }

C = { c, o, n, j, u, t, s }

 

C = { x/x es una letra de la palabra conjuntos }

D = { 1, 3, 5, 7, 9 }

 

D = { x/x es un número impar menor que 10 }

E = { b, c, d, f, g, h, j, . . . }

 

E = { x/x es una consonante }

CONJUNTOS FINITOS

Un conjunto es finito si consta de un cierto número de elementos distintos, es decir si al contar los diferentes elementos del conjunto el proceso de contar puede acabar. En caso contrario, el conjunto es infinito.

Ejemplos:

M = { x / x es un río de la tierra } Conjunto finito

N = { 0, 1, 2, 3, 4, 5, 6, 7, 8, ... } Conjunto infinito

P = { x / x es un país de la tierra } Conjunto finito

V = { 3, 6, 9, 12, 15, 18, 21, 24, 27, ... } Conjunto infinito

IGUALDAD DE CONJUNTOS

Se dice que 2 conjuntos A y B son iguales cuando ambos tienen los mismos elementos, es decir si cada elemento de A pertenece a B y si cada elemento que pertenece a B pertenece también a A. La igualdad se denota A = B.

En la igualdad, el orden de los elementos de cada conjunto no importa.

Ejemplos:

 

A = {1, 2, 3, 4}

 

 

 

 

 

 

 

 

 

 

C = {1, 2, 3, 3, 4, 1}

 

 

 

 

 

 

 

 

 

E = {vocal de la palabra mundo}

B = {3, 4, 1, 2}

 

 

 

 

 

 

 

 

 

 

D = {1, 2, 2, 3, 4, 4,}

 

 

 

 

 

 

 

 

 

F = {u, o}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A = B

 

 

 

 

 

 

 

 

 

 

C = D

 

 

 

 

 

 

 

 

 

E = F

CONJUNTO VACÍO

Es un conjunto que carece de elementos. Se suele llamarle conjunto nulo, y se le denota por el símbolo ø o { }.

Ejemplos:

A = { Los perros que vuelan }

 

 

A = { }

 

A = Ø

B = { x / x es un mes que tiene 53 días}

 

 

B = { }

 

B = Ø

C = { x / x3 = 8 y x es impar }

 

 

C = { }

 

C = Ø

D = { x / x es un día de 90 horas }

 

 

D = { }

 

D = Ø

 

 

CONJUNTO UNITARIO

Es todo conjunto que está formado por un sólo y único elemento.

Ejemplos:

A = { 5 }

B = {números pares entre 6 y 10} = { 8 }

C = {la capital del Perú } = { Lima }

D = {x / 2x = 6} = {3}

CONJUNTO UNIVERSAL

Es el conjunto que contiene a todos los elementos del discurso. Es un término relativo. Se le denota por la letra U.

Ejemplos:

Sean los conjuntos:

A = { aves }

 

 

B = { peces }

 

 

C = { conejos }

 

 

D = { monos }

Existe otro conjunto que incluye a los conjuntos A, B, C y D. Es

U = { animales }

Gráficamente se representa por un rectángulo tal como se observa a continuación.

Sean los conjuntos:

E = { mujeres }

 

 

F = { hombres }

Existe otro conjunto que incluye a los conjuntos E y F. Es

U = { seres humanos }

Gráficamente se representa por un rectángulo tal como se observa a continuación.

CONJUNTO POTENCIA

La familia de todos los subconjuntos de un conjunto M se llama Conjunto Potencia de M. Se le denota como 2M .

Ejemplos:

a)

M = { 1, 2 }

 

El conjunto M tiene 2 elementos

 

2M = { {1}, {2}, {1, 2}, ø}

 

entonces 22 = 4 elementos

 

 

 

 

b)

M = { 1, 2, 3 }

 

El conjunto M tiene 3 elementos

 

2M = { {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}, ø}

 

entonces 23 = 8 elementos

 

 

 

 

Si un conjunto M es finito con "n" elementos, entonces su conjunto potencia 2M tendrá 2n elementos.

CONJUNTOS DISJUNTOS

Si dos conjuntos A y B no tienen ningún elemento común entonces A y B son disjuntos.

Ejemplos:

Conjuntos disjuntos

 

 

 

Conjuntos no disjuntos

 

 

 

 

 

A = { 2, 4, 6 }

 

 

 

M = { o, p, q, r, s }

B = { 1, 3, 5 }

 

 

 

N = { s, t, v, u }

A y B son disjuntos.

 

 

 

M y N no son disjuntos.

 

 

 

 

 

C = { x/x es una letra del alfabeto }

 

 

 

P = { x/x es una letra de la palabra aritmética }

D = { x/x es un número }

 

 

 

Q = { x/x es una letra de la palabra algebra }

C y D son disjuntos

 

 

 

P y Q no son disjuntos

 

DIAGRAMA DE VENN

 

A cada conjunto se le considera encerrado dentro de una curva (plana) cerrada. Los elementos del conjunto considerado pueden ser específicamente dibujados o pueden quedar (implícitamente) sobreentendidos. Los diagramas son empleados, para representar tanto a los conjuntos como a sus operaciones, y constituyen una poderosa herramienta geométrica, desprovista de validez lógica.

A continuación representaremos algunos conjuntos y verificaremos algunas igualdades (las intersecciones de dos o más conjuntos quedan caracterizados por el rayado múltiple).

 

El gráfico es la representación de la unión

 

 

 

 

 

El gráfico es la representación de la intersección

 

 

 

 

 

El gráfico es la representación de la diferencia

 

UNIÓN DE CONJUNTOS

 

 

La unión de los conjuntos A y B es el conjunto formado por todos los elementos que pertenecen a A o a B o a ambos. Se denota: A U B. La unión de conjuntos se define como:

A U B = {x / x A o x B}

En forma gráfica:

                                                        vamos

 

 

 

 

 

 

Cuando no tienen

 

 

Cuando tienen algunos

 

Cuando todos los elementos de un

elementos comunes

 

 

elementos comunes

 

conjunto pertenecen a otro conjunto

Ejemplos:

 

1. Dados los conjuntos: A = { 0, 1, 2, 3, 4, 5 }, B = { 0, 2, 4 } y C = { 5, 6, 8 }, efectuar y construir los diagramas respectivos:

a)

A U C

 

 

 

 

 

b)

B U C

 

 

 

 

 

c)

A U B

Tenemos:

a) A = { 0, 1, 2, 3, 4, 5 } y C = { 5, 6, 8 }

 

 

 

 

 

 

A U C = { 0, 1, 2, 3, 4, , 6, 8 }

 

 

 

 

 

 

 

 

 

 

 

Representación gráfica de la unión de conjuntos A y C

b) B = { 0, 2, 4 } y C = { 5, 6, 8 }

 

 

 

 

 

 

B U C = { 0, 2, 4, 5, 6, 8 }

 

 

 

 

 

 

 

 

 

 

 

Representación gráfica de la unión de conjuntos B y C

c) A = { 0, 1, 2, 3, 4, 5 } y B = { 0, 2, 4 }

 

 

 

 

A U B = { , 1, , 3, , 5 }

 

 

 

 

 

 

 

Representación gráfica de la unión de conjuntos A y B

 

INTERSECCIÓN DE CONJUNTO

Se define la intersección de dos conjuntos A y B al conjunto de elementos que son comunes a A y B. Se denota por A  B, que se lee: A intersección B. La intersección de A y B también se puede definir:

A B = { x / x A y x B } y mediante un diagrama de Venn-Euler:

                                               Vamos

 

 

 

 

 

 

Cuando tienen

 

 

 

Cuando no tienen

 

 

 

Cuando todos los elementos de un                                                                    

elementos comunes

 

 

 

elementos comunes

 

 

 

conjunto pertenecen a otro conjunto

Ejemplos:

1. Dados los conjuntos: A = { 0, 1, 2, 3, 4, 5 }, B = { 3, 5, 7 } y C = { 2, 4 }, efectuar y construir los diagramas respectivos:

a)

A C

 

 

 

 

 

b)

B C

 

 

 

 

 

c)

A B

Tenemos:

           Observemos:

a) A = { 0, 1, 2, 3, 4, 5 } y C = { 2, 4 }

 

 

 

 

A C = { , }

 

 

 

 

 

 

 

Representación gráfica de la intersección de conjuntos A y C

b) B = { 3, 5, 7 } y C = { 2, 4 }

 

 

 

 

B C = { }

 

 

 

 

 

 

 

Representación gráfica de la intersección de conjuntos B y C

c) A = { 0, 1, 2, 3, 4, 5 } y B = { 3, 5, 7 }

 

 

 

 

A B = { , }

 

 

 

 

 

 

 

Representación gráfica de la intersección de conjuntos A y B

 

DIFERENCIA DE CONJUNTOS

Se denomina diferencia de dos conjuntos A y B al conjunto formado por todos los elementos de A pero que no pertenecen a B.

La diferencia se denota por: A - B que se lee: A diferencia B o A menos B. Se define la diferencia de dos conjuntos también como:

A - B = {x / x A y x B}

Mediante un diagrama de Venn - Euler:

                                               Vamos

 

 

Cuando no tienen

 

Cuando tienen

 

Cuando todos los elementos de un

elementos comunes

 

elementos comunes

 

conjunto pertenecen a otro conjunto

Ejemplos:

1. Dados los conjuntos: A = { a, b, c, d, e }, B = { a, e } y C = { d, f, g }, efectuar y construir los diagramas respectivos:

a)

A - C

 

 

 

 

 

b)

B - C

 

 

 

 

 

c)

A - B

Tenemos:

           observemos

a) A = { a, b, c, d, e } y C = { d, f, g }

 

 

 

 

A - C = { a, b, c, e }

 

 

 

 

 

 

 

Representación gráfica de la diferencia de conjuntos A y C

    observemos

b) B = { a, e } y C = { d, f, g }

 

 

 

 

B - C = { a, e }

 

 

 

 

 

 

 

Representación gráfica de la diferencia de conjuntos B y C

           observemos

c) A = { a, b, c, d, e } y B = { a, e }

 

 

 

 

A - B = { b, c, d }

 

 

 

 

 

 

 

Representación gráfica de la diferencia de conjuntos A y B

 

 

 

 

 

COMPLEMENTO DE UN CONJUNTO

 

Si un conjunto A es subconjunto de otro conjunto universal U, al conjunto A' formado por todos los elementos de U pero no de A, se llama complemento de A con respecto a U. Simbólicamente se expresa:

A' = { x/x U y x A }

Ejemplos:

a)

Sean U = { m, a, r, t, e }

 

y

 

A = { t, e }

 

Su complemento de A es:

 

 

 

A' = { m, a, r }

 

En forma gráfica:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b)

Sean U = { letras de la palabra aritmética}

 

y

 

B = { vocales de la palabra vida }

 

Determinado por extensión tenemos

 

 

 

 

 

U = { a, r, i, t, m, e, c }

 

 

 

B = { i, a }

 

Su complemento de B es:

 

 

 

B' = { r, t, m, e, c }

 

En forma gráfica:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PREGUNTAS

1)

 

Cuáles son los elementos de:

 

a)

El conjunto de los dias de la semana

 

b)

El conjunto de las estaciones del año

 

c)

Los números impares menores de 11

 

d)

Los números pares mayor que 10 y menor que 20

 

e)

Los números primos menores de 15

 

2)

 

Colocar V ó F según lo afirmado sean verdadero o falso

 

 

a)

6 { 2, 4, 5, 6, 9 }

( )

 

b)

y { o, p, q, x }

( )

 

c)

x { o, p, q, y }

( )

 

d)

Perú { países de Europa }

( )

 

e)

Amazonas { rios de América }

( )

 

3)

 

¿Cuáles de los siguientes conjuntos son: vacios, unitarios, finitos, infinitos?

 

 

a)

A = { x / x es día de la semana}

. . . . .

 

b)

B = { vocales de la palabra vals}

. . . . .

 

c)

C = { 1, 3, 5, 7, 9, . . . . .}

. . . . .

 

d)

D = { x / x es un habitante de la luna}

. . . . .

 

e)

E = { x N / x < 15}

. . . . .

 

f)

F = { x N y 5 < x < 5 }

. . . . .

 

g)

G = { x N y x > 15}

. . . . .

 

h)

H = { x N y x = x}

. . . . .

 

i)

I = { x / x es presidente del Oceano Pacífico}

. . . . .

 

j)

J = { x / x es número de cabellos total de los habitantes del Perú }

. . . . .

 

RESPUESTA DE EJERCICIOS DE CONJUNTOS

1)

 

 

Cuáles son los elementos de:

 

a)

A = {lunes, martes, miércoles, jueves, viernes, sábado, domingo }

 

b)

B = {verano, otoño, invierno, primavera }

 

c)

C = {1, 3, 5, 7, 9 }

 

d)

D = {12, 14, 16, 18 }

 

e)

E = {1, 2, 3, 5, 7, 11, 13 }

 

2)

 

Colocar V ó F según lo afirmado sean verdadero o falso

 

 

a)

6 { 2, 4, 5, 6, 9 }

( V )

 

b)

y { o, p, q, x }

( F )

 

c)

x { o, p, q, y }

( V )

 

d)

Perú { países de Europa }

( F )

 

e)

Amazonas { rios de América }

( F )

 

3)

 

¿Cuáles de los siguientes conjuntos son: vacios, unitarios, finitos, infinitos?

 

 

a)

A = { x / x es día de la semana}

finito

 

b)

B = { vocales de la palabra vals}

unitario

 

c)

C = { 1, 3, 5, 7, 9, . . . . .}

infinito

 

d)

D = { x / x es un habitante de la luna}

vacio

 

e)

E = { x N / x < 15}

finito

 

f)

F = { x N y 5 < x < 5 }

vacio

 

g)

G = { x N y x > 15}

infinito

 

h)

H = { x N y x = x}

unitario

 

i)

I = { x / x es presidente del Oceano Pacífico}

vacio

 

j)

J = { x / x es número de cabellos total de los habitantes del Perú }

infinito

 

 

 

LÓGICA PROPOSICIONAL

 

En  la Lógica Formal se estudian los principios y métodos a través de los cuales podemos determinar la validez de argumentos, desde el punto de vista solamente de su estructura, sin tomar en cuenta el contenido semántico de las expresiones de los argumentos. De esta manera si se argumenta que:

    Todos los majadistanenses son de Majadistán
    Rudistein es Majadistanense
    En consecuencia,Rudistein es de Majadistan.

En este argumento, no tomamos en cuenta si los majadistanenses son humanos, perros, pericos o un concepto abstracto de cualquier área.

Tampoco nos importa si Rudinstein es un ciudadado de alguna ciudad del mundo o si es el nombre de un perro.

De esta manera desde el punto de vista de su estructura este argumento es válido.

Se hace incapié que la Lógica no se hace responsable de su aplicación a nivel semántico.

Se puede decir que la Lógica es una herramienta para el análisis de la veracidad de argumentos en base sólo a la estructura de éstos, donde el significado de los elementos que intervienen no es tomado en cuenta.

El argumento anterior tiene dos partes principales:

A) Las premisas:
     Todos los majadistanenses son de Majadistán
        Rudistein es Majadistanense

 

B) La conclusión:
        Rudistein es de Majadistán

De esta manera el argumento es válido, ya que de las premisas sigue la conclusión, lo cual hasta cierto punto nos parece totalmente natural. Consideremos el siguiente argumento:

    Argentina está en Africa o Argentina está en Asia.
    Argentina no está en Asia
    En consecuencia, Argentina está en Africa.

Nuevamente este argumento es válido desde el punto de vista lógico, aún cuando sabemos que la conclusión es falsa.

¿Cómo puede ser ésto? ¿A partir de la Lógica se pueden obtener conclusiones equivocadas?

La respuesta es afirmativa, ya que la lógica  no verifica el significado de las premisas.

Debido a lo anterior es necesario distinguir entre proposiciones verdaderas y proposiciones lógicamente verdaderas.

Las primeras son verdaderas independientemente de su estructura, mientras que las segundos no lo son. De esta manera, las proposiciones:

Argentina está en Africa o Argentina está en Asia
Argentina está en Africa

Son verdaderas lógicamente debido a que la primera es una premisa y a que la segunda ha sido derivada lógicamente de sus premisas.

Las proposiciones son  expresiones que pueden ser evaluadas como verdaderas o falsas.

En los lenguajes naturales (Español, Inglés, etc), las proposiciones sólo pueden ser expresiones declarativas y nunca interrogativas o imperativas.

De esta manera las siguientes son proposiciones:

        Los cantantes no duermen.
        Comer mucho, engorda
        Las montañas cantan bonito
        Los mosquitos viven menos de un año
        El hombre desciende del elefante

Sin embargo, las siguientes no son proposiciones por no poder ser evaluadas como verdaderas ni falsas:

        ¡Levántate temprano!
        ¿Has entendido lo que es una proposición?
        ¡Estudia esta lección!
        ¿Cuál es la dirección de la página de Lógica Computacional?

En este módulo estudiamos la lógica proposicional, es decir, se estudian los principios para determinar la validez de argumentos conformados con proposiciones. Esto involucra los siguientes tipos de proposiciones:

    * Proposiciones simples o átomos
    * Proposiciones compuestas

Los átomos o proposiciones simples son tales que no es posible encontrar en ellas otras proposiciones, mientras que las proposiciones compuestas están conformadas de varias proposicones simples a través de lo que se denomina conectores lógicos, entre los cuales se encuentran:  y, o, implica.

Ejemplo de proposiciones compuestas son:

        Las montañas cantan bonito o Los mosquitos viven menos de un año.

        El hombre desciende del elefante y Comer mucho, engorda.

 

CONECTIVAS LOGICAS

Las conectivas  lógicas también se llaman a veces operadores, y son de dos tipos:

    Operadores unarios:
                NEGACION: not, ¬

    Operadores binarios:
                CONJUNCION: and, &, y
                DISYUNCION: or
                CONDICIONAL: implies, ==>, implica
                BICONDICIONAL: <==>
 

FORMULAS BIEN FORMADAS

El Cálculo Proposicional estudia fórmulas proposicionales simples o compuestas.

Las proposiciones simples o átomos son representadas por símbolos, generalmente las letras del alfabeto A,B,C,....

Para obtener proposiciones compuestas se utilizan, como se dijo antes, conectores lógicos. Así la proposición compuesta  A or B puede corresponder por ejemplo a:

        El coronel no tienen quien le escriba
                            or
        La jubilación del Coronel Buendía es  insuficiente para su familia

Una fórmula bien formada (fbf) es una expresión que representa una proposición simple o compuesta, la cual esta bien escrita de acuerdo con determinada sintaxis.

Ahora bien, una fbf del Cálculo Proposicional, es una  fórmula que está bien escrita de acuerdo con la sintaxis del Cálculo Proposicional.

Las reglas de la sintaxis del Cálculo Proposicional definen de esta manera la forma de escribir o reconocer susu fbf's. Estas reglas son:

    a) Un átomo es una fórmula bien formada.
    b) Si G es una fórmula bien formada entonces ¬G también lo es.
    c) Si G y H son fórmulas bien formadas, entonces también lo son:
            G & H
            G or H
            G ==>  H
            G <==> H
    d) Todas las fbf's se obtienen aplicando a, b y c.

Es necesario puntualizar  en la regla c anterior, que es posible utilizar otras conectivas, pero sin embargo son reducibles a las que aqui presentamos.

De esta manera, fijaremos nuestra atención solo  a las fbf's que aquí describimos.

Ejemplos de fórmulas bien formadas son:

        P & Q         P ==> Q

Ejemplos de fórmulas que no son bien formadas son: P &,  ==>Q.

 

DEMOSTRACIÓN Y REGLAS DE INFERENCIA
 

 

RESUMEN

 

En el Cálculo Proposicional, existen dos métodos comunes de realizar una demostración: Directo e Indirecto.

Ambos métodos realizan una demostración obteniendo una sucesión de fórmulas:

       F1,F2,...,Fn

 

Donde cada una de estas fórmulas se obtiene a través de reglas de inferencia o es un axioma. Aquí se discuten lo dos métodos de demostración directo e indirecto y las principales reglas de inferencia utilizadas en dichos métodos.
 

PALABRAS CLAVE: LÓGICA PROPOSICIONAL, DEMOSTRACIÓN, DEDUCCION, I NFERENCIA

 

INTRODUCCIÓN

 

 Una fórmula G es una consecuencia lógica (CL) de un conjunto de fórmulas F1,F2,...,Fn, si cuando F1,F2,...,Fn son verdaderas, G también lo es. A partir de esta definición se han establecido dos teoremas:
 

TEOREMA 1: G es una CL de F1,F2,..,Fn si  G es válida.Þ Fn Ù ..Ù F2Ùy solo si F1

TEOREMA 2: G es una CL de F1,F2,..,Fn si  (~ G) es inconsistente.Ù FnÙ ..Ù F2Ùy solo si F1
 

Para determinar sí una fórmula G sigue de un conjunto de fórmulas F1,F2..,Fn, se pueden utilizar tablas de verdad. Esto  G es válidaÞ Fn Ù ..Ù F2Ùserá verdad F1

 (~ G) es inconsistente.Ù FnÙ ..Ù F2Ùo F1

 

Otra alternativa es utilizar el enfoque deductivo, el cual considera las fórmulas involucradas (G y F1,..,Fn) dentro de una teoría formal, de modo que G pueda ser obtenida a partir de las fórmulas F’s (de ahí que se diga que G siga de las F’s).

 

En el marco del enfoque deductivo, se dice que una Teoría Formal (TF) consiste de los siguientes elementos [DOWSING et al] [MENDELSON]:

 

1) Las reglas de sintaxis que definen las fórmulas que pueden ser tratadas en la TF.

 

2) Un conjunto de fórmulas llamadas axiomas las cuales se suponen verdaderas en la TF.

 

3) Un conjunto de Reglas de Inferencia que establece bajo que circunstancias una fórmula se puede obtener (derivar) a partir de otras existentes. La fórmula derivada será una CL de las formulas que le dieron origen.

 

Dentro de cualquier rama de la Ciencia se pueden establecer teorías formales (o TF’s), cada una de los cuales tendrá sus propios axiomas.

 

Por ejemplo el siguiente es un axioma de la física newtoniana: La aceleración de un cuerpo es proporcional al producto de su masa por la fuerza ejercida sobre él.

 

 

Este axioma se describe por la fórmula:

        F = m a        (1)

 

Este es un axioma puesto que lo tomamos como verdadero en el contexto de la mecánica newtoniana.

 

Es de observar que (1) fué establecido como verdadero partiendo a su vez de otros enunciados supuestos también verdaderos, lo cual nos remontaría a axiomas como los de la geometría de Euclides y así sucesivamente hasta llegar a axiomas relacionados con la existencia misma del ser y la verdad.

 

Esto, si nos se tiene cuidado, podría llevarnos por caminos absurdos ó no, del dogmatismo.

 

Podríamos pensar entonces que la ciencia es dogmática, sin embargo, la diferencia entre el dogmatismo y la ciencia estriba en que la ciencia  constante investiga la veracidad de los axiomas y, en cuanto se descubre que uno de ellos es falso, se realizan un cambio de paradigma, es decir, un cambio en el conjunto de axiomas y de sus reglas de inferencia.

 

El problema de la deducción está inmerso en todas las ramas de las Ciencias por lo que es necesario conocer no solo lo que significa sino también los mecanismos de inferencia que se pueden aplicar en ellas.

 

DEMOSTRACIÓN

 

 Una demostración de una fórmula A es una sucesión de fórmulas P1,P2,..,Pn, tales que:
 

    a)  Cada Pi es:

            * Un axioma o,
            * Una fórmula obtenida a partir de las anteriores.

    

     b) El último elemento Pn, es A, la fórmula que se desea demostrar.

 

En la definición anterior las fórmulas que se mencionan en el inciso b) son obtenidas a partir de reglas de inferencia.

 

Como se mencionó en la introducción, las reglas de inferencia nos dicen cuales son las condiciones para poder obtener por CL otra fórmula a partir de las que previamente han sido probadas; de esta manera, las fórmulas que obtenemos usando reglas de inferencia son consideradas válidas.


 

 

 

Entre las Reglas de Inferencia más comunes se encuentran Modus Ponens la cual establece que:
 

 BÞ              ||=  A, ||= A
        _________________        (2)

                 ||=  B
 
 

    donde el símbolo ||= establece que la fórmula que sigue es verdadera.

 

La fórmula (2) tiene una estructura conocida como "secuente". Los secuentes fueron establecidos por Gentzen en lo que se conoce como Cálculo de secuentes, lo que permitió un gran avance en las técnicas de deducción.

 

La regla de Modus Ponens comúnmente esta regla se establece como sigue:

     Y son verdaderas, podemos inferir que Y esÞ"Sí dos proposiciones X, X  verdadera"
 

REGLAS DE INFERENCIA GENERALES:
 

 

Para la realización de cualquier demostración:

P1,P2,...,Pn
 

Cada Pi se puede obtener por una de las tres reglas de inferencia generales [TREMBLAY&MANOHAR]:
 

1) REGLAS P: Una fórmula Pi puede ser introducida en cualquier punto de la demostración.

 

2) REGLA T: Una fórmula S puede ser introducida en una demostración si S es CL de las fórmulas precedentes.

 

3) REGLA CP: Sí podemos derivar S a partir de R y un conjunto de premisas, entonces  S a partir solamente del conjunto de premisas.Þpodemos derivar R

 

 

 

 

 

 

 

 

 

 

 

HISTORIA DE LOS LENGUAJES

 

 

Creación De Lenguajes

 

 

La creación de lenguajes es un hobby fascinante (o una pasión, o incluso una obsesión) que consiste en la invención de un sistema lingüístico, para enriquecer la fantasía de un relato, o para compartir tus pensamientos con amigos íntimos, o para tu propia diversión (entre muchas otras razones). Esta explicación, por supuesto, es totalmente inexpresiva e insuficiente. Mucho más se ha dicho sobre este tema, y no voy a repetirlo, ni a inventar más sobre él.

 

Un lenguaje no consiste simplemente de palabras. Un lenguaje debe tener una fonología y una estructura fonética, es decir, debe tener un conjunto de sonidos individuales que se combinan para formar palabras; estos sonido no tienen por qué ser iguales a los del español, el inglés o el hawaiano; y las palabras deben tener una 'música' definida, usualmente expresada por restricciones en cuanto a qué sonidos pueden ser combinados, y así. Un lenguaje también debe tener una gramática, que dicta qué clases de palabras diferentes (sustantivos, verbos, adjetivos, etc.) se colocan juntas para formar ideas.

Un lenguaje realmente bien planeado, para aquéllos que quieran llegar a tanto detalle, debe tener también una lengua madre ancestral, una historia, y, por supuesto, ¡hablantes!

 

Por qué y cómo

¿Por qué querría alguien querer inventar un lenguaje? ¿Por qué no hacer algo más útil? ¿Por qué perder el tiempo? Hay muchas razones, y muchas formas en las que esto no es una pérdida de tiempo. Por ejemplo, un compañero conlanger, Boudewijn Rempt, escribió una apología de la creación de lenguajes en términos teológicos. En pocas palabras, se trata de subcreación, como decía Tolkien: la idea de que estamos hechos para crear (o bien construir, o sub-crear), porque somos creados a imagen de Dios, el Creador supremo. Como yo no creo en Dios, eso no me sirve, pero la idea sigue siendo adaptable a otras cosmovisiones.

Hay muchas otras razones y justificaciones para la construcción de lenguajes. Y no es que haga falta justificarlo;en general, la gente creativa debería entender, si no por qué lo hacés, al menos sí por qué no es una pérdida de tiempo. El resto quizá necesite algo más, como las razones que siguen.

Una causa posible para inventar un lenguaje es que seas un escritor de ciencia ficción o fantasía (profesional o amateur), y que estés tratando de crear algunos nombres de personas y lugares en un escenario imaginario, como otro planeta o un antiguo reino mágino, o un lugar real como nuestra propia tierra, en el futuro o el pasado. Si sos más ambicioso, a lo mejor estás incluso pensando en traducir algunos versos de poesía barata, o algunas frases o lugares comunes, o un hechizo, en el lenguaje local.

 

Yo he usado muchas palabras inventadas en cuentos fantásticos, y algunas me llevaron a la invención de un lenguaje 'completo'. Pero ésta es la peor forma de comenzar un lenguaje completo. Tenés que tratar de decidir de antemano hasta qué punto vas a entusiasmarte con esas pequeñas palabras primorosamente inventadas. Si tu interés se enfoca en nombrar lugares y personas, vas a tener un lenguaje onomástico. Un lenguaje onomástico, o de nombres, es la forma más simple de lenguaje inventado, y sólo requiere una regla gramatical, que es el orden de los elementos en los compuestos.

 

Si simplemente estás traduciendo algunos trozos cortos de texto o diálogo para añadir realismo a un cuento, podés armar una gramática simple para las oraciones que estás escribiendo, inventar el léxico, y luego parar allí.

 

Por el otro lado, creo que probablemente, si llegaste tan lejos, estarás interestado en los lenguajes, y podrías tratar de avanzar un paso más, creando palabras y reglas gramaticales por diversión, no sólo para insertarlas en un cuento. (No pretendo insinuar que eso sea 'barato' o algo por el estilo.) Si después de un largo tiempo todavía seguís en eso, te vas a encontrar con un lenguaje completo.

 

Por supuesto, no tendrías que esperar 'terminar' tu lenguaje. Un lenguaje real, natural, es algo que ha sido producido por miles de años de evolución y que se cambia a sí mismo todos los días. Un lenguaje inventado nunca será completo y natural al mismo tiempo (el esperanto es 'completo', en tanto tiene palabras para expresar casi cualquier cosa que un lenguaje natural puede expresar, o puede formarlas por procesos regulares de derivación o analogía, como un lenguaje natural; pero no es natural, y no pretende serlo, de manera que le falta ese 'gusto salvaje' de los lenguajes naturales, lo cual lo hace probablemente bastante aburrido de aprender).

 

Un lenguaje de cualquier tipo puede crearse de diferentes formas. Se puede empezar desde cero y armar una fonología y una gramática completas. En realidad, no se va a inventar, estrictamente hablando, nada que no exista, ya que probablemente cualquier sonido que incluyas en tus palabras se estará usando en algún lenguaje en el mundo, y cualquier regla gramatical será similar o igual a alguna que se encuentre en un lenguaje natural. Esto, por supuesto, no debe desalentarte. Podés decidir si vas a tomar elementos de lenguajes naturales que conozcas, o tratar de inventar nuevos. Aunque copies muchas cosas de un lenguaje, eso no quiere decir que no seas original o que tu lenguaje vaya a sonar como una copia.

 

Tolkien, el maestro de la creación de lenguajes, tomó muchos elementos de lenguajes naturales que conocía y apreciaba, y nadie puede acusarlo de no ser original. El quenya fue modelado a partir del latín y el finés, con muchas vocales y un sistema de casos complicado. El sindarin, por otro lado, tomó mucha de su fonología del galés, incluyendo sus conocidos patrones de lenición.

Más todavía, podés crear un lenguaje basado en otro (inventado o real). Solamente tenés que crear reglas de cambio de sonido, y saber un poco de cómo los lenguajes cambian con el tiempo. Un lenguaje derivado de otro que conocés es probablemente la forma más sencilla de comenzar, ya que no tenés que inventar el léxico, y podés dejar la gramática como está (aunque probablemente quieras o tengas que hacerle algún cambio, porque así es como funcionan los lenguajes reales). Por ejemplo, imagináte el español en el año 3000. Establecé algunos cambios de sonido; por ejemplo, digamos que los diptongos se simplifican y las consonantes fricativas en finales de sílaba desaparecen. Añadimos algunos cambios a la gramática y podemos transformar 'Voy a la fiesta' en 'Al fieta vö'. Suena diferente, ¿no?

 

Otra cosa que podés hacer es adaptar palabras de un lenguaje a otro, y quizá viceversa, creando un pidgin, una mezcla de ambos. Los pidgins que existen en nuestro planeta tienen algunas interesantes propiedades en común, y pueden ser más fáciles de crear para el principiante.

Palabras reservadas y estructuras

Las palabras que son identificadores que permiten al compilador interpretar el programa y no se pueden utilizar con otros fines, suelen referirse con el término Palabras reservadas. El compilador interpreta igual mayúsculas o minúsculas, y por tanto se pueden usar indistintamente. Esta libertad de elección debe utilizarse para aumentar la legibilidad de los programas. Por ejemplo, podemos empezar siempre con mayúscula las palabras reservadas y así será más fácil detectar las estructuras del programa. También suele escribirse todo con mayúsculas el nombre de las constantes cuyo valor no puede alterarse durante el programa. La elección de un estilo u otro de escritura suele variar pero lo importante es que sea uniforme a lo largo del programa.

Vocabulario Palabras Reservadas

Ø       La ventaja del método de “palabras reservadas” es que simplifica el análisis lexicográicos a realizar por el compilador.

Ø      La desventaja es que una lista larga de palabras que normalmente podrían elegirse como identificadores en un programa son utilizadas ya.

 

 

 

Lenguajes de programación

 

Los lenguajes de programación son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java, etc..

 

Una computadora funciona bajo control de un programa el cual debe estar almacenado en la unidad de memoria; tales como el disco duro.

 

Los lenguajes de programación de una computadora en particular se conoce como código de máquinas o lenguaje de máquinas.

 

Estos lenguajes codificados en una computadora específica no podrán ser ejecutados en otra computadora diferente.

 

Para que estos programas funcionen para diferentes computadoras hay que realizar una versión para cada una de ellas, lo que implica el aumento del costo de desarrollo.

 

Por otra parte, los lenguajes de programación en código de máquina son verdaderamente difíciles de entender para una persona, ya que están compuestos de códigos numéricos sin sentido nemotécnico.

 

Los lenguajes de programación facilitan la tarea de programación, ya que disponen de formas adecuadas que permiten ser leidas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar.

 

Los lenguajes de programación representan en forma simbólica y en manera de un texto los códigos que podrán ser leidos por una persona.

 

Los lenguajes de programación son independientes de las computadoras a utilizar.

Existen estrategias que permiten ejecutar en una computadora un programa realizado en un lenguaje de programación simbólico. Los procesadores del lenguaje son los programas que permiten el tratamiento de la información en forma de texto, representada en los lenguajes de programación simbólicos.

 

Hay lenguajes de programación que utilizan compilador.

La ejecución de un programa con compilador requiere de dos etapas:

1) Traducir el programa simbólico a código máquina

2) Ejecución y procesamiento de los datos.

 

Otros lenguajes de programación utilizan un programa intérprete o traductor, el cual analiza directamente la descripción simbólica del programa fuente y realiza las instrucciones dadas.

 

El int

rprete en los lenguajes de programación simula una máquina virtual, donde el lenguaje de máquina es similar al lenguaje fuente.

 

La ventaja del proceso interprete es que no necesita de dos fases para ejecutar el programa, sin embargo su inconveniente es que la velocidad de ejecución es más lenta ya que debe analizar e interpretar las instrucciones contenidas en el programa fuente.

 

Historia de la Informatica

 

La historia de la informatica, a lo largo de la humanidad, el hombre en su curiosidad, ha creado ciencias que le permiten conocer y estudiar fenomenos acontecidos, esta curiosidad lo llevo a crear las computadoras u ordenadores, y a partir de ellos surge la implementación de la informatica.

 

La historia de la informatica, en sus comienzos, se utilizaba para simplificar las rutinas tediosas y repetitivas de los operadores en el area administrativa.Se notaron grandes avances en el rendimiento y productividad, lo que a su vez simplico los costes al automatizar los procesos.

 

A lo largo de la historia de la informatica, se ha demostrado su utilidad en el manejo de información rapida, precisa y fiable. Al tener estas caracteristicas, la informatica facilita, la toma de desiciones dando información veraz y oportuna a quien la necesite.

 

En la historia de la informatica, este termino se conocia con el termino informatique, debido a que viene de la contraccion de dos palabras información Automatica.

 

Hoy tambien se le conoce como manejo de sistemas de información, procesamiento de datos o ciencia de la computacion.

 

Introducción

 

La computadora, a diferencia de otras herramientas que en general apoyan el esfuerzo físico de los humanos, fue inventada para facilitar el trabajo intelectual. Si el hombre tiene algún problema, por ejemplo "sumar dos y dos", el diseñador define el algoritmo que resuelve el problema, el programador lo codifica en un lenguaje de programación, el cual la computadora es capaz de "entender", luego la computadora ejecuta el algoritmo expresado como programa en el lenguaje de programación en cuestión, y listo. La máquina le entrega al hombre la respuesta "4", sin que éste tuviera que esforzar sus neuronas.

 

¿Cuál es el papel del lenguaje de programación en este proceso? Es muy importante, el lenguaje de programación es el medio de comunicación entre el hombre y la máquina. El modelo general de las computadoras, desde que fue esbozado por von Neumann, no ha cambiado mucho, mientras que la invención humana para proponerse nuevos problemas a resolver, usando la computadora, parece no tener límites.

 

En consecuencia, los lenguajes de programación tienen que adaptarse a éstas crecientes necesidades y aumentar la expresividad para poder resolver problemas muy diversos y cada vez más complejos. Además, tienen que ofrecer cierta eficiencia en la ejecución. Es un logro difícil de alcanzar y por lo tanto, se requiere una búsqueda constante de nuevos lenguajes para ello.

 

Aquí se expone un breve panorama de los más importantes tipos de lenguajes de

programación.

 

Lenguajes Imperativos. En este tipo de lenguajes, cuyo origen está ligado a la propia arquitectura de von Neumann, la arquitectura consta de una secuencia de celdas, llamadas memoria, en la cual se pueden guardar en forma codificada, lo mismo datos que instrucciones; y de un procesador, el cual es capaz de ejecutar de manera secuencial una serie de operaciones, principalmente aritméticas y booleanas, llamadas comandos. En general, un lenguaje imperativo ofrece al programador conceptos que se traducen de forma natural al modelo de la máquina.

 

Los lenguajes imperativos más destacados de la historia han sido: FORTRAN, Algol, Pascal, C, Modula-2, Ada.

Lenguajes Funcionales.  Una función convierte ciertos datos en resultados. Si supiéramos cómo evaluar una función, usando la computadora, podríamos resolver automáticamente muchos problemas. Así pensaron algunos matemáticos, que no le tenían miedo a la máquina, e inventaron los lenguajes de programación funcionales.

 

Aprovecharon la posibilidad que tienen las funciones para manipular datos simbólicos, y no solamente numéricos, y la propiedad de las funciones que les permite componer, creando de esta manera, la oportunidad para resolver problemas complejos a partir de las soluciones a otros más sencillos. También se incluyó la posibilidad de definir funciones recursivamente.

 

El lenguaje funcional más antiguo, y seguramente el más popular hasta la fecha, es LISP.  En la década de los 80 hubo una nueva ola de interés por los lenguajes funcionales, añadiendo la tipificación y algunos conceptos modernos de modularización y polimorfismo, como es el caso del lenguaje ML.

 

Lenguajes Lógicos.  El conocimiento básico de las matemáticas se puede representar en la lógica en forma de axiomas, a los cuales se añaden reglas formales para deducir cosas verdaderas (teoremas) a partir de los axiomas. Algunos matemáticos, a finales de siglo XX y principios de XXI, encontraron la manera de automatizar computacionalmenté el razonamiento lógico que permitió que diera origen a los lenguajes lógicos.

 

También se conoce a estos lenguajes, y a los funcionales, como lenguajes declarativos, porque el programador, parar solucionar un problema, todo lo que tiene que hacer es describirlo vía axiomas y reglas de deducción en el caso de la programación lógica y vía funciones en el caso de la programación funcional.

En los lenguajes lógicos se utiliza el formalismo de la lógica para representar el conocimiento sobre un problema y para hacer preguntas que, si se demuestra que se pueden deducir a partir del conocimiento dado en forma de axiomas y de las reglas de deducción estipuladas, se vuelven teoremas. Así se encuentran soluciones a problemas formulados como preguntas.

 

El PROLOG es el primer lenguaje lógico y el más conocido y utilizado. También en este caso, las aplicaciones a la Inteligencia Artificial mantienen el lenguaje vivo y útil.

Lenguajes Orientados a Objetos.  A mediados de los años 60 se empezó a vislumbrar el uso de las computadoras para la simulación de problemas del mundo real. Pero el mundo real está lleno de objetos.

 

Así es que a dos noruegos, Dahl y Nygaard, se les ocurrió el concepto de objeto y sus colecciones, llamadas clases de objetos, que permitieron introducir abstracciones de datos a los lenguajes de programación.  A ellos también les debemos el concepto de polimorfismo introducido vía procedimientos virtuales.

Todos estos conceptos fueron presentados en el lenguaje Simula 67, desde el año 1967. En los años 80 hubo una verdadera ola de propuestas de lenguajes de programación con conceptos de objetos encabezada por Smalltalk, C++, Modula-3, Ada 95 y terminando con Java.

 

Lenguajes Concurrentes, Paralelos y Distribuidos.  La necesidad de ofrecer concurrencia en el acceso a los recursos computacionales se remonta a los primeros sistemas operativos.  Por ejemplo, mientras un programa realizaba una operación de entrada o salida otro podría gozar del tiempo del procesador para sumar dos números.

 

Cuando los procesadores cambiaron de tamaño y de precio, se abrió la posibilidad de contar con varios procesadores en una máquina y ofrecer el procesamiento en paralelo, es decir, procesar varios programas al mismo tiempo. Esto dio el impulso a la creación de lenguajes que permitían expresar el paralelismo. Finalmente, llegaron las redes de computadoras, que también ofrecen la posibilidad de ejecución en paralelo, pero con procesadores distantes, lo cual conocemos como la programación distribuida.

 

Históricamente encontramos en la literatura soluciones conceptuales y mecanismos tales como: semáforos, regiones críticas, monitores, envío de mensajes (CSP), llamadas a procedimientos remotos (RPC), que posteriormente se incluyeron como partes de los lenguajes de programación en Concurrent Pascal, Modula, Ada, OCCAM, y últimamente en Java.

 

El diseño de un lenguaje de programación es siempre un compromiso, en el cual un buen diseñador tiene que tomar en cuenta: el nivel de abstracciones deseado, la arquitectura del hardware, y el rango propuesto de las aplicaciones.

 

Si queremos construir sistemas a niveles cada vez más abstractos, con hardware cada vez más complicado y con aplicaciones cada vez más ambiciosas, el trabajo para los diseñadores de lenguajes existe para un buen rato.

 

Como se pudo apreciar en el texto anterior, los lenguajes se dividen en diferentes tipos pero,  en este trabajo no se analiza la evolución de cada tipo, sino se tomo una muestra de los diferentes lenguajes que fueron surgiendo en el paso de la historia.

 

 

Antecedentes

 

Los primeros lenguajes de programación surgieron de la idea de Charles Babagge a mediados del siglo XIX.  Consistía en lo que el denominaba la maquina analítica, pero que por motivos técnicos no pudo construirse hasta mediados del siglo XX.

 

Con el colaboro Ada Lovelace, la cual es considerada como la primera programadora de la historia, pues realizo programas para aquella supuesta maquina de Babagge, en tarjetas perforadas. Como la maquina no llego nunca a construirse, los programas de Ada, lógicamente, tampoco llegaron a ejecutarse, pero si suponen un punto de partida de la programación.

 

En 1936, Turing y Post introdujeron un formalismo de manipulación de símbolos (la denominada máquina de Turing) con el que se puede realizar cualquier cómputo que hasta ahora podemos imaginar.

 

 Esta fue una vía de comunicación entre los problemas formales de la computación y de la matemática. La unión permitió demostrar que no existe ninguna máquina de Turing que pueda reconocer si una sentencia es o no un teorema de un sistema lógico formal; pero también permitió demostrar que si un cálculo puede explicitarse sin ambigüedad en lenguaje natural, con ayuda de símbolos matemáticos, es siempre posible programar un computadora digital capaz de realizar el cálculo, siempre que la capacidad de almacenamiento de información sea la adecuada.

 

 Desde el punto de vista de la ingeniería, los progresos en lenguajes de programación han sido paralelos a los diseños de las nuevas computadoras. Babbage ya escribió programas para sus máquinas, pero los desarrollos importantes tuvieron lugar, igual que en las computadoras, alrededor de la segunda guerra mundial.

 

 Cuando surgió la primera computadora, el famoso Eniac, su programación se basaba en componentes físicos, o sea, que se programaba, cambiando directamente el Hardware de la maquina, lo que se hacia era cambiar cables de sitio para conseguir así la programación binaria.

 

 Los "Lenguajes Maquina" y los "Lenguajes Ensambladores" (primera y segunda generación)  son dependientes de la maquina. Cada tipo de maquina, tal como VAX de digital, tiene su propio lenguaje maquina distinto y su lenguaje ensamblador asociado. El lenguaje ensamblador es simplemente una representación simbólica del lenguaje maquina asociado, lo cual permite una programación menos tediosa que con el anterior. Sin embargo, es necesario un conocimiento de la arquitectura mecánica subyacente para realizar una programación efectiva en cualquiera de estos niveles lenguajes.

 

 Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés.

A continuación se muestra la evolución de los distintos lenguajes en base a las influencias  que recibieron:

Año

 Influencias y Nueva Tecnología

 

1951-55

 Hardware: Computadoras de tubos de vacío; memorias de línea aplazada de mercurio.

 Métodos: Lenguajes ensamblador; conceptos base: subprogramas, estructuras de datos.

 Lenguajes: Uso experimental de compiladores de expresión.

 

1956-60

 Hardware: Almacenamiento en cinta magnética; memorias de núcleo; circuitos de transistores.

 Métodos: Tecnología de compiladores inicial; gramáticas BNF; optimización de código; intérpretes; métodos de almacenamiento dinámicos y procesamiento de listas.

 Lenguajes: FORTRAN, ALGOL 58, ALGOL 60, COBOL, LISP.

 

1961-65

 Hardware: Familias de arquitecturas compatibles, almacenamiento en discos magnéticos

 Métodos: Sistemas operativos de multiprogramación, compiladores de sintaxis-dirigida.

 Lenguajes: COBOL-61, ALGOL 60 (revisada), SNOBOL, JOVIAL, notación APL

 

 

Año

 Influencias y Nueva Tecnología

 

1966-70

 Hardware: Aumento de tamaño y velocidad y reducción de los costes; mini computadoras, microprogramación; circuitos integrados.

 Métodos:  Sistemas interactivos y tiempos-compartidos; compiladores optimizados; sistemas de escritura traductores.

 Lenguajes: APL, FORTRAN 66, COBOL 65, ALGOL 68, SNOBOL 4, BASIC, PL/I, SIMULA 67, ALGOL-W

 

1971-75

 Hardware: Microcomputadores; Edad de mini computadoras; sistemas de almacenamiento pequeños; declive de las memorias de núcleo y crecimiento de memorias de semiconductores

 Métodos:  Verificación de programas; programación estructurada; inicio del crecimiento de ingeniería de software como disciplina de estudio

 Lenguajes: Pascal, COBOL 74, PL/I (standar), C, Scheme, Prolog

 

1976-80

 Hardware: Microcomputadores de calidad comercial, sistemas de gran almacenamiento; computación distribuida.

 Métodos: Abstracción de datos; semánticas formales; técnicas de programación en tiempo real, concurrencia y fijos.

 Lenguajes: Smalltalk, Ada, FORTRAN 77, ML.

 

 

Año

 Influencias y Nueva Tecnología

 

1981-85

 Hardware: Computadores personales; primeras estaciones de trabajo; juegos de vídeo; redes de área local; Arpanet.

 Métodos: Programación orientada a objetos; entornos interactivos; editores de sintaxis dirigida.

 Lenguajes: Turbo Pascal, Smalltalk-80, crecimiento de Prolog, Ada 83, Postscript.

 

1986-90

 Hardware: Edad de microcomputadores; crecimiento de estaciones de trabajo de ingenierías; arquitectura RISC; redes globales; Internet.

 Métodos: computación cliente/servidor.

 Lenguajes: FORTRAN 90, C++, SML (ML Standar).

 

1991-95

 Hardware: Estaciones de trabajo y microcomputadores mucho más económicos;  arquitectura paralelas  masivas; voz, vídeo, fax, multimedia.

 Métodos: Sistemas abiertos; entorno de ventanas; Infraestructura de Información Nacional ("autopistas de la información").

 Lenguajes: Ada 95, lenguajes de procesos (TCL, PERL).

 

 

 

Hosted by www.Geocities.ws

1