Practicas de Estructura de Datos

22
PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA JADS 1 Práctica No. 1 Inicializando Vectores 1. Entre a NetBeans IDE 6.8. 2. Cree un proyecto estándar de nombre PracticasU1a. 3. Despliegue paquetes de fuentes para visualizar la opción practicasu1a. 4. Selección practicasu1a dando clic derecho sobre ella para visualizar las opciones a elegir. 5. Elija Nuevo, Clase Java … 6. Nombre a la nueva clase VectorUniEjemplos 7. Dentro de la clase VectorUniEjemplos cree un método llamado visualizarVector, en el cual, inicializará 3 vectores que contendrán diferentes tipos de datos, para ello añada las siguientes instrucciones: void visualizarVector ( ) { int numeros [ ]= {1,2,3,4,5}; char letras [ ]= {'a','b','c','d','e'}; String colores [ ] = {"Verde","Blanco","Rojo","Amarillo","Azul"}; } 8. Agregue a la línea en donde se inicializa el vector números el siguiente comentario de una sola línea: // Se inicializa el vector de tipo entero 9. Agregue a la línea en donde se inicializa el vector letras el siguiente comentario de una sola línea: // Recuerde que en el vector de tipo char los elementos se encierran entre apóstrofes y se separan por comas 10. Agregue a la línea en donde se inicializa el vector colores el siguiente comentario de más de una línea: /* Los elementos de los vectores unidimensionales del tipo cadena de caracteres se encierran entre comillas y se separan por comas, tomando en cuenta que todos los elementos van encerrados entre llaves.*/ 11. Visualice el contenido de los tres vectores con la ayuda del ciclo for, ocupando para ello un ciclo por cada vector, ejemplo: for (int cont=0; cont<5; cont++) System.out.print (numeros[cont]); 12. Para separar el contenido de un vector con otro, ocupe un salto de línea al finalizar cada ciclo: System.out.println( ); 13. De doble clic sobre la clase Main que se encuentra dentro del paquete practicasunidad1a. 14. Cree un objeto de la clase VectorUniEjemplos de nombre objetoUE. 15. Mande a llamar al método visualizarVector a través del objeto creado. 16. Clic en el icono Debug Main Project o bien Ctrl + F5 para compilar. 17. Ejecute la aplicación con el icono Ejecutar Main Project o F6 18. Si se detecta algún error corríjalo hasta obtener el resultado deseado.

Transcript of Practicas de Estructura de Datos

Page 1: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 1

Práctica No. 1

Inicializando Vectores

1. Entre a NetBeans IDE 6.8. 2. Cree un proyecto estándar de nombre PracticasU1a. 3. Despliegue paquetes de fuentes para visualizar la opción practicasu1a. 4. Selección practicasu1a dando clic derecho sobre ella para visualizar las

opciones a elegir. 5. Elija Nuevo, Clase Java … 6. Nombre a la nueva clase VectorUniEjemplos 7. Dentro de la clase VectorUniEjemplos cree un método llamado

visualizarVector, en el cual, inicializará 3 vectores que contendrán diferentes tipos de datos, para ello añada las siguientes instrucciones: void visualizarVector ( ) {

int numeros [ ]= {1,2,3,4,5}; char letras [ ]= {'a','b','c','d','e'}; String colores [ ] = {"Verde","Blanco","Rojo","Amarillo","Azul"}; }

8. Agregue a la línea en donde se inicializa el vector números el siguiente comentario de una sola línea: // Se inicializa el vector de tipo entero

9. Agregue a la línea en donde se inicializa el vector letras el siguiente comentario de una sola línea: // Recuerde que en el vector de tipo char los elementos se encierran entre apóstrofes y se separan por comas

10. Agregue a la línea en donde se inicializa el vector colores el siguiente comentario de más de una línea:

/* Los elementos de los vectores unidimensionales del tipo cadena de caracteres se encierran entre comillas y se separan por comas, tomando en cuenta que todos los elementos van encerrados entre llaves.*/ 11. Visualice el contenido de los tres vectores con la ayuda del ciclo for, ocupando

para ello un ciclo por cada vector, ejemplo: for (int cont=0; cont<5; cont++) System.out.print (numeros[cont]);

12. Para separar el contenido de un vector con otro, ocupe un salto de línea al finalizar cada ciclo: System.out.println( );

