Está en la página 1de 26

INTRODUCCIÓN

El presente trabajo trata sobre los lenguajes de programación, que son herramientas de Software
que permiten al usuario de una computadora electrónica crear programas ejecutables para la
realización de diversas tareas. Los dispositivos electrónicos programables en la actualidad son muy
importantes en cualquier campo del saber humano. Ello no hubiera sido posible sin las
instrucciones de los lenguajes de programación, que permiten dar soluciones a distintos tipos de
problemas de negocios, educativos, científicos, etc.

Estos lenguajes han evolucionado a través del tiempo, desde el denominado “Lenguaje Máquina”,
pasando por los lenguajes “Ensambladores”, hasta llegar a los “Lenguajes de Alto Nivel.

Aunque en esta introducción se ha comenzado a hablar de los lenguajes, en las próximas páginas
se procederá a un análisis más exhaustivo y detallado y se verán las numerosas formas en que se
pueden agrupar los lenguajes teniendo en cuenta funcionalidad y orientación. Sin embargo no
está estipulada ninguna clasificación estricta debido a que dependiendo de la característica por la
que se clasifique, un lenguaje podría estar relativamente en un grupo u otro. Sería utópico tratar
de clasificar todos los lenguajes existentes ya que hay demasiados y con frecuencia surgen nuevos.
No obstante se ha tratado de realizar una clara y esquemática clasificación de los distintos tipos,
que abarcase a los lenguajes más importantes.

OBJETIVOS

OBJETIVO GENERAL

 Conocer los tipos de lenguajes de programación y la clasificación que comúnmente se les


da, debido al creciente aumento de la Electrónica, la Tecnología, la Informática, las
Telecomunicaciones, las Redes e Internet.

OBJETIVOS ESPECÍFICOS

 Determinar qué son los lenguajes de programación declarativos y a la vez los lenguajes
que forman parte de este grupo.
 Determinar qué son los lenguajes de programación imperativos y los lenguajes que están
comprendidos en este grupo.
CONTENIDO

EVOLUCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN

Los primeros lenguajes de programación surgieron de la idea de Charles Babagge, la cual se le


ocurrió a este hombre a mediados del siglo XIX. Era un profesor matemático de la universidad de
Cambridge e inventor ingles, que la principio del siglo XIX predijo muchas de las teorías en que se
basan los actuales ordenadores. Consistía en lo que él denominaba la maquina analítica, pero que
por motivos técnicos 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 aquélla 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, sobre todo si
observamos que en cuanto se empezó a programar, los programadores utilizaron las técnicas
diseñadas por Charles Babagge, y Ada, que consistían entre otras, en la programación 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 antaño, se adelantaron un siglo a su época, lo
cual describe la inteligencia de la que se hallaban dotados.

En 1823 el gobierno Británico lo apoyo para crear el proyecto de una máquina de diferencias, un
dispositivo mecánico para efectuar sumas repetidas. Pero Babagge se dedico al proyecto de la
máquina analítica, abandonando la maquina de diferencias, que se pudiera programar con tarjetas
perforadas, gracias a la creación de Charles Jacquard (francés). Este hombre era un fabricante de
tejidos y había creado un telar que podía reproducir automáticamente patrones de tejidos,
leyendo la información codificada en patrones de agujeros perforados en tarjetas de papel rígido.
Entonces Babagge intento crear la máquina que se pudiera programar con tarjetas perforadas
para efectuar cualquier cálculo con una precisión de 20 dígitos. Pero la tecnología de la época no
bastaba para hacer realidad sus ideas. Si bien las ideas de Babagge no llegaron a materializarse de
forma definitiva, su contribución es decisiva, ya que los ordenadores actuales responden a un
esquema análogo al de la máquina analítica. En su diseño, la máquina constaba de cinco unidades
básicas:

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 ejecución de las operaciones

4) Unidad Aritmético-Lógica, que efectúa las operaciones

5) Unidad de salida, encargada de comunicar al exterior los resultados. Charles Babbage, conocido
como el "padre de la informática" no pudo completar en aquella época la construcción del
computador que había soñado, dado que faltaba algo fundamental: la electrónica. El camino
señalado de Babbage, no fue nunca abandonado y siguiéndolo, se construyeron las primeras
computadoras.

El LENGUAJES DE MÁQUINA

