Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Profesor: Estudiante:
Marzo /2017
1
Diagrama de flujo
EJEMPLO
Diagrama de flujo sencillo con los pasos a seguir si una lámpara no funciona.
2
Normas de trabajo
Identificar las ideas principales al ser incluidas en el diagrama de flujo. Deben estar
presentes el autor o responsable del proceso, los autores o responsables del proceso
anterior y posterior y de otros procesos interrelacionados, así como las terceras partes
interesadas.
Definir qué se espera obtener del diagrama de flujo.
Identificar quién lo empleará y cómo.
Establecer el nivel de detalle requerido.
Determinar los límites del proceso a describir.
Los pasos a seguir para construir el diagrama de flujo son:
3
Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo
y el final del diagrama. Frecuentemente el comienzo es la salida del proceso previo y el
final la entrada al proceso siguiente.
Identificar y listar las principales actividades/subprocesos que están incluidos en el
proceso a describir y su orden cronológico.
Si el nivel de detalle definido incluye actividades menores, listarlas también.
Identificar y listar los puntos de decisión.
Construir el diagrama respetando la secuencia cronológica y asignando los
correspondientes símbolos.
Asignar un título al diagrama y verificar que esté completo y describa con exactitud el
proceso elegido.
Descripción
En UML 1.x, un diagrama de actividades es una variación del diagrama de estado UNL
donde los "estados" representan operaciones, y las transiciones representan las actividades
que ocurren cuando la operación se termina.
El diagrama de mensajes de UML 2.0, mientras que es similar en aspecto al diagrama de
actividades UML 1.x, ahora tiene semánticas basadas en redes de Petri. En UML 2.0, el
diagrama general de interacción está basado en el diagrama de actividades. El diagrama de
actividad es una forma especial de diagrama de estado usado para modelar una secuencia de
acciones y condiciones tomadas dentro de un proceso.
La especificación del Lenguaje de Notificación Unificado (UNL) define un diagrama de
actividad como:
“… una variación de los estados de una máquina, los cuales representan el rendimiento de las
acciones o subactividades y las transiciones se provocan por la realización de las acciones o
subactividades.”1
El propósito del diagrama de actividad es modelar un proceso de flujo de trabajo (workflow) y/o
modelar operaciones.
Una Operación es un servicio proporcionado por un objeto, que está disponible a través de
una interfaz.
Una Interfaz es un grupo de operaciones relacionadas con la semántica. Características
de los Flujogramas Según Gómez Cejas, Guillermo. Año 1.997: Sintética: La representación
que se haga de un sistema o un proceso deberá quedar resumido en pocas hojas, de
preferencia en una sola. Los diagramas extensivos dificultan su comprensión y asimilación,
por tanto dejan de ser prácticos. Simbolizada: La aplicación de la simbología adecuada a los
diagramas de sistemas y procedimientos evita a los analistas anotaciones excesivas,
repetitivas y confusas en su interpretación. De forma visible a un sistema o un proceso: Los
diagramas nos permiten observar todos los pasos de un sistema o proceso sin necesidad de
leer notas extensas. Un diagrama es comparable, en cierta forma, con una fotografía aérea
que contiene los rasgos principales de una región, y que a su vez permite observar estos
rasgos o detalles principales. Según Chiavenato, Idalberto. Año 1.993: Permitir al analista
asegurarse que ha desarrollado todos los aspectos del procedimiento. Dar las bases para
escribir un informe claro y lógico. Es un medio para establecer un enlace con el personal que
eventualmente operará el nuevo procedimiento. Según Gómez Rondón, Francisco. Año 1.995:
De uso, permite facilitar su empleo. De destino, permite la correcta identificación de
4
actividades. De comprensión e interpretación, permite simplificar su comprensión. De
interacción, permite el acercamiento y coordinación. De simbología, disminuye la complejidad
y accesibilidad. De diagramación, se elabora con rapidez y no requiere de recursos
sofisticados.
Formato vertical: En él, el flujo y la secuencia de las operaciones, va de arriba hacia abajo.
Es una lista ordenada de las operaciones de un proceso con toda la información que se
considere necesaria, según su propósito.
Diagrama de bloques
El diagrama de bloques es la representación gráfica del funcionamiento interno de un
sistema, que se hace mediante bloques y sus relaciones, y que, además, definen la
organización de todo el proceso interno, sus entradas y sus salidas.
Un diagrama de bloques de procesos de producción es utilizado para indicar la manera en la
que se elabora cierto producto, especificando la materia prima, la cantidad de procesos y la
forma en la que se presenta el producto terminado.
Un diagrama de bloques de modelo matemático es el utilizado para representar el control
de sistemas físicos (o reales) mediante un modelo matemático, en el cual, intervienen gran
cantidad de variables que se relacionan en todo el proceso de producción. El modelo
matemático que representa un sistema físico de alguna complejidad conlleva a la abstracción
entre la relación de cada una de sus partes, y que conducen a la pérdida del concepto global.
En ingeniería de control, se han desarrollado una representación gráfica de las partes de un
sistema y sus interacciones. Luego de la representación gráfica del modelo matemático, se
puede encontrar la relación entre la entrada y la salida del proceso del sistema.
5
Ejemplo:
Tipos
Diagrama de bloques de procesos de producción industrial
Elaboración
El primer bloque especifica la materia prima de la que proviene el producto. Los siguientes
bloques son procesos escritos de manera infinitiva y llevan siempre o una indicación de
proceso (izquierda) y gastos básicos (derecha).
6
Las indicaciones de proceso son variantes del tipo físicas que se deben considerar para
que el producto sea de elaboración adecuada. Cada país tiene sus propios estándares
para elaborar productos. Las indicaciones de proceso son básicamente la temperatura, la
presión y los tiempos de reposo.
Los gastos básicos son adicciones de ciertas sustancias ajenas a la materia prima
auxiliares a un proceso del mismo.
Turbo Pascal
Borland Pascal
El nombre de Borland Pascal fue generalmente reservado para los paquetes de gama
alta para Microsoft Windows (con más bibliotecas y la biblioteca estándar de código
fuente), mientras que la original, más barato y ampliamente conocida versión fue vendido
como Turbo Pascal.
Versiones
Borland lanzó siete versiones de Turbo Pascal: 1.0 a 5.5 (Orientado a Objetos), 6 y 7
para MS-DOS. Fue sustituido por Borland Delphi.
Turbo Pascal 1.0, 1983. Compila directamente en código máquina. Requiere 32 kilobytes
de RAM. Tiene un compilador integrado / editor, de alta velocidad de compilación.
Turbo Pascal 2.0, 1984. Se aumentó el tamaño del programa generado – permite hasta 64
kilobytes de código, pila y datos. Versión para DOS soporta coprocesador matemático y
decimales aritmética binaria (con código binario decimal.
Turbo Pascal 3.0, 1985. Apoyo a la estructura de recubrimiento. Apoyo a los modos
gráficos. Especial sub-imagen para el PC compatible ordenadores de IBM, incluyendo la
“concha de tortuga” horario. Kit de herramientas.
Turbo Pascal 4.0, 1987. Separa la compilación de los módulos. El tamaño está limitado
sólo por la RAM. Menú impulsado por el entorno de desarrollo integrado, módulos
inteligentes de diseño. Stand-alone de línea de comandos del compilador. Ayuda sensible al
contexto del sistema.
7
Turbo Pascal 5.0, 1988. Restaura el apoyo a las estructuras de recubrimiento. Construido
el depurador. Separa depurador (Turbo Debugger). Emulación del coprocesador
matemático. Soporte para controladores gráficos BGI (Borland Graphic Interface).
Turbo Pascal 5.5, 1989. Programación orientada a objetos. Posibilidad de copiar los
ejemplos de programa desde el sistema de ayuda. Posee el Turbo Profiler que permite
optimizar el código.
Turbo Pascal 6.0, 1990. Incluye la Biblioteca Turbo Visión. El IDE nuevo, volver a
escribir utilizando Turbo Vision, empleo del ratón y soporta múltiples archivos al mismo
tiempo de edición en diferentes ventanas. La capacidad de especificar el depurador
integrado y condicional en el número de puntos de interrupción. Incorpora ensamblador,
permite MLTB en el Turbo Pascal para Windows. Creación de programas de 16 bits en
Windows. Servicios de biblioteca de objetos de Windows Library (OWL), Similar en la
ideología a la de Turbo Visión. IDE gráfico.
Borland Pascal 7.0, 1992. Fecha de lanzamiento de Borland Pascal 7.0, incluye un Turbo
Pascal 7.0 más barato y menos potente que también suministra por separado. BP 7.0,
permite crear programas en modo real.
Antecedentes
El lenguaje de programación Pascal es un lenguaje de alto nivel y propósito general
(aplicable a una gran cantidad de aplicaciones diversas) desarrollado por el profesor
suizo Niklaus Wirth (Instituto Tecnológico de Zurich, Suiza). El propósito de Wirth era
crear un lenguaje para la enseñanza de técnicas de programación a estudiantes
universitarios. Pero a medida que pasaban los años, Pascal se iba convirtiendo en un
estándar en el mundo de la programación.
Una versión preliminar del lenguaje apareció en 1968 y el primer compilador totalmente
completo apareció a finales de 1970. Desde entonces, muchos compiladores han sido
construidos y están disponibles para diferentes máquinas. Durante muchos años, el libro
Pascal User Manual and Report, publicado por Wirth y Kathleen Jensen en 1974, ha
servido de facto como estándar de todas las versiones.
Las diferentes versiones ofrecían interpretaciones ligeramente diferentes que impedían la
compatibilidad entre ellas. Por estas razones, diferentes proyectos se iniciaron para producir
una definición estándar del lenguaje y culminaron en dos estándar: uno de la Internacional
Standard Organization (ISO) en 1982 y otro por un comité conjunto del American National
Standards Institute (ANSI) y del Institute of Electrical and Electronics Engineers (IEEE).
Estas dos versiones o definiciones se conocen como ISO Pascal y ANSI/IEEE Pascal, y
difieren en algunos aspectos no especialmente significativos. Sin embargo, una versión no
estándar se ha popularizado considerablemente: Turbo Pascal (marca registrada por
Borland International, Inc.). Esta versión ha contribuido en gran medida a la popularización
del lenguaje Pascal.
El nombre de Borland Pascal fue generalmente reservado para los paquetes de gama alta
para Microsoft Windows (con más bibliotecas y la biblioteca estándar de código fuente),
8
mientras que la original, versión más barata y ampliamente conocida fue vendido como
Turbo Pascal.
Turbo Pascal es un entorno de desarrollo para el lenguaje de programación Pascal. Se
utiliza en Turbo Pascal basado en el anterior UCSD Pascal, ganó aceptación, en especial en
los equipos que de la serie de Apple II. El compilador de Turbo Pascal se basó en Blue
Label Pascal, creado originalmente en 1981 por Anders Hejlsberg para el sistema operativo
NasSys, microcomputadora Nascom. Reescrito más tarde como Pascal para el sistema
operativo CP / M, y luego como un Turbo Pascal para DOS y CP / M. Una de las versiones
de Turbo Pascal estaba disponible para Apple Macintosh alrededor de 1986, pero su
desarrollo se detuvo alrededor de 1992.
Historia
El lenguaje de programación Pascal apareció por primera vez en 1971, de la mano de
Niklaus Wirth.
Wirh inventó el lenguaje como una forma de mejorar el por aquel entonces arcaico
Algol. No es el primer lenguaje que Wirth diseña, posteriormente inventó el Modula-2 y el
Oberon. Sin embargo, paradójicamente, esos dos lenguajes han sido ampliamente
superados por el Extended Pascal y el Object Pascal. De todos esos lenguajes, Pascal es el
que más éxito ha tenido.
Aunque nace a principios de los 70, Pascal cobra auténtica vida a partir de
principios/mediados de los 80, popularizado por el fabuloso Turbo Pascal de MS-DOS para
PC, y sobre todo el Apple Pascal. Pascal ha sido tan popular hasta mediados de los 90, que
una gran parte (la mayor parte) de las aplicaciones desarrolladas para Mac estaban
realizadas en Pascal, así como una enorme parte también de los programas de MS-DOS.
Todavía hoy, Pascal se enseña en las universidades como primer lenguaje, pues se trata
de un lenguaje muy legible.
Fue Borland la que, hasta el Turbo Pascal 7, se encargó de la mayor parte de la evolución
de este lenguaje. A mediados de los 90, con el boom de Windows y el renacimiento de los
sistemas Unix (entre ellos Linux) como ordenadores servidores primero y luego como
estaciones de trabajo, motivó que Pascal pasara a un segundo plano en beneficio de C.
En ese momento, prácticamente solo Delphi (Object Pascal para Windows) consiguió
mantenerse en la brecha, pero conformándose con una pequeña parte del mercado
solamente.
Casi todo el mundo intentó pasarse a C++. Fíjate que decimos intentó. C++ no consiguió
calar del todo por su extrema complejidad. Su sistema de objetos, los macros, los crípticos
nombres de funciones, los namespaces tan difíciles de manejar, los templates, la STL y otra
serie de cosas, hicieron que rápidamente mucha gente pasara de querer usar esa herramienta
que todo el mundo proclamaba que era tan potente, a buscar alternativas que fueran más
simples y prácticas. Sun, la compañía del Java, se gastó una millonada en promocionar su
lenguaje, y tuvo un gran éxito, sin duda debido no solo al dinero en publicidad, sino a la
gente que escapaba escaldada del C++. En realidad, Java no es un lenguaje fácil de
9
aprender (obliga a pensar en objetos desde el principio, algo que los novatos no llevan
bien), pero comparado con C++, se podía considerar como algo sencillo.
Borland, una compañía con no tanto dinero como Sun, no pudo competir con Pascal, y se
tuvo que conformar sacando su propia máquina virtual de Java. Pero Delphi no ha dejado
nunca de existir. Aún hoy sigue sacando versiones Delphi, con gran éxito, aunque no
consigue subir significativamente su porcentaje de participación en el mercado.
El paso de Turbo Pascal a Delphi también trajo como consecuencias que apareciera
Kylix, que no es más que un Delphi multiplataforma. No caló lo suficiente, debido a la
licencia cerrada, y a que imponía que el programa compilado fuera GPL.
Posteriormente Microsoft compró la mayor parte de Borland. Con ello se abandonó
Kylix, Linux, y se hizo a Borland 100% Windows. Esta estrategia prácticamente ha
arruinado el avance de Pascal frente a otros lenguajes, en el entorno corporativo.
En el momento en que Borland pasó de Turbo Pascal a Delphi, apareció Free Pascal. Free
Pascal es un intento de la comunidad de código libre de hacer un compilador compatible
con Turbo Pascal para todas las plataformas más famosas (incluido Linux, OS X y
Windows). Desde la versión 2.0, Free Pascal es además compatible con Delphi.
Free Pascal es, hoy en día, el sistema preferido para programar en Pascal
multiplataforma. Su IDE principal, el Lazarus, un clon del Delphi, corre tanto en Windows
como en OS X como en Linux.
Lazarus y Free Pascal son la gran esperanza del lenguaje de programación Pascal, y de
los entornos de desarrollo multiplataforma en general. Su desarrollo es muy activo, y con
toda seguridad tiene un futuro prometedor.
Evolución
Fue Borland la que, hasta el Turbo Pascal 7, se encargó de la mayor parte de la
evolución de este lenguaje. A mediados de los 90, con el boom de Windows y el
renacimiento de los sistemas Unix (entre ellos Linux) como ordenadores servidores primero
y luego como estaciones de trabajo, motivó que Pascal pasara a un segundo plano en
sustitución de C.
En ese momento, prácticamente solo Delphi (Object Pascal para Windows) consiguió
mantenerse en la brecha, pero conformándose con una pequeña parte del mercado
solamente.
Casi todo el mundo intentó pasarse a C++ pero este no consiguió calar del todo por su
extrema complejidad. Su sistema de objetos, los macros, los crípticos nombres de
funciones, los namespaces tan difíciles de manejar, los templates, la STL y otra serie de
cosas, hicieron que rápidamente mucha gente pasara de querer usar esa herramienta que
todo el mundo proclamaba que era tan potente, a buscar alternativas que fueran más
simples y prácticas. Sun, la compañía del Java, se gastó una millonada en promocionar su
lenguaje, y tuvo un gran éxito, sin duda debido no solo al dinero en publicidad, sino a la
gente que escapaba escaldada del C++. En realidad, Java no es un lenguaje fácil de
10
aprender (obliga a pensar en objetos desde el principio, algo que los novatos no llevan
bien), pero comparado con C++, se podía considerar como algo sencillo.
Borland, una compañía con no tanto dinero como Sun, no pudo competir con Pascal, y
se tuvo que conformar sacando su propia máquina virtual de Java. Pero Delphi no ha dejado
nunca de existir. Aún hoy sigue sacando versiones Delphi, con gran éxito, aunque no
consigue subir significativamente su porcentaje de participación en el mercado.
El paso de Turbo Pascal a Delphi también trajo como consecuencias que apareciera
Kylix, que no es más que un Delphi multiplataforma. No caló lo suficiente, debido a la
licencia cerrada, y a que imponía que el programa compilado fuera GPL.
Posteriormente Microsoft compró la mayor parte de Borland. Con ello se abandonó
Kylix, Linux, y se hizo a Borland 100% Windows. Esta estrategia prácticamente ha
arruinado el avance de Pascal frente a otros lenguajes, en el entorno corporativo.
En el momento en que Borland pasó de Turbo Pascal a Delphi, apareció Free Pascal.
Free Pascal es un intento de la comunidad de código libre de hacer un compilador
compatible con Turbo Pascal para todas las plataformas más famosas (incluido Linux, OS
X y Windows). Desde la versión 2.0, Free Pascal es además compatible con Delphi.
Free Pascal es, hoy en día, el sistema preferido para programar en Pascal
multiplataforma. Su IDE principal, el Lazarus, un clon del Delphi, corre tanto en Windows
como en OS X como en Linux.
Lazarus y Free Pascal son la gran esperanza del lenguaje de programación Pascal, y de
los entornos de desarrollo multiplataforma en general. Su desarrollo es muy activo, y con
toda seguridad tiene un futuro prometedor.
Características
Turbo Pascal es un sistema de desarrollo de software que incluye un compilador y un
entorno de desarrollo integrado (IDE) para el lenguaje de programación Pascal,
desarrollado por Borland y liderado por Philippe Kahn. Saliö a la venta en 1983 para MS-
DOS, CP/M, CP/M-86 y, posteriormente, para Microsoft Windows. También hubo una
versión de corta vida para Apple Macintosh.
El compilador de Pascal de Borland, famoso en todo el mundo, fue presentado en 1985.
El compilador Turbo Pascal ha sido una de las series de compiladores que mejor se han
vendido de todos los tiempos, e hizo de Pascal un lenguaje especialmente importante en la
plataforma PC, gracias a su equilibrio entre simplicidad y potencia. Turbo Pascal introdujo
un entorno integrado de programación (IDE) en que se podía editar el código (en un editor
compatible con WordStar), ejecutar el compilador, ver los errores, y volver directamente a
las líneas que contenían los errores. Ahora suena trivial, pero antes de eso había que salir
del editor, volver a MS-DOS, ejecutar el compilador de línea de comandos, anotar las
líneas erróneas, abrir de nuevo el editor y buscarlas.
Además, Borland puso a la venta Turbo Pascal por 49 dólares (USA), mientras que el
compilador de Pascal de Microsoft estaba a unos cuantos cientos de dólares. Los muchos
11
años de éxito de Turbo Pascal contribuyeron a que Microsoft finalmente retirase su
compilador del mercado.
Visual Basic
Versiones
Visual Basic 1.0 para MS-DOS fue liberada en septiembre de 1992. Poco popular, este
lenguaje no era compatible con Visual Basic para Windows, ya que constituía en
realidad la siguiente versión de los compiladores BASIC vigentes para DOS,
denominados QuickBASIC y BASIC PDS (Profesional Development System). Usaba
una interfaz de texto, con caracteres ASCII extendidos que daban la apariencia de una
interfaz gráfica.
Visual Basic 2.0 fue liberado en noviembre de 1992. Venía en versiones Standard y
Professional. El entorno de programación era más fácil de usar que el anterior, y su
velocidad de proceso fue mejorada. En particular, los formularios se convirtieron en
12
objetos instanciables, sentando así los conceptos fundamentales para módulos de clase,
que más tarde se ofrecerían en la versión 4.
Visual Basic 3.0 salió al mercado en verano de 1993, en versiones Standard y
Profesional. Incluía la versión 1.1 de Microsoft Jet Database Engine, que permitía
acceso a bases de datos Access.
Visual Basic 4.0, surgida en agosto de 1995, fue la primera versión que generaba
aplicaciones tanto de 16 como de 32 bits para Windows. Había incompatibilidades
entre las distintas realeases de esta versión que causaban fallas de instalación y
problemas de operación. Mientras las anteriores utilizaban controles VBX, con la 4.0 se
comenzaron a utilizar controles OLE en archivos OCX, que más tarde se llamarían
controles ActiveX.
En febrero de 1997, Microsoft lanzó Visual Basic 5.0, versión que generaba programas
de 32 bits exclusivamente. Los programadores que todavía preferían desarrollar
aplicaciones en 16 bits debían necesariamente utilizar VB 4.0, siendo transportables en
código fuente a VB 5.0 y viceversa. En la versión 5 se tenía la posibilidad de crear
controles personalizados; también permitía compilar a código ejecutable nativo de
Windows, logrando con ello incrementar la velocidad de ejecución de los programas
generados, más notablemente en los de cálculo.
Visual Basic 6.0, salido a mediados de 1998, muy mejorado, incrementó el número de
áreas2 e incluyó la posibilidad de crear aplicaciones basadas en Web. Microsoft retiró el
soporte de VB6 en marzo de 2008, pero a pesar de ello las aplicaciones que genera son
compatibles con plataformas más modernas, como Windows Vista, Windows Server
2008, Windows 7 y Windows 8.3 4
El soporte estándar para Microsoft Visual Basic 5.7 finalizó el 31 de marzo de 2005,
pero el extendido terminó en marzo de 2008.5 La comunidad de usuarios de Visual Basic
expresó su grave preocupación y se firmó una petición para mantener el producto
vivo.6 Microsoft se ha negado hasta el momento a cambiar su posición sobre el asunto.
Irónicamente, en esa época (2005) se da a conocer que el software antiespía ofrecido por
Microsoft, "Microsoft AntiSpyware" (parte de la GIANT Company Software), fue
codificado en Visual Basic 6.0; su posterior sustituto, Windows Defender, fue reescrito en
código C++.7
Características
Los compiladores de Visual Basic generan código que requiere una o más librerías
de enlace dinámico para que funcione, conocidas comúnmente como DLL (sigla en
inglés de Dynamic-Link Library); en algunos casos reside en el archivo llamado
MSVBVMxy.DLL (siglas de "MicroSoft Visual Basic Virtual Machine x.y", donde x.y
es la versión) y en otros en VBRUNXXX.DLL ("Visual Basic Runtime X.XX"). Estas
bibliotecas DLL proveen las funciones básicas implementadas en el lenguaje,
conteniendo rutinas en código ejecutable que son cargadas bajo demanda en tiempo de
ejecución. Además de las esenciales, existe un gran número de bibliotecas del tipo DLL
con variedad de funciones, tales como las que facilitan el acceso a la mayoría de las
13
funciones del sistema operativo o las que proveen medios para la integración con otras
aplicaciones.
Dentro del mismo Entorno de desarrollo integrado (IDE) de Visual Basic se puede
ejecutar el programa que esté desarrollándose, es decir en modo intérprete (en realidad
pseudo-compila el programa muy rápidamente y luego lo ejecuta, simulando la función de
un intérprete puro). Desde ese entorno también se puede generar el archivo en código
ejecutable (exe); ese programa así generado en disco puede luego ser ejecutado sin requerir
del ambiente de programación (incluso en modo stand alone), aunque sí será necesario que
las librerías DLL requeridas por la aplicación desarrollada se encuentren también instaladas
en el sistema para posibilitar su ejecución.
El propio Visual Basic provee soporte para empaquetado y distribución; es decir,
permite generar un módulo instalador que contiene al programa ejecutable y las bibliotecas
DLL necesarias para su ejecución. Con ese módulo la aplicación desarrollada se distribuye
y puede ser instalada en cualquier equipo (que tenga un sistema operativo compatible).
Así como bibliotecas DLL, hay numerosas aplicaciones desarrolladas por terceros que
permiten disponer de variadas y múltiples funciones, incluso mejoras para el propio Visual
Basic; las hay también para el empaquetado y distribución, y hasta para otorgar mayor
funcionalidad al entorno de programación (IDE).
Constantes
Variable
14
Clasificación de las Variables
Por su contenido
VARIABLE NUMERICA:
15
a + (b + 3) / c
Cada expresión toma un valor que se determina tomando los valores de las variables y
constantes implicadas y la ejecución de las operaciones indicadas.
Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan,
se clasifican las expresiones en:
Aritméticas
Relacionales
Lógicas
VARIABLE ALFANUMERICA:
Las Variables
TIPOS DE VARIABLES
Variables alfanuméricas
Este tipo de variables puede contener cualquier tipo de carácter, tanto números como letras,
pero debe entender que aunque solo contenga números, para el ordenador tales números no
son considerados como valor numérico sino como cualquier tipo de carácter.
Existen dos modos de declarar este tipo de variables:
A (15): Esto indica que la variable A puede llegar a contener hasta 15 caracteres.
A PIC X (15): Esto es igual que el caso anterior.
Variables numéricas de punto fijo
Este tipo de variables se definen combinando diferentes elementos, recuerde que en cobol
una variable numérica no puede contener más de 18 dígitos.
Con el carácter 9: este indica un base decimal: 9(5), este indica que la variable puede
contener un número desde el 0 al 99999, osea 5 veces un número con base hasta el 9.
Con el carácter S: este indica el valor del símbolo de dicho número: S9(5), al igual que en
el caso anterior, el número puede estar comprendido entre el 0 y el 99999 pero con el signo
delante, tanto el + como el -
16
Con el carácter V: este indica la posición del punto decimal dentro del valor de la variable:
9(4)V9(3): Este indica un valor entero de 4 cifras y con 3 decimales: 7652332 >>>>
7652.332
V9(7): Este indica un valor de 7 decimales : 7652332 >>>> 0.7652332
Con el carácter P: este rellena con ceros las posiciones indicadas en la declaración:
99P(4): Este indica que detrás de los dos digitos numericos pone 4 ceros: 76 >>>
760000
VPPP99: Es indica punto decimal 3 ceros y los dos digitos numéricos: 76 >>
0.00076
Variables numéricas de punto flotante
Este tipo de variables contempla la parte base o mantisa y el exponente.
234E-57 si se aplica -9V00E-99 >>> +2.34 * 10 ^ -57 ; el sistema ha convertido el
número a base y exponente.
VARIABLE ALFABETICA:
17
Variable numérica de punto fijo: Variable a la que solo se le puede asignar una
combinación de números con o sin punto decimal.
Variable numérica de punto flotante: Variable que tiene dos partes, una mantisa o
base y un exponente.
Variable de edición: Variable alfanumérica o numérica que puede contener letras,
números y caracteres especiales destinados a la impresión de datos.
Variable interna: Variable propia del lenguaje COBOL y que no debe ser definida
en la sección DATA DIVISION.
Funciones de la Data División
La DATA DIVISION tiene dos funciones especiales:
Describir los registros contenidos en los ficheros de datos.
Describir los registros, variables y constantes necesarios en el programa.
Describir los argumentos o variables de subprogramas enlazados al programa
principal.
Describir las variables y constantes que constituirán los diferentes formatos de
pantalla.
Cada una de estas funciones, viene determinada en su sección correspondiente, quedando
de dicha manera perfectamente clara su posición y función:
Cada una de dichas secciones es:
File Section
Indica la descripción de los ficheros definidos mediante el SELECT en la secición
ENVIRONMENT DIVISION, de lo que se deduce que esta sección siempre la
encontraremos cuando el programa maneje ficheros.
Working Storage Section
Incluye la descripción de las variables usadas para almacenar datos y resultados
intermedios en la ejecución del programa.
Linkage Section
Constituye la parte del programa en la que se indica la recepción de información mediante
argumentos o variables.
Screen Section
En esta sección están definidas las pantallas de entrada y salida de información.
Descripción de un resgistro
Hemos indicado que un registro es la agrupación de datos relativos a una unidad de
información determinada. Para poder comprender tal concepto, imagine la agrupación de
datos relativas a una persona, tendríamos su nombre ,apellidos , dirección , teléfono, etc.. la
agrupación de todos esos datos compondría un registro, de forma que cada persona de la
que tuviesemos esos datos , sería un registro.
Los registros están perfectamente estructurados y el orden en que aparecen cada una de las
partes del registro tiene el mismo orden para todos los registros, osea, en el ejemplo de las
personas, si el orden es el nombre, apellidos, direccion, etc.., dicho orden será igual para
todos los registros.
La descripción de un registro en COBOL, viene determinada por una serie de pautas, vea el
siguiente ejemplo:
18
01 REG-PERSONAS 02 IDENTIFICACION 03 NOMBRE PIC X(25). 03 CODIGO PIC
99. 02 DESTINO 03 COMPRADOR PIC X(60).
Los números 01, 02, y 03 corresponden a un sistema de esquematización, en el cual se
indica el nivel y subnivel cada uno de ellos, pero indicando toda la raiz, osea, que en el
ejemplo anterior, se indica que toda la estructura pertenece al registro de personas, que este
a su vez tiene dos subniveles y que estos tienen otros niveles, en el caso hasta el 03, a estos
números se les llaman números de nivel, dado que indican niveles.
La palabra PIC, hace referencia a su longitud de caracteres que pueden llegar a contener,
según el tipo que indique, serán numéricos o alfanuméricos, esto lo veremos más adelante
para no confundirle, tan solo contemple que en donde se indica X(25) se hace referencia a
que contendrá 25 caracteres, aunque solo ocupe 10, el resto se completaran con espacios en
blanco hasta llegar a los 25 caracteres de largo, al igual que en el caso de que sea mayor de
25, entonces perderá el resto pues solo podrá almacenar los 25 primeros caracteres.
La Screen Section
Esta otra sección, que también está incluida en la DATA DIVISION hace referencia a la
pantalla, osea, a los mensajes o textos que se van a ver en la pantalla del ordenador, su
contenido se parece al siguiente:
02 LINE 1 COLUMN 5 PIC Z(5).00 FROM IMPORTE OF COMPRA.
02 LINE 2 COLUMN 10 PIC Z(5).00 FROM IMPORTE OF PEDIDO.
Como puede ver, las palabras LINE y COLUMN, hacen referencia a la posición que tendrá
en la pantalla, el texto que se indica justo detrás, esto lo veremos en la elaboración de
pantallas.
Expresión aritmética
En informática y lenguajes de programación, se entiende por expresión aritmética a
aquella donde los operadores que intervienen en ella son numéricos, el resultado es
un número y los operadores son aritméticos. Los operadores aritméticos más comúnmente
utilizados son:
El signo más (+) se emplea para sumar dos valores, el signo menos (-) para restar un
valor de otro, el asterisco (*) para multiplicar dos valores, la división (/) para dividir un
valor por otro, y el signo % para obtener el resto de una división entera. Estos símbolos se
conocen como operadores binarios, pues operan sobre dos valores o variables.
La lista siguiente son ejemplos de expresiones aritméticas:
Resultado = x - y;
Total = capital+ interés;
Cuadrado = x * x;
Celsius = (Fahrenheit - 32) / 1.8
19
Hay que comprender que el signo igual (=) en las expresiones anteriores se le conoce como
"operador de asignación". Asigna el valor de la derecha de dicho signo igual a la variable
de la izquierda.
En la última expresión, se utilizan paréntesis () para realizar primero cierta operación. Esto
sucede porque en C, los operadores siguen unas reglas de preferencia. *, / y % tienen
preferencia sobre + y -. Para soslayar esta preferencia, se deben utilizar paréntesis. Las
expresiones con operadores de la misma preferencia se suelen evaluar de izquierda a
derecha. Otro punto a tener en cuenta es que en una expresión que entraña una división, hay
que tener cuidado de evitar la división por cero, que da como resultado infinito o un valor
anómalo. En el capítulo 5 sobre declaraciones de control, veremos cómo hacer una revisión
previa a la división para prevenir estos resultados.
System.out.print("Suma :");
System.out.println (suma);
System.out.print ("Resta :");
System.out.println (resta);
20
System.out.print ("Multiplicacion :");
System.out.println (mult);
System.out.print ("Division :");
System.out.println (div);
System.out.print ("Modulo :");
System.out.println (modulo);
El resultado de estas operaciones no puede quedar almacenado en una variable de tipo short
o byte, por más pequeño que sea. Si tramos de compilar esto:
Short i = 1;
Short j = 1;
Short x = i + j;
Tendremos un "possible lost of precision" como respuesta, por más que el pequeñito 2 entre
holgadamente en una variable short. El compilador evita que al utilizar estos tipos de datos
no nos pasemos de largo. Pero de todas formas me voy a vengar. Analicemos el siguiente
código:
El valor 2147483647 (es decir 2^31 - 1 ) es el más grande que puede tolerar un int. Pero
veamos que pasa al sumarle uno más. El compilador se queda mudo y cae en nuestra
trampa. Ejecutamos el programa y obtenemos:
Desastroso, ¿Verdad? Veamos lo que pasó: Teníamos el valor máximo para los int:
21
Esta anomalía se la conoce como “overflow” (desbordamiento). El procesador puede
identificar un resultado con este problema comparando los signos. Es de esperar que si
sumamos dos números positivos, no nos dé como resultado un número negativo. Pero el
intérprete de Java no nos avisa, por lo tanto tenemos que cuidarnos al trabajar cerca de los
extremos.
Sigamos metiéndonos en embrollos. Veamos ahora que ocurre si tratamos de dividir
cualquier número por cero. Para la verificación escribimos este programa:
Veremos más adelante cómo controlar el ánimo del intérprete cuando ocurren estos errores,
aquí conocidos como excepciones. La moraleja es que no se puede dividir un entero por
cero.
Sigamos dando pelea, no nos dejemos intimidar. Probemos que ocurre con los números
reales:
Infinity
22
Ni error ni cosas raras, el float se aguantó los malos tratos. Esto ocurre porque los números
reales en su representación binaria soportan el valor infinito.
Int h = -1;
Int m = +h; // es equivalente a m = h * (+1)
Int n = -h; // es equivalente a n = h * (-1)
Int i = 1;
I++;
++i;
i--;
--i;
Todo es práctico. Partiendo del mismo valor, vemos que j se incrementó, mientras que la
variable i se mostró sin cambios. Si colocamos el operador como sufijo, primero se evalúa
23
la variable y luego se realiza la operación. En el caso de la variable i, antes de incrementar
su valor se mostró por pantalla. Para la variable j el procedimiento fue inverso. Antes de
mostrar su valor se incrementó.
24