0% encontró este documento útil (0 votos)
62 vistas18 páginas

Manual Tecnico

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
62 vistas18 páginas

Manual Tecnico

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

MANUAL TECNICO

1. Descripción del problema............................................................. 2

2. Propuesta de solución.......................................................................2

3. Representación de la solución (Pseudocódigo)................................3

4. Plan de pruebas ………………….. ...................................................11

5. Requerimientos mínimos de HW Y SW para el desarrollo

y mantenimiento ..................................................................................18
1. Descripción del problema

Requerimientos básicos

-El usuario podrá introducir números enteros tales como la clave y la


antigüedad, también cadena como el nombre, la plaza, departamento, y un
sueldo tipo real, por ejemplo: el programa pide el sueldo del empleado
entonces podrás introducir 3000 o más, en donde pide el nombre del empleado
podrá introducir una cadena por ejemplo: Antonio o Marco.

-El usuario podrá dar de alta a los empleados, consultar a los empleados su
información, generar un reporte general y de sueldo de todos los empleados.

-Se podrá editar o cambiar la información del empleado que elijamos de


acuerdo a su clave.

-El usuario podrá dar de baja a un empleado por su clave y por su edad.

Restricciones básicas

-El usuario no podrá introducir números negativos por ejemplo: en el sueldo


poner -4000, en el nombre de empleado tipo cadena no podrá introducir
números solo palabras.

-Los operadores válidos podrán ser +, -, *, /, ^.

-Los operandos podrán ser números de un dígito (0 .. 9) o variables de una


letra (a..z) sin diferenciar entre mayúsculas y minúsculas, por ejemplo, a y A es
el mismo nombre de variable.

2. Propuesta de Solución
- En primer lugar lera los datos que el usuario ingrese: la clave, plaza,
departamento, sueldo, antigüedad

-Después el usuario dará de alta los datos que ingreso asignándoselos en el


vector empleado.

-Para consultar los empleados por medio de su clave, primero verificamos por
medio de una condición si la clave se encuentra o no, si se encuentra entonces
desplegara toda la información de ese empleado.

-Cuando se genera el reporte, recorremos todo el vector por medio de un ciclo,


para que valla escribiendo todos los datos que tenemos en el vector.
-Cuando generamos el reporte solo de los sueldos , lo realizamos también por
medio de un ciclo, pero primero verificamos que exista el sueldo ingresado de
los empleados para poder mostrar el reporte completo.

Limitantes

-La expresión infija solo puede construirse con los siguientes caracteres: (,),
+,-,*,/,^, ,0..9,a..z,A..Z.

-Los nombres de variable (a..z) serán de longitud uno. La letra ñ no puede ser
nombre de variable.

3. Representación de la solución
PROGRAM Gestion_empleados;

CONST

n = 100;

TYPE

Empleado = RECORD

clave: INTEGER;

nombre: [20] STRING;

plaza: [20] STRING;

departamento: [20] STRING;

sueldo: REAL;

antiguedad: INTEGER;

END;

TYPE

Empleados = ARRAY OF Empleado;

VAR

Empresa: Empleados;
opcion: INTERGER;

END;

PROCEDURE Lectura;

VAR

clave, antiguedad: INTEGER;

nombre[20], plaza[20], departamento[20]: STRING;

sueldo: REAL;

BEGIN

WRITE ('¿CUAL ES EL NOMBRE DEL EMPLEADO?')

READ (nombre[])

WRITE ('¿CUAL ES LA CLAVE DEL EMPLEADO?')

READ (clave)

WRITE ('¿QUE PLAZA OCUAPA EL EMPLEADO?')

READ (plaza)

