Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Taller de Programacion
Taller de Programacion
PROGRAMACION II
PEDRO GUEVARA SALGADO
UNIVERSIDAD DE CORDOBA
FACULTAD DE INGENIERIA
INGENIERIA DE SISTEMAS
MONTERIA CORDOBA
02/09/16
package main;
/**
*
* @author Carlos
*/
//Se declaran los atributos de la clase, en este caso se declaran los vectores
//(VectorCodigo), (vectorNombre), (NumeroCreditos), (Semestre),
//y un atributo para asignar el nmero de elementos que tendr el vector
(tamano).
public class TallerProgramacion {
int VectorCodigo[];
String vectorNombre[];
int NumeroCreditos[];
int Semestre [];
int tamano;
//posteriormente se implementa el mtodo constructor de la clase para
asignar los valores
//iniciales de los atributos
public TallerProgramacion () {
VectorCodigo=null;
vectorNombre=null;
NumeroCreditos=null;
Semestre=null;
tamano=0;
}
//El siguiente mtodo crea el vector en tiempo de ejecucin, posteriormente
se asignara su //tamao
public void crearVector(){
VectorCodigo = new int[tamano];
vectorNombre=new String[tamano];
NumeroCreditos=new int [tamano];
Semestre=new int [tamano];
}
//Se implementa el mtodo modificador para asignar los elementos en cada
posicin del //vector.
public void setVectorCodigo (int p,int val){
VectorCodigo[p]=val;
}
//Se implementa el mtodo que permitir obtener los elementos del vector
public int getVectorCodigo (int p){
return VectorCodigo[p];
}
//Se implementa el mtodo modificador para asignar los elementos en cada
posicin del //vector.
public void setVectorNombre (int p,String val){
vectorNombre[p]=val;
}
//Se implementa el mtodo que permitir obtener los elementos del vector
public String getVectorNombre(int p){
return vectorNombre[p];
}
//Se implementa el mtodo modificador para asignar los elementos en cada
posicin del //vector.
public void setVectorNumeroCreditos (int p,int val){
NumeroCreditos[p]=val;
}
//Se implementa el mtodo que permitir obtener los elementos del vector
public int getVectorNumeroCreditos (int p){
return NumeroCreditos[p];
}
//Se implementa el mtodo modificador para asignar los elementos en cada
posicin del //vector.
public void setVectorSemestre (int p,int val){
Semestre[p]=val;
}
//Se implementa el mtodo que permitir obtener los elementos del vector
int i;
int posMayor;
int mayorElemento;
posMayor = inicio;
mayorElemento = getVectorNumeroCreditos(inicio);
for (i=inicio+1; i<=getTamao()-1; i++){
if (getVectorNumeroCreditos(i)> mayorElemento){
mayorElemento = getVectorNumeroCreditos(i);
posMayor = i;
}
}
return posMayor; }
//Implementacion de metodo de intercambio para implementar luego el
metodo de busqueda //binaria
public void metodoSeleccion(){
for (int i=0;i<=getTamao()-1;i++){
cambiar (i,posicionMayor(i));
}
////////// ordenamiento shell cadena string
public void ordenarShell()
{
int intervalo,i,j,k;
intervalo = getTamao() /2;
while (intervalo >0)
{
for (i = intervalo;i<getTamao(); i++)
{
j=i-intervalo;
while (j>=0)
{
k = j+intervalo;
if
(getVectorNombre(j).compareTo(getVectorNombre(k))<0){
j = -1;
}
else{
cambiar(j, k);
j -= intervalo;
}
}
}
intervalo = intervalo / 2;
}
}
//Implementacion del metodo borbuja, el cual nos permite comparar todos
con todos //generando multiples comparaciones extras en el vector.
public void Burbuja(){
int i,j;
for ( i=0;i<=getTamao()-1;i++){
for (j=0;j<=(getTamao()-i)-2;j++){
if (getVectorCodigo(j)>getVectorCodigo(j+1)){
cambiar(j,j+1);
}
}
}
}
//implementacion del metodo de busqueda binaria
}
////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////
package main;
import javax.swing.JOptionPane;
/**
*
* @author Carlos
*/
public class Main {
//se crea un metodo que permita mostrar los elementos del vector.
public static void Mostrar (TallerProgramacion mostrar){
for (int i=0;i<mostrar.getTamao();i++){
String datosVect="";
datosVect=datosVect+String.valueOf("CODIGO"+mostrar.getVectorCodigo(i)
+"\n");
datosVect=datosVect+String.valueOf("NOMBRE
ASIGNATURA"+mostrar.getVectorNombre(i)+"\n");
datosVect=datosVect+String.valueOf("SEMESTRE"+mostrar.getVectorSemes
tre(i)+"\n");
datosVect=datosVect+String.valueOf("CREDITOS"+mostrar.getVectorNumer
oCreditos(i)+"\n");
JOptionPane.showMessageDialog(null, "============
ELEMENTOS DEL VECTOR============"+"\n"+ datosVect);
}
}
public static void main(String[] args) {
// Se crea un objeto de la clase TallerProgramacion llamado ordenar para
acceder a los
//mtodos pbicos implementados en la clase.
TallerProgramacion Taller=new TallerProgramacion();
int tamao=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite
el tamao "));
Taller.setTamao(tamao);
Taller.crearVector();
for (int i=0;i<Taller.getTamao();i++){
String nom=(JOptionPane.showInputDialog(null,"nombre
asignatura"+i+":"));
Taller.setVectorNombre(i, nom);
int creditos = Integer.parseInt(JOptionPane.showInputDialog(null,
"Digitar creditos de la asignatura "+i+": "));
Taller.setVectorNumeroCreditos(i, creditos);
int codigo = Integer.parseInt(JOptionPane.showInputDialog(null,
"Digitar codigo de la asignatura "+i+": "));
Taller.setVectorCodigo(i, codigo);
int semestre = Integer.parseInt(JOptionPane.showInputDialog(null,
"Digitar semestre "+i+": "));
Taller.setVectorSemestre(i, semestre);
}
JOptionPane.showMessageDialog(null, "LOS DATOS SE HAN LLENADO
CORRECTAMENTE");
Mostrar(Taller);
int datoBuscar;
int posicionDato;
int opcion;
do{
opcion=menu();
switch(opcion) {
case 1:
datoBuscar =
Integer.parseInt(JOptionPane.showInputDialog(null, "Digite el dato que desea
buscar:"));
posicionDato = Taller.buscarCodigo(datoBuscar);
if(posicionDato != -1){
JOptionPane.showMessageDialog(null, "El elemento
"+Taller.getVectorCodigo(posicionDato)+ " se encuentra en la posicin
"+posicionDato+" del vector");
}else{
JOptionPane.showMessageDialog(null, "El Elemento No se
encuentra en el vector");
}
break;
case 2:
Taller.metodoSeleccion();
Mostrar(Taller);
break;
case 3:
Taller.ordenarShell();
Mostrar(Taller);
break;
case 4:
Taller.Burbuja();
Mostrar(Taller);
break;
}
}while(opcion != 5);
}
}