s1Eva2014TI_T2 Verificar EAN con Python

Ejercicio: 1Eva_IT2014_T2 Verificar EAN



codigo de barras EAN

Para un número EAN dado, de cualquier producto, se ingresa como un número entero.

 

# INGRESO
EAN = int(input('European Article Number,EAN: '))

Se requiere separar los componentes usando cociente y residuo: producto, empresa y país según las posiciones y cantidad de dígitos.

# PROCEDIMENTO
# separar las partes
verificador = EAN%10 # un dígito
numero = EAN//10

producto = numero%100000 # cinco dígitos
numero =  numero//100000

empresa =  numero%10000 # cuatro dígitos
pais =  numero//10000

Luego encontrar la suma de los dígitos con la operación indicada en el enunciado.

La siguiente semana de ser necesario se explica el tema de la decena superior.



Algoritmo en Python

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 1Eva_IT2014_T2 Verificar EAN

# INGRESO
EAN = int(input('European Article Number,EAN: '))

# PROCEDIMENTO
# separar las partes
verificador = EAN%10  # un dígito
numero = EAN//10

producto = numero%100000 # cinco dígitos
numero =  numero//100000

empresa =  numero%10000  # cuatro dígitos
pais =  numero//10000

# calcular verificador
suma = 0
numero = numero = EAN//10
while not(numero<=0):
    digito = numero%10
    numero = numero//10
    suma   = suma + 3*digito
    
    digito = numero%10
    numero = numero//10
    suma   = suma + 1*digito
    
decena    = suma//10
superior  = (decena + 1)*10
calculado = superior - suma

if (verificador == calculado):
    valido = 1
else:
    valido = 0
    
# SALIDA
print('el numero ingresado es válido: ', valido)
print('producto: ', producto)
print('empresa: ', empresa)
print('pais: ', pais)

resultado del algoritmo

European Article Number,EAN: 7702004003508
el numero ingresado es válido:  1
producto:  350
empresa:  2004
pais:  770
>>> 

European Article Number,EAN: 7702004003509
el numero ingresado es válido:  0
producto:  350
empresa:  2004
pais:  770
>>> 


Diagrama de Flujo

Diagrama según taller realizado en aula. tenía una sección de tarea.

número EAN 01