{"id":1207,"date":"2019-03-13T10:39:50","date_gmt":"2019-03-13T09:39:50","guid":{"rendered":"https:\/\/www.kompikownia.pl\/?p=1207"},"modified":"2019-03-13T21:00:33","modified_gmt":"2019-03-13T20:00:33","slug":"matura-z-informatyki-2015-liczby-binarne-c","status":"publish","type":"post","link":"https:\/\/www.kompikownia.pl\/index.php\/2019\/03\/13\/matura-z-informatyki-2015-liczby-binarne-c\/","title":{"rendered":"Matura z informatyki 2015 &#8211; Liczby binarne (C++)"},"content":{"rendered":"<span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Czas czytania:<\/span> <span class=\"rt-time\">2<\/span> <span class=\"rt-label rt-postfix\">minut<\/span><\/span>\n\n\n<p>Dzisiaj pobawimy si\u0119 du\u017cymi liczbami binarnymi. S\u0142ysza\u0142e\u015b o czym\u015b takim, prawda? Z zadaniem, kt\u00f3re dzisiaj rozwi\u0105\u017cemy maturzy\u015bci musieli si\u0119 zmierzy\u0107 w roku 2015. Zadanie &#8222;Liczby binarne&#8221; wymaga od zdaj\u0105cego znajomo\u015bci kilku sztuczek, kt\u00f3re s\u0105 nieodzowne do stworzenia prawid\u0142owego rozwi\u0105zania punktowanego maksymalnie. (Je\u015bli chcesz zajrze\u0107 do rozwi\u0105za\u0144 innych zada\u0144, zapraszam do <a href=\"https:\/\/www.kompikownia.pl\/index.php\/matura-z-informatyki-rozwiazania\/\">spisu tre\u015bci<\/a>).<\/p>\n\n\n\n<p>Wyspani, najedzeni i gotowi do zwi\u0119kszonego wysi\u0142ku umys\u0142owego? No to zaczynamy \ud83d\ude42 <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Zadanie 4 &#8211; Liczby binarne<\/h2>\n\n\n\n<p>W pliku <em>liczby.txt<\/em> znajduje si\u0119 1000 liczb naturalnych zapisanych binarnie. Ka\u017cda liczba zapisana jest w osobnym wierszu. Pierwsze pi\u0119\u0107 wierszy zawiera nast\u0119puj\u0105ce liczby: <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">11010100111<br>11110111111011101<br>1010100111010100<br>1101111111111111111111010100101010101001<br>1010110011001101010011110101010101010111 <\/pre>\n\n\n\n<p>Ka\u017cda liczba binarna zawiera co najwy\u017cej <strong>250 cyfr binarnych,<\/strong> co oznacza, \u017ce w wielu j\u0119zykach programowania warto\u015bci niekt\u00f3rych z tych liczb nie da si\u0119 zapami\u0119ta\u0107 w pojedynczej zmiennej typu ca\u0142kowitoliczbowego, np.: w j\u0119zyku C++ w zmiennej typu int.<\/p>\n\n\n\n<p>Napisz <strong>program<\/strong> kt\u00f3ry da odpowiedzi do poni\u017cszych zada\u0144. Odpowiedzi zapisz w pliku <em>wynik4.txt<\/em>, a ka\u017cd\u0105 odpowied\u017a poprzed\u017a numerem oznaczaj\u0105cym odpowiednie zadanie. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kod uniwersalny dla wszystkich podpunkt\u00f3w<\/h3>\n\n\n\n<p>Tw\u00f3rcy tego zadania wprowadzili kilka komplikacji i pu\u0142apek. Tak jak zosta\u0142o powiedziane w tre\u015bci zadania, niekt\u00f3re liczby po konwersji nie zmieszcz\u0105 si\u0119 w typie ca\u0142kowitoliczbowym. Ba &#8211; nie zmieszcz\u0105 si\u0119 nawet w <strong>long long int.<\/strong> Co mo\u017cemy zrobi\u0107? Jak rozwi\u0105za\u0107 ten problem? <\/p>\n\n\n\n<p>Dobrym pomys\u0142em wydaje si\u0119 przechowywanie ka\u017cdej z liczb w formie ci\u0105gu znak\u00f3w. I tak w\u0142a\u015bnie zrobimy \ud83d\ude42 <\/p>\n\n\n<div class=\"codecolorer-container cpp default\" style=\"overflow:auto;white-space:nowrap;width:90%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/>14<br \/>15<br \/>16<br \/>17<br \/>18<br \/>19<br \/>20<br \/>21<br \/><\/div><\/td><td><div class=\"cpp codecolorer\">vector<span class=\"sy1\">&lt;<\/span>string<span class=\"sy1\">&gt;<\/span> readFile<span class=\"br0\">&#40;<\/span><span class=\"kw4\">const<\/span> string filename<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; vector<span class=\"sy1\">&lt;<\/span>string<span class=\"sy1\">&gt;<\/span> readen<span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; ifstream file<span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; file.<span class=\"me1\">open<\/span><span class=\"br0\">&#40;<\/span>filename<span class=\"br0\">&#41;<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span><span class=\"br0\">&#40;<\/span><span class=\"sy3\">!<\/span>file.<span class=\"me1\">is_open<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw3\">cout<\/span><span class=\"sy1\">&lt;&lt;<\/span><span class=\"st0\">&quot;Nie uda\u0142o si\u0119 otworzy\u0107 pliku &quot;<\/span><span class=\"sy2\">+<\/span>filename<span class=\"sy1\">&lt;&lt;<\/span>endl<span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">return<\/span> readen<span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">while<\/span><span class=\"br0\">&#40;<\/span>file.<span class=\"me1\">peek<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy3\">!<\/span><span class=\"sy1\">=<\/span><span class=\"kw2\">EOF<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; string line<span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; getline<span class=\"br0\">&#40;<\/span>file,line<span class=\"br0\">&#41;<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; readen.<span class=\"me1\">push_back<\/span><span class=\"br0\">&#40;<\/span>line<span class=\"br0\">&#41;<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> readen<span class=\"sy4\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n\n\n<p>Je\u015bli chcesz pozna\u0107 dok\u0142adniejsze om\u00f3wienie tej funkcji, zapraszam do lektury rozwi\u0105zania zadania <a href=\"https:\/\/www.kompikownia.pl\/index.php\/2019\/02\/12\/matura-z-informatyki-2018-zadanie-wega-c\/\">Wega z roku 2018<\/a>, gdzie funkcja wczytuj\u0105ca plik by\u0142a identyczna. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Zadanie 4.1 (0-3)<\/h3>\n\n\n\n<p>Podaj, ile liczb z pliku <em>liczby.txt<\/em> ma w swoim zapisie binarnym wi\u0119cej zer ni\u017c jedynek. <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Przyk\u0142ad: Dla zestawu liczb: <br>101011010011001100111<br><u>10001001<\/u><br><u>1000000<\/u><br>101010011100<br><u>100010<\/u><br>wynikiem jest liczba 3 (3 podkre\u015blone liczby maj\u0105 w swoim zapisie wi\u0119cej zer ni\u017c jedynek).<br><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Rozwi\u0105zanie:<\/h4>\n\n\n<div class=\"codecolorer-container cpp default\" style=\"overflow:auto;white-space:nowrap;width:90%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>26<br \/>27<br \/>28<br \/>29<br \/>30<br \/>31<br \/>32<br \/>33<br \/>34<br \/>35<br \/>36<br \/>37<br \/>38<br \/><\/div><\/td><td><div class=\"cpp codecolorer\"><span class=\"kw4\">int<\/span> countNumbersWithZeroes<span class=\"br0\">&#40;<\/span>vector<span class=\"sy1\">&lt;<\/span>string<span class=\"sy1\">&gt;<\/span> numbers<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">int<\/span> correctNumbers <span class=\"sy1\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw4\">unsigned<\/span> <span class=\"kw4\">int<\/span> i <span class=\"sy1\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy4\">;<\/span>i<span class=\"sy1\">&lt;<\/span>numbers.<span class=\"me1\">size<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy4\">;<\/span>i<span class=\"sy2\">++<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw4\">int<\/span> zero <span class=\"sy1\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw4\">int<\/span> ones <span class=\"sy1\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">for<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw4\">unsigned<\/span> <span class=\"kw4\">int<\/span> j <span class=\"sy1\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy4\">;<\/span>j<span class=\"sy1\">&lt;<\/span>numbers<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span>.<span class=\"me1\">size<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy4\">;<\/span>j<span class=\"sy2\">++<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span><span class=\"br0\">&#40;<\/span>numbers<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy1\">==<\/span> <span class=\"st0\">'0'<\/span><span class=\"br0\">&#41;<\/span> zero<span class=\"sy2\">++<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span><span class=\"br0\">&#40;<\/span>numbers<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy1\">==<\/span> <span class=\"st0\">'1'<\/span><span class=\"br0\">&#41;<\/span> ones<span class=\"sy2\">++<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span><span class=\"br0\">&#40;<\/span>zero<span class=\"sy1\">&gt;<\/span>ones<span class=\"br0\">&#41;<\/span> correctNumbers<span class=\"sy2\">++<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> correctNumbers<span class=\"sy4\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n\n\n<p>Powy\u017csza funkcja stanowi rozwi\u0105zanie zadania. Co ona robi? <\/p>\n\n\n\n<p>Jako argument przyjmujemy vector przechowuj\u0105cy wszystkie pobrane liczby. Zmienna correctNumbers b\u0119dzie przechowywa\u0142a wynik oblicze\u0144. W dalszej cz\u0119\u015bci znajduj\u0105 si\u0119 dwie p\u0119tle for. <\/p>\n\n\n\n<p>P\u0119tla zewn\u0119trzna pozwala nam przeanalizowa\u0107 ka\u017cd\u0105 z 1000 liczb. Dla ka\u017cdego z ci\u0105g\u00f3w binarnych liczymy ilo\u015b\u0107 zer i ilo\u015b\u0107 jedynek. Na samym ko\u0144cu por\u00f3wnujemy te warto\u015bci. Je\u015bli zer jest wi\u0119cej &#8211; zwi\u0119kszamy ilo\u015b\u0107 &#8222;prawid\u0142owych liczb&#8221; o 1.  <\/p>\n\n\n\n<p>I &#8230; to tyle. Jest to najprostsze i najprzyjemniejsze zadanie z tego zestawu. <\/p>\n\n\n<span class=\"collapseomatic \" id=\"id6a57155997458\"  tabindex=\"0\" title=\"Zadanie 4.1. - kompletne rozwi\u0105zanie\"    >Zadanie 4.1. - kompletne rozwi\u0105zanie<\/span><div id=\"target-id6a57155997458\" class=\"collapseomatic_content \">\n<script src=\"https:\/\/gist.github.com\/karol221-10\/decb5a4b9ead873b813b6562723bb0bd.js\"><\/script><br \/>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Zadanie 4.2 (0-3)<\/h3>\n\n\n\n<p>Podaj, ile liczb w pliku <em>liczby.txt<\/em> jest podzielnych przez 2 oraz ile liczb jest podzielnych przez 8. <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><em>Przyk\u0142ad<\/em>: Dla zestawu liczb:<br>101011010011001100000 (<em>*), (**) <\/em><br><em>10001001 <\/em><br><em>100100 (*<\/em>)<br>101010010101011011000 (*), (**)<br>100011 <br><\/pre>\n\n\n\n<p>trzy liczby s\u0105 podzielne przez 2 (*) i dwie liczby s\u0105 podzielne przez 8 (**)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Rozwi\u0105zanie<\/h4>\n\n\n\n<p>W tym zadaniu najwa\u017cniejszy jest pomys\u0142. Musimy si\u0119 zastanowi\u0107, co to znaczy \u017ce liczba jest podzielna przez 2? Co decyduje o tym, \u017ce dana liczba binarna jest podzielna przez takie a nie inne liczby? Jakie cechy charakterystyczne mo\u017cemy zauwa\u017cy\u0107? <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Pomys\u0142 na rozwi\u0105zanie<\/h4>\n\n\n\n<p>Najpierw zobaczmy, jak to wygl\u0105da w systemie dziesi\u0119tnym, kt\u00f3rego u\u017cywamy na co dzie\u0144. Pami\u0119tasz z pewno\u015bci\u0105 regu\u0142ki z podstaw\u00f3wki, kt\u00f3re ku\u0142e\u015b na pami\u0119\u0107, odnosz\u0105ce si\u0119 do podzielno\u015bci liczb. Np.: Liczba jest podzielna przez 2 kiedy na jej ko\u0144cu znajduje si\u0119 0,2,4,6 albo 8 (czyli cyfra parzysta). Liczba jest podzielna przez 4 gdy dwie ostatnie cyfry tworz\u0105 liczb\u0119 podzieln\u0105 przez 4, itd. Jak to si\u0119 ma do systemu binarnego? <\/p>\n\n\n\n<p>Jak wiemy, kolejne cyfry liczby binarnej to kolejne pot\u0119gi dw\u00f3jki. Zapiszmy sobie przyk\u0142adow\u0105 liczb\u0119 binarn\u0105. <\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 22px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/quicklatex.com\/cache3\/67\/ql_b35974c95cac9159fd2ce5c8536d6367_l3.png\" height=\"22\" width=\"566\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#49;&#49;&#49;&#48;&#49;&#49;&#49;&#48;&#61;&#49;&#42;&#50;&#94;&#55;&#43;&#49;&#42;&#50;&#94;&#54;&#43;&#49;&#42;&#50;&#94;&#53;&#43;&#49;&#42;&#50;&#94;&#51;&#43;&#49;&#42;&#50;&#94;&#50;&#43;&#49;&#42;&#50;&#94;&#49;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>Nie przeliczaj\u0105c powy\u017cszej liczby na system dziesi\u0119tny, spr\u00f3bujmy odgadn\u0105\u0107 zasady podzielno\u015bci. Zauwa\u017c, \u017ce zapis liczby dziesi\u0119tnej w systemie binarnym to suma kolejnych pot\u0119g dw\u00f3jki.  Warto spostrzec: skoro 2^3=8, to ka\u017cda kolejna pot\u0119ga dw\u00f3jki b\u0119dzie podzielna przez 8. 16 jest podzielne przez 8, 32 tak\u017ce itd. Tak samo jest z dw\u00f3jk\u0105. Czw\u00f3rka i wszystkie wi\u0119ksze od niej pot\u0119gi dw\u00f3jki s\u0105 automatycznie podzielne przez 2.<\/p>\n\n\n\n<p>Powstaje pytanie, czy suma liczb podzielnych przez 8 dalej b\u0119dzie podzielna przez 8? Sprawd\u017amy. Przeprowadzimy prosty dow\u00f3d.<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 20px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/quicklatex.com\/cache3\/53\/ql_4d749bd8af92b66302433dc81d7f7153_l3.png\" height=\"20\" width=\"786\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#92;&#116;&#101;&#120;&#116;&#123;&#79;&#122;&#110;&#97;&#99;&#122;&#109;&#121;&#32;&#112;&#114;&#122;&#101;&#122;&#32;&#120;&#32;&#100;&#111;&#119;&#111;&#108;&#110;&#97;&#32;&#108;&#105;&#99;&#122;&#98;&#101;&#46;&#32;&#68;&#111;&#100;&#97;&#106;&#101;&#109;&#121;&#32;&#100;&#111;&#32;&#115;&#105;&#101;&#98;&#105;&#101;&#32;&#51;&#32;&#108;&#105;&#99;&#122;&#98;&#121;&#32;&#112;&#111;&#100;&#122;&#105;&#101;&#108;&#110;&#101;&#32;&#112;&#114;&#122;&#101;&#122;&#32;&#56;&#125;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><br><p class=\"ql-center-displayed-equation\" style=\"line-height: 17px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/quicklatex.com\/cache3\/eb\/ql_3ca2ff7f1f4dea4fa8f9c358dbf997eb_l3.png\" height=\"17\" width=\"189\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#56;&#120;&#43;&#56;&#120;&#43;&#56;&#120;&#61;&#50;&#52;&#120;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><br><p class=\"ql-center-displayed-equation\" style=\"line-height: 20px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/quicklatex.com\/cache3\/5a\/ql_8ca4b27fa98d111c013a85455770a65a_l3.png\" height=\"20\" width=\"414\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#92;&#116;&#101;&#120;&#116;&#123;&#50;&#52;&#32;&#106;&#101;&#115;&#116;&#32;&#112;&#111;&#100;&#122;&#105;&#101;&#108;&#110;&#101;&#32;&#112;&#114;&#122;&#101;&#122;&#32;&#56;&#44;&#32;&#99;&#111;&#32;&#107;&#111;&#110;&#99;&#122;&#121;&#32;&#100;&#111;&#119;&#111;&#100;&#125;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>Je\u015bli natomiast do liczby podzielnej przez 8 dodamy liczb\u0119 niepodzieln\u0105 przez 8, to w efekcie otrzymamy liczb\u0119 niepodzieln\u0105 przez 8 (na to dow\u00f3d mo\u017cesz sobie przeprowadzi\u0107 we w\u0142asnym zakresie). <\/p>\n\n\n\n<p>Posiadamy ju\u017c do\u015bwiadczenie, kt\u00f3re pozwala odpowiedzie\u0107 na pytanie: jakie warunki musi spe\u0142nia\u0107 liczba podzielna przez 8? Ot\u00f3\u017c, kt\u00f3rykolwiek z bit\u00f3w o wadze wi\u0119kszej ni\u017c bit okre\u015blaj\u0105cy \u00f3semk\u0119 musi by\u0107 r\u00f3wny 1. Z drugiej strony wszystkie bity o wadze mniejszej musz\u0105 by\u0107 r\u00f3wne 0.<\/p>\n\n\n\n<p>Powolnym, dostojnym krokiem zbli\u017camy si\u0119 do prawid\u0142owego rozwi\u0105zania postawionego przed nami problemu. Ogromny wysi\u0142ek umys\u0142owy kt\u00f3ry poczynili\u015bmy przeprowadzaj\u0105c powy\u017csze rozumowanie op\u0142aca\u0142 si\u0119. Prawie opracowali\u015bmy gotowy algorytm. Spr\u00f3bujmy napisa\u0107 troch\u0119 kodu. B\u0119dzie on bardzo prosty, o wiele prostszy ni\u017c matematyka, z kt\u00f3r\u0105 przeprowadzili\u015bmy zwyci\u0119sk\u0105 bitw\u0119 kilka chwil wcze\u015bniej. <\/p>\n\n\n<div class=\"codecolorer-container cpp default\" style=\"overflow:auto;white-space:nowrap;width:90%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>28<br \/>29<br \/>30<br \/>31<br \/>32<br \/>33<br \/>34<br \/><\/div><\/td><td><div class=\"cpp codecolorer\"><span class=\"kw4\">int<\/span> countDivisibleBy2<span class=\"br0\">&#40;<\/span>vector<span class=\"sy1\">&lt;<\/span>string<span class=\"sy1\">&gt;<\/span> numbers<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">int<\/span> counter <span class=\"sy1\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span><span class=\"br0\">&#40;<\/span>string number <span class=\"sy4\">:<\/span> numbers<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span><span class=\"br0\">&#40;<\/span>number.<span class=\"me1\">size<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy1\">&gt;<\/span><span class=\"nu0\">2<\/span> <span class=\"sy3\">&amp;&amp;<\/span> number<span class=\"br0\">&#91;<\/span>number.<span class=\"me1\">size<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy2\">-<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy1\">==<\/span> <span class=\"st0\">'0'<\/span><span class=\"br0\">&#41;<\/span> counter<span class=\"sy2\">++<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> counter<span class=\"sy4\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n\n\n<p>Powy\u017cszy kod jest wr\u0119cz banalny. Przechodzimy ca\u0142\u0105 tablic\u0119 liczb. Dla ka\u017cdej sprawdzamy, czy ostatnia cyfra jest r\u00f3wna 0. Je\u015bli tak, to liczba jest podzielna przez 2. <\/p>\n\n\n<div class=\"codecolorer-container cpp default\" style=\"overflow:auto;white-space:nowrap;width:90%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>35<br \/>36<br \/>37<br \/>38<br \/>39<br \/>40<br \/>41<br \/>42<br \/>43<br \/>44<br \/><\/div><\/td><td><div class=\"cpp codecolorer\"><span class=\"kw4\">int<\/span> countDivisibleBy8<span class=\"br0\">&#40;<\/span>vector<span class=\"sy1\">&lt;<\/span>string<span class=\"sy1\">&gt;<\/span> numbers<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">int<\/span> counter <span class=\"sy1\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span><span class=\"br0\">&#40;<\/span>string number <span class=\"sy4\">:<\/span> numbers<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span><span class=\"br0\">&#40;<\/span>number.<span class=\"me1\">size<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy1\">&gt;<\/span><span class=\"nu0\">4<\/span> <span class=\"sy3\">&amp;&amp;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;number<span class=\"br0\">&#91;<\/span>number.<span class=\"me1\">size<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy2\">-<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#93;<\/span><span class=\"sy1\">==<\/span><span class=\"st0\">'0'<\/span> <span class=\"sy3\">&amp;&amp;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;number<span class=\"br0\">&#91;<\/span>number.<span class=\"me1\">size<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy2\">-<\/span><span class=\"nu0\">2<\/span><span class=\"br0\">&#93;<\/span><span class=\"sy1\">==<\/span><span class=\"st0\">'0'<\/span> <span class=\"sy3\">&amp;&amp;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;number<span class=\"br0\">&#91;<\/span>number.<span class=\"me1\">size<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy2\">-<\/span><span class=\"nu0\">3<\/span><span class=\"br0\">&#93;<\/span><span class=\"sy1\">==<\/span><span class=\"st0\">'0'<\/span><span class=\"br0\">&#41;<\/span> counter<span class=\"sy2\">++<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> counter<span class=\"sy4\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n\n\n<p>Jak wygl\u0105da sytuacja w przypadku sprawdzania podzielno\u015bci przez 8? Zauwa\u017camy, \u017ce konstrukcja jest podobna. Aczkolwiek if dosy\u0107 mocno spuch\u0142. Tak jak rozwa\u017cali\u015bmy, musimy sprawdzi\u0107 czy trzy ostatnie cyfry (odpowiadaj\u0105ce wagom 1,2,4) s\u0105 r\u00f3wne 0. Je\u015bli tak, to liczba musi by\u0107 podzielna przez 8. <\/p>\n\n\n\n<p>Zadanie wykonane \ud83d\ude42  <\/p>\n\n\n<span class=\"collapseomatic \" id=\"id6a571559974c8\"  tabindex=\"0\" title=\"Zadanie 4.2. - kompletne rozwi\u0105zanie\"    >Zadanie 4.2. - kompletne rozwi\u0105zanie<\/span><div id=\"target-id6a571559974c8\" class=\"collapseomatic_content \">\n<script src=\"https:\/\/gist.github.com\/karol221-10\/3214be3650446156a91ea0f4d0f3245a.js\"><\/script><br \/>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Zadanie 4.3. (0-6)<\/h3>\n\n\n\n<p>Znajd\u017a najmniejsz\u0105 i najwi\u0119ksz\u0105 liczb\u0119 w pliku <em>liczby.txt.<\/em> Jako odpowied\u017a podaj numery wierszy, w kt\u00f3rych si\u0119 one znajduj\u0105.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Przyk\u0142ad: Dla zestawu liczb:<br>101011010011001100111<br>10001001011101010<br>1001000<br>101010011100<br>1000110 <\/pre>\n\n\n\n<p>Najmniejsza liczba to 1000110<br>Najwi\u0119ksza liczba to: 101011010011001100111<br>Prawid\u0142owa odpowied\u017a dla powy\u017cszego przyk\u0142adu to: 5, 1. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Rozwi\u0105zanie:<\/h4>\n\n\n\n<p>Zadanie wydaje si\u0119 dosy\u0107 skomplikowane. Mog\u0142aby to potwierdza\u0107 du\u017ca ilo\u015b\u0107 przydzielanych punkt\u00f3w. Ale w istocie jest dosy\u0107 proste &#8211; tym bardziej, \u017ce wi\u0119ksz\u0105 cz\u0119\u015b\u0107 roboty odwal\u0105 za nas wbudowane w bibliotek\u0119 standardow\u0105 j\u0119zyka C++ mechanizmy. <\/p>\n\n\n\n<p>Jak mo\u017cemy por\u00f3wnywa\u0107 liczby zapisane w stringach? Ot\u00f3\u017c, string posiada przeci\u0105\u017cone operatory &lt; i &gt;. Jeden ci\u0105g znak\u00f3w jest mniejszy od drugiego, je\u015bli w kolejno\u015bci &#8222;alfabetycznej&#8221; znajduje si\u0119 on wcze\u015bniej. &#8222;Alfabetycznie&#8221; ci\u0105g 111 b\u0119dzie wcze\u015bniej ni\u017c 100. Czy rzeczywi\u015bcie wystarczy prosta p\u0119tla, kt\u00f3ra por\u00f3wnuje ci\u0105gi znak\u00f3w tak jak liczby? Niekoniecznie.<\/p>\n\n\n\n<p>Zwr\u00f3\u0107my uwag\u0119, \u017ce liczby mog\u0105 by\u0107 r\u00f3\u017cnej d\u0142ugo\u015bci. Dodatkowo, niekt\u00f3re z nich mog\u0105 by\u0107 na pocz\u0105tku dope\u0142nione kilkoma zerami, np.: 00011101. Je\u015bli wykonamy por\u00f3wnanie np.: z liczb\u0105 11 oka\u017ce si\u0119 \u017ce 11 jest wi\u0119ksza! A to nie jest przecie\u017c prawda. Jak mo\u017cemy pokona\u0107 t\u0119 trudno\u015b\u0107? Wystarczy zastosowa\u0107 dope\u0142nienie zerami \ud83d\ude42 <\/p>\n\n\n<div class=\"codecolorer-container cpp default\" style=\"overflow:auto;white-space:nowrap;width:90%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>28<br \/>29<br \/>30<br \/>31<br \/>32<br \/>33<br \/>34<br \/>35<br \/><\/div><\/td><td><div class=\"cpp codecolorer\">string fillWithZero<span class=\"br0\">&#40;<\/span>string data,<span class=\"kw4\">int<\/span> length<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; string newstring <span class=\"sy1\">=<\/span> data<span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">while<\/span><span class=\"br0\">&#40;<\/span>length<span class=\"sy1\">&gt;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; newstring.<span class=\"me1\">insert<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span>,<span class=\"st0\">&quot;0&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; length<span class=\"sy2\">--<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> newstring<span class=\"sy4\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n\n\n<p>Zasada dzia\u0142ania powy\u017cszej funkcji jest niezwykle prosta. Jako argument przekazujemy liczb\u0119 do dope\u0142nienia oraz ostateczn\u0105 d\u0142ugo\u015b\u0107. Nast\u0119pnie w p\u0119tli while dodajemy zera na pocz\u0105tku dop\u00f3ty, dop\u00f3ki nie wyzerujemy zmiennej length. Z pomoc\u0105 tej funkcji mo\u017cemy napisa\u0107 algorytm wyszukiwania minimum. <\/p>\n\n\n<div class=\"codecolorer-container cpp default\" style=\"overflow:auto;white-space:nowrap;width:90%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>36<br \/>37<br \/>38<br \/>39<br \/>40<br \/>41<br \/>42<br \/>43<br \/>44<br \/>45<br \/>46<br \/>47<br \/>48<br \/>49<br \/>50<br \/>51<br \/>52<br \/>53<br \/><\/div><\/td><td><div class=\"cpp codecolorer\"><span class=\"kw4\">int<\/span> findMin<span class=\"br0\">&#40;<\/span>vector<span class=\"sy1\">&lt;<\/span>string<span class=\"sy1\">&gt;<\/span> data<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; string minimum <span class=\"sy1\">=<\/span> data<span class=\"br0\">&#91;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#93;<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">int<\/span> pos <span class=\"sy1\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw4\">int<\/span> i <span class=\"sy1\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy4\">;<\/span>i<span class=\"sy1\">&lt;<\/span>data.<span class=\"me1\">size<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy4\">;<\/span>i<span class=\"sy2\">++<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span><span class=\"br0\">&#40;<\/span>minimum.<span class=\"me1\">size<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy1\">&lt;<\/span>data<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span>.<span class=\"me1\">size<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; minimum <span class=\"sy1\">=<\/span> fillWithZero<span class=\"br0\">&#40;<\/span>minimum,data<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span>.<span class=\"me1\">size<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy2\">-<\/span>minimum.<span class=\"me1\">size<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span><span class=\"br0\">&#40;<\/span>minimum.<span class=\"me1\">size<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy1\">&gt;<\/span>data<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span>.<span class=\"me1\">size<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; data<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy1\">=<\/span> fillWithZero<span class=\"br0\">&#40;<\/span>data<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span>,minimum.<span class=\"me1\">size<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy2\">-<\/span>data<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span>.<span class=\"me1\">size<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span><span class=\"br0\">&#40;<\/span>data<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"sy1\">&lt;<\/span>minimum<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; minimum <span class=\"sy1\">=<\/span> data<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pos <span class=\"sy1\">=<\/span> i<span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; pos<span class=\"sy2\">+<\/span><span class=\"sy1\">=<\/span><span class=\"nu0\">1<\/span><span class=\"sy4\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> pos<span class=\"sy4\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n\n\n<p>Funkcja wygl\u0105da bardzo podobnie do zwyk\u0142ego wyszukiwania minimum w tablicy. Podobny algorytm zastosowali\u015bmy w <a href=\"https:\/\/www.kompikownia.pl\/index.php\/2019\/02\/20\/matura-z-informatyki-2017-piksele-c\/\">rozwi\u0105zaniu zadania Piksele<\/a>. Jedyn\u0105 r\u00f3\u017cnic\u0105 jest wywo\u0142ywanie umieszczonej na poprzednim listingu funkcji dope\u0142nienia zerami. Posiadamy zmienn\u0105 minimum typu string, w kt\u00f3rej przechowujemy aktualne minimum. Przechodzimy tablic\u0119 element po elemencie. Dope\u0142niamy zerami ci\u0105g o mniejszej d\u0142ugo\u015bci i por\u00f3wnujemy. Je\u015bli aktualnie analizowany element jest mniejszy, to aktualizujemy zmienn\u0105 minimum. Zapisujemy tak\u017ce pozycj\u0119 elementu.<\/p>\n\n\n\n<p>Mo\u017cesz si\u0119 zastanowi\u0107, dlaczego na samym ko\u0144cu, tu\u017c przed zwr\u00f3ceniem wyniku zwi\u0119kszamy zawarto\u015b\u0107 pos o 1? Kryje si\u0119 tutaj bardzo prosty kruczek, przez kt\u00f3ry mo\u017cemy straci\u0107 6 punkt\u00f3w za prawid\u0142owo rozwi\u0105zane zadanie \ud83d\ude09 Ot\u00f3\u017c, w przyk\u0142adzie znajduj\u0105cym si\u0119 w tre\u015bci zadania pierwsza linijka tekstu to pozycja pierwsza, a dla naszej funkcji pierwsza linijka to linijka zerowa \ud83d\ude42 Musimy skorygowa\u0107 ten drobny niuans dodaj\u0105c jedynk\u0119 do naszego rezultatu. <\/p>\n\n\n<span class=\"collapseomatic \" id=\"id6a571559974e8\"  tabindex=\"0\" title=\"Kompletne rozwi\u0105zanie - Zadanie 4.3\"    >Kompletne rozwi\u0105zanie - Zadanie 4.3<\/span><div id=\"target-id6a571559974e8\" class=\"collapseomatic_content \">\n<script src=\"https:\/\/gist.github.com\/karol221-10\/0332c63c7ea9294adcd012cdbff9a9e8.js\"><\/script><br \/>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Gratuluj\u0119<\/h2>\n\n\n\n<p>\u017be uda\u0142o ci si\u0119 dotrze\u0107 do ko\u0144ca \ud83d\ude42 Mam nadziej\u0119, \u017ce nauczy\u0142e\u015b si\u0119 czego\u015b po\u017cytecznego \ud83d\ude42 Je\u015bli chcesz zobaczy\u0107 analiz\u0119 innych zada\u0144 z ubieg\u0142ych matur z informatyki, zapraszam do <a href=\"https:\/\/www.kompikownia.pl\/index.php\/matura-z-informatyki-rozwiazania\/\">kompendium rozwi\u0105za\u0144 maturalnych<\/a> \ud83d\ude42 <\/p>\n\n\n\n<p>Gdybym przypadkiem pope\u0142ni\u0142 jaki\u015b b\u0142\u0105d kt\u00f3ry zauwa\u017cy\u0142e\u015b, poinformuj o tym w komentarzu. Je\u015bli masz inne uwagi, tak\u017ce b\u0119d\u0119 wdzi\u0119czny za opini\u0119 \ud83d\ude42<\/p>\n\n\n\n<p>Do zobaczenia \ud83d\ude42 <\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Czas czytania:<\/span> <span class=\"rt-time\">2<\/span> <span class=\"rt-label rt-postfix\">minut<\/span><\/span> Dzisiaj pobawimy si\u0119 du\u017cymi liczbami binarnymi. S\u0142ysza\u0142e\u015b o czym\u015b takim, prawda? Z zadaniem, kt\u00f3re dzisiaj rozwi\u0105\u017cemy maturzy\u015bci musieli si\u0119 zmierzy\u0107 w roku 2015. Zadanie &#8222;Liczby binarne&#8221; wymaga od zdaj\u0105cego znajomo\u015bci &#8230;<\/p>\n","protected":false},"author":1,"featured_media":835,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[31],"tags":[53,59,56,60,54],"_links":{"self":[{"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/posts\/1207"}],"collection":[{"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/comments?post=1207"}],"version-history":[{"count":38,"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/posts\/1207\/revisions"}],"predecessor-version":[{"id":1248,"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/posts\/1207\/revisions\/1248"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/media\/835"}],"wp:attachment":[{"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/media?parent=1207"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/categories?post=1207"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/tags?post=1207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}