Vous êtes sur la page 1sur 42

Fascículo

Lenguaje de
Programación

Semestre 2
Lenguaje de programación

Lenguaje de
programación Semestre 2
Lenguaje de programación

Tabla de contenido Página

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

Copyright©2008 FUNDICIÓN UNIVERSITARIA SAN MARTÍN


Facultad de Universidad Abierta y a Distancia,
“Educación a Través de Escenarios Múltiples”
Bogotá, D.C.

Prohibida la reproducción total o parcial sin autorización


por escrito del Presidente de la Fundación.

La redacción de este fascículo estuvo a cargo de


JAIME ALBERTO GUTIERREZ
Docente tutor – Programa de Ingeniería de Sistemas a Distancia.
Sede Bogotá, D.C.

Orientación a cargo de;


ELIZABETH RUIZ HERRERA
Directora Nacional de Material Educativo.

Diseño gráfico y diagramación a cargo de


SANTIAGO BECERRA SÁENZ
ORLANDO DÍAZ CÁRDENAS

Impreso en: GRÁFICAS SAN MARTÍN


Calle 61A No. 14-18 - Tels.: 2350298 - 2359825
Bogotá, D.C., Febrero de 2010

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.

Una de dichas plataformas es Java, la cual posee una herramienta pode-


rosa: el lenguaje de Programación Java, cuya característica distintiva prin-
cipal es su independencia de la plataforma en la cual se encuentre ejecu-
tando la aplicación. Desde su creación por parte de Sun Microsystems,
Java ha pasado a representar un papel muy importante en la industria del
desarrollo de Software tanto personal como empresarial a nivel mundial,
debido a su popularidad entre organizaciones y programadores que
constantemente brindan aportes valiosos al desarrollo de esta plataforma.

Lo anterior y el hecho de ser orientada a objetos, hace de Java una plata-


forma adecuada no sólo como estándar para el desarrollo de software,
sino porque implementa muchas de las mejores prácticas en Ingeniería de
Software, tanto actuales como futuras. Así mismo, ofrece herramientas y
librerías para el manejo de la concurrencia, conectividad con bases de
datos y flujos de entrada y salida. Estas son características que el Inge-
niero de Sistemas y Computación debe conocer y aprovechar al máximo,
ya que son la puerta de entrada hacia el mundo de las aplicaciones

Fascículo No. 1 Lenguaje de


Semestre 2 programación
Lenguaje de programación

empresariales, una filosofía de desarrollo que ahora está avasallando el


mercado moderno.

Competencias generales de la asignatura


Los estudiantes a través del contenido deben alcanzar el desarrollo de las
siguientes habilidades, actitudes y aptitudes:

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

por un problema de carácter procedimental o de automatización.


 Destreza en el manejo de los principales conceptos de la orientación a
objetos, los cuales en última instancia son la base del desarrollo actual
de los paradigmas contemporáneos 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

Contenido mínimo de la asignatura

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.

El proceso de construcción de aplicaciones sigue igualmente un proceso


escalar y evolutivo, donde el estudiante de Ingeniería de Sistemas debe
tener un profundo conocimiento de todas las etapas necesarias para
desarrollar Sistemas Informáticos, comenzando con los fundamentos de la
lógica programacional hasta llegar a las etapas más evolucionadas de la
Ingeniería y la Arquitectura de Software.

Teniendo muy en cuenta el hecho de que en la actualidad existen una


infinitud de lenguajes de programación, que desde las más diversas
perspectivas han permitido estructurar gran cantidad de aplicaciones, es
muy importante que desde el principio se retome la idea fundamental de
que el diseño y la lógica algorítimica son la base de cualquier aplicación
computacional. No sólo por orden estructural de las cosas, sino porque al
realizar un apropiado diseño de ingeniería es posible construir soluciones
más sólidas y fuertes, capaces de brindar seguridad y confiabilidad a
quienes en última instancia, emplearán las aplicaciones: Los usuarios.
Blueprint:
En inglés (impresión azul) es
una especie de reproduc-
Este primer fascículo de Lenguaje de Programación es una invitación a ción en papel, usualmente
utilizada como dibujo téc-
realizar una profunda reflexión sobre este tema, a analizar el impacto del nico, documentación de ar-
quitectura o diseño de inge-
diseño en la estructuración de las aplicaciones y a visualizar los algoritmos niería. En forma más detalla-
da, un “blueprint” es un tér-
como el Blueprint original para la creación de aplicaciones de computa- mino usualmente utilizado
para hacer alusión a un plan
dora, útiles y funcionales. detallado para el diseño de
un sistema.

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.

