Игри, логика и фокуси9-11 г.

Мисленето като програмист: алгоритми в живота

Какво са алгоритми, условия, цикли и бъгове и как да мислиш стъпка по стъпка като истински програмист.

Робко

Бзз-клик! Робко на линия. Загадка: как ще обясниш на робот да си измие зъбите, ако той прави САМО точно това, което му кажеш? Добре дошъл в света на програмистите!

Реши теста

История от живота

Преди около 1200 години в Багдад живял учен на име ал-Хорезми. Той описвал как се решават задачи стъпка по стъпка, а от неговото име идва думата "алгоритъм". През 1843 г. англичанката Ада Лъвлейс написала инструкции за машина за смятане, която още дори не била построена. Затова мнозина я наричат първия програмист в света. А през 1947 г. учени намерили истински молец, заседнал в един компютър, и го залепили в дневника си с бележка, че са открили първия истински "бъг". Думата се ползвала за повреди и преди, но тази случка я направила прочута и до днес грешките в програмите се казват бъгове!

Разбери го стъпка по стъпка

  1. Алгоритъмът е рецепта

    Алгоритъм е списък от стъпки, които водят до резултат. Рецептата за палачинки, пътят до училище и правилата на игра са алгоритми. Стъпките трябва да са ясни и в правилен ред.

  2. Ако... тогава...

    Програмистите казват на компютъра да избира: "АКО вали, ВЗЕМИ чадър, ИНАЧЕ вземи шапка." Това е условие. Ти правиш такива избори всеки ден, без да се замисляш.

  3. Повтори!

    Вместо да пишеш "направи крачка" 10 пъти, пишеш "ПОВТОРИ 10 пъти: направи крачка". Това е цикъл. Той спестява много писане и грешки.

  4. Раздели голямата задача

    Подреждането на стаята изглежда огромно. Но ако го разделиш на "играчки", "дрехи", "книги", става лесно. Програмистите правят същото с големите проблеми.

  5. Търсене на бъгове

    Когато нещо не работи, програмистът проверява стъпките една по една и намира грешката. Това не е провал, а част от работата. Дори най-добрите програмисти поправят бъгове всеки ден.

Представи си така: Компютърът е като много послушно, но много буквално малко братче. Ако му кажеш "сложи си обувките", може да ги сложи на ръцете! Затова инструкциите трябва да са съвсем точни.

ИнфографикаРечникът на малкия програмист
Алгоритъм
Ясни стъпки в правилен ред, които водят до резултат
Условие
АКО нещо е вярно, ТОГАВА направи това, ИНАЧЕ друго
Цикъл
Повтаряне на стъпки няколко пъти
Бъг
Грешка в програмата
Дебъгване
Търсене и поправяне на грешки
Разделяне
Голяма задача, нарязана на малки и лесни

Решени примери

Роботът е на старта. Програма: ПОВТОРИ 4 пъти: [напред 1 крачка, завий надясно]. Къде ще стигне?

Ще обиколи квадрат и ще се върне точно на старта, обърнат както в началото. 4 завоя надясно правят пълен кръг.

Алгоритъм за сандвич: 1) Сложи сиренето. 2) Вземи филия. 3) Намажи масло. Какъв е бъгът?

Редът е грешен: не можеш да сложиш сирене, преди да имаш филия. Правилно: вземи филия, намажи масло, сложи сиренето.

Мисля си число от 1 до 100. Ти питаш, а аз казвам "по-голямо" или "по-малко". Каква е най-хитрата стратегия?

Всеки път питай за средата: 50, после 25 или 75 и така нататък. Всеки отговор изхвърля половината числа и винаги познаваш с най-много 7 опита.

Внимавай с тези грешки

  • Компютрите са умни и сами се досещат какво искаш.Компютърът прави точно това, което му е казано, стъпка по стъпка. Умни са програмите, които хората са написали.
  • Добрият програмист никога не греши.Всички програмисти правят грешки. Добрият е този, който бързо ги намира и поправя.
  • Алгоритмите са само за компютри.Всяка рецепта, упътване или правило на игра е алгоритъм. Ти ги ползваш всеки ден.

Задачи

