Разклоняване

Споменахме, че повтарянето на една или повече команди (блокове) е важна концепция в програмирането.

Еднакво полезна и значима е концепцията за програмно разклоняване. Разклоняването позволява дадена група от блокове да бъде изпълнена от програмата, докато другите – не. Кои команди ще действат зависи от изпълнението на условията. Разбираме условието като твърдение, което може да бъде вярно или грешно.

EВъпреки че досега създавахме програми, които задействат команди една след друга от началото до края на програмата, повечето от програмите съдържат разклонения.

Има два блока за разклоняване и те са разположени в категорията Контрол-Control:

Един начин да определим дали дадено условие е изпълнено е да изберем от категорията Оператори един от сравняващите оператори:

    Q-2: Цената на сладолед е 100 монети. Анализирай текстовете, представени на фигурата, и избери правилното твърдение.

    _images/Sladoled.png
  • В резултат на стартиране на скрипт A, програмата ще напише изречение "Ще купя сладолед!".
  • Погледнете внимателно оператора за сравнение в сценария А. Вярваме, че можете да видите, че програмата ще напише изречението "Ще купя сладолед!" само ако цената на сладоледа е под 100 монети.
  • Изпълнението на скрипт А и Б ще има същия резултат - програмите ще напишат изречение "Ще купя сладолед!".
  • Анализирайте как се определя операторът за сравнение в скрипт A и как е в сценарий B. Вярваме, че можете да видите това в сценарий A изречението "Ще купя сладолед!" ще се изписва само ако цената на сладоледа е под 100 монети. Изпълнявайки сценарий B, изречението "Ще купя сладолед!" ще бъде написано, ако цената е по-малка или равна на 100 монети.
  • В резултат на стартиране на скрипт Б програмата ще напише изречение "Ще купя сладолед!".
  • Браво! Програмата ще напише изречението "Ще купя сладолед!" ако цената е по-малка или равна на 100 монети.

Най-лесният начин да разберем разклоняването е като създадем програма, която симулира тест. Когато питаме потребителя въпрос и изчакаме неговия отговор, се очаква, че ще осигурим обратна връзка дали отговорът е бил правилен или не. Можем единствено да предоставим информация за правилността на отговор, ако определим дали отговорът на потребителя е идентичен с правилния отговор.

_images/Kviz1.png

Въпреки че изглежда сякаш сме написали кода правилно и правилният отговор на въпроса „Колко крака има кучето?” е 4, потребителят би могъл да отговори на въпроса, като напише дума, вместо число. С други думи, правилният отговор на въпроса не е само 4, но също така и:

Очевидно е, че трябва да дефинираме условието по-внимателно, тоест, да приемем всеки възможен правилен отговор.

Можем да преодолеем тази ситуация чрез използването на логически оператори, които можем да намерим в категорията Оператори:

В нашия случай правилният отговор може да бъде 4 или four или cetiri или четири. Затова ще използваме оператора Or няколко пъти, за да дефинираме условието.

_images/Uslov.png

Кодът, който приема всички възможни форми на правилния отговор изглежда така:

_images/Kviz2.png

Uradi Децата са свикнали с тъчскрийн устройствата и не са свиклнали много с мишката. Ще им помогнем да развият това умение, като създадем програма със спрайт Камион и с Път за фон. Камионът трябва да следва мишката на потребителя и да отиде от лявата до дясната страна на сцената. По пътя камионът не трябва да докосва ръба на пътя. Ако камионът докосне ръба в който и да е момент, ще се върне в първоначалната си позиция (начална позиция в началото на пътуването от лявата страна на сцената - x: -226, y: -41). За създаването на тази програма те съветваме да използваш проекта Пътуване, който можеш да намериш на https://scratch.mit.edu/projects/326419371/.

_images/Putovanje.png

Както можем да видим, спрайтът Камион е твърде голям за тесния път, нарисуван на фона на сцената, която използваме в тази програма. Можем също да видим, че пътят е бял и че черна линия разделя пътя от тревата. Трябва да имаш предвид тези неща, ако искаш да създадеш програмата сам.

Възможен отговор

_images/Putovanje1.png

Izazov Щеше да е добре, ако нашата програма можеше да измери колко ще отнеме да потребителя да „закара” камиона до края на пътя. Подобри програмата. Като добавиш текст, който ще измери времето, нужно на потребителя да завърши пътуването.

Възможен отговор

_images/Putovanje2.png

Izazov Използвайки концепциите и техниките, показани в този и в предишните уроци, създай програма, която симулира парола за влизане, когато се работи на компютъра. Нека програмата позволява на потребителя да въведе паролата три пъти. Ако потребителят не успее да въведе правилната парола, програмата ще спре да работи. Ако потребителят успее, спрайтът ще смени костюма си. Препоръчваме да използваш проекта, който можеш да намериш на линка https://scratch.mit.edu/projects/326403173/, където поставихме спрайта Лаптоп, който има два костюма. Късмет!

Възможен отговор

You will find our solution in the project Password solution, at https://scratch.mit.edu/projects/326417414/. We recommend you remix the project and explain our solution by using comments. We know you can do it!