You are on page 1of 10

TALLER DE PROGRAMACION

ORIENTADA A OBJETOS

Ing. Antonio Juáre Covarrubias


Nombre: Matricula: Carrera:
●Debanhy Lizeth Garza Rentería 1659945 IAS

Plan: 401 Hora clase: M5-M6

Frecuencia: Martes

Ciudad Universitaria, San Nicolás De Los Garza, N.L


DICCIONARIO DE DATOS
1. Concepto.
Es un listado organizado de todos los objetos de datos pertinentes para el sistema.
La información contenida en él deberá incluir aquellas características que
describan e identifiquen cada objeto de datos. Las anotaciones, métodos y
herramientas utilizadas para desarrollar este apartado deberán estar
estandarizadas. Son desarrollados durante el análisis de flujo de datos y ayuda a
los analistas a tener una mejor interpretación en la determinación de los
requerimientos del sistema

2. Ventajas.

 Contiene la lista de todos los objetos que forman parte del sistema.

 Hace más fácil el manejo de los detalles en los sistemas grandes


permitiendo una mayor visión de los objetos en la base de datos.

 Localizar errores y omisiones en el proceso de diseño es mas sencillo


cuando se toma como referencia un diccionario de datos.

 Todos los encargados de la base de datos tendrán un conocimiento


universal estandarizado facilitando la comunicación en el grupo de trabajo.

 Si los analistas desean conocer cuántos caracteres abarca un determinado


dato o qué otros nombres recibe en distintas partes del sistema, o dónde se
utiliza, encontrarán las respuestas en un diccionario de datos desarrollado
en forma apropiada.

Elementos Del Diccionario De Datos.

 Datos Elementales. Es la parte mas pequeña de los datos que tiene


significado en el sistema de información pero al combinarlos con varios
elementos de datos se puede obtener una estructura de datos que provea
la información completa que se desea consultar. Por ejemplo un nombre.
Por si solo no representa nada pero cuando se relaciona con su numero de
cedula o algunos otros atributos se tendrá un structura de datos acerca de
esa persona.
 Nombre de los Datos. Se usan para distinguir un dato de otro se le
asignan nombres significativos a los objetos en las bases de datos para
tener un mayor control de la información.
 Descripción de los Datos. Establece brevemente lo que representa el dato
en el sistema; por ejemplo, la descripción para FECHA-DE-FACTURA
indica que es la fecha en la cual se está preparando la misma para
distinguirla de la fecha en la que se envió por correo o se recibió. Las
descripciones de datos se deben escribir suponiendo que a gente que los
lea no conoce nada en relación del sistema.
 Alias. Son los distintos nombres que puede recibir un dato dependiendo de
quien y cual sea el uso que se le va a dar a dicho dato.
 Longitud de campo. Es la cantidad de espacio que ocupa un dato.

TIPOS DE VARIABLES
Existen diferentes formas de clasificar las variables de programación. Te voy a
mencionar algunas clasificaciones.

De acuerdo a su longitud pueden dividirse en

- Variables fijas: cuando tamaño de estas no varía durante la ejecución del


programa. La mayoría de las variables son de longitud fija.

- Variables de longitud variable: cuando el tamaño de estas puede variar en la


ejecución del programa. Son ejemplos los arreglos y otras colecciones de datos.

Según su tipo de dato pueden ser

- Tipo de dato lógico.


- Tipo de dato entero: números enteros.
- Tipo de dato de coma flotante: números reales.
- Tipo de dato carácter.
- Tipo de dato cadena.

.
Según el ámbito las variables pueden ser

- Variables locales: cuando estas sólo se acceden desde un único procedimiento


hijo, no pudiendo ser leídas o modificadas desde otro procedimiento hermano o
desde el propio procedimiento padre. Es posible declarar variables en bloques de
condición, bucles, etc de tal modo que sólo pueda accederse a ellas en el propio
bloque.
- Variables globales: cuando están son accesibles tanto desde rutinas o macros de
la aplicación, como en todos los procedimientos y funciones de la misma.

Las variables son secciones reservadas en memoria para almacenar datos los
cuales pueden cambiar durante la ejecución del programa. En Java cuando creamos
una variable tenemos que seguir la siguiente sintaxis:

Tipo nombreVariable [= valorInicial];

donde:

 Tipo es la clase de variable que vamos a crear


 nombreVariable es el nombre que le vamos a dar a dicha variable

