-
Lenguaje
Pascal
-
Descripción
Una compañía de seguros para autos ofrece 2 tipos de póliza: cobertura amplia (A) y daños a terceros (B).
Para el plan A, la cuota base es de $1,200.
Para el plan B, la cuota base es de $950.
A ambos planes se les carga 10% del costo si el conductor tiene el hábito de beber alcohol, 5% si utiliza lentes, 5% si padece alguna enfermedad como deficiencia cardiaca o diabetes, además si tiene más de 40 años se le carga 20%, de lo contrario sólo 10%.
Todos estos cargos se realizan sobre el costo base.
Determine el costo de la póliza de seguro.
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
program SeguroPorCoberturaAmpliaYDanosATerceros;
uses crt;
var padece_enfermedad, tipo_de_poliza, toma_alcohol, utiliza_lentes : integer;
var cargos, costo_de_la_poliza, cuota, edad : real;
begin
write ('Ingresa el valor de edad: ');
readln (edad);
writeln ('Selecciona el valor de tipo de poliza.');
writeln (' 1.- A cobertura amplia');
writeln (' 2.- B da'#164'os a terceros');
write (' : ');
repeat
readln (tipo_de_poliza);
if (tipo_de_poliza<1) or (tipo_de_poliza>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (tipo_de_poliza>=1) and (tipo_de_poliza<=2);
writeln ('Selecciona el valor de toma alcohol.');
writeln (' 1.- si');
writeln (' 2.- no');
write (' : ');
repeat
readln (toma_alcohol);
if (toma_alcohol<1) or (toma_alcohol>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (toma_alcohol>=1) and (toma_alcohol<=2);
writeln ('Selecciona el valor de utiliza lentes.');
writeln (' 1.- si');
writeln (' 2.- no');
write (' : ');
repeat
readln (utiliza_lentes);
if (utiliza_lentes<1) or (utiliza_lentes>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (utiliza_lentes>=1) and (utiliza_lentes<=2);
writeln ('Selecciona el valor de padece enfermedad.');
writeln (' 1.- si');
writeln (' 2.- no');
write (' : ');
repeat
readln (padece_enfermedad);
if (padece_enfermedad<1) or (padece_enfermedad>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (padece_enfermedad>=1) and (padece_enfermedad<=2);
if tipo_de_poliza=1 then
begin
cuota := 1200;
end
else
begin
cuota := 950;
end;
cargos := 0;
if toma_alcohol=1 then
begin
cargos := cargos+cuota*0.1;
end;
if utiliza_lentes=1 then
begin
cargos := cargos+cuota*0.05;
end;
if padece_enfermedad=1 then
begin
cargos := cargos+cuota*0.05;
end;
if edad>40 then
begin
cargos := cargos+cuota*0.2;
end
else
begin
cargos := cargos+cuota*0.1;
end;
costo_de_la_poliza := cuota+cargos;
writeln ('Valor de cargos: ', cargos:0:6);
writeln ('Valor de costo de la poliza: ', costo_de_la_poliza:0:6);
writeln ('Valor de cuota: ', cuota:0:6);
writeln;
write ('Presiona una tecla para terminar . . . ');
readkey;
end.
uses crt;
var padece_enfermedad, tipo_de_poliza, toma_alcohol, utiliza_lentes : integer;
var cargos, costo_de_la_poliza, cuota, edad : real;
begin
write ('Ingresa el valor de edad: ');
readln (edad);
writeln ('Selecciona el valor de tipo de poliza.');
writeln (' 1.- A cobertura amplia');
writeln (' 2.- B da'#164'os a terceros');
write (' : ');
repeat
readln (tipo_de_poliza);
if (tipo_de_poliza<1) or (tipo_de_poliza>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (tipo_de_poliza>=1) and (tipo_de_poliza<=2);
writeln ('Selecciona el valor de toma alcohol.');
writeln (' 1.- si');
writeln (' 2.- no');
write (' : ');
repeat
readln (toma_alcohol);
if (toma_alcohol<1) or (toma_alcohol>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (toma_alcohol>=1) and (toma_alcohol<=2);
writeln ('Selecciona el valor de utiliza lentes.');
writeln (' 1.- si');
writeln (' 2.- no');
write (' : ');
repeat
readln (utiliza_lentes);
if (utiliza_lentes<1) or (utiliza_lentes>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (utiliza_lentes>=1) and (utiliza_lentes<=2);
writeln ('Selecciona el valor de padece enfermedad.');
writeln (' 1.- si');
writeln (' 2.- no');
write (' : ');
repeat
readln (padece_enfermedad);
if (padece_enfermedad<1) or (padece_enfermedad>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (padece_enfermedad>=1) and (padece_enfermedad<=2);
if tipo_de_poliza=1 then
begin
cuota := 1200;
end
else
begin
cuota := 950;
end;
cargos := 0;
if toma_alcohol=1 then
begin
cargos := cargos+cuota*0.1;
end;
if utiliza_lentes=1 then
begin
cargos := cargos+cuota*0.05;
end;
if padece_enfermedad=1 then
begin
cargos := cargos+cuota*0.05;
end;
if edad>40 then
begin
cargos := cargos+cuota*0.2;
end
else
begin
cargos := cargos+cuota*0.1;
end;
costo_de_la_poliza := cuota+cargos;
writeln ('Valor de cargos: ', cargos:0:6);
writeln ('Valor de costo de la poliza: ', costo_de_la_poliza:0:6);
writeln ('Valor de cuota: ', cuota:0:6);
writeln;
write ('Presiona una tecla para terminar . . . ');
readkey;
end.