Vous êtes sur la page 1sur 16

ALGORITMOS PROCESO DE FORMACIN

LUIS GUILLERMO TORRES SUAREZ

Anlisis y Desarrollo de Sistemas de Informacin


"ADSI"

Ing: OMAR ORLANDO VALBUENA


Tutor (es) SENA

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANLISIS Y DISEO DE SISTEMAS DE INFORMACIN
MAYO DE 2015

De acuerdo con el contexto de su proyecto de formacin y los


requerimientos funcionales identificados en la primera fase del proyecto,
se debe proponer cinco posibles situaciones o procesos asociados a la
funcionalidad de su sistema de informacin, los cuales se puedan
desarrollar a travs de algoritmos.
La descripcin de estos cinco procesos debe ser redactada de forma
clara y con los detalles necesarios para poder construir los algoritmos
correspondientes. Seleccione dos de estos cinco procesos y realice las
tareas correspondientes para desarrollar esos algoritmos, es decir el
diagrama de flujo correspondiente, su transformacin a seudocdigo y
por ltimo la codificacin y posterior ejecucin en lenguaje Java.
Se debe documentar el proceso con las imgenes de cada una de las
herramientas usadas y presentar los archivos del cdigo resultantes.

Procesos o Situaciones
1. Registro de Persona al Ingreso a la Institucin.
Al realizar el ingreso de una persona, se debe registrar con nmero
de documento de identidad el ingreso, describiendo fecha y hora
del evento, as como datos personales de la persona.
Se cuenta con una base de datos de personas, si no se encuentra
en la base de datos se registra el Nombre Completo, No. De
Identificacin, Sexo.
Diagrama de Flujo

Seudocdigo
Cadena [50] nombre, cedula,sexo
INICIO
Escriba "Ingrese numero de Documento: "
Lea cedula
Escriba "Ingrese Nombre de la Persona: "
Lea nombre
Escriba "Ingrese el Sexo: "
Lea sexo
//Mostrar Valores
Escriba "/////////////////////////////////////////////////////// "
Llamar nueva_linea
Escriba "Cedula del Empleado: ", cedula
Llamar nueva_linea
Escriba "Nombre del Empleado: ", nombre
Llamar nueva_linea
Escriba "Sexo: ",sexo
Llamar nueva_linea
Escriba "Fecha de Ingreso: Fecha_Actual"
Llamar nueva_linea
Escriba "Hora de Ingreso: Hora_Actual"
Llamar nueva_linea
Llamar nueva_linea
FIN

Codificacin
package Procesos;