13. De doble clic sobre la clase Main que se encuentra dentro del paquete practicasunidad1a.

14. Cree un objeto de la clase VectorUniEjemplos de nombre objetoUE. 15. Mande a llamar al método visualizarVector a través del objeto creado. 16. Clic en el icono Debug Main Project o bien Ctrl + F5 para compilar. 17. Ejecute la aplicación con el icono Ejecutar Main Project o F6

18. Si se detecta algún error corríjalo hasta obtener el resultado deseado.

Page 2: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 2

Práctica No. 2 Calculando el Promedio

1. Entre a NetBeans IDE 6.8.

2. Cree un proyecto estándar de nombre PracticasU1b.

3. Despliegue paquetes de fuentes para visualizar la opción practicasu1b.

4. Selección practicasu1b dando clic derecho sobre ella para visualizar las

opciones a elegir.

5. Elija Nuevo, Clase Java …

6. Nombre a la nueva clase VectorCalculaP.

7. Dentro de la clase VectorCalculaP cree un método llamado promedioNotas,

en el cual, inicializará un vector de nombre notas que contendrá los siguientes

números enteros: 70, 75, 80, 85, 90.

8. Declare las variables indice, suma y promedio de tipo entero.

9. Inicialice suma y promedio con 0.

10. Sume uno a uno los elementos que contiene el vector notas, ocupando para

ello un ciclo for de la siguiente manera:

for (indice = 0; indice < 5; indice++)

suma = suma + notas [indice];

11. Calcule el promedio de los elementos del vector asignándole a la variable

promedio la división de suma entre el número de elementos o tamaño del

vector.

12. Escriba la instrucción necesaria para poder mostrar el resultado en pantalla.

13. De doble clic sobre la clase Main que se encuentra dentro del paquete

practicasu1b.

14. Cree un objeto de la clase VectorCalculaP de nombre objetoCP.

15. Mande a llamar al método promedioNotas a través del objeto creado.

16. Clic en el icono Debug Main Project o bien Ctrl + F5 para compilar.

17. Ejecute la aplicación con el icono Ejecutar Main Project o F6

18. Si se detecta algún error corríjalo hasta obtener el resultado deseado.

Page 3: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 3

Práctica No. 3 Almacenando las letras del alfabeto

1. Entre a NetBeans IDE 6.8.

2. Cree un proyecto estándar de nombre PracticasU2a.

3. Despliegue paquetes de fuentes para visualizar la opción practicasu2a.

4. Selección practicasu2a dando clic derecho sobre ella para visualizar las

opciones a elegir.

5. Elija Nuevo, Clase Java …

6. Nombre a la nueva clase VectorAlfabeto.

7. Dentro de la clase VectorAlfabeto cree un método llamado mostrar, en el

cual, declarará un vector de tipo char, de nombre vectorLetras y de tamaño

26.

8. Declare un índice de tipo entero y de nombre i.

9. Inicialícelo con 0.

10. Declare una variable de nombre letra de tipo char.

11. Utilice un ciclo for para almacenar las letras del alfabeto en una vector de

nombre vectorLetras, como se indica a continuación:

for (letra='A'; letra<='Z'; letra++)

{

vectorLetras [i]=letra;

System.out.print(vectorLetras[i]);

i++;

}

12. De doble clic sobre la clase Main que se encuentra dentro del paquete

practicasu2b.

13. Cree un objeto de la clase VectorAlfabeto de nombre objetoVA.

14. Mande a llamar al método mostrar a través del objeto creado.

15. Clic en el icono Debug Main Project o bien Ctrl + F5 para compilar.

16. Ejecute la aplicación con el icono Ejecutar Main Project o F6

17. Si se detecta algún error corríjalo hasta obtener el resultado deseado.

Page 4: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 4

Práctica No. 4 Convirtiendo de Decimal a Binario

1. Entre a NetBeans IDE 6.8.

2. Cree un proyecto estándar de nombre PracticasU2b.

3. Despliegue paquetes de fuentes para visualizar la opción practicasu2b.

4. Selección practicasu2b dando clic derecho sobre ella para visualizar las

opciones a elegir.

5. Elija Nuevo, Clase Java …

6. Nombre a la nueva clase ConvierteDecimalABinario

7. Dentro de la clase ConvierteDecimalABinario cree un método llamado

convierte, en el cual, declarará un vector de tipo entero, de nombre

vectorResiduo y de tamaño 10.

