-
Lenguaje
Pascal
-
Descripción
Un banco desea tener una herramienta informática para determinar si una persona puede lograr un préstamo. Para esto se han definido las siguientes condiciones de evaluación:
1. La historia crediticia del solicitante debe ser buena. Si es mala, el préstamo es rechazado inmediatamente.
2. Si la historia crediticia es buena debe, se debe sumar al menos 5 puntos usando la siguiente tabla:
- 3 puntos si el salario es el 40% o más del préstamos solicitado.
- 2 puntos si el salario es mayor o igual al 20% pero menor que el 40% del prestamo solicitado.
- 1 punto si el salario es mayor o igual al 1% pero menor que el 20% del prestamo solicitado.
- 5 puntos si el solicitante tiene alguna propiedad.
- 3 puntos si el solicitante tiene un contrato a término definido.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
uses crt;
var historia_crediticia, tiene_contrato_a_termino_definido : integer;
var numero_de_propiedades, prestamos_solicitado, puntos, salario : real;
begin
write ('Ingresa el valor de numero de propiedades: ');
readln (numero_de_propiedades);
write ('Ingresa el valor de prestamos solicitado: ');
readln (prestamos_solicitado);
write ('Ingresa el valor de salario: ');
readln (salario);
writeln ('Selecciona el valor de historia crediticia.');
writeln (' 1.- Buena');
writeln (' 2.- Mala');
write (' : ');
repeat
readln (historia_crediticia);
if (historia_crediticia<1) or (historia_crediticia>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (historia_crediticia>=1) and (historia_crediticia<=2);
writeln ('Selecciona el valor de tiene contrato a termino definido.');
writeln (' 1.- Si');
writeln (' 2.- No');
write (' : ');
repeat
readln (tiene_contrato_a_termino_definido);
if (tiene_contrato_a_termino_definido<1) or (tiene_contrato_a_termino_definido>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (tiene_contrato_a_termino_definido>=1) and (tiene_contrato_a_termino_definido<=2);
puntos := 0;
if salario>=prestamos_solicitado*0.4 then
begin
puntos := puntos+3;
end;
if (salario>=prestamos_solicitado*0.20) and (salario<prestamos_solicitado*0.4) then
begin
puntos := puntos+2;
end;
if (salario>=prestamos_solicitado*0.01) and (salario<prestamos_solicitado*0.2) then
begin
puntos := puntos+1;
end;
if numero_de_propiedades>0 then
begin
puntos := puntos+5;
end;
if tiene_contrato_a_termino_definido=1 then
begin
puntos := puntos+3;
end;
if (historia_crediticia=1) and (puntos>=5) then
begin
writeln ('Pr'#130'stamo aprobado.');
end
else
begin
writeln ('Pr'#130'stamo rechazado.');
end;
writeln ('Valor de puntos: ', puntos:0:6);
writeln;
write ('Presiona una tecla para terminar . . . ');
readkey;
end.