De igual manera, se hace necesario un repaso de conceptos vistos


anteriormente, así pues resuelva el siguiente cuestionario:

 ¿Cuál es la principal diferencia entre variables y constantes?


 ¿Por qué es importante primero diseñar el algoritmo y luego proceder a
la programación específica del mismo bajo el lenguaje?
 ¿Qué es una estructura decisional y cuáles son los tipos de decisiones
que existen?
 ¿Para qué sirve un ciclo repetitivo como el para, el repita mientras y el
ejecute mientras?
 ¿Qué ventajas tiene la estructuración de un algoritmo en el formato
genérico del pseudocódigo?
 Desarrolle un algoritmo básico para leer el precio de un conjunto de n
productos y calcular el monto de la factura total de la venta de los
mismos, calculando un IVA del 17% para todos aquellos productos cuyo
costo sea mayor a $5000.00. El resto que no cumplan con esta
condición tienen un IVA aplicable del 16%.

Fascículo No. 1
Lenguaje de
programación
10 Semestre 2
Lenguaje de programación

 Desarrolle un algoritmo que permita leer un valor numérico y determinar


si dicho valor es: a) positivo o negativo; b) par o impar; c) decimal o
entero y d) Divisible exactamente por 2 o no.
 Desarrolle un algoritmo para leer dos números enteros y determinar si la
suma, la resta, el producto y el cociente entre ellos es un nuevo número
que al dividirlo entre ambos operandos genere como cociente un
número par o impar. (Ver la hoja de cálculo que se muestra a
continuación):

 Desarrolle un algoritmo que lea una cadena de caracteres e indique la


longitud de la misma, contando todos los caracteres individuales que la
forman. No es válido emplear la función length() si está trabajando la
implementación bajo Java.
 Desarrolle un algoritmo para leer dos números y definir si la suma de los
mismos genera un número par o impar.

Fascículo No. 1
Semestre 2 11 Lenguaje de
programaciónI
Lenguaje de programación

Mapa Conceptual fascículo 1

Fascículo No. 1
Lenguaje de
programación
12 Semestre 2
Lenguaje de programación

Logros

Al finalizar el estudio del presente fascículo, el estudiante estará en capacidad


de:
 Entender la esencia de las clases y los objetos
 Verificar los principales componentes en el diseño de una aplicación Java
 Comprender la esencia del paradigma orientado a objetos
 Retomar la esencia de la programación básica y estructurada y la tomará
como base para migrar hacia el paradigma de objetos y las herramientas
de su implementación.

Fases para la resolución de problemas a través del


computador
La computadora personal es antes que nada, una máquina y como
máquina que es, responde a las falencias de quienes interactúan y operan
con ella. Pero igualmente, cuando se realiza una correcta estructuración
algorítmica de una solución para computadora, esta finalmente ejecutará
con precisión el conjunto global de instrucciones diseñadas por el
especialista en la programación de dicha aplicación. En primer lugar, es
importante tener en cuenta que un Software se construye bajo los
siguientes principios:

a. Recolección detallada de los requerimientos del usuario


b. Definición de los casos de uso o funcionalidades que el Sistema
proveerá a partir del análisis de los requisitos.
c. Especificación de una descripción muy detallada de los casos de uso a
nivel de todos los pasos necesarios para llegar a su adecuada y
correcta ejecución.
d. Extracción de los objetos candidatos que potencialmente implemen-
tarán las funcionalidades descritas en las especificaciones o caracteriza-
ciones de los casos de uso.
e. Especificación de los atributos de información que condensarán los
datos críticos manejados por el Sistema y definidos en la especificación
del problema de programación.

Fascículo No. 1
Semestre 2 13 Lenguaje de
programaciónI
Lenguaje de programación

f. Generación de los cuerpos básicos de los métodos que se encargarán


de implementar la lógica algorítmica de las funcionalidades del Sistema.
UML:
Lenguaje Unificado de Mo-
g. Definición de los Diagramas de UML encargados de reflejar el cuerpo
delado (UML, por sus siglas
en inglés, Unified Modeling
arquitectónico de la solución.
Language) es el lenguaje de
modelado de sistemas de
h. Codificación de las Clases en el lenguaje o plataforma destino de
software más conocido y
utilizado en la actualidad;
programación que se encargará de la implementación.
está respaldado por el OMG
(Object Management
i. Pruebas e integración de los módulos que forman la aplicación, y
Group). Es un lenguaje grá-
fico para visualizar, especi-
finalmente
ficar, construir y documentar
un sistema.
j. Implantación e instalación Software de la solución para ser probada
con los usuarios y determinar la convalidación de los requerimientos
funcionales iniciales.

