Програмирането: да говориш с компютъра
Ще научиш какво е алгоритъм, цикъл, условие и бъг и ще програмираш робот без компютър.
Бийп-буп! Аз съм Робко и правя ТОЧНО каквото ми кажеш. Ако ми кажеш "направи сандвич", ще стоя объркан. Но ако ми дадеш стъпки, ще стана майстор! Искаш ли да ме програмираш?
История от живота
През 1843 г. една млада англичанка, Ада Лавлейс, пише бележки за машина, която дори още не е построена: Аналитичната машина на Чарлз Бабидж. В бележките си тя описва стъпка по стъпка как машината може да пресмята специални числа. Днес много хора смятат това за първата компютърна програма в историята. Сто години по-късно, през 1947 г., учени в САЩ откриват, че компютърът им греши, защото вътре се е заклещил истински молец! Залепват го в дневника си и записват, че това е първият истински намерен "бъг" (на английски bug значи буболечка). Инженерите наричали грешките бъгове и преди това, но тази смешна случка направила думата известна по целия свят.
Разбери го стъпка по стъпка
- Алгоритъм
Алгоритъмът е точна последователност от стъпки, които решават задача. Рецептата за палачинки е алгоритъм. Указанията как да стигнеш до училище също.
- Компютърът не се досеща
Компютърът е много бърз, но не мисли сам. Ако пропуснеш стъпка, той няма да я познае. Затова програмистите пишат всичко ясно и в правилния ред.
- Цикъл
Цикълът е повторение. Вместо да пишеш "крачка напред" 10 пъти, казваш "повтори 10 пъти: крачка напред". Така програмата е по-кратка.
- Условие
Условието е избор: "АКО вали, ВЗЕМИ чадър, ИНАЧЕ вземи шапка". Така програмата реагира на различни ситуации.
- Езици за програмиране
Хората пишат програми на езици като Scratch, Python и JavaScript. В Scratch нареждаш цветни блокчета, а в Python пишеш думи и символи. Накрая всичко се превръща в нули и единици, които компютърът разбира.
Представи си така: Програмата е като рецепта за баба ти, но баба ти е робот, който никога не е готвил. Ако напишеш "сложи яйцата", без да кажеш "счупи ги", тя ще сложи цели яйца с черупките в тигана!
- Алгоритъм
- Точни стъпки за решаване на задача
- Програма
- Алгоритъм, записан на език за компютър
- Цикъл
- Повтори нещо няколко пъти
- Условие
- АКО нещо е вярно, направи едно, ИНАЧЕ друго
- Променлива
- Кутийка с име, в която пазиш число или дума, например точки
- Бъг
- Грешка в програмата
- Дебъгване
- Търсене и поправяне на грешки
Решени примери
Робот стои на квадратче и трябва да стигне 3 квадратчета напред и 2 надясно. Как да го програмираш?
Повтори 3 пъти: напред. Завий надясно. Повтори 2 пъти: напред. Подредбата е важна: ако първо завие, ще стигне на друго място.
Играта трябва да каже "Браво!", ако отговорът е верен, и "Опитай пак", ако не е.
Използваш условие: АКО отговорът е верен, покажи "Браво!", ИНАЧЕ покажи "Опитай пак".
Програмата ти рисува квадрат, но се получава странна фигура. Какво правиш?
Търсиш бъга. Минаваш стъпка по стъпка и проверяваш, например дали ъглите на завоите са 90 градуса и дали страните са 4.
Внимавай с тези грешки
- Програмирането е само за гении и възрастни.Деца на твоята възраст правят игри в Scratch. Всеки може да се научи стъпка по стъпка.
- Компютърът е умен и разбира какво искаш да кажеш.Компютърът изпълнява точно написаното, дори когато е грешно. Затова е важно да си ясен.
- Добрите програмисти никога не правят грешки.Всички правят бъгове. Добрият програмист умее да ги намира и поправя.
Задачи
Лесни
Напиши алгоритъм от 5 стъпки за миене на зъбите.
Подсказка
Започни от това, което правиш най-напред.
Отговор
Например: 1. Вземи четката. 2. Сложи паста. 3. Мий зъбите 2 минути. 4. Изплакни устата. 5. Изплакни четката.
Какво е бъг в програмирането?
Подсказка
Помисли за молеца от историята.
Отговор
Грешка в програмата.
Средни
Съкрати програмата с цикъл: напред, завий наляво, напред, завий наляво, напред, завий наляво, напред, завий наляво. Каква фигура рисува роботът?
Подсказка
Потърси коя част се повтаря и преброй колко пъти.
Отговор
Повтори 4 пъти: напред, завий наляво. Роботът рисува квадрат и се връща в началото.
Запиши условие за светофар: какво прави пешеходецът при червено и при зелено?
Подсказка
Използвай думите АКО и ИНАЧЕ.
Отговор
АКО светне зелено, пресечи внимателно, ИНАЧЕ (червено) чакай.
Трудни
Програма: точки = 0. Повтори 5 пъти: точки = точки + 3. Колко точки има накрая?
Подсказка
Добавяй по 3 пет пъти.
Отговор
15 точки (0 + 3 + 3 + 3 + 3 + 3 = 15).
Намери бъга: "За да нарисуваш триъгълник: повтори 3 пъти: напред 10, завий надясно 90 градуса." Какво ще се нарисува и как да го поправиш?
Подсказка
Колко градуса общо се завърта роботът, за да се върне в началото? 360.
Отговор
Ще се нарисуват 3 страни на квадрат, а не триъгълник. При равностранен триъгълник роботът трябва да завива на 120 градуса.
Програмирай приятел-робот
Цел: Да напишеш програма с карти и да я изпълни съученик или родител.
- Начертай с тебешир или лепенка поле 5 на 5 квадратчета (или ползвай плочките на пода).
- Сложи "съкровище" (играчка) на едно квадратче.
- Направи карти: НАПРЕД, НАЛЯВО, НАДЯСНО и ПОВТОРИ.
- Подреди картите като програма, без да говориш.
- "Роботът" изпълнява картите точно, без да мисли. Ако не стигне съкровището, намерете бъга и го поправете.
Накрая: Работеща програма от карти и разказ кой бъг сте намерили.
Тест с точки
10 въпроса, 18 точки, оценка накрая и разбор какво да преговориш.