Você está na página 1de 16

ALGORITMOS PROCESO DE FORMACIÓN

LUIS GUILLERMO TORRES SUAREZ

Análisis y Desarrollo de Sistemas de Información


"ADSI"

Ing: OMAR ORLANDO VALBUENA


Tutor (es) SENA

SERVICIO NACIONAL DE APRENDIZAJE SENA


ANÁLISIS Y DISEÑO DE SISTEMAS DE INFORMACIÓN
MAYO DE 2015
De acuerdo con el contexto de su proyecto de formación 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
información, los cuales se puedan desarrollar a través de algoritmos.

La descripción 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 transformación a
seudocódigo y por último la codificación y posterior ejecución en lenguaje Java.

Se debe documentar el proceso con las imágenes de cada una de las herramientas
usadas y presentar los archivos del código resultantes.
Procesos o Situaciones

1. Registro de Persona al Ingreso a la Institución.


Al realizar el ingreso de una persona, se debe registrar con número 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 Identificación, Sexo.

Diagrama de Flujo

Seudocódigo
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

Codificación

package Procesos;

/*
* Laboratorio 3; Programación con el Lenguaje JAVA
* Ejercicio Número 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()
{
//.................Configuración la Ventana
super("PROYECTO SAGIP, proceso 1 - (Sistema Automático de
Gestión de Ingreso al Publico) - SENA 2015"); //Titulo de la Ventana
setLayout(null);//Contenedor con setLayout Nulo
setSize( 800, 600 );//Tamaño 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("Número 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
Identificación
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 de Identificación",2);
Mensaje.setBounds(250,350,350,100);
add(Mensaje);
}

//.................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 Número de
Identificación");
JOptionPane.showMessageDialog(this, "Debe Digitar
el Número de Identificación", "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 año = 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)+"-"+año+"</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 Tamaño
Captura.setLocationRelativeTo(null);//Centro el Frame en la Pantalla
Captura.setDefaultCloseOperation( WindowConstants.EXIT_ON_CLOSE );
}
}
2. Registro de Equipo tecnológico al Ingreso a la Institución (Tablets, Pc, Video
Beam, etc.)
Al realizar el ingreso de una persona que lleve consigo uno o varios equipos
tecnológicos, estos se deben registrar, describiendo en el sistema datos
específicos tales como: Marca, Serie, Color, Tipo de equipo, tamaño.

3. Registro de Vehículo al ingreso a la Institución.


Al realizar el ingreso de una persona en vehículo se deben registrar los datos
específicos 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
Vehículo, Marca, Serie, Color, Matricula de Transito.

Diagrama de Flujo
Seudocódigo

Cadena [12] Placa, 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
Codificación

package Procesos;

/*
* Laboratorio 3; Programación con el Lenguaje JAVA
* Ejercicio Número 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()
{
//.................Configuración la Ventana
super("PROYECTO SAGIP, proceso 3 - (Sistema Automático de
Gestión de Ingreso al Publico) - SENA 2015"); //Titulo de la Ventana
setLayout(null);//Contenedor con setLayout Nulo
setSize( 800, 600 );//Tamaño 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
Identificación",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 año = 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)+"-"+año+"</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
Tamaño
Captura.setLocationRelativeTo(null);//Centro el Frame en la
Pantalla
Captura.setDefaultCloseOperation(
WindowConstants.EXIT_ON_CLOSE );
}
}

4. Impresión de Etiquetas de registro.


Al realizar el registro de alguno de los casos anteriores se debe imprimir una
etiqueta con los datos específicos 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 vehículo, de
esta manera se da de alta en el sistema.

Você também pode gostar