El lenguaje máquina de una computadora consta de cadenas de números binarios (ceros y unos) y
es el único que "entienden" directamente los procesadores. Todas las instrucciones preparadas en
cualquier lenguaje de máquina tienen por lo menos dos partes. La primera es el comando u
operación, que dice a la computadora cuál es la función que va a realizar. Todas las computadoras
tienen un código de operación para cada una de sus funciones. La segunda parte de la instrucción
es el operando, que indica a la computadora dónde hallar o almacenar los datos y otras
instrucciones que se van a manipular; el número de operandos de una instrucción varía en las
distintas computadoras. En una computadora de operando único, el equivalente binario de
"SUMAR 0814" podría hacer que se sume el valor que se encuentra en la localidad de
almacenamiento o dirección 0814 al valor que se encuentra en la unidad aritmética lógica. En una
máquina de dos operandos, la representación binaria de "SUMAR 0814 8672" podría hacer que se
sume el valor que está en la localidad 8672 al valor que está en la dirección 0814. El formato de
operando único es popular en las microcomputadoras más pequeñas; la estructura de dos
operandos se encuentra en casi todas las demás máquinas.

Según los estándares actuales, las primeras computadoras eran poco tolerantes. Los
programadores tenían que traducir las instrucciones de manera directa a la forma de lenguaje de
máquina que comprendían las computadoras. Por ejemplo, un programador que escribiera la
instrucción "SUMAR 0814" para una de las primeras máquinas IBM hubiera escrito:

000100000000000000000000000010111000

Además de recordar las docenas de códigos numéricos para los comandos del conjunto de
instrucciones de la máquina, el programador tenía que conocer las posiciones donde se almacenan
los datos y las instrucciones. La codificación inicial muchas veces requería meses, por lo que era
costosa y era frecuente que originara errores. Revisar las instrucciones para localizar errores era
casi tan tedioso como escribirlas por primera vez. Además, si era necesario modificar un programa
posteriormente, la tarea podía llevarse meses.

El LENGUAJE ENSAMBLADOR

El lenguaje ensamblador, o lenguaje de bajo nivel, contiene instrucciones en símbolos


nemotécnicos que son palabras en inglés que facilitan el desarrollo de los programas, ya que
reemplazan a las instrucciones en el lenguaje binario. A principios de la década de 1950, y con el
fin de facilitar la labor de los programadores, se desarrollaron códigos nemotécnicos para las
operaciones y direcciones simbólicas. La palabra nemotécnico se refiere a una ayuda para la
memorización. Uno de los primeros pasos para mejorar el proceso de preparación de programas
fue sustituir los códigos de operaciones numéricos del lenguaje de máquina por símbolos
alfabéticos, que son los códigos nemotécnicos. Todas las computadoras actuales tienen códigos
nemotécnicos aunque, naturalmente, los símbolos que se usan varían en las diferentes marcas y
modelos. La computadora sigue utilizando el lenguaje de máquina para procesar los datos, pero
los programas ensambladores traducen antes los símbolos de código de operación especificados a
sus equivalentes en lenguaje de máquina.

Este procedimiento preparó avances posteriores. Si la computadora era capaz de traducir símbolos
convenientes en operaciones básicas, ¿por qué no hacer también que realizara otras funciones
rutinarias de codificación, como la asignación de direcciones de almacenamiento a los datos? La
técnica de direccionamiento simbólico permite expresar una dirección no en términos de su
localización numérica absoluta, sino en términos de símbolos convenientes para el programador.

Durante las primeras etapas del direccionamiento simbólico, el programador asigna un nombre
simbólico y una dirección real a un dato. Por ejemplo, el programador podría asignar el valor total
de mercancía adquirida durante un mes por un cliente de una tienda de departamentos a la
dirección 0063, y darle el nombre simbólico TOTAL. Se podría asignar el valor de la mercancía
devuelta sin usar durante el mes a la dirección 2047 y dársele el nombre simbólico CRÉDITO. Así,
durante el resto del programa, el programador se referirá a los nombres simbólicos, más que a las
direcciones, cuando fuera preciso procesar estos datos. Por ejemplo, se podría escribir la
instrucción "S CRÉDITO TOTAL" para restar el valor de las mercancías devueltas del importa total
de compras para obtener el importe de la factura mensual del cliente. A continuación, el programa
ensamblador traduciría la instrucción simbólica a esta cadena de bits:

Más adelante se hizo otra mejora. Se dejó a la computadora la tarea de asignar y recordar las
direcciones de las instrucciones. Lo único que tenía que hacer el programador era indicar a la
computadora la dirección de la primera instrucción, y el programa ensamblador se encargaba de
almacenar, de manera automática, todas las demás en forma secuencial a partir de ese punto. Así,
si se agregaba más tarde otra instrucción al programa, no era necesario modificar las direcciones
de todas las instrucciones que seguían al punto de inserción (como tendría que hacerse en el caso
de programas escritos en lenguaje de máquina). En vez de ello, el procesador ajustaba
automáticamente las localidades de memoria la próxima vez que se ejecutaba el programa.

