documentacion estructura de datos

37
INTRODUCCIÓN Una de las aplicaciones más interesantes y potentes de la memoria dinámica y de los punteros son, sin duda, las estructuras dinámicas de datos. En muchas ocasiones se necesitan estructuras que puedan cambiar de tamaño durante la ejecución del programa. Por supuesto, podemos crear arrays dinámicos, pero una vez creados, tu tamaño también será fijo, y para hacer que crezcan o disminuyan de tamaño, deberemos reconstruirlos desde el principio. Las estructuras dinámicas nos permiten crear estructuras de datos que se adapten a las necesidades reales a las que suelen enfrentarse nuestros programas. Pero no sólo eso, como veremos, también nos permitirá crear estructuras de datos muy flexibles, ya sea en cuanto al orden, la estructura interna o las relaciones entre los elementos que las componen. Las estructuras de datos están compuestas de otras pequeñas estructuras a las que llamaremos nodos o elementos, que agrupan los datos con los que trabajará nuestro programa y además uno o más punteros autorreferenciales, es decir, punteros a objetos del mismo tipo nodo. En esta investigación crearemos y documentaremos un módulo de control de colas o turnos en java.

Upload: heinz-lam

Post on 24-Oct-2014

60 views

Category:

Documents


0 download

DESCRIPTION

program en java netbeans simulacion de colas de un banco

TRANSCRIPT

Page 1: Documentacion Estructura de Datos

INTRODUCCIÓN

Una de las aplicaciones más interesantes y potentes de la memoria dinámica y de

los punteros son, sin duda, las estructuras dinámicas de datos. En muchas

ocasiones se necesitan estructuras que puedan cambiar de tamaño durante la

ejecución del programa. Por supuesto, podemos crear arrays dinámicos, pero una

vez creados, tu tamaño también será fijo, y para hacer que crezcan o disminuyan

de tamaño, deberemos reconstruirlos desde el principio.

Las estructuras dinámicas nos permiten crear estructuras de datos que se adapten

a las necesidades reales a las que suelen enfrentarse nuestros programas. Pero

no sólo eso, como veremos, también nos permitirá crear estructuras de datos muy

flexibles, ya sea en cuanto al orden, la estructura interna o las relaciones entre los

elementos que las componen.

Las estructuras de datos están compuestas de otras pequeñas estructuras a las

que llamaremos nodos o elementos, que agrupan los datos con los que trabajará

nuestro programa y además uno o más punteros autorreferenciales, es decir,

punteros a objetos del mismo tipo nodo.

En esta investigación crearemos y documentaremos un módulo de control de

colas o turnos en java.

Presentamos esta investigación basados en investigación y dudas que se nos

han planteado, que tiene como finalidad reforzar los conocimientos de colas, pilas

y memoria dinámica en Lenguaje java para aplicarlos a necesidades específicas

de la materia estructura de datos.

Page 2: Documentacion Estructura de Datos

MARCO CONCEPTUAL

Las razones que nos llevaron a realizar esta investigación principalmente fue

validar los conocimientos básicos del curso de estructura de datos, recibidos

durante nuestros estudios en la Universidad Mariano Gálvez en forma lógica,

crítica y analíticamente para la solución de problemas en los diferentes

necesidades que se plantearan a lo largo de la carrera, con modelos de solución

sencilla. Facilitarles a los estudiantes el entendimiento del manejo de pilas, colas y

memoria dinámica para que el aprendizaje de las estructuras de datos, mediante

el uso de documentación de un módulo de control de colas o turnos en java, en el

trabajo. Le mostramos al estudiante paso a paso como se construye el programa

así estimulando el pensamiento crítico. Proporcionamos un programa de control

de colas o turnos que ejercita la construcción de conocimiento, que permita

discernir sobre la base conceptual manejo de memoria dinámica. En el trabajo

también Exploramos herramientas moderna con el uso de java convencional en

los que se pida al estudiante su interpretación y análisis como un medio para

entender relaciones matemáticas.

La importancia de los temas investigados es principalmente que nos permite

Reforzar los conceptos de manejo colas, pilas y memoria dinámica, sus relaciones

y sus aplicaciones a problemas orientados hacia la ingeniería. Solucionar

