Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lenguaje de
Programación
Semestre 2
Lenguaje de programación
Lenguaje de
programación Semestre 2
Lenguaje de programación
Presentació de la asignatura 1
Competencias generales 2
Contenido mínimo de la asignatura 5
Introducción 9
Conceptos previos 10
Mapa conceptual Fascículo 1 12
Logros 13
Fases para la resolución de problemas a través
del computador 13
Componentes necesarios para la construcción de algoritmos 21
Paradigma Orientado a Objetos (POO) 24
Los problemas y sus soluciones por medio de objetos 27
Actividad de trabajo colaborativo 29
Resumen 30
Bibliografía recomendada 31
Nexo 31
Seguimiento al autoaprendizaje 33
Créditos: 3
Tipo de asignatura: Teórica – Práctico
Semestre 2
Lenguaje de programación
Lenguaje de
programación Semestre 2
Lenguaje de programación 1
Presentación de la asignatura
El desarrollo tecnológico es sin duda una de las innovaciones que más
fomenta el crecimiento de la economía y la formación de una nueva forma
de vislumbrar y entender el mundo. En este sentido, los lenguajes de
programación se han convertido en los últimos años en herramientas de
primer orden en la generación de soluciones, permitiendo extender el
poder de la algoritmia hacia el campo práctico de la aplicación implemen-
tativa. El boom de Internet durante la década de los noventa, así como el
auge de las tecnologías y metodologías orientadas a objetos ha facilitado
la creación de nuevas plataformas y esquemas de pensamiento ingenieril
que han revolucionado la forma de trabajar de millones de personas
alrededor del mundo.
Competencia comunicativa:
Expresar apropiadamente problemas de programación mediante la
definición formal de su contexto, identificando el mundo de un problema
y enfocando el aspecto del diseño como herramienta para llegar a la
solución.
Saber expresar un problema de programación y plasmarlo a través de
casos de uso, diagramas de clase y finalmente código fuente de un
lenguaje nativo de programación orientado a objetos.
Definir apropiadamente clases con su apropiada auto - documentación
interna, con el objeto de fomentar la organización en la estructura de las
técnicas modernas de programación, y con ello propender por el
mantenimiento y la reusabilidad de las aplicaciones de Software.
Competencia cognitiva:
Capacidad para entender cuáles son las principales herramientas del
análisis lógico y matemático en la elaboración de soluciones
algorítmicas.
Habilidad para entender las diferencias entre los distintos tipos de
programación y capacidad para llevar dichos conocimientos a la
realización de procedimientos de solución de problemas del entorno
social y cultural.
Capacidad para entender qué tipo de estructura de programación
aplicar, dependiendo de los requerimientos y necesidades postulados
Fascículo No. 1
Lenguaje de
programación
2 Semestre 2
Lenguaje de programación
Competencia contextual:
Habilidad para definir la estructura visual de un algoritmo y llevar dicha
representación a la implementación concreta bajo un lenguaje de
programación orientado a objetos, en este caso, Java.
Capacidad para distinguir entre los diversos tipos de datos y emplearlos
adecuadamente a la hora de plasmar conceptos del mundo real, en
representaciones algorímitcas abstractas y luego en sus implementacio-
nes concretas a nivel de pseudocódigo y código fuente nativo.
Destreza en la creación de clases de Java y su compilación empleando
tanto herramientas rudimentarias de compilación y depuración, como
IDES de programación más especializados.
Habilidad para identificar los principales paquetes y clases de Java,
útiles para crear bibliotecas personalizadas de programador.
Competencia valorativa:
Analizar la importancia de la programación como una herramienta de
construcción de soluciones a los problemas de la vida cotidiana.
Tener habilidad para trabajar en equipo, valorando la opinión ajena y
generando criterios y patrones de análisis lógico que le faciliten la
discusión de los problemas, en aras de lograr soluciones óptimas y
realizables.
Formar un criterio a la hora de toma decisiones sobre qué solución de
implementación de código puede ser la más pertinente, ajustando las
necesidades del desarrollo a la capacidad de cómputo disponible y a
los requerimientos derivados de los clientes en cuestión.
Fascículo No. 1
Semestre 2 3 Lenguaje de
programaciónI
Lenguaje de programación
Fascículo No. 1
Lenguaje de
programación
4 Semestre 2
Lenguaje de programación
Fascículo 1
Introducción al Paradigma Orientado a Objetos (POO)
Fases para la resolución de problemas a través del computador
Componentes necesarios para la construcción de algoritmos
Paradigma Orientado a Objetos
Los problemas y sus soluciones por medio de objetos.
Fascículo 2
Caracterización del Lenguaje de Programación
Análisis de las soluciones
Metodología para la solución de problemas con el enfoque de objetos
Ejemplos de problemas resueltos con objetos
Desarrollo de métodos para los objetos
Tipos de datos. Uso de funciones predefinidas
Ejemplos de conversión de algoritmos a métodos de clases en Java
Fascículo 3
Métodos, estructura, encapsulamiento y administración de errores
Elementos del lenguaje algorítmico. Estructura de un algoritmo
Implementación de métodos en Java (La Declaración de Método, Devolver
un Valor desde un Método, Un Nombre de Método, Características
Avanzadas de la Declaración de Métodos)
Pasar información a un Método (Tipos de Argumentos, Nombres de
Argumentos, Paso por Valor)
El cuerpo de un Método
Controlar el acceso a los miembros de la Clase (Private, Protected, Public,
Acceso de Paquete)
Constructores
Excepciones
Fascículo No. 1
Semestre 2 5 Lenguaje de
programaciónI
Lenguaje de programación
Fascículo 4
Herencia, polimorfismo e implementación de métodos heredados
Subclases, Superclases y Herencia
Crear Subclases
Escribir Clases y Métodos Finales
La Clase Object (El método equals(),El método getClass(),El método
toString())
¿Qué es una Interface? (Definir un Interface, Sobrecarga de métodos)
Fascículo 5
Organización de datos en arreglos y vectores. Algoritmos de
búsqueda y ordenamiento
Arrays de una Dimensión. Utilizar sólo un Inicializador
Utilizar sólo la Palabra Clave "new"
Utilizar la palabra clave "new" y un Inicializador
Trabajar con un array uni-dimensional
Algoritmos de búsqueda de datos en vectores
Fascículo 6
Introducción al modelo de ventanas e interfaces gráficas del lenguaje
Java
Sobre el JFC y Swing
Visita Rápida por el Código de un Programa Swing
Herencia de Componentes y Contenedores
Control de Distribución
Manejo de Eventos
Reglas Generales del Uso de Componentes
Fascículo 7
Profundización de Swing
¿Cómo crear diálogos?
Fascículo No. 1
Lenguaje de
programación
6 Semestre 2
Lenguaje de programación
Contenedores Intermedios
Uso de Paneles en Java
Ejemplos de manejo de eventos
Reglas Generales para Escribir Oyentes de Eventos
Fascículo 8
Applets y aplicaciones en navegadores Web
¿Qué es un APPLET?
Appletviewer
Ciclo de vida de un APPLET
Etiqueta APPLET y paso de parámetros
Clase Graphics y métodos de dibujo de primitivas
Eventos
Fascículo No. 1
Semestre 2 7 Lenguaje de
programaciónI
Lenguaje de programación
Fascículo No. 1
Lenguaje de
programación
8 Semestre 2
Lenguaje de programación
Introducción
Durante los últimos años, el desarrollo de Software se ha convertido en
una industria en constante crecimiento donde cada vez más observamos la
aparición de nuevos paradigmas en el desarrollo no sólo de las soluciones
informáticas, sino en la generación de nuevas metodologías y marcos de
trabajo capaces de estructurar proyectos de dimensiones cada vez más
crecientes.
Fascículo No. 1
Semestre 2 9 Lenguaje de
programaciónI
Lenguaje de programación
Conceptos previos
Antes de iniciar con el estudio del mundo de la Programación Orientada a
Objetos, debe recordar que la esencia de la programación está en la
algorítmica, es decir, en la ciencia de diseñar estructuras de análisis lógico,
que fundamentadas en los condicionales, los ciclos, las asignaciones y la
definición de variables, permitan resolver cualquier problema de procesa-
miento de información. También es importante que reconozca la importan-
cia de las variables como elementos de almacenamiento de datos, que a
través de relaciones de procesamiento y cálculo, permiten resolver un
problema determinado y finalmente llevar al usuario final, las respuestas a
las preguntas derivadas del planteamiento de un problema programático.
Fascículo No. 1
Lenguaje de
programación
10 Semestre 2
Lenguaje de programación
Fascículo No. 1
Semestre 2 11 Lenguaje de
programaciónI
Lenguaje de programación
Fascículo No. 1
Lenguaje de
programación
12 Semestre 2
Lenguaje de programación
Logros
Fascículo No. 1
Semestre 2 13 Lenguaje de
programaciónI
Lenguaje de programación
Ejemplo
Una empresa de fabricación de compotas requiere tener un sistema para
facturar sus ventas con base en las siguientes especificaciones: Toda
compota marca Rostington cuya venta sea menor a 100 unidades tendrá
un descuento del 20% sobre el valor de la venta; si está entre las 101 y
Fascículo No. 1
Lenguaje de
programación
14 Semestre 2
Lenguaje de programación
200 unidades se hará un descuento del 25% y si está entre 201 unidades
en adelante del 45%. Si las compotas de un lote marca Premiere cumplen
las siguientes condiciones, entonces los descuentos serán como los que
se citan a continuación:
Cantidad de Compotas Descuento sobre la Venta
1-100 unidades 15%
101-200 unidades 35%
201 unidades en adelante 50%
Fascículo No. 1
Semestre 2 15 Lenguaje de
programaciónI
Lenguaje de programación
Figura 1.1
Representación de la Solución de
Venta de Compotas en Excel
Fascículo No. 1
Lenguaje de
programación
16 Semestre 2
Lenguaje de programación
Fascículo No. 1
Semestre 2 17 Lenguaje de
programaciónI
Lenguaje de programación
porcentajeDescuento = 0.25;
Fin Si
DLC
Inicio DLC
porcentajeDescuento = 0.45;
Fin DLC
Fin Si
DLC
Inicio DLC
//Compotas Premiere
//Asignamos el precio
precioCompota = 10000.00;
Fascículo No. 1
Lenguaje de
programación
18 Semestre 2
Lenguaje de programación
Figura 1.3
Implementación del Algoritmo en el lenguaje de programación Java.
Figura 1.4
Ejecución de la Aplicación (Ingreso del tipo de compota).
Fascículo No. 1
Semestre 2 19 Lenguaje de
programaciónI
Lenguaje de programación
Figura 1.5
Ejecución de la aplicación (Ingreso de la cantidad de compotas).
Figura 1.6
Ejecución de la aplicación (Despliegue de los resultados).
Fascículo No. 1
Lenguaje de
programación
20 Semestre 2
Lenguaje de programación
1) Definición de variables
2) Lectura de datos
3) Ejecución de cálculos
4) Impresión de resultados
Fascículo No. 1
Semestre 2 21 Lenguaje de
programaciónI
Lenguaje de programación
Leer
nombre
Leer nota1,
nota2 y
nota3
Sí
No
Promedio = 0
Promedio = (nota1
+ nota2 + nota3)/3
Esta Reprobado
Promedio >= 6 No
Sí
Esta Aprobado
Nombre
Promedio
Figura 1.7
Algoritmo para calcular el promedio de un
estudiante e indicar si aprobó o reprobó el
curso académico
Final
Fascículo No. 1
Lenguaje de
programación
22 Semestre 2
Lenguaje de programación
Inicio
//Declaraciones de las variables.
Nombre: Cadena;
Nota1: Real;
Nota2: Real;
Nota3: Real;
NumeroNotas: Entero;
Promedio: Real;
//Inicializaciones
Nota1 = 0.0;
Nota2 = 0.0;
Nota3 = 0.0;
NumeroNotas = 3;
Promedio = 0.0;
Si (Promedio >= 6)
Comienzo Si
Imprimir “Está aprobado”;
Fin del Si
De lo contrario
Comienzo del De lo Contrario
Imprimir “Está reprobado”;
Fin del De lo Contrario
Imprimir Nombre;
Imprimir Promedio;
Fin.
Fascículo No. 1
Semestre 2 23 Lenguaje de
programaciónI
Lenguaje de programación
Modularidad:
Característica por la cual un
La programación estructurada durante las décadas del 60, 70 y 80 fue una
programa de computadora
está compuesto de partes
solución a muchos problemas de computación, pero a medida que los
separadas denominadas
módulos. El diseño estructu-
lenguajes de programación comenzaron a sofisticarse, la programación de
rado es la técnica de diseño
de algoritmos en que se ba-
este tipo comenzó a convertirse en una pesadilla para labores como el
sa la programación modular,
paradigma de programación
mantenimiento de aplicaciones grandes y complejas. De ahí la necesidad
que persigue desarrollar
programas modulares.
de trabajar sobre un nuevo paradigma que propendiese por hacer más
Polimorfismo:
modulares, acoplables y mantenibles las soluciones de Software.
En programación orientada
a objetos se denomina poli-
morfismo a la capacidad En este sentido, la Programación Orientada a Objetos (POO u OOP según
que tienen los objetos de
una clase de responder al sus siglas en inglés) es un paradigma de programación que usa objetos y
mismo mensaje o evento en
función de los parámetros sus interacciones para diseñar aplicaciones y programas de computadora.
utilizados durante su invoca-
ción. Está basado en varias técnicas, incluyendo herencia, Modularidad,
Encapsulamiento: Polimorfismo y Encapsulamiento. Su uso se popularizó a principios de la
En programación orientada
a objetos, se denomina en- década de 1990. Actualmente son muchos los lenguajes de programación
capsulamiento al oculta-
miento del estado, es decir, que soportan la orientación a objetos.
de los datos miembro, de un
objeto de manera que sólo
se puede cambiar mediante
las operaciones definidas
para ese objeto.
Fascículo No. 1
Lenguaje de
programación
24 Semestre 2
Lenguaje de programación
Fascículo No. 1
Semestre 2 25 Lenguaje de
programaciónI
Lenguaje de programación
Ejemplo
Figura 1.8
Diagrama UML de la Clase ObjetoCalculadora.
1.1
Fascículo No. 1
Lenguaje de
programación
26 Semestre 2
Lenguaje de programación
Fascículo No. 1
Semestre 2 27 Lenguaje de
programaciónI
Lenguaje de programación
Fascículo No. 1
Lenguaje de
programación
28 Semestre 2
Lenguaje de programación
{
double impuestoVentas = 0.0;
impuestoVentas = valor * porcentajeImpuesto;
impuestoVentas = impuestoVentas + (2 * valor);
return (impuestoVentas);
}
1.2
Fascículo No. 1
Semestre 2 29 Lenguaje de
programaciónI
Lenguaje de programación
Fascículo No. 1
Lenguaje de
programación
30 Semestre 2
Lenguaje de programación
Fascículo No. 1
Semestre 2 31 Lenguaje de
programaciónI
Lenguaje de programación
Fascículo No. 1
Lenguaje de
programación
32 Semestre 2
Lenguaje de programación
Seguimientoal autoaprendizaje
Nota I: 30%
Nota II: 30%
Nota III: 40%
Fascículo No. 1
Semestre 2 33 Lenguaje de
programaciónI
Lenguaje de programación
Anexo 1
Implementación del problema del objeto calculadora
import javax.swing.JOptionPane;
/**
* @author Ingeniero Jaime Alberto Gutiérrez Mejía
* Fundación Universitaria San Martín
* Espacio Académico: Lenguaje de Programación
* Fascículo I: UNIDAD NO. I: INTRODUCCIÓN AL PARADIGMA
ORIENTADO A OBJETOS
*
* Ejemplo de un objeto destinado a realizar operaciones matemáticas
* básicas. En este caso, una calculadora
*/
public class ObjetoCalculadora
{
//Atributos de la clase
private int numero1;
private int numero2;
private int resultado;
//Constructor de la clase
public ObjetoCalculadora() {
super();
}
/*
Métodos de lógica funcional de negocio
que alteran el comportamiento de los datos o atributos
de la clase
*/
public int calcularSuma ()
{
resultado = 0;
resultado = numero1 + numero2;
return (resultado);
}
Fascículo No. 1
Lenguaje de
programación
34 Semestre 2
Lenguaje de programación
if (numero2 != 0)
{
resultado = numero1 / numero2;
}
return (resultado);
}
/**
* @param args
* Programa principal que emplea los métodos implementados
* en la clase
*/
public static void main(String[] args)
{
//Se instancia el objeto
ObjetoCalculadora calculadora = new
ObjetoCalculadora();
//Resta
calculadora.resultado = calculadora.calcularResta();
JOptionPane.showMessageDialog(null,"Resta: "
+ calculadora.resultado);
//Multiplicacion
calculadora.resultado =
calculadora.calcularMultiplicacion();
Fascículo No. 1
Semestre 2 35 Lenguaje de
programaciónI
Lenguaje de programación
JOptionPane.showMessageDialog(null,"Multiplicación: " +
calculadora.resultado);
//División
calculadora.resultado =
calculadora.calcularDivision();
JOptionPane.showMessageDialog(null,"División: " +
calculadora.resultado);
}
}//Fin de la clase
Anexo 2
Lista de elementos esenciales para el diseño de algoritmos
(Diagramas de Flujo y pseudocódigo)
Instrucción Símbolo en el Diagrama de Flujo Notación en Uso
Pseudocódigo
Inicio de Inicio/Fin Se emplea para dar inicio o
Algoritmo/Fin del Inicio/Fin
finalización a la secuencia de
Algoritmo instrucciones del algoritmo
Instrucción o Instrucción; Se emplea para mostrar
Proceso de Instrucción Ejemplo: instrucciones de cálculo o
Cálculo a = b + c; realización de asignaciones
x = (2*n) + 3 – q; como iniciar una variable o
asignarle un valor tras una
lectura de datos.
Instrucción de Imprimir Se emplea para mostrar los
impresión o Resultado (Resultado); resultados derivados del
salida de procesamiento de las
resultados instrucciones al usuario (es
decir, la salida a la terminal
por defecto usada por el
lenguaje de programación)
Instrucción para Leer (variable); Se emplea para garantizar la
lectura de datos Variable Leer (“Mensaje de entrada de datos al algoritmo y
petición de su correspondiente asignación
Entrada”, variable); dependiendo del tipo de dato,
a la variable “variable”
asociada al proceso de lectura.
Fascículo No. 1
Lenguaje de
programación
36 Semestre 2
Lenguaje de programación
Fascículo No. 1
Semestre 2 37 Lenguaje de
programaciónI
Lenguaje de programación
Fascículo No. 1
Lenguaje de
programación
38 Semestre 2