No obstante, como se observa, toda esta receta de cocina, muy fácil a


simple vista, requiere de un proceso riguroso de definición de un pro-
blema, pero lo más importante, del análisis del mismo con el fin de lograr
resultados concretos. En la programación estructurada, no obstante, el
análisis es mucho más simplista, por lo que al programar bajo este modelo
se incurre en el riesgo de no tener en consideración todos los escenarios
posibles y cometer posteriores errores en el funcionamiento de una
aplicación. Donde si la programación estructura comienza a convertirse en
un pilar fundamental en la programación orientada hacia los objetos, es en
el poder definir bien una secuencia algorítmica de pasos que con orden,
estructura y forma, permitan dar respuesta a un problema puntual de
procesamiento de información. Veamos el siguiente caso:

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%

Las compotas Rostington se venden a $5000.00 la unidad, mientras que


las Premiere a $10.000.00. Una empresa que requiere de mucha precisión
en sus procesos y que además es algo ambiciosa en el campo de las
ventas de productos para recién nacidos. Como Ingeniero de Sistemas se
le requiere para diseñar una aplicación que se encargue de garantizar la
venta de estos productos, siguiendo las reglas de negocio definidas por la
compañía.

La definición de un problema como estos, implica considerar varios


criterios:
1. Establecer qué debería solicitar la aplicación antes de generar una
factura de venta de un lote de compotas específico.
2. Indicar al sistema cuántas compotas se van a vender y de qué categoría
son.
3. Realizar la facturación de manera individual considerando el número de
unidades y luego, con base en decisiones establecidas por los rangos
descritos en el problema, realizar la aplicación del porcentaje específico
y luego descontarla del total de la venta bruta de las compotas.
4. Generar la impresión de la factura, incluyendo la venta bruta, el
porcentaje de descuento, la cantidad de unidades, la marca de la
compota, el descuento y finalmente la venta neta de las compotas, es
decir:

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

Ahora, el reto está en construir un algoritmo que solucione este problema y


posteriormente acudir a un lenguaje como C++, Java, Pascal u otro, y
construir un aplicativo que haga esto una realidad.

Para ello, debemos establecer primero, el conjunto global de variables que


estarán en juego y con base en la auto- descriptividad de los nombres de
las mismas, definir los tipos de datos que se emplearán para procesar
coherentemente la información. De esta manera, se tendría algo como
esto:
Variable Tipo de Tipo de Solución en Excel
Dato Almacenamiento
Tipo de Compota Cadena de Variable
(tipoCompota) caracteres
(String)
Número de Compotas Entero (int) Variable
(numeroCompotas)
Precio de la compota Real (float Variable
(precioCompota) o double)
Descuento (descuento) Real (float Variable
o double)
Venta Bruta (ventaBruta) Real (float Variable
o double)

Fascículo No. 1
Lenguaje de
programación
16 Semestre 2
Lenguaje de programación

Venta Neta (ventaNeta) Real (float Variable


o double)
Porcentaje de Descuento Real (float Variable
(porcentajeDescuento) o double)
Tabla 1.1
Variables del problema de venta de compotas.

Como se observa, en la solución Excel, corresponde a los campos vistos


en la tabla que automatiza igualmente la solución al problema.

Llevando, por tanto, este problema a una solución algorítmica en Pseudocódigo:


(falso lenguaje), es una
Pseudocódigo, se obtendría: serie de palabras léxicas y
gramaticales referidas a los
lenguajes de programación,
Algoritmo VentaCompotas pero sin llegar a la rigidez
de la sintaxis de estos ni a
Inicio la fluidez del lenguaje colo-
//1. Definición de las variables quial. Esto permite codificar
Cadena tipoCompota = ""; un programa con mayor
Entero numeroCompotas = 0; agilidad que en cualquier
lenguaje de programación,
Real precioCompota = 0.0; con la misma validez se-
Real descuento = 0.0; mántica.
Real ventaBruta = 0.0;
Real ventaNeta = 0.0;
Real porcentajeDescuento = 0.0;

//2. Lectura de los datos