WRITE ('¿EN QUE DEPARTAMENTO TRABAJA EL


EMPLEADO?')

READ (departamento[])

WRITE ('¿CUAL ES EL SUELDO DEL EMPLEADO?')

READ (sueldo)

WRITE ('¿QUE ANTIGÜEDAD TIENE EL EMPLEADO (En


meses)')

READ (antiguedad)

END;

PROCEDURE Altas (nombre [20], plaza[20], departamento[20]: STRING;


clave, antiguedad: INTEGER; sueldo: REAL; Empresa.Empleados: ARRAY);

VAR
i: INTEGER

BEGIN

i:=

Empresa.Empleados[i].nombre:= nombre;

Empresa.Empleados[i].clave:= clave;

Empresa.Empleados[i].plaza:= plaza;

Empresa.Empleados[i].departamento:= departamento;

Empresa.Empleados[i].sueldo:= sueldo;

Empresa.Empleados[i].antiguedad:= antigueda;

END;

PROCEDURE Consulta (clave: INTEGER; Empresa.Empleados: ARRAY);

VAR

i: INTEGER

BEGIN

i:= 0;

REPEAT

WRITE ('INGRESE LA CLAVE DEL EMPLEADO', clave)

READ (clave);

IF Empresa.Empleados[i].clave = clave THEN

WRITE ('EL NOMBRE DEL EMPLEADO ES: ',


Empresa.Empleados[i].nombre)

WRITE ('SU CLAVE DE IDENTIFICACION ES: ',


Empresa.Empleados[i].clave)
WRITE ('LA PLAZA QUE OCUAPA ES: ', Empresa.Empleados[i].plaza)

WRITE ('SE ENCUENTRA EN EL DEPARTAMENTO: ',


Empresa.Empleados[i].departamento)

WRITE ('SU SUELDO ES DE: ', Empresa.Empleados[i].sueldo, 'PESOS')

WRITE ('SU ANTIGÜEDAD ES DE: ', Empresa.Empleados[i]., 'MESES')

ELSE

i:=i+1

UNTIL Empresa.Empleados[i].clave = clave

END;

PROCEDURE Reporte_general (Empresa.Empleados: ARRAY);

VAR

i: INTEGER

BEGIN

FOR i:= 0 TO n DO

BEGIN

WRITE ('--------------------EMPLEADO ', i,'----------------------------')

WRITE ('EL NOMBRE DEL EMPLEADO ES: ',


Empresa.Empleados[i].nombre)

WRITE ('SU CLAVE DE IDENTIFICACION ES: ',


Empresa.Empleados[i].clave)

WRITE ('LA PLAZA QUE OCUAPA ES: ', Empresa.Empleados[i].plaza)

WRITE ('SE ENCUENTRA EN EL DEPARTAMENTO: ',


Empresa.Empleados[i].departamento)

WRITE ('SU SUELDO ES DE: ', Empresa.Empleados[i].sueldo, 'PESOS')

WRITE ('SU ANTIGÜEDAD ES DE: ', Empresa.Empleados[i]., 'MESES')

END

END;
PROCEDURE Reporte_sueldo (Empresa.Empleados: ARRAY; sueldo: REAL);

VAR

i: INTEGER

BEGIN

FOR i:=0 TO n DO

BEGIN

IF Empresa.Empleados.sueldo = sueldoTHEN

WRITE ('--------------------EMPLEADO ', i,'----------------------------')

WRITE ('EL NOMBRE DEL EMPLEADO ES: ',


Empresa.Empleados[i].nombre)

WRITE ('SU CLAVE DE IDENTIFICACION ES: ',


Empresa.Empleados[i].clave)

WRITE ('LA PLAZA QUE OCUAPA ES: ', Empresa.Empleados[i].plaza)

WRITE ('SE ENCUENTRA EN EL DEPARTAMENTO: ',


Empresa.Empleados[i].departamento)

WRITE ('SU SUELDO ES DE: ', Empresa.Empleados[i].sueldo, 'PESOS')

WRITE ('SU ANTIGÜEDAD ES DE: ', Empresa.Empleados[i]., 'MESES')

END

END;

PROCEDURE Editar (Empresa.Empleados: ARRAY; clave: INTEGER);

VAR

i:INTEGER

BEGIN

i:= 0;

REPEAT

IF Empresa.Empleados[i].clave = clave THEN


WRITE ('¿CUAL ES EL NOMBRE DEL EMPLEADO?')

READ (Empresa.Empleados[i].nombre)

WRITE ('¿QUE PLAZA OCUAPA EL EMPLEADO?')

READ (Empresa.Empleados[i].plaza)

WRITE ('¿EN QUE DEPARTAMENTO TRABAJA EL EMPLEADO?')

READ (Empresa.Empleados[i].departamento)

WRITE ('¿CUAL ES EL SUELDO DEL EMPLEADO?')

READ (Empresa.Empleados[i].sueldo)

WRITE ('¿QUE ANTIGÜEDAD TIENE EL EMPLEADO')

READ (Empresa.Empleados[i].antiguedad)

ELSE

i:=i+1

UNTIL Empresa.Empleados[i].clave = clave

END;

PROCEDURE Baja_clave (Empresa.Empleados: ARRAY; clave:


INTEGER);

VAR

i:INTEGER

BEGIN

i:= 0;

REPEAT

IF Empresa.Empleados[i].clave = clave

THEN

Empresa.Empleados[i].nombre:= 0

Empresa.Empleados[i].clave:= 0

Empresa.Empleados[i].plaza:= 0
Empresa.Empleados[i].departamento:=
0

Empresa.Empleados[i].sueldo:= 0

Empresa.Empleados[i].antiguedad:= 0

ELSE

i:=i+1

UNTIL Empresa.Empleados[i].clave = clave

END;

PROCEDURE Baja_edad (Empresa.Empleados: ARRAY; antigueda:


INTEGER);

VAR

i: INTEGER

BEGIN

FOR i:=0 TO n DO

BEGIN

IF Empresa.Empleados[i].antigueda > 35 THEN

Empresa.Empleados[i].nombre:= 0

Empresa.Empleados[i].clave:= 0

Empresa.Empleados[i].plaza:= 0

Empresa.Empleados[i].departamento:= 0

Empresa.Empleados[i].sueldo:= 0

Empresa.Empleados[i].antiguedad:= 0

END;

PROCEDURE Incrementar (Empresa.Empleados: ARRAY; sueldo: REAL);

VAR

i: INTEGER
z: REAL

BEGIN

FOR i:=0 TO n DO

BEGIN

IF Empresa.Empleados[i].sueldo < sueldo THEN

Empresa.Empleados[i].sueldo:= (Empresa.Empleados[i].sueldo +
(Empresa.Empleados[i].sueldo * Z));

END;

PROCEDURE menu;

WRITE (‘Opcion 1: Dar de alta a los empleados’);

WRITE (‘Opcion 2: Consultar los datos de un empleado según su clave’);

WRITE (‘Opcion 3: Generar un reporte general de los empleados’);

WRITE (‘Opcion 4: Generar un reporte del sueldo de los empleados’);

WRITE (‘Opcion 5: Modificar los datos de los empleados ’);

WRITE (‘Opcion 6: Dar de baja a un empleado según su clave’);

WRITE (‘Opcion 7: Dar de baja a un empleado según su edad’);

WRITE (‘Opcion 8: Incrementar el suelo de los empleados ’);

END;

BEGIN

WRITE ('Programa para gestionar los datos de los empleados');

WRITE ('', PROCEDURE (menu));

CASE opcion OF

'1' PROCEDIMIENTO Lectura (empledos[i]: arreglo);

'2' PROCEDIMENTO Consulta (empledos[i].clave): arreglo);


