• Lenguaje

    Pascal

  • Descripción

    La asociación de vinicultores tiene como política fijar un precio inicial al kilo de uva, la cual se clasifica en tipos A y B, y además en tamaños 1 y 2. Cuando se realiza la venta del producto, ésta es de un solo tipo y tamaño, se requiere determinar cuánto recibirá un productor por la uva que entrega en un embarque, considerando lo siguiente: si es de tipo A, se le cargan 20¢ al precio inicial cuando es de tamaño 1; y 30¢ si es de tamaño 2. Si es de tipo B, se rebajan 30¢ cuando es de tamaño 1, y 50¢ cuando es de tamaño 2.

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

var tipo_de_uva : integer;
var embarque_en_kilos, pago_al_productor, precio_inicial, precio_por_kilo, tamano : real;
begin
    write ('Ingresa el valor de embarque en kilos: ');
    readln (embarque_en_kilos);
    write ('Ingresa el valor de precio inicial: ');
    readln (precio_inicial);
    write ('Ingresa el valor de tamano: ');
    readln (tamano);
    precio_por_kilo := precio_inicial;
    writeln ('Selecciona el valor de tipo de uva.');
    writeln ('    1.- A');
    writeln ('    2.- B');
    write ('    : ');
    repeat
        readln (tipo_de_uva);
        if (tipo_de_uva<1) or (tipo_de_uva>2) then
            write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
    until (tipo_de_uva>=1) and (tipo_de_uva<=2);
    if (tipo_de_uva=1) and (tamano=1) then
        begin
            precio_por_kilo := precio_por_kilo+0.2;
        end;
    if (tipo_de_uva=1) and (tamano=2) then
        begin
            precio_por_kilo := precio_por_kilo+0.3;
        end;
    if (tipo_de_uva=2) and (tamano=1) then
        begin
            precio_por_kilo := precio_por_kilo-0.3;
        end;
    if (tipo_de_uva=2) and (tamano=2) then
        begin
            precio_por_kilo := precio_por_kilo-0.5;
        end;
    pago_al_productor := embarque_en_kilos*precio_por_kilo;
    writeln ('Valor de pago al productor: ', pago_al_productor:0:6);
    writeln ('Valor de precio por kilo: ', precio_por_kilo:0:6);
    writeln;
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.