{"id":"informatyka-2015-czerwiec-matura-rozszerzona-2/zad/6","paper_id":"informatyka-2015-czerwiec-matura-rozszerzona-2","number":"6","points":null,"ptype":"open","subject":"informatyka","category":"matura","year":2015,"month":"czerwiec","level":"rozszerzona","text":"Zadanie 6. Kody kreskowe\nStandard Code 25 jest sposobem kodowania stosowanym do oznaczania towarów\nspożywczych i przemysłowych. Standard Code 25 pozwala na zapisywanie liczby o dowolnej\nliczbie cyfr.\nStruktura napisu w Standard Code 25 wygląda następująco:\n• Znak START kodowany jako: 11011010\n• Kolejne cyfry kodowane są zgodnie z poniższą tabelą (zapisaną również\nw dostarczonym pliku cyfra_kodkreskowy.txt)\nCyfra Kod kreskowy\n0\n10101110111010\n1\n11101010101110\n2\n10111010101110\n3\n11101110101010\n4\n10101110101110\n5\n11101011101010\n6\n10111011101010\n7\n10101011101110\n8\n11101010111010\n9\n10111010111010\n• Kod cyfry kontrolnej. Cyfra ta powstaje poprzez:\nzsumowanie cyfr kodowanej liczby występujących na pozycjach parzystych,\nprzy czym najmniej znacząca cyfra (cyfra jednostek) występuje na pozycji 0,\ncyfra dziesiątek - na pozycji 1, itd.\nzsumowanie cyfr kodowanej liczby występujących na pozycjach nieparzystych,\ndodanie potrojonej pierwszej z tych sum do drugiej sumy,\nwyliczenie reszty modulo 10 z tak otrzymanego wyniku, odjęciu jej od 10\ni ponownemu policzeniu reszty modulo 10.\n• Znak STOP kodowany jako: 11010110.\nPrzykład:\nZakodujemy liczbę: 764321\nZnak START kodowany jest jako: 11011010\nCyfra „7\" kodowana jest jako: 10101011101110\nCyfra „6\" kodowana jest jako: 10111011101010\nCyfra „4\" kodowana jest jako: 10101110101110\nCyfra „3\" kodowana jest jako: 11101110101010\nCyfra „2\" kodowana jest jako: 10111010101110\nCyfra „1\" kodowana jest jako: 11101010101110\nMIN_1R\nTeraz obliczmy sumę kontrolną:\nSuma cyfr liczby 764321 z pozycji parzystych pomnożona przez 3: (1 + 3 + 6) * 3 = 30\nSuma cyfr liczby 764321 z pozycji nieparzystych: (2 + 4 + 7) = 13\nDodajemy obie sumy: 30 + 13 = 43\nZnajdujemy resztę z dzielenia przez 10: 43 mod 10 = 3\nOdejmujemy wynik od 10: 10 - 3 = 7\nObliczamy resztę z dzielenia przez 10: 7 mod 10 = 7, czyli jako cyfry kontrolnej użyjemy „7\",\nktóra kodowana jest jako: 10101011101110\nZnak STOP kodowany jako: 11010110\nOstatecznym wynikiem algorytmu jest zatem napis:\nstart\n7\n6\n4\n3\n2\n11011010\n10101011101110\n10111011101010\n10101110101110\n11101110101010\n10111010101110\n1\nObliczona cyfra kontrolna=7\nstop\n11101010101110\n10101011101110\n11010110\n110110101010101110111010111011101010101011101011101110111010101010111010101\n110111010101011101010101110111011010110\nW pliku kody.txt znajduje się 500 sześciocyfrowych liczb naturalnych, po jednej\nw każdym wierszu. W wybranym przez siebie języku programowania napisz program, który\nw kolejnych wierszach plików tekstowych kody1.txt, kody2.txt, kody3.txt, czyli\nw wierszach odpowiadających kolejnym wierszom kliku kody.txt, zapisze odpowiednio:","answer":null,"answer_text":null,"solution":null,"image":"img/informatyka-2015-czerwiec-matura-rozszerzona-2/zad-6.webp","solution_image":null,"topics":null,"page_from":6,"source":"ocr","answer_source":null,"answer_text_source":null,"solution_source":null,"text_source":"ocr","source_label":"Informatyka · Matura · czerwiec 2015 (rozszerzona)","subject_label":"Informatyka","category_label":"Matura","text_html":"<p>Zadanie 6. Kody kreskowe<br>Standard Code 25 jest sposobem kodowania stosowanym do oznaczania towarów<br>spożywczych i przemysłowych. Standard Code 25 pozwala na zapisywanie liczby o dowolnej<br>liczbie cyfr.<br>Struktura napisu w Standard Code 25 wygląda następująco:<br>• Znak START kodowany jako: 11011010<br>• Kolejne cyfry kodowane są zgodnie z poniższą tabelą (zapisaną również<br>w dostarczonym pliku cyfra_kodkreskowy.txt)<br>Cyfra Kod kreskowy<br>0<br>10101110111010<br>1<br>11101010101110<br>2<br>10111010101110<br>3<br>11101110101010<br>4<br>10101110101110<br>5<br>11101011101010<br>6<br>10111011101010<br>7<br>10101011101110<br>8<br>11101010111010<br>9<br>10111010111010<br>• Kod cyfry kontrolnej. Cyfra ta powstaje poprzez:<br>zsumowanie cyfr kodowanej liczby występujących na pozycjach parzystych,<br>przy czym najmniej znacząca cyfra (cyfra jednostek) występuje na pozycji 0,<br>cyfra dziesiątek - na pozycji 1, itd.<br>zsumowanie cyfr kodowanej liczby występujących na pozycjach nieparzystych,<br>dodanie potrojonej pierwszej z tych sum do drugiej sumy,<br>wyliczenie reszty modulo 10 z tak otrzymanego wyniku, odjęciu jej od 10<br>i ponownemu policzeniu reszty modulo 10.<br>• Znak STOP kodowany jako: 11010110.<br>Przykład:<br>Zakodujemy liczbę: 764321<br>Znak START kodowany jest jako: 11011010<br>Cyfra „7&quot; kodowana jest jako: 10101011101110<br>Cyfra „6&quot; kodowana jest jako: 10111011101010<br>Cyfra „4&quot; kodowana jest jako: 10101110101110<br>Cyfra „3&quot; kodowana jest jako: 11101110101010<br>Cyfra „2&quot; kodowana jest jako: 10111010101110<br>Cyfra „1&quot; kodowana jest jako: 11101010101110<br>MIN_1R<br>Teraz obliczmy sumę kontrolną:<br>Suma cyfr liczby 764321 z pozycji parzystych pomnożona przez 3: (1 + 3 + 6) * 3 = 30<br>Suma cyfr liczby 764321 z pozycji nieparzystych: (2 + 4 + 7) = 13<br>Dodajemy obie sumy: 30 + 13 = 43<br>Znajdujemy resztę z dzielenia przez 10: 43 mod 10 = 3<br>Odejmujemy wynik od 10: 10 - 3 = 7<br>Obliczamy resztę z dzielenia przez 10: 7 mod 10 = 7, czyli jako cyfry kontrolnej użyjemy „7&quot;,<br>która kodowana jest jako: 10101011101110<br>Znak STOP kodowany jako: 11010110<br>Ostatecznym wynikiem algorytmu jest zatem napis:<br>start<br>7<br>6<br>4<br>3<br>2<br>11011010<br>10101011101110<br>10111011101010<br>10101110101110<br>11101110101010<br>10111010101110<br>1<br>Obliczona cyfra kontrolna=7<br>stop<br>11101010101110<br>10101011101110<br>11010110<br>110110101010101110111010111011101010101011101011101110111010101010111010101<br>110111010101011101010101110111011010110<br>W pliku kody.txt znajduje się 500 sześciocyfrowych liczb naturalnych, po jednej<br>w każdym wierszu. W wybranym przez siebie języku programowania napisz program, który<br>w kolejnych wierszach plików tekstowych kody1.txt, kody2.txt, kody3.txt, czyli<br>w wierszach odpowiadających kolejnym wierszom kliku kody.txt, zapisze odpowiednio:</p>","solutions":[]}