En la actualidad, los programadores no asignan números de dirección reales a los datos simbólicos,
simplemente especifican dónde quieren que se coloque la primera localidad del programa, y el
programa ensamblador se encarga de lo demás: asigna localidades tanto para las instrucciones
como para los datos.

Estos programas de ensamble, o ensamblador, también permite a la computadora convertir las


instrucciones en lenguaje ensamblador del programador en su propio código de máquina. Un
programa de instrucciones escrito en lenguaje ensamblador por un programador se llama
programa fuente. Después de que el ensamblador convierte el programa fuente en código de
máquina a éste se le denomina programa objeto. Para los programadores es más fácil escribir
instrucciones en un lenguaje ensamblador que en códigos de lenguajes de máquina, 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.

Los lenguajes ensambladores tienen ventajas sobre los lenguajes de máquina. Ahorran tiempo y
requieren menos atención a detalles. Se incurren en menos errores y los que se cometen son más
fáciles de localizar. Además, los programas en lenguaje ensamblador son más fáciles de modificar
que los programas en lenguaje de máquina. Pero existen limitaciones. La codificación en lenguaje
ensamblador es todavía un proceso lento. Una desventaja importante de estos lenguajes es que
tienen una orientación a la máquina. Es decir, están diseñados para la marca y modelo específico
de procesador que se utiliza, y es probable que, para una máquina diferente, se tengan que volver
a codificar los programas.

Los lenguajes de programación de alto nivel

son instrucciones en lenguaje humano, que se escribe para que la computadora realice acciones y
operaciones específicas de acuerdo a un algoritmo o Pseudocódigo. Ya que la computadora no
reconoce las órdenes escritas en lenguaje de alto nivel, se requiere de un programa que traduzca
las instrucciones a lenguaje máquina. Estos programas de traducción se denominaron
técnicamente, compiladores.

Los primeros programas ensambladores producían sólo una instrucción en lenguaje de máquina
por cada instrucción del programa fuente. Para agilizar la codificación, se desarrollaron programas
ensambladores que podían producir una cantidad variable de instrucciones en lenguaje de
máquina por cada instrucción del programa fuente. Dicho de otra manera, una sola
macroinstrucción podía producir varias líneas de código en lenguaje de máquina. Por ejemplo, el
programador podría escribir "LEER ARCHIVO", y el programa traductor produciría una serie
detallada de instrucciones al lenguaje de máquina previamente preparadas, con lo que se copiaría
un registro del archivo que estuviera leyendo el dispositivo de entrada a la memoria principal. Así,
el programador no se tenía que ocupar de escribir una instrucción por cada operación de máquina
realizada.

El desarrollo de las técnicas nemotécnicas y las macroinstrucciones condujo, a su vez, al desarrollo


de lenguajes de alto nivel que a menudo están orientados hacia una clase determinada de
problemas de proceso. Por ejemplo, se han diseñado varios lenguajes para procesar problemas
científico-matemático, asimismo han aparecido otros lenguajes que hacen hincapié en las
aplicaciones de proceso de archivos.

A diferencia de los programas de ensamble, los programas en lenguaje de alto nivel se pueden
utilizar con diferentes marcas de computadores sin tener que hacer modificaciones considerables.
Esto permite reducir sustancialmente el costo de la reprogramación cuando se adquiere equipo
nuevo. Otras ventajas de los lenguajes de alto nivel son:
 Son más fáciles de aprender que los lenguajes ensambladores.
 Se pueden escribir más rápidamente.
 Permiten tener mejor documentación.
 Son más fáciles de mantener.
 Un programador que sepa escribir programas en uno de estos lenguajes no está limitado a
utilizar un solo tipo de máquina.

Historia de los lenguajes de programación

La historia de los lenguajes de programación comienza cuando Charles Babbage trabajó en el


proyecto de una “Maquina diferencial” y después la “Maquina analítica”, en el año 1842. Esta
máquina alteraba sus procesos controlados por un programa. Realizaba ciclos repetitivos y
también diferentes procedimientos de acuerdo a instrucciones de condición. Trabajaba con una
tarjeta perforada para los procesos aritméticos, otra para las constantes numéricas y otra para
procesos con la memoria de datos. Según el avance de la electrónica y la programación, se
construye la computadora ENIAC en 1942. Esta máquina se programaba sobre la base de
interruptores.