/*
* Laboratorio 3; Programacin con el Lenguaje JAVA
* Ejercicio Nmero 1
* @Autor: Luis Guillermo Torres
*/
import javax.swing.*;
import java.awt.event.*;
import java.util.Calendar;
public class Proceso1 extends JFrame implements ActionListener
{
private JButton Boton;
private JLabel Mensaje;
private JTextField Doc,CNombre;
private JComboBox Sexoc;
int Din=0;
Proceso1()
{
//.................Configuracin la Ventana
super("PROYECTO SAGIP, proceso 1 - (Sistema Automtico
de Gestin de Ingreso al Publico) - SENA 2015"); //Titulo de la Ventana
setLayout(null);//Contenedor con setLayout Nulo
setSize( 800, 600 );//Tamao de la Ventana
setVisible( true );//Hago visible el Frame
//................Agrego el Problema
JLabel Item=new JLabel("INGRESO DE PERSONAL");
Item.setBounds(320,40,200,40);
add(Item);
//......................Agrego el campo para digitar el Valor
JLabel Texto=new JLabel("Nmero de Documento:");
Texto.setBounds(20,150,150,20);
add(Texto);
//....................................Area para escribie el Valor
Doc=new JTextField();
Doc.setBounds(160,150,150,20);
add(Doc);
//Implemento Evento de Tecla para validar el Numero de
Identificacin
Doc.addKeyListener(new KeyAdapter()
{
public void keyTyped(KeyEvent evt)
{
char caracter = evt.getKeyChar();
if(((caracter < '0') || (caracter > '9')) &&
(caracter != KeyEvent.VK_BACK_SPACE))
{
evt.consume();
}
else

{
if(Doc.getText().length()>=9)
evt.consume();
}
}
});
//Nombre
JLabel TNombre=new JLabel("Nombre Completo:");
TNombre.setBounds(20,180,150,20);
add(TNombre);
//....................................Area para escribir el Nombre
CNombre=new JTextField();
CNombre.setBounds(160,180,300,20);
add(CNombre);
//..................................Label del Sexo
JLabel TSexo=new JLabel("Seleccione el Sexo:");
TSexo.setBounds(20,210,150,20);
add(TSexo);
//...............Campo para seleccionar el sexo
String Sexo []= {"Masculino","Femenino"} ;
Sexoc = new JComboBox (Sexo) ;
Sexoc.setBounds(160,210,120,20);
add(Sexoc);
//..................................Boton Ingresar
Boton=new JButton("Ingresar");//Creo el Boton Ingresar
Boton.setBounds(350,250,100,40);
add(Boton);
Boton.addActionListener(this);
//................................Mensaje de ayuda
Mensaje=new JLabel("Debe
Digitar
el
Numero
Identificacin",2);
Mensaje.setBounds(250,350,350,100);
add(Mensaje);
}

de

//.................Click en el Boton
public void actionPerformed(ActionEvent e)
{
int ban=1;
if (e.getSource() == Boton)
{
if(Doc.getText().length()<=6)
{
Mensaje.setText("Debe Digitar el Nmero de
Identificacin");
JOptionPane.showMessageDialog(this, "Debe
Digitar
el
Nmero
de
Identificacin",
"Advertencia",JOptionPane.WARNING_MESSAGE);
ban=0;
}

if(CNombre.getText().length()<=10)
{
Mensaje.setText("Debe Digitar el Nombre de
la Persona");
JOptionPane.showMessageDialog(this, "Debe
Digitar
el
Nombre
de
la
Persona",
"Advertencia",JOptionPane.WARNING_MESSAGE);
ban=0;
}
if(ban==1)
{
Calendar fecha = Calendar.getInstance();
int ao = fecha.get(Calendar.YEAR);
int mes = fecha.get(Calendar.MONTH);
int dia = fecha.get(Calendar.DAY_OF_MONTH);
int hora = fecha.get(Calendar.HOUR_OF_DAY);
int minuto = fecha.get(Calendar.MINUTE);
int segundo = fecha.get(Calendar.SECOND);
Mensaje.setText("<html><p>Fecha:
"+dia+"-"+(mes+1)+"-"+ao+"</p><p>Hora:
"+hora+":"+minuto+":"+segundo+"</p><p>Documento:
"+
(Doc.getText())+"</p><p>Nombre:
"+(CNombre.getText())
+"</p><p>Sexo: "+(Sexoc.getSelectedItem())+"</p></html>");
}
}
}
//Clase contructora del Frame
public static void main( String args[] )
{
Proceso1 Captura = new Proceso1();//Inicializo en memoria la
clase
Captura.setResizable(false);//Defino que no se pueda cambiar
de Tamao
Captura.setLocationRelativeTo(null);//Centro el Frame en la
Pantalla
Captura.setDefaultCloseOperation( WindowConstants.EXIT_ON_
CLOSE );
}
}

2. Registro de Equipo tecnolgico al Ingreso a la Institucin


(Tablets, Pc, Video Beam, etc.)
Al realizar el ingreso de una persona que lleve consigo uno o
varios equipos tecnolgicos, estos se deben registrar, describiendo
en el sistema datos especficos tales como: Marca, Serie, Color,
Tipo de equipo, tamao.
3. Registro de Vehculo al ingreso a la Institucin.
Al realizar el ingreso de una persona en vehculo se deben
registrar los datos especficos de este, Se cuenta con una base de
datos de vehiculos, si no se encuentra en la base de datos se
registran datos tales como: Placa, Tipo de Vehculo, Marca, Serie,
Color, Matricula de Transito.
Diagrama de Flujo

Seudocdigo
Cadena
[12]
Ciudad,Marca,Serie,Color,Matricula,Tipo_Vehiculo
INICIO
Escriba "Ingrese el Tipo de Vehiculo: "
Lea Tipo_Vehiculo
Escriba "Ingrese la Placa: "
Lea Placa
Escriba "Ingrese la Ciudad: "
Lea Ciudad
Escriba "Ingrese la Marca: "
Lea Marca
Escriba "Ingrese la Serie: "
Lea Serie
Escriba "Ingrese el Color: "
Lea Color
Escriba "Ingrese el Numero de Matricula: "
Lea Matricula
//Mostrar Valores
Escriba "/////////////////////////////////////////////////////// "
Llamar nueva_linea
Escriba "Tipo de Vehiculo: ", Tipo_Vehiculo
Llamar nueva_linea
Escriba "Placa del vehiculo: ", Placa," de ",Ciudad
Llamar nueva_linea
Escriba "Marca: ",Marca
Llamar nueva_linea
Escriba "Serie: ",Serie
Llamar nueva_linea
Escriba "Color: ",Color
Llamar nueva_linea
Escriba "Matricula: ",Matricula
Llamar nueva_linea
Llamar nueva_linea
FIN

Placa,

Codificacin

package Procesos;
/*
* Laboratorio 3; Programacin con el Lenguaje JAVA
* Ejercicio Nmero 1
* @Autor: Luis Guillermo Torres
*/
import javax.swing.*;
import java.awt.event.*;
import java.util.Calendar;
public
class
Proceso3
extends
JFrame
implements
ActionListener
{
private JButton Boton;
private JLabel Mensaje;
private JTextField CPlaca,CColor,CMatr;
private JComboBox CVeh,CCiudad,CMarca,CSerie;
int Din=0;
Proceso3()
{
//.................Configuracin la Ventana
super("PROYECTO SAGIP, proceso 3 - (Sistema
Automtico de Gestin de Ingreso al Publico) - SENA 2015");
//Titulo de la Ventana

setLayout(null);//Contenedor con setLayout Nulo


setSize( 800, 600 );//Tamao de la Ventana
setVisible( true );//Hago visible el Frame
//................Agrego el Problema
JLabel Item=new JLabel("INGRESO DE VEHICULOS");
Item.setBounds(320,40,200,40);
add(Item);
//..................................Label del Tipo de Vehiculo
JLabel TVeh=new JLabel("Tipo de Vehiculo:");
TVeh.setBounds(20,130,150,20);
add(TVeh);
//...............Campo para seleccionar el Tipo de Vehiculo
String Vehi []= {"Motocicleta","Automovil"} ;
CVeh = new JComboBox (Vehi) ;
CVeh.setBounds(160,130,120,20);
add(CVeh);
//................................................................
//......................Agrego el campo para digitar la
Placa..........................................
JLabel Texto=new JLabel("Placa:");
Texto.setBounds(20,160,150,20);
add(Texto);
//....................................Area para escribie la Placa
CPlaca=new JTextField();
CPlaca.setBounds(160,160,150,20);
add(CPlaca);
//.............................................................................
//............................Ciudad..........................................
JLabel TCiudad=new JLabel("Ciudad:");
TCiudad.setBounds(20,190,150,20);
add(TCiudad);
//...............Campo para seleccionar La Ciudad
String Ciu []= {"Bogota","Villavicencio","Resto de
Ciudades del Pais"} ;
CCiudad = new JComboBox (Ciu) ;
CCiudad.setBounds(160,190,180,20);
add(CCiudad);
//.....................................................................................
...
//............................Marcas
JLabel TMarca=new JLabel("Marca:");
TMarca.setBounds(20,220,150,20);
add(TMarca);
//...............Campo para seleccionar La Marca
String Mar []= {"Chevrolet","Mazda","Renault","Demas
Marcas"} ;

CMarca = new JComboBox (Mar) ;


CMarca.setBounds(160,220,180,20);
add(CMarca);
//.....................................................................................
...
//............................Series................................................
......
JLabel TSeries=new JLabel("Serie:");
TSeries.setBounds(20,250,150,20);
add(TSeries);
//...............Campo para seleccionar La Marca
String Ser []= {"Aveo","Optra","Mazda 2","Mazda
3","Sandero","Duster"} ;
CSerie = new JComboBox (Ser) ;
CSerie.setBounds(160,250,180,20);
add(CSerie);
//................................................................
//......................Agrego el campo para digitar el
Color..........................................
JLabel TColor=new JLabel("Color:");
TColor.setBounds(20,280,150,20);
add(TColor);
//....................................Area para escribie el color
CColor=new JTextField();
CColor.setBounds(160,280,150,20);
add(CColor);
//................................................................
//......................Agrego el campo para digitar la
Matricula..........................................
JLabel TMat=new JLabel("Matricula:");
TMat.setBounds(20,310,150,20);
add(TMat);
//....................................Area para escribie la Matricula
CMatr=new JTextField();
CMatr.setBounds(160,310,150,20);
add(CMatr);
//.....................................................................................
....
//..................................Boton
Ingresar.............................................
Boton=new JButton("Ingresar");//Creo el Boton Ingresar
Boton.setBounds(420,250,100,40);
add(Boton);
Boton.addActionListener(this);
//................................Mensaje de ayuda

Mensaje=new JLabel("Debe Digitar el Numero de


Identificacin",2);
Mensaje.setBounds(250,350,350,140);
add(Mensaje);
}
//.................Click en el Boton
public void actionPerformed(ActionEvent e)
{
int ban=1;
if (e.getSource() == Boton)
{
if(CPlaca.getText().length()<=5)
{
Mensaje.setText("Debe Digitar la Placa
del Vehiculo");
JOptionPane.showMessageDialog(this,
"Debe
Digitar
la
Placa
del
Vehiculo",
"Advertencia",JOptionPane.WARNING_MESSAGE);
ban=0;
}
if(CColor.getText().length()<=3)
{
Mensaje.setText("Debe Digitar el Color
del Vehiculo");
JOptionPane.showMessageDialog(this,
"Debe
Digitar
el
Color
del
Vehiculo",
"Advertencia",JOptionPane.WARNING_MESSAGE);
ban=0;
}
if(ban==1)
{
Calendar fecha = Calendar.getInstance();
int ao = fecha.get(Calendar.YEAR);
int mes = fecha.get(Calendar.MONTH);
int
dia
=
fecha.get(Calendar.DAY_OF_MONTH);
int
hora
=
fecha.get(Calendar.HOUR_OF_DAY);
int minuto = fecha.get(Calendar.MINUTE);
int segundo = fecha.get(Calendar.SECOND);
Mensaje.setText("<html><p>Fecha:
"+dia+"-"+(mes+1)+"-"+ao+"</p><p>Hora:
"+hora+":"+minuto+":"+segundo+"</p><p>Tipo Vehiculo: "+
(CVeh.getSelectedItem())+"</p><p>Placa: "+(CPlaca.getText())+"

de
"+(CCiudad.getSelectedItem())+"</p><p>Marca:
"+
(CMarca.getSelectedItem())+"</p><p>Serie:
"+
(CSerie.getSelectedItem())+"</p><p>Color: "+(CColor.getText())
+"</p><p>Matricula: "+(CMatr.getText())+"</p></html>");
}
}
}
//Clase contructora del Frame
public static void main( String args[] )
{
Proceso3 Captura = new Proceso3();//Inicializo en
memoria la clase
Captura.setResizable(false);//Defino que no se pueda
cambiar de Tamao
Captura.setLocationRelativeTo(null);//Centro el Frame en la
Pantalla
Captura.setDefaultCloseOperation( WindowConstants.EXIT
_ON_CLOSE );
}
}

4. Impresin de Etiquetas de registro.


Al realizar el registro de alguno de los casos anteriores se debe
imprimir una etiqueta con los datos especficos del implemento
registrado.
5. Registro de Salida mediante lectura de etiqueta de
registro.
Realizar el registro a la hora de salida de la persona, equipo o
vehculo, de esta manera se da de alta en el sistema.