He puesto entre corchetes ([]) un elemento opcional a la hora de crear una variable.
Las variables al crearlas podemos darle un valor inicial. Para ello hay que usar
primero el operador de asignación = seguido del valor inicial. Si vamos al código de
ejemplo vemos que

char a = 'a';
char b = 'b';
double x = 3.2d;
float y = 4.8f;
int auxiliar = 30;
long numeroCuentas = 10000000000L;

hemos creado de esta forma 6 variables con valores iniciales. A esto se le conoce
como inicialización de variables . A continuación veremos los tipos básicos de
variables en Java.

Números enteros ( int )

Las variables de tipo entero o int son aquellas que almacenan un número (ya sea
positivo o negativo) no decimal . Debido a que cuando creamos una variable
reservamos memoria para ella, cada tipo de variable reservará más o menos
memoria para representar el dato que almacenarán. Dicho esto, en el caso de
variables de tipo int sólo podemos almacenar números que estén dentro del rango -
2^31 y 2^31 - 1 . Si intentamos almacenar un número que esté fuera de ese rango
nos dará un error de compilación o de ejecución. Por ejemplo, no podríamos
almacenar el número 10000000000 en una variable de tipo int. Un ejemplo sería:

int auxiliar = 30;

Su valor por defecto si no lo inicializamos es 0.


Números enteros grandes ( long )

Las variables de tipo entero grandes o long son aquellas que almacenan un número
(ya sea positivo o negativo) no decimal . Las variables de tipo long almacenan
números que están dentro del rango -2^63 y 2^63 - 1 . Si intentamos almacenar un
número que esté fuera de ese rango nos dará un error de compilación o de
ejecución. Para representar que un número es de tipo long, añadimos una L al final
del número:

long numeroCuentas = 10000000000L;

Nota: No es recomendable crear una variable de tipo long para almacenar números
pequeños debido a que estamos reservando más memoria de la que realmente
necesitamos y eso a la larga puede producir que nuestro programa sea mucho más
lento de lo que es realmente. Su valor por defecto si no lo inicializamos es 0L.

Números decimales ( double y float )

Si en lugar de números enteros queremos almacenar números decimales, tenemos


dos tipos:

 float: Las variables de tipo float o flotante son aquellos números en precisión
simple de 32 bytes en el estandar IEEE 754. Para indicar que un número es
de tipo flotante ponemos un punto para separar la parte entera del número de
la parte decimal.
 double: Las variable de tipo double o doble son aquellos números en
precisión doble de 64 bytes en el estandar IEEE 754. Para indicar que un
número es de tipo flotante ponemos un punto para separar la parte entera del
número de la parte decimal.

Si por algún motivo necesitamos especificar si un número es flotante o doble basta


con añadir una letra f o d al final del número tal y como vemos en el siguiente código:

double x = 3.2d;
float y = 4.8f;

Añadir que en caso de querer representar números grandes es mejor usar double en
lugar de float ya que a la hora de operar con ellos puede producirse errores de
aproximación y llevarnos a confusiones innecesarias. Su valor por defecto si no lo
inicializamos es 0.0d para double y 0.0f para float. Existen dos tipos básicos más
para representar números: short y byte . Estos tipos sólo almacenan números de
tipo entero similar a como sucede con las variables de tipo int. No obstante, los
rangos de valores que pueden almacenar son mucho más pequeños (byte: -128, 127
short: -32768, 32767) y sólo se suelen usar cuando la reserva de memoria tiene que
estar muy controlada para el perfecto funcionamiento de un programa. En general
basta con trabajar con variables de tipo int en lugar de estos dos tipos.
Verdadero o Falso ( boolean )

Más adelante veremos herramientas para controlar el flujo de ejecución del


programa las cuales se basan en el uso de condiciones ante las cuales el programa
se ejecutará de una forma u de otra. Normalmente, esas condiciones serán de la
forma:

Si esVerdadero
Hacer A
Sino
Hacer B

Evaluar ese "esVerdadero" no es más que evaluar una sentencia la cual devolverá
verdadero ( true ) o falso ( false ) en función de la condición. Ese valor true-false se
corresponde con variables booleanas o boolean . Las variables booleanas son
aquellas que sólo pueden guardar dos valores: true y false. Se declaran igual que
otra variable:

boolean verdadero = true;

Su valor por defecto si no lo inicializamos es false.

