Час 10 - Аритметичке операције и променљиве¶
На овом часу говорићемо о:
чување међурезултата;
креирање променљивих;
аритметичке операције и рачунања у МејкКоду;
целобројном дељењу и додатним математичким операцијама.
Приликом прављења педометра (уређаја који броји (рачуна) кораке препознајући покрете које је корисник направио) важно да имамо информацију о броју корака које је корисник направио, како бисмо знали колико је растојање пређено.
Било би добро да програм, у сваком тренутку, приказује број остварених корака. А, да кликом на дугме А, приказује колико је пређено километара.
Фаза 1
- Разумевање проблема: Свако кретање корисника мора да буде забележено. За одређивање пређеног растојања у километрима дефинишемо дужину корака, нпр. 50 cm, коју претварамо у km (у нашем примеру 50cm=0.0005km) и множимо са бројем корака.
Корак 1: Број корака на почетку је нула.
Корак 2: Сваки пут када се направи покрет (кретање) вредност бројача корака се увећава за један.
Корак 3: Приказује се број тренутно остварених корака.
Корак 4: Када корисник кликне на дугме А: приказује се број пређених километара на основу броја корака (множи се дужина корака са бројем корака).
Фаза 2
Покрени МејкКод за одабир и слагање блокова у простор за програмирање.
На интернет страници на адреси https://makecode.microbit.org покрени нов пројекат кликом на дугме New Project .
Да би захтев о пређеној километражи на основу броја корака могао да буде испуњен, морамо да пронађемо начин да чувамо и по потреби мењамо вредност бројача корака. Решење за овај проблем јесте увођење променљиве. Променљиву можеш да схватиш као простор у меморији рачунара, сличан кутији, у коме се, за време извршавања програма, чувају неке међувредности. Променљиве имају своја имена. Када у програму желиш да користиш вредност променљиве, довољно је да наведеш њено име.
Променљиву креирамо тако што, у категорији Variables (1), кликнемо на дугме Make a variable (Направи променљиву) (2) и у поље уносимо име променљиве (3), у нашем случају Brojac. Кликом на дугме ОК (4), креирана је променљива (5).
Постављамо да је почетна вредност променљиве Brojac постављена на нулу. То је могуће урадити превлачењем блока set Brojac to 0 из категорије Variables у блок on start.
Поред променљиве Brojac корака дефинисаћемо променљиву DuzinaKoraka, чија је вредност постављена на 50cm.
Промена броја корака дешава се сваки пут када корисник направи неки покрет. Другим речима, вредност променљивом Brojac ће се увећавати за један сваки пут када се направи покрет.
То ћемо постићи коришћењем блока on shake, у оквиру кога упацујемо блок change DuzinaKoraka by 1.
Потребно је сваки промену броја корака приказати на екрану микробита, коришћењем блока show number.. у пољу за број превлачимо променљиву Brojac из категорије Variables.
Фаза 3
Тестирање и анализа програма.
Да бисмо тестирали програм имамо две могућности:
1 да га покренемо у симулатору кликом на дугме .
2 да га пребацимо на микробит. Да бисмо програм пребацили на микробит треба да га прикачимо на рачунар коришћењем USB кабла. Кликом на дугме преузмите .hex фајл на ваш рачунар. Превлачењем фајла на микробит, уређај је спреман за рад.
Програм за сада ради како треба, када се оствари покрет бројач корака се увећава за један. Сада је потребно да кликом на дугме А добијемо приказ укупне километраже на основу броја корака.
Километражу (дужина које је пређена) рачунамо тако што број корака помножимо са дефинисаном дужином корака. У нашем случају дужина корака је 50 cm. Да бисмо добили резултат у километрима потребно га је поделити са 100000 (1km=100000cm)
Да бисмо све то постигли користимо рачунске операције попут сабирања, одузимања, множења и дељења. То су операције које непрестано користимо у свакодневном животу. Блокови који омогућавају рачунање називају се аритметички оператори. Рачунске операције попут сабирања, одузимања, множења и дељења немају значај само на часовима математике.
Како је програмирање покушај да олакшамо свакодневни живот, у МејкKоду је могуће извршити одређени број рачунских, кажемо и аритметичких, операција.
Блокови који омогућавају рачунање налазе се у категорији Math.
Резултат њиховог извршавања је број.
Ако желиш да провериш како аритметички оператори за сабирање, одузимање, множење и дељење раде, довољно је да у празна поља блока унесеш бројеве, два пута кликнеш на њега и видиш резултат извршавања.
Примећујеш да се рачунска операција множење означава са (*), а дељење са ÷.
Сложеније математичке изразе (оне са заградама) можеш да израчунаваш у МејкКоду.
Аритметички израз: (12 + 32) * (56 - 5) може да изгледа овако:
Уради: Сложи одговарајуће блокове и у празна места упиши резултате њиховог извршавања.
(25∙25-255)-525:25
23∙9-10
27/3+(23∙9-10)
5∙(27/3+(23∙9-10))
210+3∙(42+634)
(618-(312:4+344)):14-13
Вредности истих израза израчунај у свесци и упореди са резултатима добијеним у МејкКоду. Ако уочиш грешке, анализирај поступак решавања и исправи их.
Дефинишемо променљиву DuzinaPuta која ће да чува вредност пређеног пута у километрима израчунату помоћу доњег блока.
Кликом на дугме А, потребно је применити аритметичке операције којим се израчунава вредност пређене километраже. Уједно приказује се дата вредност на екрану микробита:
Коначан изгледа програма:
Тестирајмо поново програм. Програм ради као треба.
Поред основних аритметичких оперција, јако корисна рачунска операција је и целобројно дељење. Често се користи у програмирању.
И у Блоксу можеш да израчунаш остатак при целобројном дељењу. Потребно је да користиш оператор .
Хајде да искористимо овај оператор и направимо програм којим се проверава да ли је измерена вредност нивоа осветљења паран број?
Фаза 1
Размишљање о проблему: Број је паран ако је дељив бројем 2 без остатка.
Фаза 2
Покрени МејкКод за одабир и слагање блокова у простор за програмирање.
На интернет страници на адреси https://makecode.microbit.org покрени нов пројекат кликом на дугме New Project .
Услов којим проверавамо да ли је ниво осветљења паран број можемо представити блоком:
Коначан изглед кода:
Фаза 3
Тестирање и анализа програма.
Да бисмо тестирали програм имамо две могућности:
1 да га покренемо у симулатору кликом на дугме .
2 да га пребацимо на микробит. Да бисмо програм пребацили на микробит треба да га прикачимо на рачунар коришћењем USB кабла. Кликом на дугме преузмите .hex фајл на ваш рачунар. Превлачењем фајла на микробит, уређај је спреман за рад.
Поред основих аритметичких операција у категорији Math можемо пронаћи и следеће блокове:
Блок операције |
Објашњење блока |
---|---|
Одређивање минималне вредности бројева из датог интервала. |
|
Одређивање максималне вредности бројева из датог интервала. |
|
Апсолутна вредност броја. |
|
Квадрат броја. |
|
Квадратни корен броја. |
|
Заокругљивање бројева (приказивање бројева у децималном запису) на жељени број децимала. Заокругљивање броја 6.78 је број 7, а броја 9.3 је број 9. |
|
Да бисмо променили број у наредни већи цели број, узимамо горњу вредност горње тачке броја. Вредност горње границе за 1.234 је 2, јер је то следећи већи цели број. За негативни број -3,63, његова горња граница је -3. |
|
Да бисмо променили број у наредни мањи цели број, узимамо доњу вредност броја. Доња вредност за 8,76 је 8 јер је то следећи доњи цео број. За негативни број 6,17, његов следећи број је -7, јер је то следећи доњи цели број. |
|
Скраћивање броја. Ако број има вредност 54.234, скраћена вредност је 54. Скраћивање се врши на исти начин и за негативни број. Скраћена вредност -34.913 је -34. |
- Шта смо научили?
променљива се може да се схвати као простор у меморији рачунара, у коме се, за време извршавања програма, чувају неке међувредности.
променљиве имају своја имена.
начин креирања променљивих.
оператори који омогућавају рачунање (сабирање, одузимање, дељење, множење) називају се аритметички оператори.
блокови који представљају аритметичке операторе и математичке функције се налазе у категорији Math.
Квиз¶
- бројеве из интервала од 0 до 10, укључујући 0 и 10.
- Браво! Твој одговор је тачан.
- бројеве из интервала од 0 до 10, укључујући и 0, а не 10.
- Твој одговор није тачан. Покушај поново!
- бројеве из интервала од 0 до 10, укључујући и 10, а не 0.
- Твој одговор није тачан. Покушај поново!
- бројеве из интервала од 0 до 10, не укључујући 0 и 10.
- Твој одговор није тачан. Покушај поново!
Q-11: Шта ће бити резултат извршавања следећег блока: