Translate

lunes, 13 de octubre de 2014

Libro: Introducción a la Programación Lógica y Diseño, Farrell (2014).

5.- Drive-Rite Insurance Company proporciona pólizas de seguros para automóviles a los conductores. Diseñe un diagrama de flujo o seudocódigo para lo siguiente:


a) Un programa que acepte datos de pólizas de seguros, incluyendo el número de las mismas, apellido del cliente, nombre del cliente, edad, fecha de vencimiento de la prima (día, mes, año) y número de accidentes que ha tenido el conductor en los últimos tres años. Si un numero de póliza introducido no está entre 1000 y 9999 inclusive, establezca el número de póliza 0. Si el mes no está entre 1 y 12 inclusive, o el día no es correcto para el mes (por ejemplo, no está entre 1 y 31 para enero o 1 y 29 para febrero), establezca el día, mes y año en 0. Despliegue los datos de lo póliza después que se hayan hecho cualesquiera revisiones.

Análisis del problema: Debemos ingresar el número de póliza con sus respectivos datos como el nombre, apellido, fecha de caducidad, nuestra edad y el número de accidentes que ha tenido, el programa pasara por varias verificaciones como la del número de póliza si se encuentren su rango respectivo, como también la fecha tiene que coincidir. Si alguno de estos casos no coincide la póliza será declarada en cero.

Datos de entrada: Número de póliza (Enteros positivos), nombre del cliente, apellido del cliente, edad (Enteros positivos), día (Enteros positivos), mes (Enteros positivos) año (Enteros positivos), número de accidentes (Enteros positivos)

Datos de salida: Número de póliza, nombre del cliente, apellido del cliente, edad, día, mes, año, número de accidentes.

Datos adicionales: Ninguno.

Proceso:
El usuario introduce los valores requeridos en los datos de entrada uno de estos es en número de póliza, si no está entre el rango de 1000 a 9999 pasaría al proceso de póliza declarada en 0, si lo está pasaría al proceso de confirmación de fecha con lo cual tenemos que saber el día mes y año, entones pasaría a la comprobación del mes si ingresa en número del respectivo año, de haber colocado un valor fuera de lo común la póliza quedara en 0, si pasa el proceso de verificación del mes entonces tendría que verificar el día, si no es el día indicado del mes la póliza será declarada en 0 caso contrario el programa desplegara los resultados que son el número de póliza, nombre del cliente, apellido del cliente, edad, día, mes, año, número de accidentes.

Diagrama de Flujo:



Pseudocódigo

//Nombre: David Ponce
//Fecha: 09 de octubre 2014
//Programa: Seguros_Vive
 Inicio:
                    Variables Enteras positivas  NP, NC, AC, E, M, D, A, AC;
                    Leer  NP, NC, AC, E, M, D, A, AC
                    Proceso:
Si (NP>1000 Y NP<9999) Entonces
                             Si (M>=1 Y M<=12) Entonces
                                      Según M hacer:
                                                1:                
          3:
                                                5:
                                                7:
                                                8:
                                                10:
                                                12:
                                                Si (D>=1 Y D<=31) Entonces      
                                                          Imprimir NP, NC, AC, E, M, D, A, NA;
                                                Sino
                                                          NP = 0;
                                                Finsi

                                                2:
                                                Si (D>=1 Y D<=29) Entonces      
                                                          Imprimir NP, NC, AC, E, M, D, A, NA;
                                                Sino
                                                          NP = 0;
                                                Finsi

                                                4:
                                                6:      
                                                9:
                                                11:
                                                Si (D>=1 Y D<=30) Entonces      
                                                          Imprimir NP, NC, AC, E, M, D, A, NA;
                                                Sino
                                                          NP = 0;
                                                Finsi
                            
Finsegun
                             Sino

                             NP = 0;

                             Finsi
                    Sino

                   NP=0;

                      Finsi
         
Fin.
                   
Prueba de escritorio:
Para NP = 4999, NC = DAVID, NP=PONCE, E=19, D=20, M=6, A=2014, NA=0
Secuencias/Variables
NP
NC
AC
E
M
D
A
AC

1
4999
DAVID
PONCE
19



0

2




6




3





20



4






2014


5
4999
DAVID
PONCE
19
6
20
2014
0


Para NP = 9999, NC = DANIEL, NP=PONCE, E=25, D=23, M=1, A=2000, NA=3
Secuencias/Variables
NP
NC
AC
E
M
D
A
AC

1
9999
DANIEL
PONCE
25



3

2




1




3





23



4






2000


5
9999
DANIEL
PONCE
25
1
23
2000
3


Para NP = 6767, NC = LISA, NP=LOPEZ, E=40, D=29, M=2, A=2014, NA=24
Secuencias/Variables
NP
NC
AC
E
M
D
A
AC

1
6767
LISA
LOPEZ
40



24

2




2




3





29



4









5
0









No hay comentarios:

Publicar un comentario