2014 2015 2016 2017 2018

Rekursinis dažymas

Taškai: 12

Bebras ir jo draugai savanoriauja miesto Informatikos muziejuje. Jie dažo vienos ekspozicijų salės grindis, kurių matmenys 16×16 metrų. Planavimo departamentas yra parengęs specialias dažymo instrukcijas. Instrukcijos išspausdintos ant lapų, kuriuose pateikti piešiami elementai, mastelis ir posūkis. Ant vieno iš lapų yra laukai su numeriais, kurie nurodo kitus lapus. Pažvelkime į ankstesnio projekto grindų plano pavyzdį. Teisingai sudėję visus tris lapus, gausime bebrą.   

O štai naujojo projekto planas: 

   

Planavimo lapas nurodo pats save, be to, abu lapai pažymėti tuo pačiu numeriu! Bebro draugai sutrikę: kaip taip gali būti? Pagalvojęs bebras sako: „Padarysime! Pirmiausia naudosimės tik kairiuoju lapu. Dešinysis lapas nurodo, kada baigti darbą.“

Kaip atrodo užbaigtos dažyti grindys?

A. B. C. D.
Paaiškinimas

Save nurodančios instrukcijos vadinamos rekursija. Tai – labai svarbus informatikos konceptas. Rekursiniai modeliai dažnai aptinkami ir gamtoje. Rekursiniai sprendimai paprastai yra trumpi ir kompaktiškesni, tačiau kartais jie truputį sunkiau suprantami. Siekiant išvengti begalinių ciklų, rekursijoje svarbi baigties sąlyga. Ji pateikta ir šiame pavyzdyje.

Reikšminiai žodžiai: programavimas, rekursija, rekursinis sprendimas, baigties sąlyga.

Atsakymas

Teisingas atsakymas – B.
Panagrinėkime kairįjį plano lapą, kuriame pavaizduotas grindų dekoravimas pusapskritimiu. Grindų dešinioji pusė aprašoma naudojant du kartus tą patį lapą, bet ši pusė dažoma tik tada, jei yra mažiausiai 1 metro ilgio. Pastebėkite, kad plane nurodytų dviejų vienetų orientacija yra priešinga, todėl svarbu teisingai pasukti lapą.
Atkreipkite dėmesį, kad visi elementai turi liestis.