problemas a través de las diferentes estrategias de programación y mediante la

solución de problemas, usando modelos de programación de java para una

optimización de los recursos que tenga a su disposición

Page 3: Documentacion Estructura de Datos

MARCO METODOLÓGICO

El propósito fundamental de la presente investigación, es contribuir al

entendimiento de pilas, colas y memoria dinámica, ya que generalmente traemos

problemas desde la programación básica, a través de una propuesta que propicie

el desarrollo de habilidades de lógica para todo estudiante de Ingeniería que

comienza, revisar y desarrollar conceptos y procedimientos de programación.

METODOLOGÍA

Se consideró el método científico porque proporciona lineamientos lógicos en la

investigación, con la finalidad de alcanzar los resultados concluyentes que fueron

analizados científicamente, lo que nos permitió determinar las causas que

originaron el problema del estudio.

Se elaboró un trabajo de forma Explicativa y explicativa y concluyente en el área

de estructura de datos de la Universidad Mariano Gálvez.

MARCO TEÓRICO

Todo problema de investigación se da dentro de un conjunto de proposiciones

más o menos relacionadas entre sí, que definen términos de programación que se

logran aplicar a la carrera de ingeniería. De acuerdo con sus contenidos y con sus

niveles de elaboración, está diseñado con el fin de poder explicar lo más mínimo y

lograr luego un nivel más profesional con el entendimiento. Ya que la información

que se encuentra plasmada con el ideal de poder de poder facilitar el aprendizaje

personal como profesional en el uso de java, pilas, colas y memoria dinámica.

Page 4: Documentacion Estructura de Datos

INFORME DE INVESTIGACIÓN

PUNTOS DEL PROGRAMA RELACIONADOS CON EL TEMA

El foco de nuestra investigación está dirigido únicamente a un tema en específico

del programa de estructura de datos de la universidad mariano Gálvez, como lo

es pilas, colas y memoria dinámica, nuestra investigación se centra en la

explicación breve y bien formulada de los conceptos básicos documentando el

programa, en la investigación se utiliza lo visto en curso de estructura de datos

como lo son secuencias, pasos y estructura de la solución de problemas.

JUSTIFICACIÓN DE LA INVESTIGACIÓN

Decidimos el siguiente proyecto de investigación debido a que prácticamente toda

teoría en las ciencias de la comunicación e ingeniería es formulada en términos

de programación, por lo que es fundamental para todo estudiante de Ingeniería

que comienza, revisar y desarrollar conceptos y estructuras de programación

avanzada.

VENTAJA COMPETITIVA DE LA INVESTIGACIÓN

El plus que aporta nuestra investigación es que el estudiante cuenta con ella con

una documentación completa módulo de control de colas o turnos en java.

con una recopilación de los puntos más importantes para seguir los pasos a

seguir para realizar y solucionar problemas de estructura de datos y memoria

dinámica .

También ayuda a que el estudiante desarrolle su capacidad de análisis y

pensamiento lógico para emplearlos en la formulación y resolución de problemas

de programación de Ingeniería, haciendo énfasis en los conceptos que servirán

como base para el estudio la memoria dinámica y programación avanzada.

Page 5: Documentacion Estructura de Datos

OBJETIVOS DE APRENDIZAJE DE LA INVESTIGACIÓN

Identificar la forma correcta de manejar Memoria Dinámica, pilas y colas.

Decidir de manera correcta y de la forma más eficiente, para manejar la

estructura de datos cuando y como se deben de aplicar.

Justificar cada paso que realizan, cuando se encuentren frente a un ejercicio

en el cual deban aplicar pilas, colas y memoria dinámica dentro de una

estructura de datos en la programación de java.

Page 6: Documentacion Estructura de Datos

/*clase para generar las estaciones */package Datos;

/** * * @author George */public class Estaciones {

public String getEstatus() { return estatus; }

public void setEstatus(String estatus) { this.estatus = estatus; }

String estatus; public String getId_estacion() { return id_estacion; }

public void setId_estacion(String id_estacion) { this.id_estacion = id_estacion; }

public String getNombre_estacion() { return nombre_estacion; }

public void setNombre_estacion(String nombre_estacion) { this.nombre_estacion = nombre_estacion; } String id_estacion; String nombre_estacion; }

