• Lenguaje

    Pascal

  • Descripción

    La asociacion de vinicultores tiene como politica fijar un precio inicial al kilo de uva, la cual se clasifica en tipos A y B, y ademas en tamaños 1 y 2. Cuando se realiza la venta del producto, ésta es de un sólo 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. Determinar la ganancia obtenida.

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

var tipo_de_uva : integer;
var embarque_en_kilos, ganancia_obtenida, pago_al_productor, precio_inicial, precio_por_kilo : real;
var 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+20;
        end;
    if (tipo_de_uva=1) and (tamano=2) then
        begin
            precio_por_kilo := precio_por_kilo+30;
        end;
    if (tipo_de_uva=2) and (tamano=1) then
        begin
            precio_por_kilo := precio_por_kilo-30;
        end;
    if (tipo_de_uva=2) and (tamano=2) then
        begin
            precio_por_kilo := precio_por_kilo-50;
        end;
    pago_al_productor := embarque_en_kilos*precio_por_kilo;
    ganancia_obtenida := pago_al_productor-embarque_en_kilos*embarque_en_kilos*precio_por_kilo;
    writeln ('Valor de ganancia obtenida: ', ganancia_obtenida:0:6);
    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.