Лесни

  1. Напиши алгоритъм от 5 стъпки за миене на ръцете.

    Подсказка

    Започни от това, което правиш първо на мивката.

    Отговор

    Например: 1) Пусни водата. 2) Намокри ръцете. 3) Насапуниса ги и търкай. 4) Изплакни. 5) Спри водата и подсуши ръцете.

  2. Довърши условието: АКО светофарът е червен, ТОГАВА... ИНАЧЕ АКО е зелен, ТОГАВА...

    Подсказка

    Помисли какво правиш на пешеходната пътека.

    Отговор

    АКО е червен, ТОГАВА чакам. АКО е зелен, ТОГАВА се оглеждам и пресичам.

Средни

  1. Роботът прави: ПОВТОРИ 3 пъти: [напред 2 крачки]. После: ПОВТОРИ 2 пъти: [назад 1 крачка]. На колко крачки от старта е?

    Подсказка

    Пресметни отделно напред и назад.

    Отговор

    На 4 крачки напред, защото 3 по 2 е 6, а 6 минус 2 е 4.

  2. Играйте по двойки: единият е "робот", другият дава команди (напред, наляво, надясно), за да стигне роботът до една книга в стаята. Колко команди ви трябваха?

    Подсказка

    Роботът изпълнява само точните команди, без да се досеща.

    Отговор

    Отговорът е различен. Опитайте втори път с по-малко команди и с цикли, например "напред 3 пъти".

Трудни

  1. Мисля си число от 1 до 15. Ти казваш число, а аз отговарям "познал си", "по-голямо" или "по-малко". Ако винаги казваш средата, най-много колко опита ти трябват?

    Подсказка

    Всеки път средното число отпада и остава по-малко от половината.

    Отговор

    4 опита. Първо 8. Остават 7 числа, казваш средата им (4 или 12). Остават 3, казваш средното. Остава 1 число и го познаваш.

  2. Напиши "програма" с цикъл, която кара робот да нарисува триъгълник с равни страни.

    Подсказка

    За квадрата бяха 4 завоя по 90 градуса. Колко са за 3 завоя?

    Отговор

    ПОВТОРИ 3 пъти: [напред 1, завий наляво с 120 градуса]. Трите завоя по 120 градуса правят пълен кръг от 360.

Мини проект · 30 минути

Лабиринт за робот

Цел: Да създадеш лабиринт и програма, с която приятел да го мине.

  1. Начертай на лист мрежа 5 на 5 квадратчета.
  2. Отбележи старт, финал и няколко стени.
  3. Напиши програмата със стрелки: нагоре, надолу, наляво, надясно (и цикли като "3 надясно").
  4. Дай програмата на приятел и го остави да я изпълни с пръст или с играчка.
  5. Ако не стигне до финала, намерете бъга заедно и го поправете.

Накрая: Лабиринт с работеща програма и поне един намерен и поправен бъг.

Тест с точки

10 въпроса, 18 точки, оценка накрая и разбор какво да преговориш.

Започни теста

Още от „Игри, логика и фокуси“

Игри, логика и фокуси9-11 г.Загадки с кибритени клечкиПремести една клечка и сметката става вярна! Логически загадки с клечки, цифри от 7 части и квадрати.Игри, логика и фокуси9-11 г.Игрите на дъска по светаСенет от Египет, Играта от Ур, го, шах, табла и манкала: най-старите игри на света и тайните на добрата стратегия.Игри, логика и фокуси9-11 г.Лабиринтите: как да излезеш от всекиНаучи правилото на ръката, метода с белезите и как робот-мишка и плесен решават лабиринти.Игри, логика и фокуси9-11 г.Логически загадки: кой лъжеЩе разгадаваш загадки за рицари и лъжци и ще научиш как с едно предположение да хванеш кой казва истината.Игри, логика и фокуси9-11 г.Математически фокуси с картиНаучи 3 фокуса с карти, които работят сами заради математиката, и разбери тайната им, за да изненадаш всички.Игри, логика и фокуси9-11 г.Морски шах и печеливша стратегияНаучи тайните на морския шах: защо добрите играчи завършват наравно, какво е вилица и как никога да не губиш.

Всички теми в „Игри, логика и фокуси“