8. Declare las variables residuo, cociente, numero, índice y aux de tipo entero.

9. Asigne a la variable numero el numero 100;

10. Asigne a la variable cociente el contenido de la variable numero.

11. Utilice un ciclo for para ir dividiendo el numero y obtener los residuos, mismos

que irá almacenando en un vector de la siguiente manera:

for (indice=0; cociente > 0; indice++) { residuo = cociente%2; vectorResiduo[indice]=residuo; cociente = cociente/2; }

12. Cree otro ciclo for para visualizar todos los residuos del vector, tomando en

consideración que ahora se visualizará en sentido inverso, para ello ocupe la

variable aux.

13. De doble clic sobre la clase Main que se encuentra dentro del paquete

practicasu2b.

14. Cree un objeto de la clase ConvierteDecimalABinario de nombre objetoCDB.

15. Mande a llamar al método convierte a través del objeto creado.

16. Clic en el icono Debug Main Project o bien Ctrl + F5 para compilar.

17. Ejecute la aplicación con el icono Ejecutar Main Project o F6

18. Si se detecta algún error corríjalo hasta obtener el resultado deseado.

Page 5: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 5

Práctica No. 5 Guardando números en una matriz

1. Entre a NetBeans IDE 6.8.

2. Cree un proyecto estándar de nombre PracticasU2c.

3. Despliegue paquetes de fuentes para visualizar la opción practicasu2c.

4. Selección practicasu2c dando clic derecho sobre ella para visualizar las

opciones a elegir.

5. Elija Nuevo, Clase Java …

6. Nombre a la nueva clase Matriz2X3

7. Dentro de la clase Matriz2X3 cree un método llamado llenaMatriz, en el cual,

declarará una matriz de tipo entero, de nombre MatrizNumeros y de tamaño 2

x 3.

8. Declare las variables fila y columna de tipo entero.

9. Para solicitar los números al usuario utilice la siguiente instrucción:

Scanner objeto = new Scanner (System.in);

Nota: Debe añadir un import (import java.util.Scanner;).

10. Mediante dos ciclos for (uno para la fila y otro para la columna) solicite al

usuario que ingrese números del 0 al 9 y almacénelos en la matriz, valiéndose

para ello de la siguiente instrucción:

MatrizNumeros [Fila][Columna]= objeto.nextInt( );

11. Al terminar de introducir los números el usuario, visualice el contenido de la

matriz, especificando una por una la posición, ocupe para ello el ciclo for.

12. De doble clic sobre la clase Main que se encuentra dentro del paquete

practicasu2c.

13. Cree un objeto de la clase Matriz2X3 de nombre objetoM2X3.

14. Mande a llamar al método llenaMatriz a través del objeto creado.

15. Clic en el icono Debug Main Project o bien Ctrl + F5 para compilar.

16. Ejecute la aplicación con el icono Ejecutar Main Project o F6

17. Si se detecta algún error corríjalo hasta obtener el resultado deseado.

Page 6: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 6

Práctica No. 6 Multiplicando dos matrices

1. Entre a NetBeans IDE 6.8.

2. Cree un proyecto estándar de nombre PracticasU2d.

3. Despliegue paquetes de fuentes para visualizar la opción practicasu2d.

4. Selección practicasu2d dando clic derecho sobre ella para visualizar las

opciones a elegir.

5. Elija Nuevo, Clase Java …

6. Nombre a la nueva clase Matrices

7. Dentro de la clase Matrices cree un método llamado llenarMatrices, en el

cual, declarará una matriz de tipo entero, de nombre PrimeraMatriz y de

tamaño 1 x 2, así mismo cree otra matriz de nombre SegundaMatriz de tipo

entero y de tamaño 2 x 2 y finalmente cree otra tercera matriz de nombre

MatrizResultante de tipo entero y de tamaño 1 x 2.

8. Declare las variables filaM1, filaM2, filaM3, columnaM1, columnaM2,

columnaM3 de tipo entero.

9. Mediante ciclos (while, do…while, for) solicite al usuario que ingrese uno a

uno en cada posición el número deseado y almacénelo en la primera y

segunda matriz, según sea el caso.

10. Para solicitar los números al usuario utilice la misma instrucción que en la

práctica No. 5.

11. Al terminar de introducir los números, realice la multiplicación de las dos

matrices y almacene los resultados en la matriz de nombre MatrizResultante,