Leer ("Ingrese la marca de la compota (1 para Rostingtong, 2
para Premiere", tipoCompota);
Leer ("Ingrese la cantidad de compotas para la venta:
",numeroCompotas);

//3. Ejecución de los cálculos


si (tipoCompota == "1")
Inicio Si
//Asignamos el precio
precioCompota = 5000.00;

//Compotas tipo Rostington


si (numeroCompotas < 100)
Inicio Si
porcentajeDescuento = 0.20;
Fin Si

si (numeroCompotas >= 100 AND numeroCompotas <


200)
Inicio Si

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;

si (numeroCompotas < 100)


Inicio Si
porcentajeDescuento = 0.15;
Fin Si
DLC
si (numeroCompotas >= 100 AND numeroCompotas <
200)
Inicio Si
porcentajeDescuento = 0.35;
Fin Si
DLC
Inicio DLC
porcentajeDescuento = 0.50;
Fin DLC
Fin DLC

//Calculamos la venta bruta


ventaBruta = numeroCompotas * precioCompota;
//Calculamos el descuento
descuento = ventaBruta * porcentajeDescuento;
//Calculamos la venta neta
ventaNeta = ventaBruta - descuento;

//4. Imprimimos los resultados


si (tipoCompota == "1")
Inicio Si
Imprimir("Se realizó una venta de compotas marca Rostington");
Fin Si
DLC
Inicio DLC
Imprimir("Se realizó una venta de compotas marca Premiere");
Fin DLC

//Número de compotas vendidas

Fascículo No. 1
Lenguaje de
programación
18 Semestre 2
Lenguaje de programación

Imprimir("La cantidad de compotas vendidas fue de:


",numeroCompotas);
//Precio de la compota
Imprimir("El precio de la compota es de: ",precioCompota);
//Venta bruta
Imprimir("La venta bruta de las compotas es de ",ventaBruta);
//El porcentaje de descuento aplicado
Imprimir("El porcentaje de descuento aplicado fue de
",(porcentajeDescuento * 100),"%");
//El descuento
Imprimir("El descuento de la venta fue de: ",descuento);
//La venta neta
Imprimir("La venta neta fue de: ",ventaNeta);
Fin.
Figura 1.2
Representación en pseudocódigo de la solución del problema de las compotas.

Algoritmo, que si es implementado y ejecutado en Java, generaría


resultados como estos:

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

Como se observa, este algoritmo es una implementación de tipo


estructurado, puesto que todos los elementos que forman el corazón de la
implementación de la aplicación, se condensan en un solo bloque de
código fuente, definido por la siguiente secuencia:

1) Definición de variables
2) Lectura de datos
3) Ejecución de cálculos
4) Impresión de resultados

Componentes necesarios para la construcción de


algoritmos
Los algoritmos, antes que nada, son bloques específicos o en términos
más simples, “recetas de cocina”, que con precisión y minuciosidad se
emplean para resolver secuencial y estructuralmente un problema.
Gracias al avance de las matemáticas y a la resolución de los problemas
de procesamiento matemático, la informática y la computación permitieron
la estructuración de nuevos paradigmas para la generación de soluciones
de automatización de procesos. Este fue el punto de partida para la
generación de algoritmos cada vez más estructurados y que posibilitaron a
lo largo del resto del siglo, organizar la esencia de la Ingeniería de
Sistemas.

Es importante recordar que la algoritmia brinda herramientas para construir