Símbolos o caracteres ( char )

Ya hemos hablado de los números, pero ¿qué sucede con las letras o símbolos?
Podríamos usar variables de tipo int para almacenarlas, pero al hacer eso en lugar
de guardar el símbolo como tal, se almacenaría su correspondiente valor en formato
decimal en ASCII y tendríamos que manualmente interpretar dicho número para
pasarlo a su correspondiente símbolo si quisieramos por ejemplo imprimirlo por
consola. Para evitar esto, tenemos las variables de tipo char :

char a = 'a';
char b = 'b';

En este caso hemos creado dos variables de tipo char; una para el símbolo "a" y otra
para el símbolo "b". Notar que para referirnos a un símbolo como tal, tenemos que
rodearlo con comillas simples '' . Su valor por defecto si no lo inicializamos es
'\u0000'.

Cadenas de texto ( String )

Hemos solucionado el problema de almacenar en memoria símbolos individuales.


Supongamos que queremos trabajar con secuencias de símbolos o cadenas de
texto . Con lo visto hasta ahora tendríamos que crear tantas variables de tipo char
como letras tenga la cadena. Un ejemplo rápido, si quisieramos representar el
Quijote con variables char tendríamos un total aproximadamente de 2059005 letras
en él contando las letras repetidas. Resulta inviable crear tantas variables de tipo
char, ¿verdad? Sin ir tan lejos, para la palabra "perro" tendríamos que crear 5
variables. Para solucionar esto, Java nos facilita el trabajo al definir una clase
llamada String la cual representa la secuencia o el vector de símbolos que
componen una palabra, una frase, un párrafo, etc. Siguiendo el código del ejemplo,

String perro = "perro";


String gato = "gato";

perro y gato son variables de tipo String las cuales almacenan las cadenas "perro" y
"gato" respectivamente. El trabajar así con los símbolos facilita mucho el manejo de
cadenas. Su valor por defecto si no lo inicializamos es null . El valor null es el usado
en Java para indicar que un Objeto no está inicializado y por tanto no se puede usar.

Constantes ( final )

Supongamos que tenemos un tipo de dato el cual nunca y por ningún motivo
cambiará su valor. Por ejemplo el número PI (3.14159265358979323846…). Para
indicar que una variable tomará siempre el mismo valor y no se podrá modificar es
decir, es constante usamos la palabra reservada finalescribiéndola antes del tipo de
la variable:

final double NUMERO_PI = Math.PI; // 3.14


final int CERO = 0;

Si intentamos modificar el valor de una constante nos dará error de


compilación. Nota: Por cuestiones de buena práctica, se suelen escribir las variables
en minúscula y las constantes en mayúsculas. Si el nombre de la variable es
compuesto es decir, tiene más de una palabra, la primera letra de las siguientes
palabras se escribe en mayúsculas. En el caso de las constantes, se escribe un
guión bajo (_) entre palabra y palabra. Por ejemplo NUMERO_PI para la constante y
numeroCuentas para la variable.

Arrays o Vectores