'3' PROCEDIMENTO Reporte_general (empledos: registro);

'4' PROCEDIMENTO Reporte_sueldo (empledos[i].sueldo):


arreglo);

'5' PROCEDIMENTO Editar (empledos: registro);

'6' PROCEDIMENTO Baja_clave (empledos: registro);

'7' PROCEDIMENTO Baja_edad (empledos: registro);

'8' PROCEDIMENTO Incrementar (empledos[i].sueldo: registro);

FIN_CASO

END.

4.Plan de pruebas
MEMORIA

CONSTANTES

n = 100;

TIPOS DE DATOS

Empleado = RECORD

clave:111,0

nombre: Luis,Luis, (VACIO)

plaza: programador, diseñador, (VACIO)

departamento: desarrollo, desarrollo, (VACIO)

sueldo: 7000, 10000,0

antiguedad: 12, 16,0

Empleados = ARRAY OF Empleado;

VARIABLES

Empresa: Empleados;
Opción: 1,2,3,4,5,6,7,8

PANTALLA

Programa para gestionar los datos de los empleados

Opción 1 : Dar de alta un empleado.

Opción 2 : Consultar los datos de un empleado según su clave.

Opción 3 : Generar un reporte de todos los empleados.

Opción 4 : Generar un reporte de todos los empleados según un rango de


