Садржај
1. Робот Карел - Линијски програми и бројачка петља
2. Робот Карел - Условна петља и гранање
3. Робот Карел - Задаци за вежбање
4. Корњача графика - Линијски програми и петље
5. Корњача графика - Гранање, угнежђене петље, функције, торке и листе
6. Корњача графика - Задаци за вежбање
7. Израчунавања - Изрази, оператори, променљиве
8. Израчунавања - Цели и реални бројеви, дељење
9. Израчунавања - Коришћење и дефинисање функција
10. Израчунавања - Задаци за вежбање
11. Гранање
12. Понављање - петље
13. Контрола тока - Задаци за вежбање
14. Структуре података
15. Примена петље у структурама података
16. Откривање и исправљање грешака и коришћење дебагера
5.4. Торке и листе¶
Некада су нам корисни подаци који садрже више различитих вредности, тако да се у сваком кораку петље користи друга вредност. Најједноставнији начин да тако нешто постигнемо је да употребимо торку вредности или листу вредности (о чему ће бити много више речи у лекцији у којој ћемо се бавити структурама података). Погледајте неколико примера ове технике.
Торка¶
Шарени квадрат - петља¶
Допуни претходни програм тако да црта шарени квадрат чије су боје страница редом црвена, зелена, плава и жута.
За решавање задатка згодно је употребити торку у којој ће се
упамтити четири ниске које представљају називе те четири боје на
енглеском језику (такву торку можемо дефинисати помоћу boje =
("red", "green", "blue", "yellow")
). У сваком кораку петље боја
ће се постављати на i-ти елемент те торке, где је i бројачка променљива
која редом узима вредности 0, 1, 2 и 3 (i-том елементу торке boje
можемо приступити навођењем boje[i]
).
На пример, када кажемо boje[0], то ће се односити на први елемент у торци тј. у нашем конкретном случају то је црвена боја „red”.
Листа¶
Звезда без пресецања¶
Напиши програм у којем корњача црта звезду без цртања унутрашњег петоугла, као на следећој слици.
Овај задатак смо већ решавали уз помоћ гранања, али решење можемо
добити и уз помоћ двочлане листе. У листу се могу поставити углови од
72 и -144 степена и у сваком кораку окретати улево за један од та
два угла (окрет удесно за 144 степена је једнак окрету улево за -144
степена), наизменично. Угловима из листе приступа се наизменично,
тј. приступа се угловима на позицији 0, затим 1, па 0, па 1, и тако
даље. Ово се може остварити тако што се у сваком кораку приступи углу у
листи на позицији која се добије као остатак при дељењу променљиве
i
бројем два (подсетимо се, тај остатак се може израчунати помоћу
i % 2
). У складу са тим исправи наредни програм.