tal como lo muestra el siguiente código:

FilaM1=0; FilaM2=0; FilaM3=0; ColumnaM2=0;

for (ColumnaM3=0; ColumnaM3<2; ColumnaM3++){

for(ColumnaM1=0; ColumnaM1<2; ColumnaM1++){

MatrizResultante[FilaM3][ColumnaM3]+=PrimeraMatriz[FilaM1][ColumnaM1

]*SegundaMatriz[FilaM2][ColumnaM2];

FilaM2++;

}

Page 7: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 7

ColumnaM2++;

FilaM2=0;

}

12. Visualice el contenido de MatrizResultante.

13. De doble clic sobre la clase Main que se encuentra dentro del paquete

practicasu2d.

14. Cree un objeto de la clase Matrices de nombre objetoMR.

15. Mande a llamar al método llenarMatrices a través del objeto creado.

16. Clic en el icono Debug Main Project o bien Ctrl + F5 para compilar.

17. Ejecute la aplicación con el icono Ejecutar Main Project o F6

18. Si se detecta algún error corríjalo hasta obtener el resultado deseado.

Page 8: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 8

Práctica No. 7 Trabajando con una pila de números

1. Entre a NetBeans IDE 6.8.

2. Cree un proyecto estándar de nombre PracticasU2e.

3. Despliegue paquetes de fuentes para visualizar la opción practicasu2e.

4. Selección practicasu2e dando clic derecho sobre ella para visualizar las

opciones a elegir.

5. Elija Nuevo, Clase Java …

6. Nombre a la nueva clase Pila

7. Dentro de la clase Pila declare tamaño, cima y fin de tipo entero, inicializando

tamaño con 5, cima con -1 y fin con tamaño-1.

8. Asimismo, declare un vector de nombre PilaNumeros de tipo entero y tamaño

tamaño.

9. Cree el método insertarNumeros, tipiando para ello el siguiente código(Nota:

recuerde que si trabaja con Scanner tiene que agregarle un import):

void insertarNumeros( ) { if(cima==fin){ System.out.println ("La pila esta llena"); } else { cima++; System.out.print ("Teclea un número:"); Scanner sc=new Scanner (System.in); PilaNumeros[cima]=sc.nextInt( ); System.out.println ("Se insertó el número ( "+PilaNumeros[cima]+" )"); } }

10. A continuación agregué el método sacarNumeros, de la siguiente manera:

void sacarNumeros( ){ if(cima==-1){ System.out.println ("La pila esta vacia \n Introduce un número para poder sacarlo"); } else{ System.out.println ("Se sacó el número ( "+PilaNumeros[cima]+" )");

Page 9: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 9

cima- -; } }

11. Para corroborar que los números fueron manipulados correctamente añada el método mostrarNumeros, como se indica a continuación:

void mostrarNumeros( ){ if(cima==-1){ System.out.println ("La pila esta vacia\n No hay números que mostrar"); } else{ String mostrar=""; int i=0; for(i=0;i<=cima;i++){ mostrar=mostrar+( PilaNumeros[i] + " "); } System.out.println ("Los números almacenados son:\n"+mostrar); } }

12. Ahora, intente usted hacer el método buscarNumeros, en donde le solicite al

usuario que introduzca el número que desea buscar en la PilaNumeros,

debiendo mostrar el numero de veces que aparece el número o en su caso un

mensaje de que el número no se encontró.

13. Cree otra clase de nombre PilaJava y capture el siguiente código que le

permitirá mostrar las opciones que el usuario puede realizar en la

PilaNumeros:

class PilaJava { static Pilas accion = new Pilas (); public static void main(String[] args) { int opc=0; while(true){ System.out.print ("--------------------------------------------------------\n" + "Pila de Números\n" + "--------------------------------------------------------\n" + "1. Alta de número(s)" + " 2. Baja de número(s)\n" + "3. Mostrar número(s)" + " 4. Buscar número (s)\n" + "--------------------------------------------------------\n" + "5. Salir\n" + "--------------------------------------------------------\n" + "Teclea el numero de la accion a relizar:"); Scanner sc = new Scanner (System.in); opc=sc.nextInt(); switch(opc){

Page 10: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 10

case 1: accion.insertar(); break; case 2: accion.sacar(); break; case 3: accion.mostrar(); break; case 4: accion.buscar(); break; case 5: System.exit(0); break; default: System.out.println ("No se realizo ninguna accion\nOpcion no valida"); break; } } } }