aplicaciones, basadas en el uso de símbolos y su correspondientes
elementos de notación en el pseudocódigo o lenguaje intermedio (Ver
anexo 2), el cual finalmente se asemeja bastante a la sintaxis de los
lenguajes de programación tanto comerciales como no comerciales (como
C, Visual Basic, Java, C#, entre otros), y que son los que finalmente se
usan para programar las aplicaciones de forma concreta y tangible.

Fascículo No. 1
Semestre 2 21 Lenguaje de
programaciónI
Lenguaje de programación

Estas sentencias, se ven reflejadas, en algoritmos como el que se cita a


continuación:
Inicio

Leer
nombre

Leer nota1,
nota2 y
nota3

nota1 < 0 && nota2 <


0 && nota3 < 0

No

Promedio = 0

Promedio = (nota1
+ nota2 + nota3)/3

Esta Reprobado
Promedio >= 6 No

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

Cuya representación en pseudocódigo sería:


Programa CalculoPromedio;

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;

Leer valor en Nombre;


Repita
Leer valor en Nota1;
Leer valor en Nota2;
Leer valor en Nota3;
Mientras (Nota1 < 0 Y Nota2 < 0 Y Nota3 < 0);

Promedio = (Nota1 + Nota2 + Nota3)/NumeroNotas;

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.

Tenga muy presente que en el momento de implementar un al-


goritmo, independientemente de que se haga mediante un DFD o
un listado de instrucciones en pseudocódigo, debe realizar un

Fascículo No. 1
Semestre 2 23 Lenguaje de
programaciónI
Lenguaje de programación

análisis profundo de las variables involucradas en el problema.


Discrimínelas, emplee una tabla para catalogarlas y lo más impor-
tante noménclelas autodescriptivamente para facilitar la codifica-
ción de las operaciones que se encargarán de dar respuesta al
problema de procesamiento de información.

Paradigma Orientado a Objetos


Durante los últimos años se ha hecho un especial énfasis en la forma de
estructurar la programación de manera que se convierta en una
herramienta que propenda por la modularidad, es decir, por la capacidad
de hacer más eficientes las tareas de automatización, recurriendo a
unidades funcionales denominadas módulos, que en la forma alegórica de
piezas de rompecabezas, puedan ser utilizadas de múltiples formas para
generar a su vez, múltiples soluciones informáticas.

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

Los objetos son entidades que combinan estado, comportamiento e


identidad:

 El estado está compuesto de datos, será uno o varios atributos a los


que se habrán asignado unos valores concretos (datos).
 El comportamiento está definido por los procedimientos o métodos con
que puede operar dicho objeto, es decir, qué operaciones se pueden
realizar con él.
 La identidad es una propiedad de un objeto que lo diferencia del resto,
dicho con otras palabras, es su identificador (concepto análogo al de
identificador de una variable o una constante).

La programación orientada a objetos expresa un programa como un


conjunto de estos objetos que colaboran entre ellos para realizar tareas.
Esto permite hacer los programas y módulos más fáciles de escribir,
mantener y reutilizar.

De esta forma, un objeto contiene toda la información que permite definirlo


e identificarlo frente a otros objetos pertenecientes a otras clases e incluso
frente a objetos de una misma clase, al poder tener valores bien dife-
renciados en sus atributos. A su vez, los objetos disponen de mecanismos
de interacción llamados métodos que favorecen la comunicación entre
ellos. Esta comunicación facilita a su vez el cambio de estado en los
propios objetos. Esta característica lleva a tratarlos como unidades indi-
visibles, en las que no se separan ni deben separarse el estado y el
comportamiento.
Gracias a este paradigma, ha sido posible visualizar programas mucho
más fáciles de construir que además son modulares, fáciles de mantener y
que no requieren de la reestructuración total del programa para garantizar
la implementación de nuevas funcionalidades en su cuerpo de métodos y
funciones. A continuación, se presenta un ejemplo:

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.

(Ver la representación en Java, en el Anexo No. 1.)

Como puede observarse en el ejemplo, se aplican los conceptos de la


POO, visualizados en los siguientes criterios:

 El encapsulamiento se observa en las variables numero1, numero2 y


resultado, que son los datos manejados por la calculadora.
 El polimorfismo se puede visualizar en la capacidad de los métodos de
ser empleados para diferentes propósitos. Aunque no existen métodos
polimórficos propiamente dichos en esta clase Java.
 La modularidad se observa en la capacidad que pueden tener otras
clases de instanciar un objeto del tipo ObjetoCalculadora y de invocar
sus métodos, sin que las demás clases puedan manipular la informa-
ción contenida en los atributos de la clase, acción que solo es hecha
por el objeto en cuestión (ObjetoCalculadora) y no, por los demás.

1.1

1) Elabore un algoritmo para calcular las raíces de la ecuación

Teniendo en cuenta los siguientes casos:

a) Si a = 0 y b= 0, imprimiremos el mensaje de que la ecuación es


degenerada.
b) Si a = 0 y b es diferente de 0, existe una raíz única con valor –c/b.
c) En los demás casos se empleará la fórmula

2) Elabore un algoritmo para calcular el valor de la pendiente de una


recta.

Fascículo No. 1
Lenguaje de
programación
26 Semestre 2
Lenguaje de programación

Verifique que la diferencia entre y – y1 no sea igual a cero y si lo es,


genere un mensaje que diga que no se puede calcular el valor de la
pendiente de la recta.

3) Elabore un algoritmo para calcular el salario neto de un empleado de


acuerdo a la siguiente fórmula:

Donde SalarioBruto = (NumeroHorasTrabajadas x ValorHora)


