Sovellukseen tarvitaan moduuli, joka tuottaa henkilötunnuksen viivakoodin. Viivakoodin tulostamiseen käytetään Google Fonts - kirjastosta löytyvää Code 128 fonttia. Viivakoodin muodostamiseen tarvitaan
Numeron 1 ASCII arvo on 49 ja siitä laskettu varmistussumman laskennassa käytettävä arvo 49-32 = 17
Numeron 2 ASCII 50 ja 18
Numeron 8 ASCII 56 ja 24
Kirjaimen B ASCII on 66 ja 34
Varmistussumma lasketaan siten, että merkkien järjestysnumerolla kerrotaan merkin ASCII-arvo, josta on vähennetty 32. Tulot lasketaan yhteen ja siihen lisätään vielä alkumerkin ASCII-arvo (104). Varmistussumma on modulo 103.
Esimerkin tapauksessa summaksi tulee 1x17 + 2x18 + 3x24 + 4x34 + 104 = 365. Tästä otetaan jakojäännös 103:lla jaettaessa 365 mod 103 = 56 Kun siihen lisätää 32 saadaan ASCII-arvo 88, joka on merkkinä X
Kuvan esimerkissä varmistussumma lasketaan seuraavasti
[x] Rakenna algoritmi, joka kerää annetusta tekstistä merkkien ASCII-arvot
[x] laskee varmistussumman ja muodostaa uuden merkkijonon, jossa on alkumerkki merkkijono, varmistussumma ja loppumerkki.
[x] Tee yksikkötestit
[x] ja kokeile myös oikealla google-fontilla viivakoodin toimintaa.
Sovellukseen tarvitaan moduuli, joka tuottaa henkilötunnuksen viivakoodin. Viivakoodin tulostamiseen käytetään Google Fonts - kirjastosta löytyvää Code 128 fonttia. Viivakoodin muodostamiseen tarvitaan
Alkumerkkinä käytetään ASCII-merkkiä 204 (104 + 100) Loppumerkkinä käytettään ASCII-merkkinä 206 (106 + 100)
Varmistussumma lasketaan siten, että merkkien järjestysnumerolla kerrotaan merkin ASCII-arvo, josta on vähennetty 32. Tulot lasketaan yhteen ja siihen lisätään vielä alkumerkin ASCII-arvo (104). Varmistussumma on modulo 103.
Esimerkin tapauksessa summaksi tulee 1x17 + 2x18 + 3x24 + 4x34 + 104 = 365. Tästä otetaan jakojäännös 103:lla jaettaessa 365 mod 103 = 56 Kun siihen lisätää 32 saadaan ASCII-arvo 88, joka on merkkinä X
Kuvan esimerkissä varmistussumma lasketaan seuraavasti
[x] Rakenna algoritmi, joka kerää annetusta tekstistä merkkien ASCII-arvot
[x] laskee varmistussumman ja muodostaa uuden merkkijonon, jossa on alkumerkki merkkijono, varmistussumma ja loppumerkki.
[x] Tee yksikkötestit
[x] ja kokeile myös oikealla google-fontilla viivakoodin toimintaa.
Linkkejä koodiesimerkkieihin:
https://www.w3schools.com/python/ref_func_chr.asp https://www.w3schools.com/python/ref_func_ascii.asp https://www.w3schools.com/python/ref_func_ord.asp