You are on page 1of 1

Universitat de Lleida Fonaments d'informtica - ETIM Primer Semestre 2007-2008.

Prctica 3

Realitza un programa en C que calculi el carcter de validaci d'un codi ISBN. Tots els llibres publicats estan identificats pel codi ISBN. Aquest est format per un nmero de 9 dgits que indiquen el pas, editorial i obra, ms un carcter de validaci o control per a comprovar que el codi introdut sigui correcte. Exemples: Codi ISBN 84-481-0462-5 ISBN 84-7509-972-6 ISBN 0-434-92290-0 ISBN 84-481-2295-X Nmero de 9 dgits 844810462 847509972 043492290 844812295 Carcter de validaci 5 6 0 X

L'algorisme utilitzat per calcular el carcter de validaci consisteix en multiplicar el primer dgit del nmero per 10, el segon per 9, el tercer per 8 i aix successivament fins multiplicar el darrer per 2. Vegem com es calcula a partir del primer exemple: 8 * 10 = 80 4 * 9 = 36 4 * 8 = 32 8 * 7 = 56 1 * 6 = 6 0 * 5 = 0 4 * 4 = 16 6 * 3 = 18 2 * 2 = 4 Es realitza la suma daquests productes parcials: 80 + 36 + 32 + 56 + 6 + 0 + 16 + 18 + 4 = 248 Es calcula el residu de la divisi sencera per 11. En aquest cas el seu valor s 6.

Si el residu s diferent de 0 i 1, el carcter de validaci s una xifra que es calcula fent la diferncia de 11 amb el residu: carcter de validaci = 11 - 6 = 5 Si el residu s 1, el carcter de validaci s 'X'. Si el residu s 0, el carcter s '0'. El programa tindr com a entrada el nmero de 9 dgits del codi. Aquesta dada s'introduir sense els guionets de separaci. El programa haur de generar el carcter de control a partir de l'algorisme i el presentar per pantalla. Per realitzar el programa es podran utilitzar els segents elements del llenguatge C: Tipus de dades: integer, float Operadors: aritmtics, lgics i relacionals Sentncies de control: if, for Funcions d'entrada i sortida: printf(); scanf().

You might also like