DescuentoSalud = SalarioBruto * 15%
DescuentoPension = SalarioBruto * 14.5%

Los problemas y sus soluciones por medio de objetos


Los objetos son, ante todo, abstracciones de la realidad física y por lo
tanto, se emplean para simular el comportamiento de los objetos físicos en
el mundo real. Igualmente competen una gran funcionalidad al representar
abstracciones no sólo de cosas del mundo tangencial, sino también para
representar modelos de operación de tareas cotidianas e implementar
funciones capaces de resolver tareas de procesamiento algorítmico, como
por ejemplo, labores de lectura masiva de datos, recolección de informa-
ción sobre seres humanos o representar procesos de negocio de las
organizaciones a través de operaciones y las relaciones entre dichos
procesos.

Gracias a ellos, es muy fácil producir soluciones que independicen la


presentación (Interfaz Gráfica de Usuario) de los métodos de procesa-
miento de información. Esto permite que se puedan reutilizar los objetos
de forma transparente en otras aplicaciones, puesto que cada objeto se
encarga de exponer sus métodos a los demás a través de la visibilidad, un
concepto que trabajaremos con más profundidad en otros fascículos, pero
que ahora se comprende como la capacidad del objeto de ofrecer sus
servicios de procesamiento a los demás, sin que estos otros tengan que

Fascículo No. 1
Semestre 2 27 Lenguaje de
programaciónI
Lenguaje de programación

preocuparse por la forma como se implementan dichos procedimientos de


cálculo y procesamiento.

Así mismo, es importante considerar que gracias a la parametrización de


los métodos es posible establecer formas genéricas de capturar la informa-
ción, para que dependiendo del planteamiento del problema, sea posible
determinar formas más genéricas de procesar la información y no anclar la
implementación del código de la clase que implementa el objeto a valores
fijos que tal vez se deban posteriormente modificar para hacer que la
aplicación se comporte de forma diferente. Un ejemplo claro se da en las
aplicaciones financieras: Cuando una nueva legislación o una nueva regla
financiera o legal es establecida, la aplicación que implementa la funciona-
lidad financiera debe estar en capacidad de operar con nuevos datos.
Veamos esto reflejado en el código de un método o función:
public double calcularImpuestoVentas (double valor)
{
double impuestoVentas = 0.0;
impuestoVentas = valor * 0.15;
impuestoVentas = impuestoVentas + (2 * valor);
return (impuestoVentas);
}

Como se observa, el valor del impuesto está anclado a multiplicar siempre


el valor por el 15%. De ser necesario aplicar un nuevo porcentaje de
impuesto, se tendría que modificar el código del método para que se viera
reflejado este valor, y al hacerlo, perderíamos la trazabilidad del porcentaje
anteriormente utilizado.

Así pues, utilizando el concepto de modularidad y capacidad de moldear


las operaciones, tal y como lo permite la programación orientada a obje-
tos, tendríamos más bien una porción de código para el método expresada
de la siguiente forma:
public double calcularImpuestoVentas (double valor, double
porcentajeImpuesto)

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);
}

Que, como se muestra, permitiría seguir ejecutando la operación, indepen-


dientemente del valor porcentual asignado al impuesto. Así, sólo se tendría
que modificar la interfaz de usuario que se encargara de capturar el dato
correspondiente a dicho valor porcentual. La funcionalidad del método no
tendría que ser modificada, ni el código fuente de la porción de código
reescrito o modificado, haciendo que se perdiera la trazabilidad del valor
utilizando anteriormente, para el caso del ejemplo, el del 15%.

1.2

Tomando como base los ejercicios algorítmicos de la Actividad 1.1,


diseñe una Clase Java para cada problema, la cual ilustre los siguientes
elementos básicos:

 Atributos de la clase para identificar las variables clave de procesa-


miento en cada problema.
 Un listado de los métodos necesarios para realizar la implementación
de los procesos requeridos por el algoritmo. Recuerde utilizar el
proceso de definición de retornos, parámetros y nombres generales
para identificar los métodos, empleando un verbo regular o en
infinito, tal como por ejemplo, calcularImpuesto,
obtenerPendienteRecta o calcularSalarioEmpleado, etc.
 Desglose los elementos que empleó en la implementación estruc-
turada de los algoritmos de la Actividad 1.1 para definir métodos o
funciones puntuales que resuelvan el problema, tomando como base
los ejemplos vistos en el fascículo.

Reúnase con sus compañeros (máximo 3 personas) y respondan las siguientes


