Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Zadania na zawody

Poziom: Skrzaty (kl. IV - VIII SP)


Jezyk
˛ programowania: Scratch

Zbieranie informacji
Robot zbudowany przez uczniów specjalizuje sie˛ w zbieraniu rozproszonych informacji.
Jego zadaniem jest zebranie wszystkich n fragmentów informacji przechowywanych na n
komputerach stojacych
˛ w rz˛edzie (komputery sa˛ ponumerowane od 1 do n). Na poczatku
˛
robot znajduje sie˛ przy komputerze o numerze 1 i nie posiada jeszcze żadnej informacji.

Na każdym komputerze znajduje sie˛ dokładnie jeden fragment informacji do pobrania,


przy czym dostep
˛ do danego komputera można uzyskać tylko wtedy, jeśli wcześniej zgro-
madziło sie˛ odpowiednia˛ liczbe˛ fragmentów informacji. Liczbe˛ fragmentów pozwalajac˛ a˛
na dostep
˛ do i-tego komputera oznaczamy jako ai .

Robot może poruszać sie˛ wzdłuż rz˛edu komputerów w obydwu kierunkach, ale każda
zmiana kierunku stanowi dla niego obciażenie,
˛ zatem liczba tych zmian powinna być
minimalna. Należy znaleźć te˛ liczbe.
˛ Jest zagwarantowane, że zawsze istnieje sekwencja
działań umożliwiajaca
˛ robotowi pobranie wszystkich informacji z komputerów.

Zadanie

W nowym, pustym projekcie Scratch należy stworzyć dwie listy i nadać im nazwy:

• DANE
• WYNIKI
Liste˛ DANE należy wypełniać recznie,
˛ zaś do listy WYNIKI Twój program powinien wpisać re-
zultat swojego działania. Na liście DANE znajduje sie˛ n liczb naturalnych (1 ≤ n ≤ 10 000),
co odpowiada liczbie komputerów w rz˛edzie i zarazem liczbie fragmentów informacji do
zebrania. Kolejne liczby na liście DANE: a1 , a2 , ..., an (0 ≤ ai < n, i = 1, 2, ..., n) definiuja˛
progi dostepu
˛ do kolejnych komputerów (jak opisano w treści zadania).

Do listy WYNIKI program powinien wpisać jedna˛ liczbe˛ naturalna˛ oznaczajac


˛ a˛ minimalna˛
ilość niezbednych
˛ zmian kierunku ruchu robota.

1
Zadania na zawody
Poziom: Skrzaty (kl. IV - VIII SP)
Jezyk
˛ programowania: Scratch

Przykład 1

Wyjaśnienie do przykładu: Robot pobiera pierwszy fragment informacji z pierwszego


komputera, przemieszcza sie˛ do trzeciego, pobiera drugi fragment, zawraca i może już
pobrać ostatni fragment z drugiego komputera.

Przykład 2

Wyjaśnienie do przykładu: Robot musi odwiedzić komputery w kolejności wzrastaja-


˛
cych progów.

2
Zadania na zawody
Poziom: Skrzaty (kl. IV - VIII SP)
Jezyk
˛ programowania: Scratch

Przykład 3

Wyjaśnienie do przykładu: Robot powinien odwiedzić komputery w nastepuj


˛ acej
˛ kolej-
ności: 1 → 3 → 4 → 6 → 2 → 5 → 7.

Uwagi

Pamietaj,
˛ że liste˛ DANE należy wypełniać recznie,
˛ wpisujac
˛ dane z klawiatury. Warto prze-
testować działanie programu również dla innych wartości niż w przykładzie.

Zawartość listy WYNIKI powinna być za każdym razem na poczatku


˛ usuwana. Twój pro-
gram musi wiec ˛ zaczynać sie˛ tak jak pokazano poniżej:

You might also like