Sei sulla pagina 1di 8

GUIA DE LABORATORIO 5

REGISTROS
1. Escribir un programa para registrar n empleados, con los campos de CI, nombre, sueldo y fecha
de ingreso. La clase para el registro es el siguiente:

empleado.java
class empleado
{
private int ci;
private String nombre;
private float sueldo;
private class fecha
{
int dia, mes, anio;
}
private fecha fechaing = new fecha ();
void leeDatos ()
{
System.out.println ("Ingrese los datos del empleado:");
System.out.print ("CI...");
ci = Lectura.Entero ();
System.out.print ("Nombre:.....");
nombre = Lectura.Cadena ();
System.out.print ("sueldo...");
sueldo = Lectura.Real ();
System.out.println ("INGRESE LA FECHA DE INGRESO:");
System.out.print ("DIA..");
fechaing.dia = Lectura.Entero ();
System.out.print ("MES...");
fechaing.mes = Lectura.Entero ();
System.out.print ("ANIO...");
fechaing.anio = Lectura.Entero ();
}

void ImprimeDatos ()
{
System.out.println ("CI:___" + ci);
System.out.println ("NOMBRE:___" + nombre);
System.out.println ("SUELDO:___" + sueldo);
System.out.println ("FECHA DE INGRESO ");
System.out.println ("dia:___" + fechaing.dia);
System.out.println ("mes:___" + fechaing.mes);
System.out.println ("anio:___" + fechaing.anio);
}
}
[GUÍA DE LABORATORIOS EN JAVA] PROGRAMACION II

Luego escribir el siguiente programa que tiene las operaciones de lectura e impresión de datos del
empleado:

regemp.java
//PROGRAMA PARA LEER N EMPLEADOS

class regemp
{
static empleado e[] = new empleado [10];
static int n;
static int LeerEmpleados (empleado ve[], int n)
{
System.out.print ("Cuantos empleados desea registrar...");
n = Lectura.Entero ();

for (int i = 1 ; i <= n ; i++)


{
System.out.println ();
System.out.println ("EMPLEADO : " + i);
ve [i] = new empleado ();
ve [i].leeDatos ();
}
return n;
}

static void ImprimirEmpleados (empleado ve[], int n)


{
System.out.println (".....IMPRIMIENDO DATOS DE LOS EMPLEADOS....");
System.out.println ();
for (int i = 1 ; i <= n ; i++)
{
System.out.println ("EMPLEADO: " + i);
System.out.println ();
ve [i].ImprimeDatos ();
}
}

public static void main (String args[])


{
n = LeerEmpleados (e, n);
ImprimirEmpleados (e, n);
}
}

Lic. Katya Maricela Pérez Martínez Page 2


[GUÍA DE LABORATORIOS EN JAVA] PROGRAMACION II

2. Escribir un programa utilizando registros para almacenar los datos de N artículos y luego las
operaciones de LeerUnArticulo(), ImprimirUnArticulo(), LeerNArticulos() e imprimirNarticulos().

ARTICULO.java

public class ARTICULO


{
private String codart;
private String descripcion;
private float precio;
private int stock;

void leeUnArticulo () //registra los datos de un articulo


{
System.out.println ("_______REGISTRO DE UN ARTICULO______");
System.out.println ();
System.out.print ("CODIGO DEL ARTICULO......");
codart = Lectura.Cadena ();
System.out.print ("DESCRIPCION......");
descripcion = Lectura.Cadena ();
System.out.print ("PRECIO......");
precio = Lectura.Real ();
System.out.print ("STOCK.....");
stock = Lectura.EnteroCorto ();
}

void ImprimeUnArticulo () //imprime los datos de un articulo


{

System.out.println ();
System.out.println ("CODIGO DEL ARTICULO......" + codart);
System.out.println ("DESCRIPCION......" + descripcion);
System.out.println ("PRECIO......" + precio);
System.out.println ("STOCK....." + stock);
}
}

Lic. Katya Maricela Pérez Martínez Page 3


[GUÍA DE LABORATORIOS EN JAVA] PROGRAMACION II

Luego escribimos el programa de RegArticulo.java que permite registrar n artículos en un vector de


artículos.