Uno de los primeros lenguajes de programación de alto nivel que se crearon fue el FORTRAN
(Formula Translation), en el año 1957. En 1958 se crea el lenguaje de programación de alto nivel
LISP (Proceso de lista), diseñado para la investigación de inteligencia artificial.

El lenguaje de programación de alto nivel PASCAL se crea en el año 1968, lenguaje que era ideal
para la enseñanza de programación por su codificación fuertemente estructurada. En 1972 se crea
el lenguaje C, por Dennis Ritchie, para el desarrollo del sistema operativo Linux. Hoy en día se
cuenta con un sinnúmero de lenguajes enfocados a diferentes objetivos, apareciendo nuevos
paradigmas, como el orientado a objetos y otros más. La siguiente figura muestra la evolución de
los lenguajes de programación a lo largo del tiempo.
LÍNEA DE TIEMPO DE LA HISTORIA DEL LENGUAJE DE PROGRAMACIÓN

Lenguaje BASIC
(código de Lenguaje C++.
Lenguaje FORTRAN Lenguaje Ada
( traductor de instrucciones Diseñado por Lenguaje visual
fórmulas) simbólicas de Desarrollado Bjarne Basic.Net, Visual
todo propósito bajo el Stroustrup. C++.Net
Se utiliza en para patrocinio del Proporciona Fue diseñado
aplicaciones principiantes.) departamento capacidades para la nueva
científicas y de de defensa de
Creado por John para una plataforma de
ingeniería que los Estados
Kemeny y programación programación de
requiera cálculos Unidos. Se
Thomas Kurtz. orientada a Microsoft
complejos conoce como
Para escribir objetos llamado .Net.
multi tareas.
programas
sencillos.
*1954 *1959 *1964 *1971 *1970-1980 *1972 *1983 *1991 *1993

Lenguaje
Lenguaje en C
Pascal Lenguaje Java. Diseñado
Lenguaje COBOL por un grupo de
Creadopor
Creado porNiklaus
Dennis
(lenguaje común ingenieros de Sun
Wirth.Ritchie en lospara
Diseñado
orientado a los Microsystemiderados
negocios). Utilizado la enseñanza Bell
laboratorios de la“C”
se hizo popular como por Patrick Naughton y
para aplicaciones programación
el lenguaje para James Gosling.
comerciales. estructurada en el
desarrolloacadémicos.
para el Desarrollo de páginas
ambientes
sistema operativo Web interactivas y con
Unix. multimedia.

Algoritmos

Los algoritmos se definen como una serie de pasos que le indican a la computadora todas las
operaciones que tiene que hacer, para dar solución a un problema o situación propuesta, en un
determinado tiempo. Las características que los algoritmos deben reunir son los siguientes:

 Finito: Debe tener un final, después de una secuencia de operaciones.


 Preciso: Cada operación debe estar definido, indicando la acción a realizar sin criterios de
interpretación.
 Determinado: El algoritmo, dado un conjunto de datos idénticos de entrada, siempre debe
arrojar los mismos resultados.
 Efectivo: Los pasos realizados deben ser solamente los necesarios, considerando el tiempo
que toma cada operación y el esfuerzo que se realiza.

Por otra parte, un algoritmo consta de tres fases de resolución de un problema:

1. Análisis: Es la información de partida, se determina cuál es el problema que se quiere dar


solución, cuáles son los datos de entrada y cuáles los datos de salida.

2. Diseño: Es la elaboración del algoritmo.


3. Prueba: Es la comprobación de los resultados obtenidos. Se evalúa si los datos de salida son los
que permiten la resolución del problema, de acuerdo a los datos de entrada dados.

Herramientas para utilizar Algoritmos

Existen diferentes herramientas para el diseño de algoritmos, como pueden ser:

 Pseudocódigo: Es un tipo de algoritmo que utiliza el lenguaje humano, que puede ser el
inglés u otro idioma. Por ello, su escritura es fácil y flexible en sentencias complejas. Vale
decir que su escritura puede ser entendida por cualquier programador al codificar en un
lenguaje de programación.

 Diagramas de flujo: Estas herramientas son representaciones gráficas de un algoritmo y


expresan las sucesivas instrucciones que se deben realizar para resolver un problema. Las
operaciones de entrada de datos, proceso o salida, se representan mediante símbolos.
Por ejemplo, tenemos el siguiente problema matemático: obtener la edad de un
trabajador introduciendo el año de nacimiento ingresado por teclado. Para resolver tal
problema, se utilizará las herramientas de Pseudocódigo y Diagrama de flujo.