preguntas de análisis e investigación:

Fascículo No. 1
Semestre 2 29 Lenguaje de
programaciónI
Lenguaje de programación

a) ¿Qué ventajas tiene la programación como una herramienta para ayudar a


optimizar los procesos en las organizaciones y para facilitar el desarrollo de
tareas complejas y repetitivas?
b) ¿Es posible desarrollar una aplicación de computadora sin seguir un proceso
riguroso de análisis de requisitos, sino simplemente optando por programar
directamente lo que se supone el programa debe implementar de manera
inmediata?
c) ¿Cuáles son las grandes fallas que presentan actualmente las aplicaciones
informáticas y porque cada vez se hace más necesario contar con
metodologías rigurosas para el diseño de Sistemas de Software?
d) ¿Puede la programación ayudar a fomentar el pensamiento racional y analítico
en las personas del común? Si su respuesta es afirma o negativa, justifiquen
la razón.

Como hemos observado a lo largo de este fascículo, la esencia del trabajo


de programación, más que un proceso mecánico de codificación de
instrucciones de un lenguaje nativo de implementación, está en una clara
definición de requisitos de información, seguidos de la consecuente
validación del proceso de análisis necesario para establecer elementos
puntuales de definición de un proceso algorítmico: Variables, relaciones,
operaciones, tareas y finalmente, generación de resultados a partir de
dichas labores de codificación.

Cuando definimos correctamente algoritmos con sentido, lógica y


coherencia, las aplicaciones finalmente muestran sus resultados, ilustran
bien al usuario y generan las respuestas que tanto el programador como el
usuario del sistema, esperan para convalidar las necesidades planteadas
en los requerimientos originales de postulación, diseño y posterior cons-
trucción de la aplicación computacional. Tenga en cuenta este criterio:
Programar no es digitar, programar es analizar, construir y finalmente usar
para beneficio de los actores de un Sistema informático.

Fascículo No. 1
Lenguaje de
programación
30 Semestre 2
Lenguaje de programación

Allen Weiss, M. (2000). Estructuras de Datos en Java. México, D.F.:


Pearson Education.
Deitel, H. M., & Deitel, P. J. (2004). CÓMO PROGRAMAR EN JAVA. México,
D.F.: PEARSON EDUCATION.
Format, E. C. (1999). Java Enterprise In A Nutshell. New York.
Villalobos S., J. A., & Casallas G., R. (2006). FUNDAMENTOS DE
PROGRAMACIÓN - APRENDIZAJE ACTIVO BASADO EN CASOS. México,
D.F.: PEARSON, Prentice Hall.

En el próximo fascículo se hará mayor énfasis en los principales conceptos


de la programación orientada a objetos, definiendo con una mayor
rigurosidad las estructuras que forman las clases en Java y la forma como
los objetos desarrollan sus relaciones. Igualmente se abordarán elementos
de sintaxis vistos en el curso anterior de Introducción a la Programación y
aprovecharemos dicho potencial para hacer aplicaciones más robustas,
estructuradas y organizadas en su composició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

Lenguaje de Programación - Fascículo No. 1


Nombre_______________________________________________________
Apellidos ________________________________ Fecha: _________________
Ciudad___________________________________Semestre: _______________

1. Desarrolle el algoritmo (DFD y pseudocódigo) para calcular el promedio de


notas de un estudiante que tiene el siguiente esquema de asignación de
porcentajes:

Nota I: 30%
Nota II: 30%
Nota III: 40%

2. Desarrolle el algoritmo (DFD y pseudocódigo) para calcular el área y el


perímetro de un rectángulo.

3. Desarrolle el algoritmo (DFD y pseudocódigo) para calcular el área, el


perímetro y el semiperímetro de un triángulo, dados los tres valores de los
lados de dicho triángulo.

4. Desarrolle el algoritmo (DFD y pseudocódigo) para calcular la cantidad de


números necesarios lograr la suma de un número primo dado. Así, si se
introduce un 13 al algoritmo, este debe imprimir los números 1, 2, 3, 4 y 3.
Nota: No hay necesidad de determinar si el número es primo o no. Emplee el
principio de que siempre los números ingresados serán valores de números
primos.

5. Desarrolle el algoritmo (DFD y pseudocódigo) para calcular la raíz cuadrada de


la sumatoria de los primeros 100 números (0 al 99). Recuerde emplear
cualquiera de las estructuras de ciclos condicionales (Ejecute Mientras (while),
repita-mientras (do-while) o para (for)).

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);
}

