• Lenguaje

    Pascal

  • Descripción

    El código de barras de un producto consta de 9 dígitos, donde los tres primeros dígitos representan el código del país productor del mismo, los siguientes tres dígitos corresponden al código asignado a la empresa que fabrica el producto, los siguientes dos dígitos corresponden al código del producto concreto y el último dígito es una clave de control, que resulta de aplicar un algoritmo matemático a los otros 8 dígitos.
    Se pide desarrollar un programa que permita ingresar por teclado los 9 dígitos del código de barra de un producto, como un sólo número y por lo tanto almacenado en una sola variable, y luego realice las siguientes tareas:
    1) Descomponga el código de barras en: código de país, código del fabricante, código del producto y clave de control. Informar por pantalla la información obtenida.
    2) Indicar a que país del Mercosur pertenece el producto, sabiendo que el prefijo de cada uno de ellos, según el GTIN (Global Trade Item Number = número mundial de un artículo comercial), es:
    Argentina 779
    Bolivia 777
    Brasil 789 – 790
    Paraguay 784
    Uruguay 773
    Venezuela 759
    Si no corresponde a ninguno de estos países de origen informar que el producto no pertenece al Mercosur. Si el prefijo pertenece a Argentina verificar si el código del fabricante es menor a 65 en cuyo caso indicar mediante un mensaje que el código pertenece a un producto químico.

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

var clave_de_control, codigo_de_empresa, codigo_del_pais, codigo_del_producto, cpu : integer;
begin
    write ('Ingresa el valor de cpu: ');
    readln (cpu);
    codigo_del_pais := (cpu mod 1000000000-cpu mod 1000000) div 1000000;
    codigo_de_empresa := (cpu mod 1000000-cpu mod 1000) div 1000;
    codigo_del_producto := (cpu mod 1000-cpu mod 10) div 10;
    clave_de_control := cpu mod 10;
    if codigo_del_pais=779 then
        begin
            writeln ('Argentina');
        end;
    if codigo_del_pais=777 then
        begin
            writeln ('Bolivia');
        end;
    if (codigo_del_pais=789) or (codigo_del_pais=790) then
        begin
            writeln ('Brasil');
        end;
    if codigo_del_pais=784 then
        begin
            writeln ('Paraguay');
        end;
    if codigo_del_pais=773 then
        begin
            writeln ('Uruguay');
        end;
    if codigo_del_pais=759 then
        begin
            writeln ('Venezuela');
        end;
    if (codigo_del_pais<>779) and (codigo_del_pais<>777) and (codigo_del_pais<>789) and (codigo_del_pais<>790) and (codigo_del_pais<>784) and (codigo_del_pais<>773) and (codigo_del_pais<>759) then
        begin
            writeln ('El producto no pertenece al Mercosur.');
        end;
    if (codigo_del_pais=779) and (codigo_de_empresa<65) then
        begin
            writeln ('El c'#162'digo pertenece a un producto qu'#161'mico.');
        end;
    writeln ('Valor de clave de control: ', clave_de_control);
    writeln ('Valor de codigo de empresa: ', codigo_de_empresa);
    writeln ('Valor de codigo del pais: ', codigo_del_pais);
    writeln ('Valor de codigo del producto: ', codigo_del_producto);
    writeln;
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.