Ejemplo 1: Utilizando Pseudocódigo:


Paradigmas de la programación

En la evolución de la programación han surgido diversas técnicas de programación que se han ido
adaptando a las necesidades tecnológicas e informáticas del momento. Aunque la forma de
enfocar la elaboración de los programas es diferente en cada una de ellas, el objetivo es el mismo:
facilitar la creación y el mantenimiento de programas informáticos.

Estas técnicas se han traducido en diferentes filosofías de creación de programas, que son los
denominados paradigmas de programación. Un Paradigma de programación se define como
métodos, formas de organización y estructuración de los procesos que debe realizar cualquier
programa. Se tienen varios paradigmas, como los paradigmas por procedimientos o Paradigma
imperativo, tales como PASCAL o el lenguaje C, el paradigma orientado a objetos como el JAVA, C+
+.

PROGRAMACIÓN ESTRUCTURADA

Utiliza únicamente subrutinas y tres estructuras: secuencia, selección (if y switch) e iteración
(bucles for y while). Con el avance del desarrollo de programas y la complejidad de los problemas a
resolver, estos problemas se fueron descomponiendo en partes, creándose módulos o
procedimientos con la finalidad de hacer más fácil la resolución del problema; a estos módulos en
programación se les asigna un nombre y son invocados en cualquier momento que se les requiera.

Flujos de control

Las estructuras de control cambian la secuencia de ejecución de las sentencias de un programa de


computadora. Las estructuras de control se pueden clasificar en: secuenciales, selectivas e
iterativas y de control avanzadas.

Las estructuras de control secuenciales, se realizan en el orden en el que está programado. Las
tareas se van ejecutando orden por orden, hasta un cambio de control.

Las estructuras de control de selección, tienen como finalidad bifurcar el flujo de instrucciones,
seleccionando una de dos o varias alternativas de acuerdo a una condición establecida en el
programa.
Las estructuras de control repetitivas, permiten que se repita una instrucción o bloque de
instrucciones, hasta que se cumpla una condición establecida en el programa

Programación Modular: Se puede dar solución a un problema, dividiéndolo en problemas


pequeños. Este método es el que aplica la programación modular La programación top-down
consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y
manejable. Dos tipos de módulos utiliza el lenguaje PASCAL: los procedimientos y las funciones. Es
una evolución de la Programación estructurada

Aplicación a los lenguajes de programación Pascal

El lenguaje de programación Pascal se creó con el propósito de hacer más fácil la enseñanza y
aprendizaje del estudiante concerniente al desarrollo de programas. Niklaus Wirh, profesor suizo,
fue el que creo y desarrolló el programa por el año de 1968. Utilizó el paradigma de la
programación estructurada de esa época porque permitía la solución de problemas a través de las
instrucciones de flujo de control y la descomposición de las tareas en módulos o procedimientos.
Publicándose en 1970, llegó a ser uno de los primeros lenguajes por la forma como estructuraba
los datos, creándose todo tipo de aplicaciones (Joyanes, 2006). La estructura genérica en un
programa en PASCAL es:

LENGUAJES DE PROGRAMACIÓN ORIENTADOS A OBJETOS

Programación orientada a objetos

Programar con la metodología estructurada se complicaba cuando el problema era demasiado


complejo. Debido a ello, la programación fue evolucionando conceptualmente, apareciendo un
nuevo paradigma al que se le denominó programación orientada a objetos, que define todas las
entidades de un programa, en objetos que contienen datos (atributos) y comportamientos
(métodos). Estos objetos, según características similares, se agrupan en clases
Son lenguajes de programación orientados a objetos, aquellos que implementan los conceptos
fundamentales, definidos por la programación orientada a objetos.

El lenguaje JAVA de Oracle, el lenguaje C++ diseñado por Bjarne Stroustrup, el lenguaje Python, el
Visual Basic .NET diseñado por MICROSOFT, el JavaScript desarrollado para páginas WEB, el PHP
diseñado por Rasmus Lerdorf, el lenguaje Objective-C, son algunos de los lenguajes más utilizados
en la actualidad.

Lenguajes de Programación orientado a objetos

Existen muchos lenguajes de programación orientado a objetos, como:

 Simula 67: El primer lenguaje orientado a objeto. Desarrollado por los noruegos Krinsten
Nygaard y Ole-Johan Dahl, fue presentado en el año 1967. Fue el primer lenguaje que
presentó las nociones de clase y herencia jerárquica. No se admite la herencia múltiple.

 Smalltalk: A principio de los años 70, en el centro de investigación "Palo Alto Xerox "
