Садржај
1. Робот Карел - линијски програми и бројачка петља
2. Робот Карел - условна петља и гранање
3. Робот Карел - задаци за вежбање
4. Корњача графика - линијски програми и петље
5. Корњача графика - гранање, угнежђене петље, функције, торке и листе
6. Корњача графика - задаци за вежбање
9. Израчунавања - коришћење и дефинисање функција
10. Израчунавања - задаци за вежбање
13. Контрола тока - вежбање
17. Програмирање 2Д графике - Увод у Pygame

8.3 Позициони запис бројева

Ако је укупан број центиметара био 123, тада је број метара 1, број дециметара 2 и број центиметара 3. Решавањем претходног задатка смо заправо одређивали појединачне цифре коришћене у запису тог троцифреног броја. Приказана техника може бити уопштена тако да се одређују све цифре и у запису дужих бројева.

Цифре броја

Чест начин откривања грешака при слању података је да се, уз податке које треба послати, пошаљу и одређени контролни подаци израчунати на основу самих података. Када прималац прими податке, он на основу примљених података поново израчунава контролне податке и упоређује их са контролним подацима које је примио. Ако се приликом преноса података, услед неких сметњи, подаци случајно измене, прималац ће то приметити тако што ће видети да се контролни подаци које је он израчунао неће поклопити са онима које је примио. Сви подаци се у рачунарима представљају помоћу бројева, а још од најранијег доба рачунарства као метода контроле коришћен је збир цифара. На пример, ако би податак који се шаље био број 12345, онда би се уз њега слао и контролни број 15 (збир 1 + 2 + 3 + 4 + 5). Ако би приликом слања нека цифра била случајно промењена (на пример, ако би прималац грешком примио број 12335), тада би се и контролни број највероватније разликовао (контролни број би у нашем примеру био 14). Напиши програм који за дати петоцифрени број одређује његов контролни број (збир његових цифара).

Можеш да уочиш да смо цифре броја одређивали веома слично као у претходном задатку. Цифре одређујемо здесна налево, тако што делимо број са тежином цифре (за цифру јединица број делимо са 1, десетица са 10, стотина са 100 итд.) и проналазимо остатак при дељењу са 10.

Уместо збира цифара контролни број се понекад рачуна на овај начин: \(c_0 + 2c_1 + 3c_2 + 4c_3 + 5c_4\). Покушај да измениш претходни програм тако да израчунава контролни број на овај начин.

Протоколи за размену података

Људи су контролу података примењивали и ручно, а сада рачунари обављају такве контроле у оквиру прецизно задатих поступака – протокола за размену података. Иако је контролни збир најједноставнији начин контроле, он не може да открије грешке до којих може доћи услед случајне размене редоследа цифара (на пример, ако се уместо броја 12345 грешком пошаље број 12435, контролни збир оба броја ће бити исти и грешка неће бити примећена). Зато се уместо збира цифара понекад користе изрази облика \(c_0 + 2c_1 + 3c_2 + 4c_3 + 5c_4\).

Целобројно дељење - време и углови

За разлику од бројева и јединица мере које записујемо у систему чија је основа 10, при раду са временом и угловима користимо систем чија је основа број 60. Тако један сат има 60 минута, а један минут 60 секунди. Слично, један степен има 60 угаоних минута, а један угаони минут има 60 угаоних секунди. Прикажимо сада кроз неколико задатака како можемо у програмима вршити израчунавања у којима учествују време и углови.

Конверзија сати и минута у минуте и обратно

Ако се зна колико је тренутно сати и минута, израчунај колико је минута протекло од претходне поноћи.

Пошто у једном сату има 60 минута, довољно је да помножиш број сати са 60 и на то додаш број минута.

Ако се зна колико је минута протекло од претходне поноћи, израчунај колико је тренутно сати и минута.

Ако са \(s\) обележимо тренутни број сати, са \(m\) тренутни број минута, а са \(M\) број минута протеклих од поноћи, тада важи да је \(M = s \cdot 60 + m\), при чему за \(m\) важи да је број између \(0\) и \(59\), што јасно указује на то да се тражене вредности могу израчунати применом целобројног дељења.

(Created using Swinx, RunestoneComponents and PetljaDoc)
© 2022 Petlja
A- A+