Садржај
1. Робот Карел - Линијски програми и бројачка петља
1.1. Линијски програми
1.2 Вежбање
1.3. Бројачка петља for
1.4. Квиз
1.5. Вежбање
2. Робот Карел - Условна петља и гранање
2.1. Условне петље
2.2. Вежбање
2.3. Гранање
2.4. Квиз
2.5. Вежбање
3. Робот Карел - Задаци за вежбање
3.1. Робот Карел - задаци за вежбање
4. Корњача графика - Линијски програми и петље
4.1. Наредбе корњаче
4.2. Линијски програми
4.3. Петље
4.4. Квиз
4.5. Вежбање
5. Корњача графика - Гранање, угнежђене петље, функције, торке и листе
5.1. Гранање
5.2. Угнежђене петље
5.3. Функције
5.4. Торке и листе
5.5. Квиз
5.6. Вежбање
6. Корњача графика - Задаци за вежбање
6.1. Корњача графика - задаци вежбање
7. Израчунавања - Изрази, оператори, променљиве
7.1. Основне аритметичке операције и примена
7.2. Променљиве - имена придружена подацима
7.3. Тестирање и дебаговање програма
7.4. Квиз
7.5. Вежбање
7.6. Израчунавања - додатни задаци
8. Израчунавања - Цели и реални бројеви, дељење
8.1. Цели и реални бројеви
8.2. Реално и целобројно дељење
8.3. Позициони запис бројева
8.4. Квиз
8.5. Вежбање
8.6. Цели и реални бројеви, дељење - додатни задци
9. Израчунавања - Коришћење и дефинисање функција
9.1. Коришћење функција
9.2. Дефинисање функција
9.3. Квиз
9.4. Вежбање
10. Израчунавања - Задаци за вежбање
10.1. Израчунавања - задаци за вежбање
11. Гранање
11.1. Гранање
11.2. Комбинација више логичких услова
11.3. Конструкција if-elif-else
11.4. Квиз
11.5. Вежбање
11.6. Гранање - додатни задтак
12. Понављање - петље
12.1. Понављање - петља for
12.2. Понављање - условна петља while
12.3. Угњежђене петље
12.4. Квиз
12.5. Вежбање
12.6. Петље - додатни задтак
13. Контрола тока - Задаци за вежбање
13.1. Контрола тока - задаци вежбање
14. Структуре података
14.1. Торке и листе
14.2. Функције за рад са торкама и листама
14.3. Ниске
14.4. Скупови и речници
14.5. Квиз
14.6. Вежбање
15. Примена петље у структурама података
15.1. Примена петље у торци, листи и ниски
15.2. Учитавање и обрада листе
15.3. Примена петље у речнику
15.4. Квиз
15.5. Вежбање
16. Откривање и исправљање грешака и коришћење дебагера
16.1. Дебаговање на рачунару у програму IDLE

2.1. Условне петље

Понављање - условна петља while

Погледај следећи пример у видеу. Лавиринт је зачаран, лоптица је увек на крају тунела, али се не зна његова тачна дужина. Сваки пут када вратиш робота на почетак, тунел у лавиринту је друге дужине. Робот и у таквом лавиринту треба увек да стигне до лоптице и узме је. Да ли овде помаже петља for? Погледајмо видео!

Поред наредби које робот може да извршава, а које смо користили у досадашњим програмима, робот Карел може да поставља следећа питања:

  • moze_napred() - проверава да ли робот може да се помери напред (да ли испред њега не постоји зид),

  • ima_loptica_na_polju() - проверава да ли на пољу на ком се робот налази има лоптица,

  • broj_loptica_na_polju() - враћа број лоптица на пољу на ком се робот налази,

  • ima_loptica_kod_sebe() - проверава да ли робот тренутно има лоптица код себе,

  • broj_loptica_kod_sebe() - враћа број лоптица које робот тренутно има код себе.

То ћемо искористити да бисмо Карела навели да реши неке мало компликованије задатке.

Хајде сада да уз помоћ новог алата, петље while, решиш пример из видеа!

Иди напред док можеш

Наредни лавиринт је зачаран и не зна се колико тачно поља постоји између робота и лоптице. Напиши програм тако да робот и у таквом лавиринту увек стиже до лоптице и узима је. Не заборави да помоћу mozeNapred() можеш проверити да ли се робот може померити напред, тј. да ли се испред њега налази зид.

Петљу for најчешће користимо када знамо тачно колико пута желимо да се нешто понови. Међутим, постоји и други облик петље којим се обезбеђује да се наредбе понављају све док је неки услов испуњен. У овом програму желимо роботу да наредимо да иде напред док год је то могуће и након тога да покупи лоптицу. „Док“ се на енглеском језику каже while, па се и условна петља назива петља while. Погледај како се она може употребити. Покрени наредни програм више пута и видећеш да исправно ради без обзира на то што се зачарани лавиринт променио.

4
 
1
from karel import *
2
while mozeNapred():
3
    napred()
4
uzmi()

Please try loading this page in HTML5 enabled web browsers. All the latest versions of famous browsers such as Internet explorer, Chrome, Firefox, Opera support HTML5.

(Карел_иди_напред_док_можеш)

Запамти, while значи „док“. У претходном програму смо, дакле, роботу рекли следеће: „Док можеш да идеш напред, иди напред. Узми лоптицу.”

Приметићете и да се након услова петље while пише двотачка, док се редови у којима се пишу наредбе које се понављају увлаче (веома слично као у случају петље for). Сличне су и поруке о грешкама уколико се ово правило не испоштује.

И петљама while ћемо се детаљније бавити у поглављу Понављање.

Купи лоптице док можеш

Наредни лавиринт је зачаран и не зна се колико тачно има лоптица на пољу испред робота. Напиши програм којим робот купи све лоптице.

Један начин да се реши задатак је да се прво одреди колико је лоптица на пољу на ком се робот налази, а затим да се употреби петља for. Број лоптица на пољу се може одредити позивом broj_loptica_na_polju().

4
 
1
from karel import *
2
napred()
3
for i in range(broj_loptica_na_polju()):
4
    uzmi()

Please try loading this page in HTML5 enabled web browsers. All the latest versions of famous browsers such as Internet explorer, Chrome, Firefox, Opera support HTML5.

(Карел_купи_лоптице_док_можеш)

Овим програмом се роботу каже следеће: „Онолико пута колико је на пољу лоптица, узми лоптицу.“

Други начин да се задатак реши је да се употреби петља while и да се лоптице купе све док их има на пољу. Ту проверу робот може да изврши коришћењем питања ima_loptica_na_polju().

Покушај да измениш претходни програм и задатак решиш на овај начин. Твој програм треба роботу да каже следеће: „Иди напред. Док има лоптица на пољу, узимај по лоптицу.“

Претходна лекција
Следећа лекција
A- A+
Тема
Темa

Prijavi problem


Obeleži sve kategorije koje odgovaraju problemu

Još detalja - opišite nam problem


Uspešno ste prijavili problem!
Status problema i sve dodatne informacije možete pratiti klikom na link.
Nažalost nismo trenutno u mogućnosti da obradimo vaš zahtev.
Molimo vas da pokušate kasnije.