Está en la página 1de 20

PROGRAMACI

ÓN ORIENTADA
A OBJETOS
CONTENEDORAS DE TAMAÑO FIJO
(ARREGLOS DE TIPOS DE DATOS
BÁSICOS Y DE OBJETOS)
ING. PEDRO JOSÉ RIVERA OSORIO
OBJETIVOS
• Manejo correcto y apropiado de punteros y reserva de memoria
dinámica
• Reconocer el tipo de dato void y void * en Java como una
herramienta de potencial importancia
• Diferenciar entre arreglos y estructuras
• Utilizar correctamente las estructuras, punteros a estructuras,
arreglos de estructuras, etc.
CONTENIDO
• Dato.
• Información.
• Tipos de datos.
• Almacenamiento de datos.
• Declaración de variables y punteros.
• Paso de parámetros.
• Arreglos.
EJERCICIOS

• EJERCICIO I con punteros.


• EJERCICIO II, creación de una matriz matriz.
• EJERCICIO III Arreglos I D, Introducción a la programación
orientada a objetos en Java Paso de parámetros.
DATO
• Información en bruto, sin ningún significado
• Dado un enunciado, evento o acción, los datos
• Permiten representar sus actores o participantes
• Analizándolos, se podrá obtener resultados deseados

• Analicemos el siguiente hecho:


• El estudiante de nombre Pedro Velez Aponte de 22 años, tiene un promedio de 7.5

• Podemos tomar los siguientes datos


• Nombre: Pedro Velez -> Conjunto de Caracteres
• Edad: 22 -> entero
• Promedio: 7.5 -> real
INFORMACIÓN
• Es el resultado deseado luego de procesar los datos
• Los datos, al ser procesados, se convierten en
información útil o resultados.

Empleado Horas Datos de salida(se muestran


Juan, Perez 160 en el monitor)
Pedro, Rodriguez 155
Juan, Perez $320
Luis, Pozo 120
Pedro, Rodriguez $310
Luis, Pozo $240
Valor por hora = $2

Datos de entrada(ingresados x
teclado) Procesamiento:
Calcular salarios
los datos?
¿Cómo representar
• Los seres humanos:
• Usamos lenguaje natural o símbolos
• Ejemplo:
• Para representar números, usamos el sistema decimal
• Para representar palabras, usamos el abecedario
• La computadora:
• Usa conjuntos de 1s y 0s
• El dato mas pequeño en el computador es
• Un 1 o un 0 -> bit
• El conjunto de 8 bits -> 1 byte
TIPOS DE DATOS
• Los datos se clasifican en TIPOS
• Son los diferentes dominios existentes. Ejemplo:
• Edad, Año de Nacimiento, Numero de multas
• Tienen dominio numérico
• Nombre, Dirección, Num. Cedula,
• Caen en el dominio de la información tipo texto

• Y las operaciones permitidas para dicho dominio


Un conjunto de valores y operaciones
definidas solo para esos valores
• Un tipo de dato es el conjunto de valores
• Al que puede pertenecer una constante
• Que puede asumir una variable o expresión
RECORD

• Que puede ser generado por una función

• De una constante, variable o expresión


• Se puede deducir su tipo de dato
AR

• Ya sea de su forma o de su declaración


• Sin necesidad que se ejecute ningún proceso

• Las operaciones entre datos


• Necesitan participantes (argumentos) de determinado tipo
• Producen resultados de otro o el mismo tipo
TIPOS DE DATOS BÁSICOS
• Los podemos distinguir fácilmente, están en el diario vivir:
• El Sr. Vera de 63 años tiene cedula No. 0908815533, y paga $120 de
impuestos
• Son tipos de datos simples
• Que permiten representar información numérica, caracteres, etc.

NOMBRE CONJUNTO DE VALORES OPERACIONES


Enteros Negativos y positivos sin decimal Sumar, restar, dividir, multiplicar, residuo

Reales Negativos y positivos, con decimal Sumar, restar, dividir, multiplicar


Lógicos Verdadero o Falso(1 o 0) And, Or, Not
Caracteres Letras, números, especiales, juntos forman una Sumar carácter + entero restar, multiplicar por
cadena entero
Y EN LA COMPUTADORA?
• Solo vienen integrados los tipos de datos básicos
• En la computadora
• Cada byte es un casillero y tiene una dirección en memoria 1000
1001
• Los datos (números y letras) se almacena en estos
1002
casilleros 1003
• ¿Cuantas casilleros ocupa un dato?
• Depende de su tipo y del hardware de la computadora
• Un entero puede ocupar casillas de hasta 4 bytes
• Un doble siempre ocupara mas, por su mayor precisión