14. Clic en el icono Debug Main Project o bien Ctrl + F5 para compilar.

15. Ejecute la aplicación con el icono Ejecutar Main Project o F6

16. Si se detecta algún error corríjalo hasta obtener el resultado deseado.

17. Como parte de esta práctica agregué un método calculaPromedio que le

permita visualizar el promedio de los números introducidos por el usuario.

Page 11: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 11

Práctica No. 8

Trabajando con una pila de libros en java.swing

1. Entre a NetBeans IDE 6.8.

2. Cree un proyecto estándar de nombre PracticasU2f.

3. Despliegue paquetes de fuentes para visualizar la opción practicasu2f.

4. Selección practicasu2f dando clic derecho sobre ella para visualizar las

opciones a elegir.

5. Elija Nuevo, Clase Java …

6. Nombre a la nueva clase Pila

7. Dentro de la clase Pila declare tamaño, cima y tope de tipo entero,

inicializando tamaño con 10, cima con -1 y tope con tamaño-1.

8. Asimismo, declare un vector de nombre PilaLibros de tipo String y tamaño

tamaño.

9. Capture el siguiente código dentro de la clase Pila (Nota: recuerde que para

utilizar el JOptionPane se necesita agregar import javax.swing.*;):

void Insertar(){ if(cima==tope){ JOptionPane.showMessageDialog(null,"No se realizo ninguna accion"); JOptionPane.showMessageDialog(null,"La pila esta llena\nSaca un libro para poder introducir un nuevo libro"); } else { cima++; PilaLibros[cima]=JOptionPane.showInputDialog(null,"Teclea el nombre del libro:"); JOptionPane.showMessageDialog(null,"Se inserto el libro ( "+PilaLibros[cima]+" )"); } }

void Sacar(){

if(cima==-1){ JOptionPane.showMessageDialog(null,"No se realizo ninguna accion");

Page 12: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 12

JOptionPane.showMessageDialog(null,"La pila esta vacia\nIntroduce un nuevo libro para poder sacar un libro"); } else{ JOptionPane.showMessageDialog(null,"Se saco el libro ( "+PilaLibros[cima]+" )"); cima--; }

}

void Mostrar(){

if(cima==-1){ JOptionPane.showMessageDialog(null,"La pila esta vacia\nNo hay libros que mostrar"); } else{ String mostrar=""; int i=0; for(i=0;i<=cima;i++){ mostrar=mostrar+"( "+PilaLibros[i]+" )\n"; } JOptionPane.showMessageDialog(null,"Los libros almacenados son:\n"+mostrar); } }

void Buscar(){

int veces=0;

String encontrado=""; String buscar=JOptionPane.showInputDialog(null,"Que libro quieres buscar?:"); for(int i=0;i<=cima;i++){ if(buscar.equals(PilaLibros[i])){ encontrado=encontrado+PilaLibros[i]; veces=veces+1; } } if(veces==0){ JOptionPane.showMessageDialog(null,"No se encontraron libros con el nombre ( "+buscar+" )"); }

Page 13: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 13

else{ JOptionPane.showMessageDialog(null,"Se encontraron "+veces+" libro(s) con el nombre ( "+buscar+" )"); } }

10. Cree otra clase de nombre PilaJ y agréguele el siguiente código:

