• Lenguaje

    Pascal

  • Descripción

    Determina si un solicitante puede lograr un préstamo. Deberá pedir los siguientes datos para cada solicitante: Nombre, historia crediticia ( ‘b’ buena o ‘m’ mala), cantidad solicitada, salario anual y valor de otras propiedades. El banco solo considerará a los solicitantes con un estado de crédito bueno. De aquellos, solo aceptara los que tengan más de 6 puntos. Los puntos se obtienen como sigue:
    5 puntos si el salario es 50% del préstamo o más.
    3 puntos si el salario es por lo menos 25% pero menos de 50% del préstamo.
    1 punto si el salario es por lo menos 10% pero menos de 25% del préstamo.
    5 puntos si se tiene otra propiedad del doble del préstamo o más.
    3 puntos si se tiene otra propiedad igual al préstamo pero menor del doble.

1
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
program PrestamoLogradoPorHistorialCrediticio;
uses crt;

var historia_crediticia : integer;
var cantidad_solicitada, otras_propiedades, puntos, salario_anual : real;
var nombre : string;
begin
    write ('Ingresa el nombre: ');
    readln (nombre);
    write ('Ingresa el valor de cantidad solicitada: ');
    readln (cantidad_solicitada);
    write ('Ingresa el valor de otras propiedades: ');
    readln (otras_propiedades);
    write ('Ingresa el valor de salario anual: ');
    readln (salario_anual);
    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);
    puntos := 0;
    if salario_anual>=cantidad_solicitada*0.5 then
        begin
            puntos := puntos+5;
        end;
    if (salario_anual>=cantidad_solicitada*0.25) and (salario_anual<cantidad_solicitada*0.5) then
        begin
            puntos := puntos+3;
        end;
    if (salario_anual>=cantidad_solicitada*0.1) and (salario_anual<cantidad_solicitada*0.25) then
        begin
            puntos := puntos+1;
        end;
    if otras_propiedades>=cantidad_solicitada*2 then
        begin
            puntos := puntos+5;
        end;
    if (otras_propiedades>=cantidad_solicitada) and (otras_propiedades<cantidad_solicitada*2) then
        begin
            puntos := puntos+3;
        end;
    if (historia_crediticia=1) and (puntos>6) then
        begin
            writeln ('Pr'#130'stamo aprobado');
        end
    else
        begin
            writeln ('Pr'#130'stamo rechazado');
        end;
    writeln ('Nombre: ', nombre);
    writeln ('Valor de puntos: ', puntos:0:6);
    writeln;
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.