• PERO, un carácter SIEMPRE ocupara casillas de 1 byte


ALMACENANDO DATOS
TIPO DE DATO #bytes Representación interna En ANSI C

ENTEROS 2 Positivos: conjunto de bits int


4 38 -> 00100110 long
8 Negativos:Complemento a Dos
-38 -> 11011001

REALES 8 Mantisa x base(exponente) float


16 387.53 -> 38753 x 10-2 double
00000000100101110110000111111110

CARACTERES 1 ASCII char


11000000 -> ‘A’
DECLARACIÓN DE
Al declarar una variable se
le asigna espacio en
memoria y una dirección

VARIABLES para dicho espacio

• Una declaración de variables en Java incluye


• Tipo de dato y
• Nombre de variable(identificador) 100
4 bytes,
• Ejemplo: int a; 101 dir: 100
102
int a, b; char c; 103 1 byte,
float c; 104 dir: 104

• ¿Para que se declaran variables?


• Especifica cuanta memoria debe reservarse y
• Como se van a interpretar dichos datos
f = a + b
• Es una suma de enteros, que al final se convierte a real
DECLARACIÓN DE PUNTEROS
int *p;
• Un tipo de dato
• El puntero solo podrá almacenar direcciones de
memoria de variables del tipo especificado
1000
• Se pueden definir punteros de cualquier tipo: 1001 3 x
1002
float *pf; 1003

char *pc;
1004
1005
1000 pt

• Un identificador que siempre va antecedido del


int *pt, x;
operador * x = 3;
pt almacena la
dirección de x, se dice
pt = &x; que pt apunta a x
CONSULTANDO CONTENIDO
• Si un puntero apunta a una variable
• A través del puntero se puede llegar a conocer todo sobre la variable
• Ejemplo: char c, *pc1, *pc2;
pc1 = &c;

• Si quiero conocer la dirección, uso directamente el puntero


printf(“%d”, pc1); //Imprimo la dir. Almacenada por pc1
pc2 = pc1; //pc2 almacena la misma dir. que pc1

• Si quiero conocer el contenido al que apunta un puntero, uso el


operador *, sobre dicho puntero Es equivalente a :
printf(“%c”, c);
c = ‘A’
printf(“%c”, *pc1); Es equivalente a :
*pc1 = ‘N’ c = ‘N’

printf(“%c”,c); Imprime ‘N’ pues c ya


cambio
EJERCICIO I
int x,y;
int *p1,*p2;
1000 -42
17
22 x
x = -42;
y = 163; 1004 163
22 y
p1 = &x;
p2 = &y; 1008 1000
1004
1000
1004
0 p1
*p1 = 17;
*p2 = x+5;
1012 1004
0
1004 p2

*p1 = *p2;
Es equivalente a escribir
x = y;
p1 = p2; Esto indica que p1
ahora apunta a la
p1 = NULL; misma variable que p2

p2 = NULL; Esto es equivalente a “encerar” el


puntero, y decir que no apunta a ninguna
variable
BIBLIOGRAFÍA

• Booch, G. (1998). Análisis y Diseño Orientado a Objetos con Aplicaciones.


Naucalpan de Juárez: Addison Wesley Longman.

• Ceballos Sierra, F. J. (2007). Java 2 Curso de Programación, 3a Edición.


Madrid: RA-MA Editorial.

• Deitel P & Deitel H. Java: How to program 9ed. Boston, Estados Unidos:
Prentice Hall
BIBLIOGRAFÍA

• Gamma E (1995) Design Patterns : elements of reusable object-oriented


software. Boston, Estados Unidos : Addison-Wesley

• Joyanes L. (2010) Programación en C, C++, Java y UML. México DC, México:


Mc Graw Hill

• Villalobos J & Casallas R (2006) Fundamentos de programación : aprendizaje


activo basado en casos ; un enfoque moderno usando Java, UML, Objetos y
Eclipse. México DC, México: Prentice-Hall
WEBGRAFÍA

• Algoritmos y Programación Orientada a Objetos I Contenedoras de tamaño fijo. Recuperado de:


http://aprendeenlinea.udea.edu.co/lms/men_udea/pluginfile.php/24443/mod_resource/content/0/modulo_1/APO1_-_Co
ntenedoras_de_tamano_fijo.pdf

• Fundamentos de programación, aprendizaje basado en casos. Recuperado de:


• https://cupintranet.virtual.uniandes.edu.co/sitio/images/cursosCupi2/apo1/libroPDF/fundamentos-de-programacion.pdf
CONTENEDORAS DE TAMAÑO FIJO

GRACIAS.

Esta foto de Autor desconocido está bajo licencia CC BY-NC

También podría gustarte