/*clase para poder generar los servicios * * . */package Datos;

/** * * @author George */public class Servicios {

public String getId() { return id; }

public void setId(String id) { this.id = id; }

public String getNombre_servicio() { return nombre_servicio; }

public void setNombre_servicio(String nombre_servicio) {

Page 7: Documentacion Estructura de Datos

this.nombre_servicio = nombre_servicio; } String id; String nombre_servicio; }

/*Clase para generar los tickets */package Datos;

/** * * @author George */public class Ticket {

// estructura de fecha YYYY-MM-DD Estructura minutos HH:MM:SS hora final default 00:00:00 //variable interna de contador private int ticket;private String servicio;private String hora_inicio;private String hora_final; String No_ticket;

//Campos para controlar la funcionalidad String usuario; String Estatus; String fecha; // opciones del camo Estatus "1. EN COLA, ATENDIENDO, FINALIZADO" public void setEstatus(String Estatus) { this.Estatus = Estatus; } public String getEstatus() { return Estatus; }

public String getFecha() { return fecha; }

public void setFecha(String fecha) { this.fecha = fecha; }

public String getUsuario() { return usuario; }

public void setUsuario(String usuario) { this.usuario = usuario; }

// generador de tickets public void Genera_No_ticket(String servicio, int ticket) { No_ticket=servicio+ticket+""; this.No_ticket = No_ticket; }

Page 8: Documentacion Estructura de Datos

//lectura de tickets desde DB public void setNo_ticket(String No_ticket) { this.No_ticket = No_ticket; }

public String getNo_ticket() { return No_ticket; }

public String getHora_final() { return hora_final; }

public void setHora_final(String Hora_final) { if (Hora_final.equals("")){ this.hora_final="00:00:00"; }else { this.hora_final = Hora_final; }}

public String getHora_inicio() { return hora_inicio; }

public void setHora_inicio(String Hora_inicio) { if (Hora_inicio.equals("")){ this.hora_inicio="00:00:00"; } else{ this.hora_inicio = Hora_inicio; }}

public String getServicio() { return servicio; } }

/* * To change this template, choose Tools | Templates * and open the template in the editor. */package Funcionalidad;

/** * * Aca se encuentra toda la funcionalidad para consultar y grabar en la base de datos */

import Datos.Estaciones;import Datos.Servicios;import Datos.Ticket;

import java.sql.*;import java.util.Vector;

public class ConexionBasedatos { // variables para conexion

Page 9: Documentacion Estructura de Datos

public String db="costumer_service"; public String url="jdbc:mysql://127.0.0.1/"+db; public String user="root"; public String pass="root"; Connection link=null; public Connection Conectar(){ try{ Class.forName("org.gjt.mm.mysql.Driver"); link=DriverManager.getConnection(this.url,this.user, this.pass); } catch(Exception e){ System.out.println(e); } return link; } // metodos para la parte de record public void graba_ticket(Ticket x){ Conectar(); if (x!=null){ try{ Statement stmt=link.createStatement(); stmt.executeUpdate("INSERT INTO transacciones(fecha, no_ticket, hora_inicio, hora_final, " + "usuario, Estatus)" +"VALUES('"+x.getFecha()+"','"+x.getNo_ticket()+"','"+x.getHora_inicio()+"','" +x.getHora_final()+"','"+x.getUsuario()+"','"+x.getEstatus()+"')"); }catch (SQLException e){System.out.println(e);} }else System.out.println("no hay datos para grabar"); } public Vector Consulta_servicios(){ Vector respuesta=null; Conectar(); Servicios lista=null; Vector listado_servicios=null; try{ Statement stmt= link.createStatement();

Page 10: Documentacion Estructura de Datos

ResultSet rs=stmt.executeQuery("SELECT * FROM servicios "); listado_servicios = new Vector(); while(rs.next()){ Servicios temp=new Servicios(); temp.setId(rs.getString("id")); temp.setNombre_servicio(rs.getString("nombre_servicio")); listado_servicios.addElement(temp); } }catch(SQLException e){ System.out.println(e); } return listado_servicios; } //Query para estaciones public void Consulta_Estaciones(){ Conectar(); Vector listado_Estaciones=null; Estaciones lista=null; try{ Statement stmt= link.createStatement(); ResultSet rs=stmt.executeQuery("SELECT * FROM estaciones "); listado_Estaciones = new Vector(); while(rs.next()){ Estaciones temp=new Estaciones(); temp.setId_estacion(rs.getString("id_estacion")); temp.setNombre_estacion(rs.getString("nombre_Estacion")); temp.setEstatus(rs.getString("estatus")); listado_Estaciones.addElement(temp); } }catch(SQLException e){ System.out.println(e); } for (int i=0; i<listado_Estaciones.size(); i++){ lista = (Estaciones) listado_Estaciones.elementAt(i); System.out.println(lista.getId_estacion()); System.out.println(lista.getNombre_estacion()); System.out.println(lista.getEstatus()); } } public Vector Lista_de_tickets(String x){ Conectar(); Vector listado_Ticket=null; Ticket lista=null; try{ Statement stmt= link.createStatement();