crearon Smalltalk. Fue el primer lenguaje en usar clases y objetos. A través de mensajes,
los objetos se comunican entre sí y pueden realizar varias y diferentes operaciones.

 C++: Creado por Bjarne Stroustrup en 1983, permite la manipulación de objetos. C++ es un
lenguaje multiparadigma, ya que en su desarrollo se añadieron conceptos de la
programación estructurada y objetos.

 Eiffel: Es un lenguaje de POO diseñado por Bertrand Meyer en 1985. Este lenguaje dispone
de diseño por contrato, que facilita la detección de errores y la depuración de códigos. Las
clases son la unidad básica, su gestión de memoria es automática y es implementada por
el recolector de basura.

 Java: Es un lenguaje de programación orientado a objetos que fue creado en 1995 (es una
extensión de C++), se popularizo en 1996 por el lanzamiento comercial de su primera
versión, la JDK 1.0. Posee los conceptos de herencia polimorfismo, encapsulamiento, etc.

Conceptos fundamentales de la Programación orientada a objetos

Los objetos: Son conceptos de las cosas que vemos y sentimos de nuestro alrededor y el
mundo, razonando y reflexionando sobre ellas. Los objetos pueden ser reales, como un
colegio, una carta o abstractos.

El concepto fundamental, en los lenguajes de POO, es que los objetos contienen datos que
pueden ser textos, números, registros, etc. Sobre estos datos y sus atributos, operan
funciones o procedimientos que permiten el comportamiento del programa de acuerdo a
las necesidades del usuario o programador.

En POO, las clases de cosas que pueden ser objetos, pueden ser:

 Objetos físicos: Barcos, autos: En sistemas de transporte


 Elementos de interfaces gráficos de usuario: Mouse, ventanas de diálogo, objetos gráficos,
menú, lista desplegable

 Alimentos y animales Pasteles, frutas, carne, animales vertebrados y animales invertebrados