public class PilaJ {

static Pila accion=new Pila();

public static void main(String[] args) {

int opc=0;

while(true){

opc=Integer.parseInt(JOptionPane.showInputDialog(null,

"--------------------------------------------------------\n" +

"PilaJava\n" +

"--------------------------------------------------------\n" +

"1. Alta de libro(s)\n" +

"2. Baja de libro(s)\n" +

"3. Mostrar libro(s)\n" +

"--------------------------------------------------------\n" +

"4. Buscar un libro\n" +

"5. Salir\n" +

"--------------------------------------------------------\n" +

"Teclea el numero de la accion a relizar:" ));

switch(opc){

case 1: accion.Insertar();

break;

case 2: accion.Sacar();

break;

case 3: accion.Mostrar();

break;

case 4: accion.Buscar();

break;

case 5: System.exit(0);

break;

default: JOptionPane.showMessageDialog(null,"No se realizo

ninguna accion\nOpcion no valida");

break;

}

}

}

Page 14: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 14

}

11. Clic en el icono Debug Main Project o bien Ctrl + F5 para compilar.

12. Ejecute la aplicación con el icono Ejecutar Main Project o F6

13. Si se detecta algún error corríjalo hasta obtener el resultado deseado.

Page 15: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 15

Práctica No. 9 Ejemplo de una Cola

1. Entre a NetBeans IDE 6.8.

2. Cree un proyecto estándar de nombre PracticasU2g.

3. Despliegue paquetes de fuentes para visualizar la opción practicasu2g.

4. Selección practicasu2g dando clic derecho sobre ella para visualizar las

opciones a elegir.

5. Elija Nuevo, Clase Java …

6. Nombre a la nueva clase Cola

7. Dentro de la clase Cola declare tamaño, principio y fin de tipo entero,

inicializando tamaño con 7, principio y fin con -1.

8. Asimismo, declare un vector de nombre ColaDias de tipo String y de tamaño

tamaño.

9. Cree el método insertarDia, tipiando para ello el siguiente código(Nota:

recuerde que si trabaja con Scanner tiene que agregarle un import):

void insertarDia( ) { if (fin==(tamaño-1)){ System.out.println ("La cola esta llena"); } else { fin++; if (fin==0) principio=0; System.out.print ("Teclea un día de la semana: "); Scanner sc=new Scanner (System.in); ColaDias[fin]=sc.next(); System.out.println ("Se insertó el día ( "+ColaDias[fin]+" )"); } }

10. A continuación agregué el método sacarDia, de la siguiente manera:

void sacarDia( ){ if(fin==-1){ System.out.println ("La cola esta vacía \n Introduce un día para poder sacarlo"); } else{ if (principio==fin) {

Page 16: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 16

principio =-1; fin = -1; } else{ System.out.println ("Se sacó el día ( "+ColaDias[principio]+" )"); //Se recorre el vector para acomodar las posiciones for (int aux1=0,aux=principio+1;aux<=fin; aux++, aux1++) { ColaDias [aux1]=ColaDias[aux]; } fin - -; } } }

11. Para corroborar que los números fueron manipulados correctamente añada el método mostrarDia, como se indica a continuación: void mostrarDia(){ if(principio==-1){ System.out.println ("La cola esta vacia\n No hay días que mostrar"); } else{ String mostrar=""; for(int i=principio;i<=fin;i++){ mostrar=mostrar+( ColaDias[i] + " "); } System.out.println ("Los días almacenados son:\n"+mostrar); } }

12. Para buscar de manera rápido un día, solo basta añadir el método buscarDia,

tipiando para ello el siguiente código:

void buscarDia(){ int veces=0; String dia ="", encontrado=""; System.out.print ("¿Qué día deseas buscar?: "); Scanner sc = new Scanner (System.in); dia = sc.next(); for(int i=0;i<=fin;i++){ if(dia.equals(ColaDias[i])){ encontrado=encontrado+ColaDias[i]; veces=veces+1; } } if(veces==0){ System.out.println ("No se encontraron los días indicados ( "+dia+" )");

Page 17: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 17

} else{ System.out.println ("Se encontraron "+veces+" número(s) ( "+dia+" )"); } } }

13. Cree otra clase de nombre ColaJ y capture el siguiente código que le permitirá

mostrar las opciones que el usuario puede realizar con ColaDia:

public class ColaJ { static Cola accion = new Cola (); public static void main(String[] args) { int opc=0; while(true){ System.out.print ("--------------------------------------------------------\n" + "Cola de Días\n" + "--------------------------------------------------------\n" + "1. Alta de día(s) " + " 2. Baja de día(s)\n" + "3. Mostrar día(s) " + " 4. Buscar día (s)\n" + "--------------------------------------------------------\n" + "5. Salir\n" + "--------------------------------------------------------\n" + "Teclea el numero de la accion a relizar:"); Scanner sc = new Scanner (System.in); opc=sc.nextInt(); switch(opc){ case 1: accion.insertarDia(); break; case 2: accion.sacarDia(); break; case 3: accion.mostrarDia(); break; case 4: accion.buscarDia(); break; case 5: System.exit(0); break; default: System.out.println ("No se realizo ninguna accion\nOpcion no valida"); break; } } } }

14. Clic en el icono Debug Main Project o bien Ctrl + F5 para compilar.

15. Ejecute la aplicación con el icono Ejecutar Main Project o F6

Page 18: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 18

16. Si se detecta algún error corríjalo hasta obtener el resultado deseado.

Page 19: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 19

Práctica No. 10 Cola de Maestros con java.swing

1. Entre a NetBeans IDE 6.8.

2. Cree un proyecto estándar de nombre PracticasU2h.

3. Despliegue paquetes de fuentes para visualizar la opción practicasu2h.

4. Selección practicasu2h dando clic derecho sobre ella para visualizar las

opciones a elegir.

5. Elija Nuevo, Clase Java …

6. Nombre a la nueva clase ColaMaestros

7. Dentro de la clase ColaMaestros declare tamaño, principio y fin de tipo

entero, inicializando tamaño con 10, principio y fin con -1.

8. Asimismo, declare un vector de nombre ColaM de tipo String y de tamaño

tamaño.

9. Cree el método altaMaestro, tipiando para ello el siguiente código(Nota:

recuerde que si trabaja con Scanner o con JOptionPane tiene que agregarle un

import):

public void altaMaestro(){ if(fin<(tamaño-1)){ fin=fin+1; ColaM[fin]=JOptionPane.showInputDialog(null,"Teclea el nombre del maestro: "); JOptionPane.showMessageDialog(null,"Se dió de alta el maestro ( "+ColaM[fin]+" )"); if (fin==0) { JOptionPane.showMessageDialog(null,"Se dió de alta el primer maestro"); principio=0; } } else { JOptionPane.showMessageDialog(null,"La Cola esta llena"); } }

10. Intente codificar el método bajaMaestro, tomando en cuenta que el vector

debe recorrerse cada vez que se dé de baja un elemento.

Page 20: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 20

11. Para corroborar que los números fueron manipulados correctamente añada el método listaMaestros, como se indica a continuación: public void listaMaestros(){ if(principio==-1){ JOptionPane.showMessageDialog(null,"La cola esta vacia"); } else{ String mostrar=""; int i=0; for(i=0;i<=fin;i++){ mostrar=mostrar+"( "+ColaM[i]+" )\n"; } JOptionPane.showMessageDialog(null,"Los maestros almacenados son:\n"+mostrar); } }

12. Compruebe usted que puede localizar de manera rápida un maestros creando

para ello el método consultaMaestro, en donde le solicite al usuario que

introduzca el nombre del maestro que desea buscar, debiendo mostrar el

numero de veces que aparece el maestro o en su caso un mensaje de que el

maestro no se encontró.

13. Clic en el icono Debug Main Project o bien Ctrl + F5 para compilar.

14. Ejecute la aplicación con el icono Ejecutar Main Project o F6

15. Si se detecta algún error corríjalo hasta obtener el resultado deseado.

Page 21: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 21

Práctica No. 11 Ocupando listas enlazadas simples

1. Entre a NetBeans IDE 6.8.

2. Cree un proyecto estándar de nombre PracticasU3a.

3. Despliegue paquetes de fuentes para visualizar la opción practicasu3a.

4. Selección practicasu3a dando clic derecho sobre ella para visualizar las

opciones a elegir.

5. Elija Nuevo, Clase Java …

6. Nombre a la nueva clase EjemploListaS.

7. Capture el siguiente código en la nueva clase:

public static void main(String[ ] args) { //creamos la lista a List a = new LinkedList(); //Añadimos elementos a la lista for (int i = 0; i < 100; i++) a.add(i); //Imprimimos la lista System.out.println(a); //Si queremos imprimir los elementos ListIterator it = a.listIterator(); //Iterator it2 = a.iterator(); while (it.hasNext()) System.out.println(it.next()); //Eliminar todos los elementos de la lista a.removeAll(a); //Imprimir el resultado System.out.println(a); System.exit(0); }

8. De acuerde con el código anterior, conteste las siguientes preguntas:

Page 22: Practicas de Estructura de Datos

PRACTICAS DE ESTRUCTURA DE DATOS LICENCIATURA EN INFORMÁTICA

JADS 22

¿Cuáles clases debe importar para poder ejecutar el programa sin ningún

problema?

¿Qué resultado nos muestra el programa al ejecutarse en la pantalla?

9. Investigue en internet para que se utiliza: LinkedList, ListIterator, hasNext

10. Cambie el ciclo for del programa añadiendo en su lugar el ciclo do… while.

11. Compile y ejecute el programa.