# Упътване на машинната таблица - УПП, Седмица 2, 09.10.2025 'define expected-reading 3 min 'define created 05 October 2025 'define edited 05 October 2025 [$pagenav] [$presentation-controller] :title_slide35 # Машинна таблица :middle_slide35 .unordered - Целта е да разиграем мисленето за програмиране - Без да пишем истински код - "Машинната таблица" е специална таблица, която създадох за този практикум\n *[(щеше да е на Excel ама...)]* - Тя симулира действието на един =[много]= прост компютър :slide35 ## Принцип на действие .centered [image ./img/machine_table.png] :middle_slide35 .p Когато натиснем "Изпълни", започва да се движи от A1 до A15 .centered .font18 *[(По принцип ще спре при първия празен ред)]* .centered .p [image ./img/table_execution_continuous.gif] :middle_slide35 .centered .p Продължава да обикаля клетки, докато не срещне =[празна клетка]= или не свършат всички клетки .centered .p [image ./img/table_execution_empty.gif] :middle_slide35 .unordered - Във всяка една клетка може да срещне =[команда]= или =[число]= - Очаква последователност от команди в колона A - След =[някои]= команди, може да се срещне и число - Стойности могат да се въвеждат в колоната A - Клетките "A" и "B" стават 0 при изпълнение - Всяка команда работи със стойността на клетката "A" =[или]= "B" :middle_slide35 ## Командата `[ASHOW]` .p Показва стойността на клетката A като popup .p [image ./img/table_ashow.gif] :middle_slide35 ## Командата `[ASUM]` .p Поглежда числото в долната клетка и го сумира към клетката "А". .p [image ./img/table_asum.gif] :middle_slide35 ### Минизадача .p Нека да покажем "A", добавим 5 към него и пак го покажем .p [image ./img/table_ashow_and_asum.gif] :middle_slide35 ## Командата `[ASUBTRACT]` .p Като `[ASUM]`, но изважда вместо да събере. .p [image ./img/table_asubtract.gif] :middle_slide35 ## INPUT клетките .unordered - Освен числови константи, за числа се зачитат и "INPUT1" и "INPUT2" - Те се заместват със стойността срещу съответната клетка :middle_slide35 ### Минизадача .p Нека да добавим стойността на INPUT1 към "A" .p [image ./img/table_asum_input1.gif] :middle_slide35 ### Минизадача .p Нека добавим стойността на INPUT1 и INPUT2 към "А" .p [image ./img/table_asum_input1_input2.gif] :middle_slide35 ## Командата `[BSUM]` .p Същото като `[ASUM]`, но с клетка "B". ## Командата `[BSUBTRACT]` .p Същото като `[ASUBTRACT]`, но с клетка "B". [$br1] .p =[Нямаме `[BSHOW]`!]= Но имаме други специални команди. :middle_slide35 ## Командата `[GOTOBZ]` .p =[Ако]= клетка "B" е равна на 0, тогава прочита следващата клетка и отива на посочения ред. .p [image ./img/table_gotobz.gif] :middle_slide .p =[Иначе]= продължава напред .p [image ./img/table_gotobz_false.gif] :middle_slide35 ## Командата `[GOTOBN]` .p Същата като `[GOTOBZ]`, обаче отива на посочения ред когато "B" е =[по-голямо или равно]= на 0 (неотрицателно). :middle_slide35 .unordered - Употребата на останалите бутони трябва да е явна. - "Запази" запазва =[само]= колона A! :middle_slide35 .p .centered [url ./index.html Към задачите]