sueldo dado (de $x a $y).

Opción 5 : Modificar los datos de un empleado (excepto su clave).

Opción 6 : Dar de baja un empleado según su clave.

Opción 7 : Dar de baja todos los empleados con antigüedad mayor a 35 años.

Opción 8 : Incrementar en x% el sueldo de todos los empleados que ganen


menos de $z.

¿CUAL ES EL NOMBRE DEL EMPLEADO?

Luis

¿CUAL ES LA CLAVE DEL EMPLEADO?

111

¿QUE PLAZA OCUAPA EL EMPLEADO?

programador

¿EN QUE DEPARTAMENTO TRABAJA EL EMPLEADO?

desarrollo

¿CUAL ES EL SUELDO DEL EMPLEADO?

7000

¿QUE ANTIGÜEDAD TIENE EL EMPLEADO (En meses)?

12
Programa para gestionar los datos de los empleados

Opción 1 : Dar de alta un empleado.

Opción 2 : Consultar los datos de un empleado según su clave.

Opción 3 : Generar un reporte de todos los empleados.

Opción 4 : Generar un reporte de todos los empleados según un rango de


sueldo dado (de $x a $y).

Opción 5 : Modificar los datos de un empleado (excepto su clave).

Opción 6 : Dar de baja un empleado según su clave.

Opción 7 : Dar de baja todos los empleados con antigüedad mayor a 35 años.

Opción 8 : Incrementar en x% el sueldo de todos los empleados que ganen


menos de $z.

--------------------EMPLEADO 1----------------------------

ESCRIBRE LA CLAVE DEL EMPLEADO QUE DESEAR BUSCAR

111

SU CLAVE DE IDENTIFICACION ES: 111

LA PLAZA QUE OCUAPA ES: programador

SE ENCUENTRA EN EL DEPARTAMENTO: desarrollo

SU SUELDO ES DE: 7000 PESOS

SU ANTIGÜEDAD ES DE: 12 MESES

Programa para gestionar los datos de los empleados

Opción 1 : Dar de alta un empleado.

Opción 2 : Consultar los datos de un empleado según su clave.

Opción 3 : Generar un reporte de todos los empleados.

Opción 4 : Generar un reporte de todos los empleados según un rango de


sueldo dado (de $x a $y).

Opción 5 : Modificar los datos de un empleado (excepto su clave).

Opción 6 : Dar de baja un empleado según su clave.


Opción 7 : Dar de baja todos los empleados con antigüedad mayor a 35 años.

Opción 8 : Incrementar en x% el sueldo de todos los empleados que ganen


menos de $z.

--------------------EMPLEADO 1----------------------------

EL NOMBRE DEL EMPLEADO ES: Luis

SU CLAVE DE IDENTIFICACION ES: 111

LA PLAZA QUE OCUAPA ES: programador

SE ENCUENTRA EN EL DEPARTAMENTO: desrrollo

SU SUELDO ES DE: 7000 PESOS

SU ANTIGÜEDAD ES DE: 12 MESES

Programa para gestionar los datos de los empleados

Opción 1 : Dar de alta un empleado.

Opción 2 : Consultar los datos de un empleado según su clave.

Opción 3 : Generar un reporte de todos los empleados.

Opción 4 : Generar un reporte de todos los empleados según un rango de


sueldo dado (de $x a $y).

Opción 5 : Modificar los datos de un empleado (excepto su clave).

Opción 6 : Dar de baja un empleado según su clave.

Opción 7 : Dar de baja todos los empleados con antigüedad mayor a 35 años.

Opción 8 : Incrementar en x% el sueldo de todos los empleados que ganen


menos de $z.

ESCRIBE EL MINIMO DE SUELDO QUE QUIERES CONSULTAR

5000
ESCRIBE EL MAXIMO DE SUELDO QUE QUIERES CONSULTAR

