Pitanje ili opis problema
Poštovani,
Ideja upoznavanja sa osnovnim konceptima programiranja, rešavanjem kako će “Karel” da ispuni zadatak je *** g e n i j a l n a ***, i to je malo reći.
Naišao sam na par sitnih neusklađenosti grafičkog prikaza i rezultata koji govori da li je kod tačan.
Naime, blok:
while moze_napred():
napred()
… pati od jednog “problema”, koji je vama svakako jasan kao dan. Odnosi se na to, da se “odlazi” na sledeće slobodno polje, i ne ostavlja se mogućnost provere da li se baš na polaznom polju nalazi “kuglica” koju treba “uzeti”. Sve ovo bi bilo OK (da se učenici dodatno ne opterećuju “do-while” konceptom), kada algoritm za dinamičko postavljanje kuglica ponekad kuglicu ne bi smestio baš na početno polje, što je vidljivo pri simulaciji kretanja/uzimanja. Tako se vizuelno vidi da kuglica NIJE uzeta, ali je rezultat tačan.
Radi se o par zadataka na linku ispod, lako ih je pronaći.
Dva su rešenja:
- da se algoritam za postavljanje kuglica ažurira tako, da nikada kuglice ne postavlja na početno polje
- da se taj “specijalan slučaj” posebno didaktički objasni učenicima, i doda npr deo koda:
while ima_loptica_na_polju():
uzmi()
… pre kretanja u petlji:
while moze_napred():
napred()
P.S. Inače, ja sam roditelj jednog gimnazijalca, stari C/C++ programer, koji je u gimnaziji, na klupi držao “latinski jezik”, a na kolenima ispod klupe, na istom času, “mašinski jezik za procesor 6502”. Nije mi trebala nikakva motivacija, imao sam je urođenu.
Link ka zadatku ili odgovarajućoj stranici
https://petlja.org/biblioteka/r/lekcije/prirucnik-python-gim/karelzadaci