Cabe mencionar que en POO todas las cosas del mundo real, dentro de un conjunto, se
denominan instancias y que estas tienen las mismas características y siguen las mismas reglas. Los
objetos constan de estados (atributos) y operaciones o comportamientos (métodos invocados por
el mensaje.

Los atributos. Son los datos que pertenecen al objeto y que representan el estado de este, en
función de los valores que tienen.

Los métodos: Definen el comportamiento del objeto y son funciones que se pueden invocar desde
otros objetos. Los métodos pueden modificar el estado del objeto cuando cambian el valor de
alguno de los atributos.

Por ejemplo, el objeto cuenta bancaria, cuyos datos contenidos son el nombre del
cuentahabiente, sus apellidos, dirección, email, saldo y el tipo de cuenta, en donde se especifica si
es una cuenta de crédito, débito, ahorro, etc. Además, también contiene algunas operaciones que
se pueden ejecutar con la cuenta; en este ejemplo son consultar saldo, retiro, bonificación,
actualizar datos y consultar datos.

Las clases: En programación, a las instancias de una clase se les llama objetos. A continuación,
como ejemplo, definimos la clase Reloj. Según la sintaxis, el nombre de una clase empieza en su
primera letra en mayúscula. Un reloj se caracteriza por tener tres indicadores: la hora, los minutos
y los segundos; por lo tanto, los atributos de la clase Reloj son tres números enteros.

El comportamiento de este reloj está definido por las siguientes operaciones: inicializar la hora
con un valor dado, incrementar la lectura actual en un segundo y obtener la hora.
La clase es la descripción de un conjunto de objetos similares, es decir, que comparten los mismos
atributos y los mismos métodos.

Cada objeto en la POO tiene propiedades definidas por su clase de objeto. Se dice que cada objeto
es una instancia particular de alguna clase de objetos. La clase define las propiedades comunes de
varios objetos. El programador especifica la clase, como lo hace con un tipo de dato compuesto, y
le da un nombre; luego se pueden crear objetos tantas veces, como se requiera, de la clase creada.

Los métodos contienen las sentencias que operan sobre el estado de los objetos. También permite
que entre los objetos se puedan enviar mensajes. Primero se invoca al método del objeto y luego
se procede al envío del mensaje del objeto emisor.

Los mensajes tienen que ver con la forma como interactúan los objetos a través de mensajes. Un
objeto envía un mensaje a otro objeto, este ejecutará un método que se necesite que realice el
objeto, de esta manera los objetos se comunican en el sistema informático

Lenguaje de Programación Java

Java es un lenguaje de programación de propósito general orientado a objetos, sus aplicaciones se


pueden ejecutar en diferentes microprocesadores y sistemas operativos, como Windows, Linux,
Android, etc.

Java es un derivado del lenguaje de programación C y C++, orientado totalmente a objetos, creado
en sus inicios por James Gosling, de la empresa de software Sun Microsystems. Para que corran los
programas de Java se requiere instalar la máquina virtual de Java en la computadora. Esta permite
que las instrucciones de lenguaje de alto nivel, escritas en java, se conviertan a código de lenguaje
máquina. Puede correr en cualquier arquitectura de hardware y sistema operativo.

Por ser 100% orientada a objetos, Java contiene las características de encapsulamiento, herencia y
polimorfismo. Los objetos son entidades que agrupan datos y funcionalidad, creándose desde las
clases y comunicándose entre sí.

Características del Lenguaje Java

Orientado a objetos.

En Java y los lenguajes de POO, cualquier dato es tratado como objeto, y para acceder a estos
objetos se requieren de interfaces. Java también soporta todas las propiedades y características de
la programación orientada a objetos. Un sistema de cualquier tipo en Java trabaja con clases de
objetos y sus copias denominadas instancias.

Robusto.

Cuando se compila un programa, el lenguaje revisa que no se produzcan errores de código. Lo


mismo sucede cuando se ejecuta. Es por ello que se debe definir claramente los métodos de los
objetos, para que no se produzcan errores. La memoria también es administrada eficientemente,
no permitiendo que se corrompa.
Independiente de la Plataforma.

Cuando se compila las instrucciones de un programa Java, se crea un archivo objeto, archivo este
que es independiente, es decir, que no depende de la arquitectura de la máquina, en que el
programa correrá. La ejecución de las instrucciones se podrá realizar en cualquier dispositivo
programable que tenga el sistema que permite ejecutarla. Gracias a su independencia soporta
arquitectura de hardware y software como el sistema Windows o Unix.

Multitarea.

Un programa es multitarea cuando se puede realizar varios procesos en ese momento o


simultáneamente. Java trabaja multitarea en procesos y basado en hilos, en lo cual el programa
Java tiene control sobre ellos.

Sentencias básicas

Los Identificadores, son los nombres que se les da a los elementos de un programa, como clases,
variables etc. Se tiene que cumplir con ciertas reglas para nombrarlas, como que no pueden iniciar
con un número, debe contener letras y números y se excluyen las palabras reservadas.

Las palabras reservadas no se pueden utilizar en un programa en Java, cada palabra reservada ya
está definida y cumple un propósito específico. Los programadores no pueden usarlas para crear
identificadores, ya que al compilar el programa resultaría con errores. Estas palabras inician con
una letra en minúscula. En Java se conocen como datos primitivos a los números enteros, números
reales, carácter y booleano o lógico.
Los operadores aritméticos en Java, se utilizan para realizar operaciones de cálculo tanto para los
números enteros como para los números reales.

Los operadores aritméticos incrementales, son operadores unarios que agregan o sustraen uno de
sus operandos, respectivamente

El operador de asignación, permite asignar un valor a una variable, el resultado de una expresión
numérica o una constante. El símbolo del operador es el signo = y este asigna el valor de derecha a
izquierda.
Los operadores combinados, permiten simplificar las instrucciones de suma, resta, multiplicación,
etc. Se combina el operador aritmético con el operador asignación.

Los operadores de comparación, compara datos compatibles de tipos primitivos, esto permite
obtener siempre resultados de tipo booleano.

Cuando se trabaja con datos booleanos, el resultado es un valor booleano, para ello se utilizan los
operadores lógicos.
El operador de concatenación de cadenas: Une dos cadenas a más, convirtiéndose en una sola
cadena. Se puede concatenar de otros tipos, el resultado de la concatenación de datos de otro
tipo, pasa a ser de tipo cadena.

Sentencia de selección

Esas sentencias de selección controlan la forma como se ejecutan las instrucciones en el


programa. Si la condición es verdad, se realizan una o un bloque de sentencias; si la condición es
falsa, se realizan otras instrucciones o no se realiza ninguna y continúa con la ejecución.

Sentencia de selección IF.

Esta sentencia permite realizar una o varias instrucciones, solo si la condición que establece se
cumple; si no, continúa la ejecución del programa

Ejemplo:

if (nota1 < =13)

{System.out.println (“Desaprobado”)}

Sentencia de selección IF/ELSE.

Se lee: Si la condición es verdad se ejecutan las instrucciones después del if, el else da la opción a
que se ejecuten otras instrucciones si la condición es falsa.

Ejemplo:

If (apagar > 2000)

System.out.println (“No tiene descuento”)

} else

