2014 2015 2016 2017 2018

Bebrijos traukinys

Taškai: 6

Bebrijos traukiniu vežamas krovinys maršrutu Medienmiestis, Šienmiestis ir Plytmiestis.
1.    Medienmiesčiui reikia medienos.
2.    Šienmiesčiui reikia šieno.
3.    Plytmiesčiui reikia plytų.
Paveiksle rodomas traukinio maršrutas (traukinio stočių eilė).

Kokia eile reikia sujungti traukinio vagonus, kad kroviniai pasiektų reikiamus miestus (atkabinant paskutinį vagoną)? Paspauskite tinkamą traukinio sąstatą.

Paaiškinimas

Tai – algoritminį mąstymą skatinantis uždavinys. Čia svarbu eiliškumas. Šiuo tikslu dažnai naudojama duomenų struktūra – dėklas (angl. stack). Ją apibūdina principas „paskutinis įeina, pirmasis išeina“ (angl. LIFO – Last In, First Out). Elementai įrašomi ir šalinami iš sąrašo pradžios. Tokia taisyklė dažna ir buityje, pavyzdžiui, pažvelkime į padėklų krūvą valgykloje: ant viršaus padėtas paskutinis padėklas paimamas pirmas, o apatinis padėklas, kuris buvo padėtas pirmas, paimamas paskutinis.
Toks principas yra svarbus ir informatikos moksle, pavyzdžiui, programuojant žaidimus. Jeigu suprogramuosime neteisingą seką, žaidimas veiks netinkamai, jį žaisti bus nesmagu.

Reikšminiai žodžiai: seka, algoritmai, dėklas.

Atsakymas

Teisingas atsakymas:

Pirmasis pristatomas krovinys turėtų būti prikabinamas prie traukinio sąstato paskiausiai, todėl tai turėtų būti medienos krovinys, skirtas pirmam maršruto miestui – Medienmiesčiui. Antrojo vagono krovinys bus iškrautas antrame mieste. Vadinasi, tai – šienas, skirtas Šienmiesčiui. Paskutinis krovinys turėtų būti pirmasis traukinio sąstato vagonas. Jame turi būti plytos, kurias reikia iškrauti Plytmiestyje.

Interaktyvi užduotis