viernes, 15 de diciembre de 2017
APLICACION QUE PERMITA INGRESAR EL NOMBRE DE DIFERENTES MEDICOS Y
SE REQUIERE:
1) INGRESAR DATOS PARA LOS MEDICOS
2) LISTADO GENERAL DE MEDICOS
3) LISTADO ORDENADO ALFABETICAMENTE POR NOMBRE
4) LISTADO ORDENADO ALFABETICAMENTE POR ESPECIALIZACION
5)LISTADO DE SUELDO DECRECIENTE
6)LISTADO DE SUELDO CRECIENTE
7)LISTADO DE MEDICOS HORARIO
8)MOSTRAR MEDICOS DISPONIBLES SEGUN SU HORARIO DE TRABAJO
9)LISTADO DE ANNO DEL DOCTOR(DECRECIENTE)
10)LISTADO DE ANNO DEL DOCTOR(CRECIENTE)
//--- DECLARACION DEL REGISTRO ---
REGISTRO REG_MEDICO
CADENA[30] NOMBRE
CADENA[30] ESPECIALIZACION
ENTERO HORAS , ANNO
REAL VALORH //EL VALOR QUE SE LE PAGA POR HORA
REAL SUELDO //ES UN CAMPO CALCULADO
CADENA[30] HORARIO
FIN REGISTRO
//--- VARIABLES DEL MODULO PRINCIPAL ---
ARREGLO[200] DE REG_MEDICO VMEDICOS
CARACTER OPCION
ENTERO N
//CUADRO
PROCEDIMIENTO RECUADRO(ENTERO X1, ENTERO Y1, ENTERO X2, ENTERO Y2,ENTERO COLOR, CARACTER SIMBOLO, ENTERO TIEMPO)
ENTERO J
INICIO
LLAMAR COLOR_TEXTO(COLOR)
//DIBUJANDO LAS LINEAS HORIZONTALES
PARA J<- X1 HASTA X2 HAGA
LLAMAR POSICIONAR_CURSOR(J, Y1)
LLAMAR RETRASO(TIEMPO)
ESCRIBA SIMBOLO
LLAMAR POSICIONAR_CURSOR(J, Y2)
LLAMAR RETRASO(TIEMPO)
ESCRIBA SIMBOLO
FIN PARA
//DIBUJANDO LAS LINEAS VERTICALES
PARA J<- Y1 HASTA Y2 HAGA
LLAMAR POSICIONAR_CURSOR(X1, J)
LLAMAR RETRASO(TIEMPO)
ESCRIBA SIMBOLO
LLAMAR POSICIONAR_CURSOR(X2, J)
LLAMAR RETRASO(TIEMPO)
ESCRIBA SIMBOLO
FIN PARA
LLAMAR COLOR_TEXTO(15)//15 BLANCO
FIN
//----------------------------------------------------
PROCEDIMIENTO RETRASO(ENTERO MILISEG)
ENTERO J, N
REAL S
INICIO
S <- 0
N <- MILISEG*5
PARA J<-1 HASTA N HAGA
S <- S+J
S<- S -J
FIN PARA
FIN
// --- SUBRUTINAS ---
PROCEDIMIENTO MENU(VAR CARACTER OPCION)
INICIO
LLAMAR RECUADRO(9,1,80,19,14,CAR(219),150)
LLAMAR COLOR_TEXTO(10)
LLAMAR POSICIONAR_CURSOR(30,3)
ESCRIBA "*** APLICACION DE HOSPITAL ***"
LLAMAR POSICIONAR_CURSOR(23,2)
ESCRIBA "=============================================="
LLAMAR POSICIONAR_CURSOR(10,5)
ESCRIBA "A. INGRESAR MEDICOS"
LLAMAR POSICIONAR_CURSOR(10,6)
ESCRIBA "B. LISTADO GENERAL DE MEDICOS"
LLAMAR POSICIONAR_CURSOR(10,7)
ESCRIBA "C. LISTADO ORDENADO ALFABETICAMENTE"
LLAMAR POSICIONAR_CURSOR(10,8)
ESCRIBA "D. LISTADO ALFABETICO POR ESPECIALIZACION"
LLAMAR POSICIONAR_CURSOR(10,9)
ESCRIBA "E. LISTADO DE SUELDO DECRECIENTE"
LLAMAR POSICIONAR_CURSOR(10,10)
ESCRIBA "F. LISTADO DE SUELDO CRECIENTE"
LLAMAR POSICIONAR_CURSOR(10,11)
ESCRIBA "G. LISTADO DE MEDICOS HORARIO"
LLAMAR POSICIONAR_CURSOR(10,12)
ESCRIBA "H. MOSTRAR MEDICOS DISPONIBLES SEGUN SU HORARIO DE TRABAJO"
LLAMAR POSICIONAR_CURSOR(10,13)
ESCRIBA "I. LISTADO DE ANNO DEL DOCTOR(DECRECIENTE)"
LLAMAR POSICIONAR_CURSOR(10,14)
ESCRIBA "J. LISTADO DE ANNO DEL DOCTOR(CRECIENTE)"
LLAMAR POSICIONAR_CURSOR(10,14)
LLAMAR POSICIONAR_CURSOR(10,15)
ESCRIBA "Z. SALIR"
LLAMAR POSICIONAR_CURSOR(10,16)
ESCRIBA "POR FAVOR, INGRESE SU OPCION: "
LEA OPCION
FIN
//-----------------------------------
//----------------------------------------------
PROCEDIMIENTO INGRESAR_MEDICO(VAR ENTERO N, VAR ARREGLO[200] DE REG_MEDICO VMEDICO)
//PERMITE AGREGAR UN NUEVO DOCENTE AL VECTOR "VMEDICO"
INICIO
N <- N+1
LLAMAR COLOR_TEXTO(11)
LLAMAR POSICIONAR_CURSOR(5,5)
ESCRIBA "NOMBRE: "
LEA VMEDICOS[N].NOMBRE
LLAMAR POSICIONAR_CURSOR(5,6)
ESCRIBA "ESPECIALIZACION: "
LEA VMEDICOS[N].ESPECIALIZACION
LLAMAR POSICIONAR_CURSOR(5,7)
ESCRIBA "TOTAL HORAS: "
LEA VMEDICOS[N].HORAS
LLAMAR POSICIONAR_CURSOR(5,8)
ESCRIBA "VALOR HORA (S/.): "
LEA VMEDICOS[N].VALORH
//CALCULANDO EL SUELDO
VMEDICOS[N].SUELDO <- VMEDICOS[N].HORAS*VMEDICOS[N].VALORH
//MOSTRANDO EL SUELDO EN PANTALLA
LLAMAR POSICIONAR_CURSOR(5,9)
ESCRIBA "SUELDO (S/.): ", VMEDICOS[N].SUELDO
LLAMAR POSICIONAR_CURSOR(5,10)
ESCRIBA " HORARIO: "
LEA VMEDICOS[N].HORARIO
LLAMAR POSICIONAR_CURSOR(5,11)
ESCRIBA " ANNO: "
LEA VMEDICOS[N].ANNO
FIN
//-----------------------------------------------
PROCEDIMIENTO LISTADO_GENERAL( ENTERO N, ARREGLO[200] DE REG_MEDICO VMEDICO)
ENTERO K, J
INICIO
//CABECERA
LLAMAR COLOR_TEXTO(8)
LLAMAR POSICIONAR_CURSOR(3,4)
ESCRIBA "NRO"
LLAMAR POSICIONAR_CURSOR(7,4)
ESCRIBA "MEDICO"
LLAMAR POSICIONAR_CURSOR(30,4)
ESCRIBA "ESPECIALIZACION"
LLAMAR POSICIONAR_CURSOR(42,4)
ESCRIBA "HORAS"
LLAMAR POSICIONAR_CURSOR(52,4)
ESCRIBA "VALORH"
LLAMAR POSICIONAR_CURSOR(62,4)
ESCRIBA "SUELDO (S/.)"
LLAMAR POSICIONAR_CURSOR(72,4)
ESCRIBA " HORARIO "
LLAMAR POSICIONAR_CURSOR(82,4)
ESCRIBA " ANNO "
LLAMAR POSICIONAR_CURSOR(3,5)
escriba "=========================================================================================="
//imprimiendo los datos
K<- 1//NRO DE ORDEN
PARA J<- 1 HASTA N HAGA
LLAMAR POSICIONAR_CURSOR(3,K+5)
ESCRIBA K, ".-"
LLAMAR POSICIONAR_CURSOR(7,K+5)
ESCRIBA VMEDICOS[J].NOMBRE
LLAMAR POSICIONAR_CURSOR(30,K+5)
ESCRIBA VMEDICOS[J].ESPECIALIZACION
LLAMAR POSICIONAR_CURSOR(42,K+5)
ESCRIBA VMEDICOS[J].HORAS
LLAMAR POSICIONAR_CURSOR(52,K+5)
ESCRIBA VMEDICOS[J].VALORH
LLAMAR POSICIONAR_CURSOR(62,K+5)
ESCRIBA VMEDICOS[J].SUELDO
LLAMAR POSICIONAR_CURSOR(72,K+5)
ESCRIBA VMEDICOS[J].HORARIO
LLAMAR POSICIONAR_CURSOR(82,K+5)
ESCRIBA VMEDICOS[J].ANNO
K <- K+1
FIN PARA
FIN
//-------------------------------------------
PROCEDIMIENTO ORDENARMEDICOS_ALFAB(ENTERO N, ARREGLO[200] DE REG_MEDICO VMEDICO)
REG_MEDICO AUXREGISTRO // VARIABLE TEMPORAL
BOOLEANO ORDENADO
ENTERO J
INICIO
LLAMAR COLOR_TEXTO(7)
ORDENADO<-FALSO
MIENTRAS (ORDENADO= FALSO) HAGA
ORDENADO <- VERDADERO
PARA J <- 1 HASTA N-1 HAGA
SI (VMEDICOS[J].NOMBRE>VMEDICOS[J+1].NOMBRE)ENTONCES
AUXREGISTRO <-VMEDICOS[J]
VMEDICOS[J] <-VMEDICOS[J+1]
VMEDICOS[J+1] <-AUXREGISTRO
ORDENADO <-FALSO
FIN SI
FIN PARA
FIN MIENTRAS
FIN
//--------------------------------------------------------------------------------------------------------------
FUNCION MEDICOSXHORA(ARREGLO[200] DE REG_MEDICO VMEDICOS, ENTERO N, CADENA[30] PHORARIO): ENTERO
ENTERO NUM, J
INICIO
NUM <- 0
PARA J <- 1 HASTA N HAGA
SI (VMEDICOS[J].HORARIO = PHORARIO) ENTONCES
NUM <- NUM+1 //SE INCREMENTA EL CONTADOR
FIN SI
FIN PARA
RETORNE NUM
FIN
//---------------------------------------------------------------------------------------------------------------------------
PROCEDIMIENTO ORDENARESPECIALIZACION_ALFAB(ENTERO N, ARREGLO[200] DE REG_MEDICO VMEDICO)
REG_MEDICO AUXREGISTRO // VARIABLE TEMPORAL
BOOLEANO ORDENADO
ENTERO J
INICIO
LLAMAR COLOR_TEXTO(4)
ORDENADO<-FALSO
MIENTRAS (ORDENADO= FALSO) HAGA
ORDENADO <- VERDADERO
PARA J <- 1 HASTA N-1 HAGA
SI (VMEDICOS[J].ESPECIALIZACION>VMEDICOS[J+1].ESPECIALIZACION)ENTONCES
AUXREGISTRO <-VMEDICOS[J]
VMEDICOS[J] <-VMEDICOS[J+1]
VMEDICOS[J+1] <-AUXREGISTRO
ORDENADO <-FALSO
FIN SI
FIN PARA
FIN MIENTRAS
FIN
//---------------------------------------------------------------------------------------------------------------------------
PROCEDIMIENTO ORDENARSUELDO_DECRE (ENTERO N, ARREGLO[200] DE REG_MEDICO VMEDICO)
REG_MEDICO AUXREGISTRO // VARIABLE TEMPORAL
BOOLEANO ORDENADO
ENTERO J
INICIO
LLAMAR COLOR_TEXTO(4)
ORDENADO<-FALSO
MIENTRAS (ORDENADO= FALSO) HAGA
ORDENADO <- VERDADERO
PARA J <- 1 HASTA N+1 HAGA
SI (VMEDICOS[J].SUELDO>VMEDICOS[J-1].SUELDO)ENTONCES
AUXREGISTRO <-VMEDICOS[J]
VMEDICOS[J] <-VMEDICOS[J-1]
VMEDICOS[J-1] <-AUXREGISTRO
ORDENADO <-FALSO
FIN SI
FIN PARA
FIN MIENTRAS
FIN
//---------------------------------------------------------------------------------------------------------------------------
PROCEDIMIENTO ORDENARSUELDO_CRECI (ENTERO N, ARREGLO[200] DE REG_MEDICO VMEDICO)
REG_MEDICO AUXREGISTRO // VARIABLE TEMPORAL
BOOLEANO ORDENADO
ENTERO J
INICIO
LLAMAR COLOR_TEXTO(4)
ORDENADO<-FALSO
MIENTRAS (ORDENADO= FALSO) HAGA
ORDENADO <- VERDADERO
PARA J <- 1 HASTA N-1 HAGA
SI (VMEDICOS[J].SUELDO>VMEDICOS[J+1].SUELDO)ENTONCES
AUXREGISTRO <-VMEDICOS[J]
VMEDICOS[J] <-VMEDICOS[J+1]
VMEDICOS[J+1] <-AUXREGISTRO
ORDENADO <-FALSO
FIN SI
FIN PARA
FIN MIENTRAS
FIN
//---ORDENAR AÑOS LISTA DE AÑOS DE MANERA CRECIENTE---
PROCEDIMIENTO ORDENARANNO_CRECI (ENTERO N, ARREGLO[200] DE REG_MEDICO VMEDICO)
REG_MEDICO AUXREGISTRO // VARIABLE TEMPORAL
BOOLEANO ORDENADO
ENTERO J
INICIO
LLAMAR COLOR_TEXTO(4)
ORDENADO<-FALSO
MIENTRAS (ORDENADO= FALSO) HAGA
ORDENADO <- VERDADERO
PARA J <- 1 HASTA N-1 HAGA
SI (VMEDICOS[J].ANNO>VMEDICOS[J+1].ANNO)ENTONCES
AUXREGISTRO <-VMEDICOS[J]
VMEDICOS[J] <-VMEDICOS[J+1]
VMEDICOS[J+1] <-AUXREGISTRO
ORDENADO <-FALSO
FIN SI
FIN PARA
FIN MIENTRAS
FIN
//-----ORDENAR AÑOS LISTA DE AÑOS DE MANERA DECRECIENTE---
PROCEDIMIENTO ORDENARANNO_DECRE (ENTERO N, ARREGLO[200] DE REG_MEDICO VMEDICO)
REG_MEDICO AUXREGISTRO // VARIABLE TEMPORAL
BOOLEANO ORDENADO
ENTERO J
INICIO
LLAMAR COLOR_TEXTO(4)
ORDENADO<-FALSO
MIENTRAS (ORDENADO= FALSO) HAGA
ORDENADO <- VERDADERO
PARA J <- 1 HASTA N+1 HAGA
SI (VMEDICOS[J].ANNO>VMEDICOS[J-1].ANNO)ENTONCES
AUXREGISTRO <-VMEDICOS[J]
VMEDICOS[J] <-VMEDICOS[J-1]
VMEDICOS[J-1] <-AUXREGISTRO
ORDENADO <-FALSO
FIN SI
FIN PARA
FIN MIENTRAS
FIN
//---------------------------------------------------------------------------------------------------------------------------
PROCEDIMIENTO ORDENAR_HORARIO (ENTERO N, ARREGLO[200] DE REG_MEDICO VMEDICO)
REG_MEDICO AUXREGISTRO // VARIABLE TEMPORAL
BOOLEANO ORDENADO
ENTERO J
INICIO
LLAMAR COLOR_TEXTO(4)
ORDENADO<-FALSO
MIENTRAS (ORDENADO= FALSO) HAGA
ORDENADO <- VERDADERO
PARA J <- 1 HASTA N-1 HAGA
SI (VMEDICOS[J].HORARIO>VMEDICOS[J+1].HORARIO)ENTONCES
AUXREGISTRO <-VMEDICOS[J]
VMEDICOS[J] <-VMEDICOS[J+1]
VMEDICOS[J+1] <-AUXREGISTRO
ORDENADO <-FALSO
FIN SI
FIN PARA
FIN MIENTRAS
FIN
//---------------------------------------------------------------------------------------------------------------------------
PROCEDIMIENTO INICIALIZAR(VAR ENTERO N, VAR ARREGLO[200] DE REG_MEDICO VMEDICOS)
//CARGAR DATOS DE EJEMPLO EN EL VECTOR
INICIO
VMEDICOS[1].NOMBRE <- "CASTRO LOPEZ IVAN"
VMEDICOS[1].ESPECIALIZACION <- "ESTOMATOLOGIA"
VMEDICOS[1].HORAS <- 6
VMEDICOS[1].VALORH <- 400
VMEDICOS[1].SUELDO <- 40000
VMEDICOS[1].HORARIO <- " N " // N: NOCHE
VMEDICOS[1].ANNO <- 34
VMEDICOS[2].NOMBRE <- "ALVA CELI MIRIAN"
VMEDICOS[2].ESPECIALIZACION<- "PEDIATRIA"
VMEDICOS[2].HORAS <- 4
VMEDICOS[2].VALORH <- 200
VMEDICOS[2].SUELDO <- 45000
VMEDICOS[2].HORARIO <- " T " // T: TARDE
VMEDICOS[2].ANNO <- 37
VMEDICOS[3].NOMBRE <- "DURAND LOPEZ MARCO"
VMEDICOS[3].ESPECIALIZACION <- "OBSTETRICIA"
VMEDICOS[3].HORAS <- 8
VMEDICOS[3].VALORH <- 450
VMEDICOS[3].SUELDO <- 35000
VMEDICOS[3].HORARIO <- " M " // M: MAÑANA
VMEDICOS[3].ANNO <- 56
VMEDICOS[4].NOMBRE <- "DURAND JUAREZ ANA"
VMEDICOS[4].ESPECIALIZACION <- "FARMACEUTICO"
VMEDICOS[4].HORAS <- 2
VMEDICOS[4].VALORH <- 120
VMEDICOS[4].SUELDO <- 70000
VMEDICOS[4].HORARIO <- " T " // TARDE
VMEDICOS[4].ANNO <- 87
VMEDICOS[5].NOMBRE <- "MORE MORE JAIR"
VMEDICOS[5].ESPECIALIZACION <- "CIRUJANO"
VMEDICOS[5].HORAS <- 3
VMEDICOS[5].VALORH <- 140
VMEDICOS[5].SUELDO <- 13850
VMEDICOS[5].HORARIO <- " M "
VMEDICOS[5].ANNO <- 45
N <- 5 //SE ACTUALIZA N
FIN
//----------- MODULO PRINCIPAL -------------
INICIO
OPCION <- 'X'
N <- 0
LLAMAR INICIALIZAR(N, VMEDICOS)
LLAMAR LIMPIAR_PANTALLA()
LLAMAR COLOR_TEXTO(15) //BLANCO COLOR INICIAL
MIENTRAS (OPCION <> 'Z') Y (OPCION <>'z') HAGA
LLAMAR LIMPIAR_PANTALLA()
LLAMAR MENU(OPCION)
LLAMAR LIMPIAR_PANTALLA()
CASO OPCION
'A','a': ESCRIBA "I. INGRESAR NUEVO MEDICO"
LLAMAR INGRESAR_MEDICO (N, VMEDICOS)
'B','b': ESCRIBA "II. LISTADO GENERAL DE DOCENTES"
LLAMAR LISTADO_GENERAL(N,VMEDICOS)
'C','c': ESCRIBA "III. ORDENAR MEDICOS ALFABETICAMENTE "
LLAMAR ORDENARMEDICOS_ALFAB (N,VMEDICOS)
LLAMAR LISTADO_GENERAL(N,VMEDICOS)
'D','d': ESCRIBA "IV. LISTADO ALFABETICO POR ESPECIALIZACION"
LLAMAR ORDENARESPECIALIZACION_ALFAB(N, VMEDICOS)
LLAMAR LISTADO_GENERAL(N,VMEDICOS)
'E','e': ESCRIBA "V. LISTADO DE SUELDO DECRECIENTE"
LLAMAR ORDENARSUELDO_DECRE (N, VMEDICOS)
LLAMAR LISTADO_GENERAL(N,VMEDICOS)
'F','f': ESCRIBA "VI. LISTADO DE SUELDO CRECIENTE"
LLAMAR ORDENARSUELDO_CRECI (N, VMEDICOS)
LLAMAR LISTADO_GENERAL(N,VMEDICOS)
'G','g': ESCRIBA "VII. LISTADO DE MEDICOS HORARIO"
LLAMAR LISTADO_GENERAL(N,VMEDICOS)
'H','h': ESCRIBA "VIII. NUMERO DE MEDICOS POR HORARIO DE SERVICIO"
LLAMAR NUEVA_LINEA()
ESCRIBA "NRO. MEDICOS SERVICIO MAÑANA: ", MEDICOSXHORA(VMEDICOS,N," M ")
LLAMAR NUEVA_LINEA()
ESCRIBA "NRO. MEDICOS SERVICIO TARDE: ", MEDICOSXHORA(VMEDICOS,N," T ")
LLAMAR NUEVA_LINEA()
ESCRIBA "NRO. MEDICOS SERVICIO NOCHE: ", MEDICOSXHORA(VMEDICOS,N," N ")
'I','i': ESCRIBA "IX. LISTADO DE AÑO DEL DOCTOR(DECRECIENTE)"
LLAMAR ORDENARANNO_DECRE (N, VMEDICOS)
LLAMAR LISTADO_GENERAL(N,VMEDICOS)
'J','j': ESCRIBA "X. LISTADO DE AÑO DEL DOCTOR(CRECIENTE)"
LLAMAR ORDENARANNO_CRECI (N, VMEDICOS)
LLAMAR LISTADO_GENERAL(N,VMEDICOS)
LLAMAR NUEVA_LINEA()
FIN CASO
LLAMAR POSICIONAR_CURSOR(20,30)
ESCRIBA "POR FAVOR, PRESIONE CUALQUIER TECLA PARA CONTINUAR ..."
LLAMAR OBTENER_CARACTER()//PARA UNA PAUSA
FIN MIENTRAS
LLAMAR POSICIONAR_CURSOR(32,10)
ESCRIBA "GRACIAS. HASTA PRONTO!"
FIN
descarga el formato para lpp AQUI-
Suscribirse a:
Comentarios de la entrada (Atom)
MENU DE ACCIONES EN JAVA
MENU DE ACCIONES EN JAVA ----------------------------------------------------------------- package menudeacciones; import java.util.S...
-
COLORES EN LPP (NUMERO) Entero i Inicio Para i <- 1 Hasta 80 Haga Llamar Color_Fondo(1) Llamar Posicionar_...
-
/* 1. escriba o haga un programa que ayude a cualquier estudiante de primeria a aprender a multiplicar. utlize una funcion que...
-
/*MATRIZ EN LPP SU FUNCION DEL SOFTWARE ES: Si desea ordenar la matriz presione: 1. Sumar matriz: 2. Sumar diagonal principal: 3. Enco...
No hay comentarios.:
Publicar un comentario