Page 11: Documentacion Estructura de Datos

ResultSet rs=stmt.executeQuery("SELECT * FROM transacciones WHERE Estatus='"+x+"' "); listado_Ticket = new Vector(); while(rs.next()){ Ticket temp=new Ticket(); temp.setFecha(rs.getString("fecha")); temp.setNo_ticket(rs.getString("no_ticket")); temp.setHora_inicio(rs.getString("hora_inicio")); temp.setHora_final(rs.getString("hora_final")); temp.setUsuario(rs.getString("usuario")); temp.setEstatus(rs.getString("estatus")); listado_Ticket.addElement(temp); } }catch(SQLException e){ System.out.println(e); } return listado_Ticket; } public void InsertaServicio(String x , String y){ Conectar(); if (x!=null&& y!= null){ try{ Statement stmt=link.createStatement(); stmt.executeUpdate("INSERT INTO servicios(id, " + " nombre_servicio)" +"VALUES('"+x+"','"+y+"')"); }catch (SQLException e){System.out.println(e);} }else System.out.println("no hay datos para grabar"); } public void UpdateServicio(String x , String y,String xx , String yy){ Conectar(); if (x!=null && y!= null && xx!=null && yy!=null){ try{ Statement stmt=link.createStatement(); // Prepare a statement to update a record //String sql = "UPDATE servicios SET id='"+xx+"' WHERE id = '"+x+"'" ; String sql= "UPDATE servicios SET nombre_servicio='"+yy+"' WHERE nombre_servicio = '"+y+"'" ; String sql2= "UPDATE servicios SET id='"+xx+"' WHERE id = '"+x+"'" ;

Page 12: Documentacion Estructura de Datos

// Execute the insert statement int updateCount = stmt.executeUpdate(sql); int updateCount2= stmt.executeUpdate(sql2); //int updateCount2= stmt.executeUpdate(sql1) ; // updateCount contains the number of updated rows }catch (SQLException e){System.out.println(e);} }else System.out.println("no hay datos para grabar"); } public void DeleteServicio(String x ){ Conectar(); if (x!=null){ try{ String sql = "DELETE FROM servicios WHERE id = ?"; String Id = x; // Create a statement object. We use PreparedStatement here. PreparedStatement statement = link.prepareStatement(sql); // Pass a value of a userId that will tell the database which // records in the database to be deleted. Remember that when // using a statement object the indext parameter is start from // 1 not 0 as in the Java array data type index. statement.setString(1, Id); // Tell the statement to execute the command. The executeUpdate() // method for a delete command returns number of records deleted // as the command executed in the database. If no records was // deleted it will simply return 0 int rows = statement.executeUpdate(); System.out.println(rows + " record(s) deleted."); }catch(Exception e){} }else System.out.println("no hay datos para grabar"); } public void InsertaUsuario(String x , String y,String w, String z){ Conectar(); // if (x!=null&& y!= null){ try{

Page 13: Documentacion Estructura de Datos

Statement stmt=link.createStatement(); stmt.executeUpdate("INSERT INTO usuarios (user_id, " + " password,nombre,apellido)" +"VALUES('"+x+"','"+y+"','"+w+"','"+z+"')"); }catch (SQLException e){System.out.println(e);} //}else //System.out.println("no hay datos para grabar"); } public void DeleteUsuario(String x ){ Conectar(); if (x!=null){ try{ String sql = "DELETE FROM usuarios WHERE user_id = ?"; String Id = x; // Create a statement object. We use PreparedStatement here. PreparedStatement statement = link.prepareStatement(sql); // Pass a value of a userId that will tell the database which // records in the database to be deleted. Remember that when // using a statement object the indext parameter is start from // 1 not 0 as in the Java array data type index. statement.setString(1, Id); // Tell the statement to execute the command. The executeUpdate() // method for a delete command returns number of records deleted // as the command executed in the database. If no records was // deleted it will simply return 0 int rows = statement.executeUpdate(); System.out.println(rows + " record(s) deleted."); }catch(Exception e){} }else System.out.println("no hay datos para grabar"); } public void Actualiza_Estatusticket(String user, String Ticket, String Estatus){ GeneraTicket hora_final =new GeneraTicket(); String Hora_final; if (Estatus.equals("Atendiendo")){ Hora_final="00:00:00"; }else {

Page 14: Documentacion Estructura de Datos

Hora_final=hora_final.regresa_hora(); } Conectar(); if (Ticket !=null) { try{ Statement stmt=link.createStatement(); stmt.executeUpdate("UPDATE transacciones set usuario='"+user+"', Estatus='"+Estatus+"', hora_final='"+Hora_final+"'" + "WHERE no_ticket='"+Ticket+"'" ); }catch (SQLException e){System.out.println(e);} }else System.out.println("no hay datos para grabar"); } public void InsertarEstacion(String x , String y,String w){ Conectar(); if (x!=null&& y!= null){ try{ Statement stmt=link.createStatement(); stmt.executeUpdate("INSERT estaciones(id_estacion, " + " nombre_estacion,estatus)" +"VALUES('"+x+"','"+y+"','"+w+"')"); }catch (SQLException e){System.out.println(e);} }else System.out.println("no hay datos para grabar"); } }