System.out.println (“Calcular el descuento”)

Sentencia de selección SWITCH.

La instrucción switch evalúa una expresión, y en función a su resultado selecciona las instrucciones
que serán ejecutadas.

Sintaxis

Switch (monto)

{
Case 500:

System.out.println (“Obsequio: Agenda”)

Break;

Case 1000:

System.out.println (“Obsequio: Perfume”)

Break;

Case 1500:

System.out.println (“Obsequio: Polo”)

Break

Default:

System.out.println (“Todos tienen premio”)

Sentencias repetitivas

Bucle FOR.

La sentencia se compone de varios argumentos: Se inicializa la variable, se establece la condición,


se incrementa la variable y se ejecutan las instrucciones.

Ejemplo:

short incremento = 0;

For (int x = 0; x < 4; x++) {

incremento += x;

Bucle WHILE.

En esta instrucción, primero se pregunta, si es verdad, se realiza el primer bucle, la variable se


seguirá sumando, hasta que sea falsa.

Ejemplo:

short nume = 0;

short x = 0;

while (x < 28) {


nume += x;

x++;

Bucle DO WHILE.

En esta instrucción se realiza el primer bucle, luego se pregunta, si la condición es verdad; si es así,
la variable se seguirá incrementando, hasta que sea falsa.

Ejemplo:

short nume = 0;

short x = 0;

do {

nume += x;

x++;

} While (x < 28);

Aplicaciones a la enseñanza y aprendizaje de la matemática

Presento en esta sección algunos problemas y las soluciones correspondientes, tomando en


cuenta las sentencias nombradas.

Problema 1: Ingresar por teclado dos valores enteros, hallar la suma, la resta y la multiplicación de
cada uno de ellos. A continuación, presento el diagrama de flujo y su codificación en Java.

Datos de Entrada: Dos valores enteros

Proceso: Efectuar la suma, resta y multiplicación de los valores enteros.

Datos de salida: Resultado de las operaciones efectuadas.


Este diagrama de flujo muestra todo el proceso para hallar los cálculos solicitados de suma, resta y
multiplicación.
muestra la codificación del diagrama en el programa Java

Problema 2: Ingresar por teclado dos valores y mostrar cuál es el mayor de los dos. Si son iguales,
indicarlo también. Los datos de entrada son dos valores enteros.

Proceso: Comparar n1 es mayor igual a n2, si es si, preguntar si n1 es igual a n2, si es si escribir
“Números Iguales”, sino escribir n1 es mayor que n2, sino escribir n2 mayor n1.

muestra todo el proceso de bifurcación según una condición


muestra la codificación del problema planteado sobre condicionales.

Problema 3: Mostrar los números del 1 al 100 (ambos incluidos) divisibles entre 2 y 3, con los
datos de entrada : Asignar 1 a la variable num.

Proceso: Hacer mientras num sea menor igual a 100, resto de num entre 2 es igual a 0 o resto de
num entre 3 es igual a 0, mostrar num e incrementar num, si num es mayor a 100 entonces salir
del hacer. A continuación, presento el diagrama de flujo y su codificación en Java. La salida será la
obtención de todos los números divisibles entre 2 y 3.

muestra la codificación del problema planteado, creándose un ciclo repetitivo, hasta cumplir una
condición.
muestra la codificación del problema planteado, creándose un ciclo repetitivo, hasta cumplir una
condición, para ello se usa la instrucción While.

CONCLUSIONES Los lenguajes de programación permiten comunicarnos con la computadora, sin


ellos sería imposible instruirla para que realice una acción determinada y resolver problemas tan
complejos que hoy en día la sociedad exige en el comercio, la industria, el ocio, etc. A través de la
historia han aparecido nuevos paradigmas y lenguajes de programación que han desarrollado su
filosofía completamente o han coexistido para crear un sinnúmero de programas y aplicaciones
específicos para cada tarea diferente. La programación orientada a objetos es el nuevo paradigma
que ha permitido el avance de los lenguajes de programación, ya que sus conceptos se asemejan
al “mundo real”, permitiendo un programa confiable, comprensible y eficiente en términos de
tiempo de ejecución y consumo de espacio. El desarrollo de los lenguajes de programación va
evolucionado, existiendo una gran gama de lenguajes y aplicaciones que hoy en día las escuelas
deben de usarlas para el desarrollo de la enseñanza y aprendizaje de los estudiantes.

También podría gustarte