1000

--------------------EMPLEADO 1----------------------------

EL NOMBRE DEL EMPLEADO ES: Luis

SU CLAVE DE IDENTIFICACION ES: 111

LA PLAZA QUE OCUAPA ES: programador

SE ENCUENTRA EN EL DEPARTAMENTO: desrrollo

SU SUELDO ES DE: 7000 PESOS

SU ANTIGÜEDAD ES DE: 12 MESES

Programa para gestionar los datos de los empleados

Opción 1 : Dar de alta un empleado.

Opción 2 : Consultar los datos de un empleado según su clave.

Opción 3 : Generar un reporte de todos los empleados.

Opción 4 : Generar un reporte de todos los empleados según un rango de


sueldo dado (de $x a $y).

Opción 5 : Modificar los datos de un empleado (excepto su clave).

Opción 6 : Dar de baja un empleado según su clave.

Opción 7 : Dar de baja todos los empleados con antigüedad mayor a 35 años.

Opción 8 : Incrementar en x% el sueldo de todos los empleados que ganen


menos de $z.

ESCRIBE LA CLAVE DEL EMPLEADO QUE DESEAS EDITAR

111

¿CUAL ES EL NOMBRE DEL EMPLEADO?

Luis

¿QUE PLAZA OCUAPA EL EMPLEADO?


diseñador

¿EN QUE DEPARTAMENTO TRABAJA EL EMPLEADO?

desarrollo

¿CUAL ES EL SUELDO DEL EMPLEADO?

10000

¿QUE ANTIGÜEDAD TIENE EL EMPLEADO (En meses)?

16

Programa para gestionar los datos de los empleados

Opción 1 : Dar de alta un empleado.

Opción 2 : Consultar los datos de un empleado según su clave.

Opción 3 : Generar un reporte de todos los empleados.

Opción 4 : Generar un reporte de todos los empleados según un rango de


sueldo dado (de $x a $y).

Opción 5 : Modificar los datos de un empleado (excepto su clave).

Opción 6 : Dar de baja un empleado según su clave.

Opción 7 : Dar de baja todos los empleados con antigüedad mayor a 35 años.

Opción 8 : Incrementar en x% el sueldo de todos los empleados que ganen


menos de $z.

ESCRIBE EL MAXIMO DE SUELDO DE LOS EMPLEADOS QUE LES DARAS


AUMENTO

12000

Programa para gestionar los datos de los empleados

Opción 1 : Dar de alta un empleado.

Opción 2 : Consultar los datos de un empleado según su clave.

Opción 3 : Generar un reporte de todos los empleados.


Opción 4 : Generar un reporte de todos los empleados según un rango de
sueldo dado (de $x a $y).

Opción 5 : Modificar los datos de un empleado (excepto su clave).

Opción 6 : Dar de baja un empleado según su clave.

Opción 7 : Dar de baja todos los empleados con antigüedad mayor a 35 años.

Opción 8 : Incrementar en x% el sueldo de todos los empleados que ganen


menos de $z.

ESCRIBE LA CLAVE DEL EMPLEADO QUE DESEAS DAR DE BAJA

111

Programa para gestionar los datos de los empleados

Opción 1 : Dar de alta un empleado.

Opción 2 : Consultar los datos de un empleado según su clave.

Opción 3 : Generar un reporte de todos los empleados.

Opción 4 : Generar un reporte de todos los empleados según un rango de


sueldo dado (de $x a $y).

Opción 5 : Modificar los datos de un empleado (excepto su clave).

Opción 6 : Dar de baja un empleado según su clave.

Opción 7 : Dar de baja todos los empleados con antigüedad mayor a 35 años.

Opción 8 : Incrementar en x% el sueldo de todos los empleados que ganen


menos de $z.

ESPERA UN MOMENTO

ACCIÓN TERMINADA
5. Requerimientos hadware y software

-Procesador Intel Pentium,233 MHz o superior

- 64 MB RAM (se recomiendan 128 MB)

-400 MB de espacio disponible en disco duro

-Windows 7/8

-Mouse u otro dispositivo señalador.

También podría gustarte