/* * To change this template, choose Tools | Templates * and open the template in the editor. */package Funcionalidad;

/** * * @author George */import Sonido.separaString;import Datos.Ticket;import Login.Principal;

Page 15: Documentacion Estructura de Datos

import forms.Funcionalidad_DispensaTicket;import java.awt.print.PrinterException;import java.awt.print.PrinterJob;import java.util.*;import java.util.Date;import java.sql.*;import java.util.logging.Level;import javax.swing.JDialog;import javax.swing.JFrame;

public class Estructuras_final { Vector servicios=null; Connection conn=null;

/** * Aqui se encuentra el metodo principal de main donde está el acceso a la conexión y la llamada a todos lo objetos de l */las clases. public static void main(String[] args) { // TODO code application logic here

// separaString voz = new separaString();// voz.Obtener_sonido("A1548978"); new Principal().setVisible(true);

GeneraTicket generador_ticket=new GeneraTicket();Ticket temp = new Ticket();temp=generador_ticket.generar_ticket("B"); //ingresa el servicio del que quiere generar el ticket

System.out.println("hora "+temp.getHora_inicio());System.out.println("ticket "+temp.getNo_ticket());System.out.println("fecha 1 "+generador_ticket.regresa_fecha());

ConexionBasedatos conexion = new ConexionBasedatos();temp.setFecha(generador_ticket.regresa_fecha()); //YYY-MM-DD//conexion.graba_ticket(temp);System.out.println(temp.getFecha()+" esta es la fecha");//conexion.Conectar();

conexion.Consulta_servicios();conexion.Consulta_Estaciones();conexion.Lista_de_tickets("Atendiendo");

cola cola1 = new cola();

// Logger.getLogger(PrintMe.class.getName()).log(Level.SEVERE, null, ex); } }

/* * * clase que genera los tickets. */package Funcionalidad;

import Datos.Ticket;import java.util.Calendar;

Page 16: Documentacion Estructura de Datos

import java.util.Random;

/** * * @author George */public class GeneraTicket { int auxx;

public int generarNumero(){ auxx++; int aux=auxx; return aux;

}

public Ticket generar_ticket(String Servicio){ Ticket respuesta=new Ticket();//correlativo para ticket// int aux;// aux=generarNumero(); Random rnd = new Random(); int aux= rnd.nextInt(100) ; //asignacion de valores a variables

respuesta.Genera_No_ticket( Servicio,aux);respuesta.setHora_inicio(regresa_hora());respuesta.setHora_final("");respuesta.setUsuario("");respuesta.setEstatus("En cola");respuesta.setUsuario("");return respuesta; }

// regresa hora del sistema cuando se genero el ticket

public String regresa_hora(){ String hora_inicio=null;

Calendar calendario =Calendar.getInstance();int hora= calendario.get(Calendar.HOUR);int min=calendario.get(Calendar.MINUTE);int sec=calendario.get(Calendar.SECOND);

hora_inicio=(hora+":"+min+":"+sec);return hora_inicio;} public String regresa_fecha(){ String fecha= null; Calendar calendario =Calendar.getInstance(); int anio =calendario.get(Calendar.YEAR); int mes=calendario.get(Calendar.MONTH); int dia =calendario.get(Calendar.DAY_OF_MONTH); fecha =(anio+"/"+mes+"/"+dia);

Page 17: Documentacion Estructura de Datos

return fecha; } }

/* * * Genera nuevos servicios para ser agregados a la base de datos. */package Funcionalidad;

/** * * @author George */public class ServiciosDisponibles { ConexionBasedatos conexion= new ConexionBasedatos(); public void muesra_servicios(){ } }

/* * * Objeto que manda a la imprimir el ticket generado. */

package Impresiones;

import java.awt.Graphics;import java.awt.print.PageFormat;import java.awt.print.Printable;

public class PrintObject implements Printable { private String gg; public PrintObject(String g){ gg=g; } @Override public int print (Graphics g, PageFormat f, int pageIndex) { if (pageIndex == 0) { g.drawString(gg, 100,100); // Draw the letter 1 at pixel coordinates (100,100) return PAGE_EXISTS; }else return NO_SUCH_PAGE; }}

Page 18: Documentacion Estructura de Datos

/* * Clase que hace la consulta si el usuario exite * */package Login;

import Funcionalidad.*;

import java.sql.*;import java.util.logging.Level;import java.util.logging.Logger;import javax.swing.JOptionPane;

/** * @author heinz */public class Consultas { // objeto para conectar ConexionBasedatos con=new ConexionBasedatos(); //variables de conectar Connection conect=null; Statement st=null; ResultSet rs=null; String query; public boolean verificar (String user, String pwr) { int sw=0; query = "select * from usuarios where nombre='"+user+"' and password='"+pwr+"'"; try { conect=con.Conectar(); st=conect.createStatement(); rs=st.executeQuery(query); while (rs.next()){ if (rs.getString(1)==null) sw=0; else sw=1; } } catch (SQLException ex) { JOptionPane.showMessageDialog(null,"Error sql"+ ex); } if (sw==1)return true; else return false; }}

/* * Clase principal para reproducir el audio en la llamada de tickets. * */

ackage Sonido;

import javazoom.jl.player.Player; public class Sonido { public void reproducirAudio(String archivo) {try {Player player = new Player(getClass().getResourceAsStream(archivo));player.play();player.close();} catch (Exception e) {

Page 19: Documentacion Estructura de Datos

System.out.println("Error al reproducir el audio");}} }

import javax.swing.*;

public class separaString {

public void Obtener_sonido(String x){ char numero1; numero1=x.charAt(1);

char letra[]=new char[10];Sonido sonido1 = new Sonido();sonido1.reproducirAudio("/recursos/ticket.mp3");

for ( int j=0; j < x.length(); j++) {

letra[j]= x.charAt (j);switch(letra[j]) { case '1': sonido1.reproducirAudio("/recursos/UNO.mp3"); break; case '2': sonido1.reproducirAudio("/recursos/DOS.mp3"); break; case '3': sonido1.reproducirAudio("/recursos/TRES.mp3"); break; case '4': sonido1.reproducirAudio("/recursos/CUATRO.mp3"); break; case '5': sonido1.reproducirAudio("/recursos/CINCO.mp3"); break; case '6': sonido1.reproducirAudio("/recursos/SEIS.mp3"); break; case '7': sonido1.reproducirAudio("/recursos/SIETE.mp3"); break; case '8': sonido1.reproducirAudio("/recursos/OCHO.mp3"); break; case '9': sonido1.reproducirAudio("/recursos/NUEVE.mp3"); break; case '0': sonido1.reproducirAudio("/recursos/CERO.mp3"); break; case 'A': sonido1.reproducirAudio("/recursos/A.mp3"); break; case 'B': sonido1.reproducirAudio("/recursos/B.mp3"); break; case 'C': sonido1.reproducirAudio("/recursos/C.mp3"); break;

}// fin de swithc

Page 20: Documentacion Estructura de Datos

} sonido1.reproducirAudio("/recursos/pasar.mp3");

switch(numero1) { case '1': sonido1.reproducirAudio("/recursos/UNO.mp3"); break; case '2': sonido1.reproducirAudio("/recursos/DOS.mp3"); break; case '3': sonido1.reproducirAudio("/recursos/TRES.mp3"); break; case '4': sonido1.reproducirAudio("/recursos/CUATRO.mp3"); break; case '5': sonido1.reproducirAudio("/recursos/CINCO.mp3"); break; case '6': sonido1.reproducirAudio("/recursos/SEIS.mp3"); break; case '7': sonido1.reproducirAudio("/recursos/SIETE.mp3"); break; case '8': sonido1.reproducirAudio("/recursos/OCHO.mp3"); break; case '9': sonido1.reproducirAudio("/recursos/NUEVE.mp3"); break; case '0': sonido1.reproducirAudio("/recursos/CERO.mp3"); break; case 'A': sonido1.reproducirAudio("/recursos/A.mp3"); break; case 'B': sonido1.reproducirAudio("/recursos/B.mp3"); break; case 'C': sonido1.reproducirAudio("/recursos/C.mp3"); break;

}// fin de swithc}

}

Page 21: Documentacion Estructura de Datos

Pantallazos dela ejecución del programa

Page 22: Documentacion Estructura de Datos
Page 23: Documentacion Estructura de Datos
Page 24: Documentacion Estructura de Datos
Page 25: Documentacion Estructura de Datos
Page 26: Documentacion Estructura de Datos
Page 27: Documentacion Estructura de Datos

Costo del desarrollo del proyecto

Costo de Desarrollo Costo QuetzalesCurso de universidad Mariano Galvez Estructura de datos(mensualidades e inscripcion) Q9,275Curso Gastos Dia Sabado (Gasolina, almuerzo,refaccion, gastos varios) Q8,000comunicaciones (Celular, Internet) Q400tiempo dedicado dentro de horario laboral (144 horas) Q900Tiempo dedicado fuetra de horario laboral Reunion todos los integrantes (12 Horas) Q75Tiempo dedicado fuera de horario laboral (Casa personal) Q500Comida reunion todos los integrantes(pizza, bebidas,cenas) Q195Documentacion(cd, encuadernado,presentacion) Q35Total de desarrollo Q19,380

Page 28: Documentacion Estructura de Datos

UNIVERSIDAD MARIANO GÁLVEZ DE GUATEMALA

FACULTAD DE INGENIERA

INGENIERA EN SISTEMAS DE INFORMACIÓN Y CIENCIAS DE LA

COMPUTACIÓN

ESTRUCTURA DE DATOS

PLAN FIN DE SEMANA

MODULO DE CONTROL DE COLAS O TURNOS

GUATEMALA, JUNIO DEL 2012

CATEDRATICO(A): INGENIERO RICARDO BELTRAN.INTEGRANTE CARNET EMAIL TELÉFONO

Luis Fernando Escobar Morales 0900-10-11306 [email protected] 5403-0957

Juan Carlos Lopez Huertas 0900-10-703  [email protected] 5633-8269

Heinz Richard Turcios Lam 0900-10-1132 [email protected] 4336-6815

Jorge Barrera Barrera  0900-10-12569 [email protected] 5825-2770