class RegArticulos
{
static ARTICULO VA[]; //declaramos y creamos un vector de articulos de tamao 20.
static int LeerNarticulos (ARTICULO RA[]) //lee los datos de n articulos en el vector RA
{

int n;
System.out.print ("Cuantos articulos desea registrar?...");
n = Lectura.Entero ();
for (int i = 1 ; i <= n ; i++)
{
System.out.println ("ARTICULO: " + i);
RA [i] = new ARTICULO ();
RA [i].leeUnArticulo ();
}
return n;
}

static void ImprimirNarticulos (ARTICULO RA[], int n)


{
System.out.println ("______IMPIRMIENDO LOS ARTICULOS________");
System.out.println ();
for (int i = 1 ; i <= n ; i++)
{
System.out.println ();
System.out.println ("ARTICULO: " + i);
RA [i].ImprimeUnArticulo ();
}
}
public static void main (String args[])
{
VA = new ARTICULO [20];
int N;

N = LeerNarticulos (VA);
ImprimirNarticulos (VA, N);

Lic. Katya Maricela Pérez Martínez Page 4


[GUÍA DE LABORATORIOS EN JAVA] PROGRAMACION II

MATRICES POCO DENSAS


El registro para la matriz poco densa es:

MatrizPocoDensa.java

public class MatrizPocoDensa


{
private int fila;
private int col;
private int valor;

MatrizPocoDensa (int f, int c, int v)


{
fila = f;
col = c;
valor = v;
}
public int FILA ()
{
return fila;
}
public int COL ()
{
return col;
}
public int VALOR ()
{
return valor;
}

Lic. Katya Maricela Pérez Martínez Page 5


[GUÍA DE LABORATORIOS EN JAVA] PROGRAMACION II

El programa para registrar una matriz poco densa e imprimirla es:

MatrizPD.java

class MatrizPD
{
static MatrizPocoDensa[] LeerMatrizPocoDensa ()
{
int i, j, k, e, m, n;
MatrizPocoDensa M[] = new MatrizPocoDensa [20];
k = 0;
System.out.print ("INGRESE EL NUMERO DE FILAS DE LA MATRIZ....");
m = Lectura.Entero ();
System.out.print ("INGRESE EL NUMERO DE COLUMNAS DE LA MATRIZ....");
n = Lectura.Entero ();
k = 1;
for (i = 1 ; i <= m ; i++)
{
for (j = 1 ; j <= n ; j++)
{
System.out.print ("Ingrese el valor de la posicion (" + i + "," + j + ") =");
e = Lectura.Entero ();

if (e != 0)
{
M [k] = new MatrizPocoDensa (i, j, e);
k = k + 1;
}
}
}
M [0] = new MatrizPocoDensa (m, n, (k - 1));
return M;
}

static void ImprimirMatrizPocoDensa (MatrizPocoDensa D[])


{
int i, j, k;
k = 1;
System.out.println ("IMPRIMIENDO LA MATRIZ POCO DENSA....");

for (i = 1 ; i <= D [0].FILA () ; i++)


{

Lic. Katya Maricela Pérez Martínez Page 6


[GUÍA DE LABORATORIOS EN JAVA] PROGRAMACION II

System.out.println ();
for (j = 1 ; j <= D [0].COL () ; j++)
{
if ((D [k].FILA () == i) && (D [k].COL () == j))
{
System.out.print (" " + D [k].VALOR () + " ");
if (D [0].VALOR () > k)
k = k + 1;
}
else
System.out.print (" 0 ");
}
}
}
public static void main (String args[])
{
MatrizPocoDensa A[] = new MatrizPocoDensa [20];

A = LeerMatrizPocoDensa ();
ImprimirMatrizPocoDensa (A);

}
}

EJERCICIOS PROPUESTOS
1. Escribir un programa para registrar N libros que tiene como datos: código del libro, titulo, autor,
número de ejemplares y año de edición. Posteriormente imprimir los N libros; luego listar todos
los libros cuyo año de edición sea igual a X (dado por el usuario).

2. Escribir un programa para registrar N vehículos que tiene como datos: la placa, el modelo, color,
marca y propietario (nombre y teléfono). Además se pide imprimir los N vehículos y listar
además todos los vehículos cuyo color sea igual a X y la marca sea Y.

3. Una inmobiliaria tiene información disponible sobre departamentos enalquiler. De cada


departamento se conoce:

a. CLAVE: variable de tipo entera que identifique al inmueble


b. EXTENSION: Variable de tipo real que expresa la superficie del departamento, en
metros cuadrados.
c. UBICACIÓN: variable de tipo cadena que expresa si la ubicación del inmueble es
excelente, buena regular o mala.
d. PRECIO: variable de tipo real que expresa el precio del inmueble

Lic. Katya Maricela Pérez Martínez Page 7


[GUÍA DE LABORATORIOS EN JAVA] PROGRAMACION II

e. DISPONIBLE: variable de tipo lógico que expresa si el inmueble esta disponible para la
renta o no.
Diariamente acuden muchos clientes a la inmobiliaria solicitando información. Escriba un programa
capaz de realizar las siguientes operaciones:

 Listar los datos de todos los departamentos disponibles que tengan precio inferior o igual a
un cierto valor P
 Listar los datos de los departamentos disponibles que tengan una superficie mayor o igual a
un cierto valor dado E y una ubicación EXCELENTE
 Listar el monto de la renta de todos los departamentos alquilados

4. Implementar la estructura de datos abstracta necesaria para generar una matriz cuadrada de
NxN, que solo tiene datos distintos de cero en la diagonal secundaria. (utilice en la
implementación matrices poco densas).
Ejemplo: Si N=3
0 0 5

A= 0 7 0

2 0 0

Lic. Katya Maricela Pérez Martínez Page 8

Potrebbero piacerti anche