• Lenguaje

    Pascal

  • Descripción

    El importe anual del seguro de un coche depende del modelo del coche, de la edad del conductor y tiempo que tiene conduciendo. Son tres modelos de coche (A, B y C) y los precios del seguro son:
    Modelo | Precio
    A | $3,800
    B | $4,930
    C | $7,570
    Si el conductor tiene menos de 20 años, el precio se incrementa 25%; si tiene entre 20 y 30 años se incrementa 10%; si tiene entre 31 y 65 años el precio no se modifica; si tiene más de 65 años el precio se incrementará 15%. Además, en todos los casos si el conductor tiene menos de 2 años conduciendo con permiso, el precio se incrementará 25% adicional. Calcular el precio del seguro para un determinado modelo y un determinado conductor.

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

var modelo : integer;
var anos_de_conducir_con_permiso, edad, importe_anual : real;
begin
    write ('Ingresa el valor de anos de conducir con permiso: ');
    readln (anos_de_conducir_con_permiso);
    write ('Ingresa el valor de edad: ');
    readln (edad);
    importe_anual := 0;
    writeln ('Selecciona el valor de modelo.');
    writeln ('    1.- A');
    writeln ('    2.- B');
    writeln ('    3.- C');
    write ('    : ');
    repeat
        readln (modelo);
        if (modelo<1) or (modelo>3) then
            write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
    until (modelo>=1) and (modelo<=3);
    if importe_anual=1 then
        begin
            importe_anual := 3800;
        end;
    if importe_anual=2 then
        begin
            importe_anual := 4930;
        end;
    if importe_anual=3 then
        begin
            importe_anual := 7570;
        end;
    if edad<20 then
        begin
            importe_anual := importe_anual*1.25;
        end;
    if (edad>=20) and (edad<31) then
        begin
            importe_anual := importe_anual*1.1;
        end;
    if edad>65 then
        begin
            importe_anual := importe_anual*1.15;
        end;
    if anos_de_conducir_con_permiso<2 then
        begin
            importe_anual := importe_anual*1.25;
        end;
    writeln ('Valor de importe anual: ', importe_anual:0:6);
    writeln;
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.