# Упътване на машинната таблица - УПП, Седмица 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 Към задачите]