Los arrays o vectores son listas donde cada elemento es una variable de un tipo
específico con su valor correspondiente. Los arrays no pueden almacenar tipos de
variables distintos (realmente eso no es cierto, pero con lo explicado hasta la fecha
hay que asumir que sí de modo que lo correcto sería decir "no deberían almacenar
tipos de variables distintos"). Existen tres maneras a lo sumo de definir un array:

String[] paises = {"España", "Italia", "Portugal"};


String[] animales = new String[] {"perro", "vaca", "gato", "mono"};
String[] objetos = new String[3];

En la primera estamos creando un array temporal con el nombre de tres países y


luego lo almacenamos en la variable paises sin indicar qué tipo de dato va a
almacenar; el propio Java se ocupa de reconocerlo. El segundo caso es similar al
primero con la diferencia de que especificamos el tipo de valor que va a almacenar
nuestro array. El último caso es la forma general (y común en muchos lenguajes) de
declarar el array. En él indicamos que será un array de 3 elementos máximo de tipo
String, sin inicializar los valores de cada posición o elemento de la lista. Si queremos
asignar valores a cada posición del array tendremos que hacerlo de la siguiente
forma:

objetos[0] = "pelota";
objetos[1] = "caja";
objetos[2] = "zapato";

Tal y como comenté al explicar la tercera forma de declarar un array, los vectores
tienen un tamaño máximo el cual nosotros definimos. Por tanto, no podemos
aumentar dicho tamaño; si deseamos un tamaño mayor tenemos que crear un nuevo
array y posteriormente asignarle los valores almacenados en el anterior. Para
acceder a los elementos almacenados en el vector la sintaxis es la siguiente:

nombreVector[índice];

Donde índice será un número entero que esté dentro del rango 0 y tamañoVector -
1. Hay que tener esto en cuenta ya que cuando queramos acceder a un elemento
nésimo tendremos que usar el índice (n-1)-ésimo. Así por ejemplo:

System.out.println("El " + animales[0] + " persigue al " + animales[2]);

El mensaje que se muestra por consola es:

El perro persigue al gato

Algo más a tener en cuenta de los vectores en Java es que, a diferencia de otros
lenguajes, los vectores no son cíclicos ; si intentamos acceder al siguiente
elemento después del último se produce una excepción al usar un índice el cual está
fuera de rango. Nota: Java implementa una clase llamada ArrayList la cual extiende
los vectores para mejorar su manejo (igual que sucedía con String y las variables de
tipo char). No obstante, yo me limitaré a los vectores ya que los ArrayLists no son un
elemento de la programación básica. Si alguien quiere usarlos y quiere preguntarme
algo de ellos no duraré en responder igualmente.

Clases Envolventes ( Wrappers )

Similar a lo que sucede con los ArrayLists, los Wrappers son una clase propia de
Java la cual extiende el uso de una variable básica del lenguaje. Simplemente
añaden funcionalidades a los tipos básicos en Java. Los Wrappers existentes y el
tipo correspondiente son:

 Byte para byte.


 Short para short.
 Integer para int.
 Long para long.
 Float para float.
 Double para double.
 Boolean para boolean.
 Character para char.

Una utilidad muy común en ellos es la de dada una cadena String de un número (por
ejemplo "10") transformarla en un número de tipo int y luego operar con ella:

System.out.println(Integer.parseInt("10") + 2);

El resultado de esa sentencia nos imprime por pantalla 12. Si por el contrario esa
sentencia fuera esta:

System.out.println("10" + 2);

Java entendería que el número 2 también es una cadena y por


tanto concatenaría ambas cadenas e imprimiría por pantalla 102. Un momento...
¿qué es concatenaría? Muy simple: un operador.

FORMATO

En cuanto al manejo de datos, cada formato tiene características diferentes que


les permiten almacenar determinados tipos de datos conforme las necesidades de
quien crea y/o gestiona esos archivos. El formato JPEG (también llamado JPG)
por ejemplo, está diseñado para almacenar solamente imágenes estáticas. Otros
formatos de archivo, sin embargo, están diseñados para almacenar varios tipos
diferentes de datos: el formato GIF admite almacenar tanto imágenes estáticas
como animaciones simples, y el formato Quick Time puede actuar como un
contenedor para muchos tipos diferentes de multimedia. Un archivo de texto es
simplemente uno que almacena cualquier texto, en un formato
como ASCII o Unicode, con pocos o ningún caracteres de control.

Algunos formatos de archivo, como HTML o el código fuente de algún lenguaje de


programación particular, también funcionan como archivos de texto. Sin embargo,
sus características les permiten ser usados para propósitos más específicos.

Es usual que los programas y aplicaciones posibiliten abrir archivos con


extensiones distintas a la de los atribuidos a su edición en particular, generalmente
considerando las extensiones de archivo de utilización más frecuente en la rama
de actividad en la que opera. Por ejemplo, MS Word está creado para crear
archivos de documentos (extensiones «.docx» y «.doc»), aunque también admite
abrir archivos «.txt» (archivos de texto editables con bloc de notas), además de
que sus versiones más recientes permiten también abrir y editar archivos con
extensión «.odt» (editables con OpenOffice).

No obstante lo anterior, existen archivos que por las características de su


extensión, aunque puedan ser editables en un programa diferente del que lo
originó, no necesariamente puedan legibles o entendibles conforme el fin último
con el que se los creó, ya que su codificación es diferente. Por ejemplo, se puede
reproducir un documento de Microsoft Word como si fuera una canción usando un
programa de reproducción de música que acepte archivos de audio «sin
cabecera». Sin embargo, el resultado no tendrá coherencia en cuanto a
composición musical ya que una disposición sensata de bits en un formato casi
nunca tiene sentido en otro.