public int calcularResta ()


{
resultado = 0;
resultado = numero1 - numero2;
return (resultado);
}

Fascículo No. 1
Lenguaje de
programación
34 Semestre 2
Lenguaje de programación

public int calcularMultiplicacion ()


{
resultado = 0;
resultado = numero1 * numero2;
return (resultado);
}

public int calcularDivision ()


{
resultado = 0;

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();

//Se asignan valores a los atributos de la clase


calculadora.numero1 = 25;
calculadora.numero2 = 20;

//Se ejecutan las operaciones


//Suma
calculadora.resultado =
calculadora.calcularSuma();
JOptionPane.showMessageDialog(null,"Suma: "
+ calculadora.resultado);

//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

Subprocedimiento Subprocedimiento Se utiliza para representar


o Función calcularSuma (Entero a, calcularSuma bloques de código o funciones
Entero b): Entero
(Entero a, Entero b): predefinidas, útiles para la
Entero; realización de tareas repetitivas
o de automatización. En este
tipo de instrucción es
importante definir las entradas
(parámetros) y las salidas del
subprocedimiento con el fin de
definir su interacción con el
programa o algoritmo
principal.
Preparación para Para (i = 0; i < Se emplea para implementar
ciclo para para (i = 0; i < 100; i = i + 1)
100; i = i +1) un ciclo de repetición para,
caracterizado para la ejecución
de procesos de automatización
repetitivos y controlados por
una estructura de decisión
condicional.
Preparación para Casos (opción) Se emplea para construir una
casos opcion Inicio casos instrucción de selección de
Opcion1: valores. Esta instrucción
Instrucciones; permita seleccionar una,
Romper; dentro de un conjunto de
Opcion2: alternativas, con base en el
Instrucciones; valor almacenado en un campo
Romper; variable denominado selector
. (opción) o campo controlador
. de la estructura. Se utiliza
. para simular una estructura
Por defecto: condicional de sis
Instrucciones; encadenados donde cada
Romper; alternativa excluye a las demás
Fin Casos opciones.
Decisión Lógica Si (condición La estructura de decisión
x > 100 lógica) lógica (Si) o selectiva está
Inicio Si formada por una condición de
Instrucción parte tipo lógico que puede ser
verdadera; simple o compuesta, de la que
Fin Si salen dos posibles caminos:
DLC un conjunto de acciones o
Inicio DLC secuencias a ejecutar si el
Instrucción parte resultado de la condición es
falsa; verdadera; u otro conjunto de
Fin DLC; acciones si el resultado de la
condición es falsa. Se puede
dar e caso de que falte uno de
los grupos de instrucciones,
pero nunca los dos; esto sería
un camino nulo que implica no
tomar ninguna acción.

Fascículo No. 1
Semestre 2 37 Lenguaje de
programaciónI
Lenguaje de programación

Flujo de Orden descendente Representan la estructura


instrucciones de las instrucciones descendente de ejecución de
ejecutadas por el las instrucciones realizadas
algoritmo. El por el algoritmo durante su
símbolo de flecha flujo normal de operación.
hacia arriba solo es También indican los caminos
aplicable en alternativos que se generan en
algoritmos hechos instrucciones como las
mediante DFD decisiones condicionales, los
(Diagrama de Flujo ciclos repetitivos o las
de Datos), puesto instrucciones de casos con
que en casos caminos de ejecución alternos.
especiales, cuando
un conjunto de
instrucciones como
un repita mientras o
un ejecute mientras
pasan de una
página a otra, es
necesario mostrar
la reconexión de las
instrucciones.
Conector Dentro NO APLICA. Las Se utiliza para representar la
de Página 1
instrucciones en continuidad de las
forma de instrucciones, cuando el
pseudocódigo son diagrama de flujo está siendo
continuas de arriba dibujado en la misma hoja o
hacia abajo en el página.
papel.
Conector fuera de NO APLICA. Las Se utiliza para representar la
1
página 1 instrucciones en continuidad de las
forma de instrucciones, cuando el
pseudocódigo son diagrama de flujo pasa sus
continuas de arriba secuencias instruccionales de
hacia abajo en el una página a otra. El símbolo
papel. va hacia abajo cuando se pasa
de la página 1 a la 2, y hacia
arriba cuando se regresa de la
página 2 a la 1.

Fascículo No. 1
Lenguaje de
programación
38 Semestre 2

Vous aimerez peut-être aussi