Rysunek przedstawia ręce człowieka sprawdzającego listę zadań do wykonania.
Rysunek przedstawia ręce człowieka sprawdzającego listę zadań do wykonania.
Operacje na listach w Scratch: tworzenie i sortowanie listy, minimum i maksimum
Źródło: Videoplasty.com, licencja: CC BY-SA 4.0. Creative Commons Uznanie autorstwa-Na tych samych warunkach 4.0.
bg‑gray4
Treści zawarte w tym e‑materiale wykraczają poza podstawę programową dla klas IV - VI. Jeśli jednak:
interesujesz się informatyką i programowaniem,
chcesz poszerzyć swoją wiedzę na temat struktur danych,
poznać algorytmy pozwalające na znalezienie elementu najmniejszego lub największego,
zachęcamy Cię do zapoznania się z tym e‑materiałem.
Listy - co to takiego?
Często zachodzi potrzeba przechowania większej liczby danych. Niewygodne staje się wówczas pamiętanie ich na pojedynczych zmiennych, szczególnie gdy pełnią podobny charakter. Lepiej pamiętać je pod jedną nazwą, a wszystkie dane ponumerować zaczynając od 1. Dostęp do pojedynczego elementu możliwy jest wtedy za pośrednictwem indeksu (numeru elementu). W Scratchu służą do tego listy.
Przykład
Przykład
Rzucamy wielokrotnie sześcienną kostką do gry. Chcemy policzyć, ile razy wypadły poszczególne liczby oczek. Można utworzyć sześć zmiennych odpowiednio do przechowywania liczby wystąpień jednego oczka, dwóch oczek, itd. Lepiej jednak utworzyć sześcioelementową listę. Liczba oczek będzie w takim przypadku indeksem (numerem elementu). Symbolicznie indeks będziemy podawać w nawiasach kwadratowych. Np. jeśli stworzymy listę o nazwie: Wyniki, wtedy oznaczenie np. Wyniki[2] - oznaczać będzie drugi element listy, czyli informację ile razy wypadły dwa oczka.
Listę, podobnie jak pojedynczą zmienną, można utworzyć w kategorii Zmienne. Należy kliknąć w przycisk Stwórz listę, w polu edycyjnym wpisać nazwę nowotworzonej listy (można także wybrać, czy będzie dostępna dla wszystkich duszków, czy tylko jednego) i zatwierdzić przyciskiem OK.
Polecenie 1
Utwórz listę o nazwie Wyniki.
R1cEIGZcmMfPV
Po utworzeniu listy w kategorii Dane pojawią się nowe klocki umożliwiające operacje na liście. Dostępne opcje możesz podejrzeć na poniższej ilustracji.
R15eicq2iid8L
Wersja alternatywna: Zrzut ekranu przedstawia fragment okna do zarządzania blokami w Scratch. Ekran jest podzielony na dwie główne sekcje: wybór kategorii bloków oraz samą sekcję bloków. Po lewej stronie widoczna jest lista dostępnych kategorii bloków, z których wybrana jest opcja Zmienne. Po prawej stronie umieszczone są dostępne bloki, które zostały stworzone w kontekście listy. W górnej części prawego obszaru znajduje się przycisk Stwórz listę do tworzenia nowych list. Niżej wyróżnione są dostępne listy z polem wyboru ich widoczności na scenie. Poniżej list widoczne są bloki służące do zarządzania listami, gdzie dostępnych jest jedenaście opcji. 1. Nazwa listy Blok reprezentujący listę z podaną nazwą i polem do zaznaczania widoczności listy na scenie., 2. Dodaj () do () Dodaje nowy element na koniec listy., 3. Usuń () z () Usuwa element od podanym indeksie z wybranej listy i zmniejsza indeks kolejnych elementów o 1., 4. Usuń wszystko z () Usuwa wszystkie elementy z listy., 5. Wstaw () na () pozycji z () Dodaje element na wybraną pozycję (indeks) i zwiększa indeks kolejnych elementów na liście., 6. Zamień () z () na () Podmienia element na wybranej liście na inny element., 7. Element () z () Zwraca wartość podanego elementu z wybranej listy., 8. Pozycja () na liście () Zwraca indeks podanego elementu z wybranej listy., 9. Długość () Przechowuje informacje o liczbie elementów w wybranej liście., 10. () zawiera () ? Zwraca wartość prawda lub fałsz w zależności, czy wybrana lista zawiera podany element., 11. Pokaż listę () Wyświetla wybraną listę na scenie aplikacji., 12. Ukryj listę () Ukrywa wybraną listę na scenie aplikacji.
Wersja alternatywna: Zrzut ekranu przedstawia fragment okna do zarządzania blokami w Scratch. Ekran jest podzielony na dwie główne sekcje: wybór kategorii bloków oraz samą sekcję bloków. Po lewej stronie widoczna jest lista dostępnych kategorii bloków, z których wybrana jest opcja Zmienne. Po prawej stronie umieszczone są dostępne bloki, które zostały stworzone w kontekście listy. W górnej części prawego obszaru znajduje się przycisk Stwórz listę do tworzenia nowych list. Niżej wyróżnione są dostępne listy z polem wyboru ich widoczności na scenie. Poniżej list widoczne są bloki służące do zarządzania listami, gdzie dostępnych jest jedenaście opcji. 1. Nazwa listy Blok reprezentujący listę z podaną nazwą i polem do zaznaczania widoczności listy na scenie., 2. Dodaj () do () Dodaje nowy element na koniec listy., 3. Usuń () z () Usuwa element od podanym indeksie z wybranej listy i zmniejsza indeks kolejnych elementów o 1., 4. Usuń wszystko z () Usuwa wszystkie elementy z listy., 5. Wstaw () na () pozycji z () Dodaje element na wybraną pozycję (indeks) i zwiększa indeks kolejnych elementów na liście., 6. Zamień () z () na () Podmienia element na wybranej liście na inny element., 7. Element () z () Zwraca wartość podanego elementu z wybranej listy., 8. Pozycja () na liście () Zwraca indeks podanego elementu z wybranej listy., 9. Długość () Przechowuje informacje o liczbie elementów w wybranej liście., 10. () zawiera () ? Zwraca wartość prawda lub fałsz w zależności, czy wybrana lista zawiera podany element., 11. Pokaż listę () Wyświetla wybraną listę na scenie aplikacji., 12. Ukryj listę () Ukrywa wybraną listę na scenie aplikacji.
Bloki dostępne po utworzeniu listy
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Zrzut ekranu przedstawia fragment okna do zarządzania blokami w Scratch. Ekran jest podzielony na dwie główne sekcje: wybór kategorii bloków oraz samą sekcję bloków. Po lewej stronie widoczna jest lista dostępnych kategorii bloków, z których wybrana jest opcja „Zmienne”. Po prawej stronie umieszczone są dostępne bloki, które zostały stworzone w kontekście listy. W górnej części prawego obszaru znajduje się przycisk „Stwórz listę” do tworzenia nowych list. Niżej wyróżnione są dostępne listy z polem wyboru ich widoczności na scenie. Poniżej list widoczne są bloki służące do zarządzania listami, gdzie dostępnych jest 11 opcji.
Listą możesz także zarządzać z poziomu sceny Scratch. Zapoznaj się z poniższą ilustracją interaktywną, aby zrozumieć działanie poszczególnych funkcji.
R126B2PeQY8RV
Wersja alternatywna: Zrzut ekranu przedstawiający tabelę „Wyniki ”. Na pierwszym miejscu znajduje się wartość 1, na drugim wartość 2. Zaznaczone są elementy - nazwa listy „Wyniki” - jest to unikalna etykieta, która identyfikuje i umożliwia operacje na danym zbiorze danych. Dzięki niej możemy manipulować elementami listy w programie. 1. Nazwa listy Jest to unikalna etykieta (nazwa), która identyfikuje i umożliwia operacje na danym zbiorze danych. Dzięki niej możemy manipulować elementami listy w programie., 2. Indeks elementu Numer pozycji, na której znajduje się dany element w liście. Indeksy w środowisku Scratch zaczynają się od 1, więc pierwszy element listy ma indeks 1, drugi element ma indeks 2 i tak dalej. Dzięki indeksom możemy jednoznacznie zidentyfikować i manipulować poszczególnymi elementami w liście., 3. Element listy Wartość lub dane, które są przechowywane wewnątrz listy. Może to być liczba, tekst lub inny typ danych, a każdy element ma przypisaną swoją pozycję w liście, zwaną indeksem., 4. Przycisk X Po jego kliknięciu wskazany element na liście zostanie usunięty i indeksy pozostałych elementów zostaną dostosowane do nowej długości listy., 5. Przycisk + Umożliwia wstawienie nowego elementu na końcu listy., 6. Długość tablicy Oznacza liczbę elementów znajdujących się w danej liście., 7. Znak = Po najechaniu na niego kursorem myszy zmieni się ikona kursora i możliwe będzie dostosowanie wielkości okna listy na scenie w Scratch.
Wersja alternatywna: Zrzut ekranu przedstawiający tabelę „Wyniki ”. Na pierwszym miejscu znajduje się wartość 1, na drugim wartość 2. Zaznaczone są elementy - nazwa listy „Wyniki” - jest to unikalna etykieta, która identyfikuje i umożliwia operacje na danym zbiorze danych. Dzięki niej możemy manipulować elementami listy w programie. 1. Nazwa listy Jest to unikalna etykieta (nazwa), która identyfikuje i umożliwia operacje na danym zbiorze danych. Dzięki niej możemy manipulować elementami listy w programie., 2. Indeks elementu Numer pozycji, na której znajduje się dany element w liście. Indeksy w środowisku Scratch zaczynają się od 1, więc pierwszy element listy ma indeks 1, drugi element ma indeks 2 i tak dalej. Dzięki indeksom możemy jednoznacznie zidentyfikować i manipulować poszczególnymi elementami w liście., 3. Element listy Wartość lub dane, które są przechowywane wewnątrz listy. Może to być liczba, tekst lub inny typ danych, a każdy element ma przypisaną swoją pozycję w liście, zwaną indeksem., 4. Przycisk X Po jego kliknięciu wskazany element na liście zostanie usunięty i indeksy pozostałych elementów zostaną dostosowane do nowej długości listy., 5. Przycisk + Umożliwia wstawienie nowego elementu na końcu listy., 6. Długość tablicy Oznacza liczbę elementów znajdujących się w danej liście., 7. Znak = Po najechaniu na niego kursorem myszy zmieni się ikona kursora i możliwe będzie dostosowanie wielkości okna listy na scenie w Scratch.
Obiekt Lista w środowisku Scratch
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Zrzut ekranu przedstawiający tabelę Wyniki. Na pierwszym miejscu znajduje się wartość 1, na drugim wartość 2. Zaznaczone są elementy - Nazwa listy „Wyniki” - Jest to unikalna etykieta, która identyfikuje i umożliwia operacje na danym zbiorze danych. Dzięki niej możemy manipulować elementami listy w programie.
Zrzut ekranu przedstawia okno tworzenia nowej listy, w którym należy wpisać nazwę listy. Pod zmiennymi znajduje się przycisk Stwórz listę. Obok widoczne jest prostokątne okno z paskiem z nazwą Nowa lista na górze oraz przyciskiem do zamknięcia okna. Poniżej są: pasek do wpisania nazwy Nowa nazwa listy, przyciski do zaznaczenia, czy lista jest dla wszystkich duszków, czy tylko dla tego duszka oraz przyciski Anuluj i OK.
Okno tworzenia nowej listy
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Lista może być widoczna na scenie lub ukryta. Widoczność można zmieniać edycyjnie zaznaczając/odznaczając znacznik przy liście
R8Ieq14gGnK9V
lub programowo, przy pomocy klocków:
R1cZh2ixb0KZq
Zrzut ekranu pokazuje blok pokaż listę… z wybraną opcją Wyniki służący do wyświetlenia wybranej listy z dostępnych opcji.
Blok pokaż listę… z kategorii Zmienne
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
R1YxDi98fW6D2
Zrzut ekranu pokazuje blok ukryj listę… z wybraną opcją Wyniki służący do ukrywania wybranej listy z dostępnych opcji.
Blok ukryj listę… z kategorii Zmienne
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Zrzut ekranu pokazuje obszar do zmiany widoczności listy na scenie aplikacji Scratch. Widoczne są zmienne oraz kilka bloków skryptu. Poniżej nich znajduje się przycisk Stwórz listę, a pod nim znajdują się utworzone listy. Jedną z nich jest lista Wyniki wyróżniona czerwoną ramką. Po lewej stronie listy znajduje się pole wyboru umożliwiające pokazanie lub ukrycie wizualnej reprezentacji listy na scenie programu.
Obszar do zmiany widoczności listy na scenie aplikacji Scratch
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Po utworzeniu listy w kategorii Dane pojawią się nowe klocki umożliwiające operacje na liście. Dostępne opcje możesz podejrzeć na poniższej ilustracji.
R15eicq2iid8L
Wersja alternatywna: Zrzut ekranu przedstawia fragment okna do zarządzania blokami w Scratch. Ekran jest podzielony na dwie główne sekcje: wybór kategorii bloków oraz samą sekcję bloków. Po lewej stronie widoczna jest lista dostępnych kategorii bloków, z których wybrana jest opcja Zmienne. Po prawej stronie umieszczone są dostępne bloki, które zostały stworzone w kontekście listy. W górnej części prawego obszaru znajduje się przycisk Stwórz listę do tworzenia nowych list. Niżej wyróżnione są dostępne listy z polem wyboru ich widoczności na scenie. Poniżej list widoczne są bloki służące do zarządzania listami, gdzie dostępnych jest jedenaście opcji. 1. Nazwa listy Blok reprezentujący listę z podaną nazwą i polem do zaznaczania widoczności listy na scenie., 2. Dodaj () do () Dodaje nowy element na koniec listy., 3. Usuń () z () Usuwa element od podanym indeksie z wybranej listy i zmniejsza indeks kolejnych elementów o 1., 4. Usuń wszystko z () Usuwa wszystkie elementy z listy., 5. Wstaw () na () pozycji z () Dodaje element na wybraną pozycję (indeks) i zwiększa indeks kolejnych elementów na liście., 6. Zamień () z () na () Podmienia element na wybranej liście na inny element., 7. Element () z () Zwraca wartość podanego elementu z wybranej listy., 8. Pozycja () na liście () Zwraca indeks podanego elementu z wybranej listy., 9. Długość () Przechowuje informacje o liczbie elementów w wybranej liście., 10. () zawiera () ? Zwraca wartość prawda lub fałsz w zależności, czy wybrana lista zawiera podany element., 11. Pokaż listę () Wyświetla wybraną listę na scenie aplikacji., 12. Ukryj listę () Ukrywa wybraną listę na scenie aplikacji.
Wersja alternatywna: Zrzut ekranu przedstawia fragment okna do zarządzania blokami w Scratch. Ekran jest podzielony na dwie główne sekcje: wybór kategorii bloków oraz samą sekcję bloków. Po lewej stronie widoczna jest lista dostępnych kategorii bloków, z których wybrana jest opcja Zmienne. Po prawej stronie umieszczone są dostępne bloki, które zostały stworzone w kontekście listy. W górnej części prawego obszaru znajduje się przycisk Stwórz listę do tworzenia nowych list. Niżej wyróżnione są dostępne listy z polem wyboru ich widoczności na scenie. Poniżej list widoczne są bloki służące do zarządzania listami, gdzie dostępnych jest jedenaście opcji. 1. Nazwa listy Blok reprezentujący listę z podaną nazwą i polem do zaznaczania widoczności listy na scenie., 2. Dodaj () do () Dodaje nowy element na koniec listy., 3. Usuń () z () Usuwa element od podanym indeksie z wybranej listy i zmniejsza indeks kolejnych elementów o 1., 4. Usuń wszystko z () Usuwa wszystkie elementy z listy., 5. Wstaw () na () pozycji z () Dodaje element na wybraną pozycję (indeks) i zwiększa indeks kolejnych elementów na liście., 6. Zamień () z () na () Podmienia element na wybranej liście na inny element., 7. Element () z () Zwraca wartość podanego elementu z wybranej listy., 8. Pozycja () na liście () Zwraca indeks podanego elementu z wybranej listy., 9. Długość () Przechowuje informacje o liczbie elementów w wybranej liście., 10. () zawiera () ? Zwraca wartość prawda lub fałsz w zależności, czy wybrana lista zawiera podany element., 11. Pokaż listę () Wyświetla wybraną listę na scenie aplikacji., 12. Ukryj listę () Ukrywa wybraną listę na scenie aplikacji.
Bloki dostępne po utworzeniu listy
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Zrzut ekranu przedstawia fragment okna do zarządzania blokami w Scratch. Ekran jest podzielony na dwie główne sekcje: wybór kategorii bloków oraz samą sekcję bloków. Po lewej stronie widoczna jest lista dostępnych kategorii bloków, z których wybrana jest opcja „Zmienne”. Po prawej stronie umieszczone są dostępne bloki, które zostały stworzone w kontekście listy. W górnej części prawego obszaru znajduje się przycisk „Stwórz listę” do tworzenia nowych list. Niżej wyróżnione są dostępne listy z polem wyboru ich widoczności na scenie. Poniżej list widoczne są bloki służące do zarządzania listami, gdzie dostępnych jest 11 opcji.
Listą możesz także zarządzać z poziomu sceny Scratch. Zapoznaj się z poniższą ilustracją interaktywną, aby zrozumieć działanie poszczególnych funkcji.
RBFTMbD3EdMjr
Wersja alternatywna: 1. Nazwa listy Jest to unikalna etykieta (nazwa), za pomocą której, rozpoznajemy dany zbiór danych. Wykorzystując tą nazwę możemy manipulować elementami listy w programie., 2. Indeks elementu Numer pozycji, na której znajduje się dany element w liście. Indeksy w Scratchu zaczynają się od 1, więc pierwszy element listy ma indeks 1, drugi element ma indeks 2, i tak dalej. Dzięki indeksom możemy jednoznacznie rozpoznać elementy i działać na poszczególnych elementach w liście., 3. Element listy Wartość lub dana, która jest przechowywana wewnątrz listy. Może to być liczba, tekst lub inny typ danych. Każdy element ma przypisaną swoją pozycję (numer) w liście, zwaną indeksem., 4. Przycisk X Po jego kliknięciu wskazany element na liście zostanie usunięty i indeksy pozostałych elementów zostaną dostosowane do nowej długości listy., 5. Przycisk + Umożliwia wstawienie nowego elementu na końcu listy., 6. Długość tablicy Oznacza ilość elementów znajdujących się w danej liście., 7. Znak = Po najechaniu na niego kursorem myszy, zmieni się ikona kursora i możliwe będzie dostosowanie wielkości okna listy na scenie w Scratch.
Wersja alternatywna: 1. Nazwa listy Jest to unikalna etykieta (nazwa), za pomocą której, rozpoznajemy dany zbiór danych. Wykorzystując tą nazwę możemy manipulować elementami listy w programie., 2. Indeks elementu Numer pozycji, na której znajduje się dany element w liście. Indeksy w Scratchu zaczynają się od 1, więc pierwszy element listy ma indeks 1, drugi element ma indeks 2, i tak dalej. Dzięki indeksom możemy jednoznacznie rozpoznać elementy i działać na poszczególnych elementach w liście., 3. Element listy Wartość lub dana, która jest przechowywana wewnątrz listy. Może to być liczba, tekst lub inny typ danych. Każdy element ma przypisaną swoją pozycję (numer) w liście, zwaną indeksem., 4. Przycisk X Po jego kliknięciu wskazany element na liście zostanie usunięty i indeksy pozostałych elementów zostaną dostosowane do nowej długości listy., 5. Przycisk + Umożliwia wstawienie nowego elementu na końcu listy., 6. Długość tablicy Oznacza ilość elementów znajdujących się w danej liście., 7. Znak = Po najechaniu na niego kursorem myszy, zmieni się ikona kursora i możliwe będzie dostosowanie wielkości okna listy na scenie w Scratch.
Obiekt "Lista" w Scratch.
Źródło: GroMar, licencja: CC BY 3.0.
Zrzut ekranu przedstawiający tabelę Wyniki. Na pierwszym miejscu znajduje się wartość 1, na drugim wartość 2. Zaznaczone są elementy: - Nazwa listy „Wyniki” - Jest to unikalna nazwa, dzięki której rozpoznajemy dany zbiór danych. Wykorzystując tą nazwę możemy manipulować elementami listy w programie. Indeks elementu. Jest to numer pozycji, na której znajduje się dany element w liście. Indeksy w Scratchu zaczynają się od 1, więc pierwszy element listy ma indeks 1, drugi element ma indeks 2, i tak dalej. Dzięki indeksom możemy jednoznacznie rozpoznać elementy i działać na poszczególnych elementach w liście. Element listy. jest to wartość lub dana, która jest przechowywana wewnątrz listy. Może to być liczba, tekst lub inny typ danych. Każdy element ma przypisaną swoją pozycję (numer) w liście, zwaną indeksem. Przycisk X. Po jego kliknięciu wskazany element na liście zostanie usunięty i indeksy pozostałych elementów zostaną dostosowane do nowej długości listy. Przycisk +. Umożliwia wstawienie nowego elementu na końcu listy. Długość tablicy. Oznacza ilość elementów znajdujących się w danej liście.
Jeżeli elementami listy mają być liczby, możesz wprowadzić je do listy na różne sposoby. Jednym z nich jest wylosowanie liczby z określonego zakresu za pomocą bloku losuj liczbę od ... do ..., a następnie dodanie wylosowanej liczby do listy, tak jak na poniższym zrzucie ekranu.
R1NhMF3UIBtP0
Innym sposobem jest zapytanie użytkownika skryptu, jaką liczbę chce wprowadzić do listy, a następnie dodanie podanej odpowiedzi do listy.
RzNn2uALSgeyP
Zrzut ekranu przedstawia skrypt dodania podanej przez użytkownika liczby do listy. Kolejno są to klocki: kiedy kliknięto zieloną flagę, usuń wszystko z listy Wyniki, zapytaj, jaką liczbę chcesz wprowadzić do listy? i czekaj, dodaj odpowiedź do listy Wyniki, zatrzymaj ten skrypt.
Przykładowy skrypt na dodanie podanej przez użytkownika liczby do listy
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Istnieje wiele sposobów, aby dodać liczbę do listy w Scratch, a te przedstawione są tylko częścią z nich. Wybierz ten, który najlepiej odpowiada twoim potrzebom.
Ważne!
Dobrą praktyką jest usuwanie wszystkich elementów listy na początku skryptu. Unikniesz wtedy pozostałości po poprzednich uruchomieniach skryptu, które mogłyby wywołać niepożądane efekty.
RE44C4ZSgw49g
Zrzut ekranu przedstawia skrypt symulujący sto rzutów sześcienną kostką do gry i zliczający wyniki. Usuwa on wszystko z listy Wyniki, następnie zapełnia ją sześcioma zerami, powtarza sto razy losowanie od jednego do sześciu i zamienia wylosowaną liczbę na inny element, potem mówi Rzuciłem 100 razy kostką do gry! Wyniki obok! i zatrzymuje skrypt.
Przykładowy skrypt symulujący 100 rzutów sześcienną kostką do gry i zliczający wyniki
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
R1KZMf8H9obaX
Zrzut ekranu przedstawia przykładowy wynik działania skryptu zliczającego wyniki po stu rzutach kostką. Z lewej strony pokazana jest tabela Wyniki z wynikami dla poszczególnych losowań, a z prawej widoczny jest duszek z dymkiem z tekstem Rzuciłem sto razy kostką do gry! Wyniki obok!.
Przykładowy wynik działania skryptu zliczającego wyniki po 100 rzutach kostką
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Lista może być widoczna na scenie lub ukryta. Widoczność można zmieniać edycyjnie zaznaczając/odznaczając znacznik przy liście
R8Ieq14gGnK9V
Zrzut ekranu pokazuje obszar do zmiany widoczności listy na scenie aplikacji Scratch. Widoczne są zmienne oraz kilka bloków skryptu. Poniżej nich znajduje się przycisk Stwórz listę, a pod nim znajdują się utworzone listy. Jedną z nich jest lista Wyniki wyróżniona czerwoną ramką. Po lewej stronie listy znajduje się pole wyboru umożliwiające pokazanie lub ukrycie wizualnej reprezentacji listy na scenie programu.
Obszar do zmiany widoczności listy na scenie aplikacji Scratch
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
lub programowo, przy pomocy klocków:
R1cZh2ixb0KZq
Zrzut ekranu pokazuje blok pokaż listę… z wybraną opcją Wyniki służący do wyświetlenia wybranej listy z dostępnych opcji.
Blok pokaż listę… z kategorii Zmienne
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
R1YxDi98fW6D2
Zrzut ekranu pokazuje blok ukryj listę… z wybraną opcją Wyniki służący do ukrywania wybranej listy z dostępnych opcji.
Blok ukryj listę… z kategorii Zmienne
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Zrzut ekranu przedstawia skrypt wprowadzania liczb do listy. Kolejno są to bloki: kiedy kliknięto zieloną flagę, usuń wszystko z listy Wyniki, dodaj losową liczbę od jednego do dziesięciu do listy Wyniki, zatrzymaj ten skrypt.
Przykładowy skrypt na dodanie losowej liczby z przedziału <1, 10> do listy
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Innym sposobem jest zapytanie użytkownika skryptu, jaką liczbę chce wprowadzić do listy, a następnie dodanie podanej odpowiedzi do listy.
RzNn2uALSgeyP
Zrzut ekranu przedstawia skrypt dodania podanej przez użytkownika liczby do listy. Kolejno są to klocki: kiedy kliknięto zieloną flagę, usuń wszystko z listy Wyniki, zapytaj, jaką liczbę chcesz wprowadzić do listy? i czekaj, dodaj odpowiedź do listy Wyniki, zatrzymaj ten skrypt.
Przykładowy skrypt na dodanie podanej przez użytkownika liczby do listy
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Ważne!
Dobrą praktyką jest usuwanie wszystkich elementów listy na początku skryptu. Unikniesz wtedy pozostałości po poprzednich uruchomieniach skryptu, które mogłyby wywołać niepożądane efekty.
Ćwiczenie 1
Napisz skrypt, w którym duszek 100 razy rzuci kostką (wylosuje liczbę od 1 do 6) i policzy, ile razy wypadła dana liczba oczek.
R15m5o3gh3dQZ
Ilustracja przedstawia scenę z przykładową symulacją skryptu wykorzystującego listę. Po lewej stronie znajduje się tabela o nagłówku wyniki. Wiersze są koloru pomarańczowego. Wiersz pierwszy. Trzynaście. Wiersz drugi. Czternaście. Wiersz trzeci. Czternaście. Wiersz czwarty. Dwadzieścia cztery. Wiersz piąty. Osiemnaście. Wiersz szósty. Siedemnaście. Pod rekordami znajduje się napis: plus długość sześć równa się. Po lewej stronie ilustracji umieszczono duszka kota. Odchodzi od niego dymek dialogowy z napisem: rzuciłem setny raz kostką do gry, wyniki obok.
Scena z przykładową symulacją skryptu wykorzystującego listę
Źródło: GroMar Sp. z o.o., licencja: CC BY 3.0.
Utwórz zmienną do zapamiętywania wyrzuconej liczby oczek. Nazwij ją np. liczba oczek.
Na początku skryptu usuń wszystko z listy, a następnie dodaj sześciokrotnie liczbę zero do tej listy.
RFhBirjikjUMr
Ilustracja przedstawia blok: dodaj do listy. Znajduje się na nim napis: dodaj obiekt do wyniki. Napis: obiekt można wpisać w białym polu. Napis: wyniki znajduje się w rozwijalnym polu wyboru.
Blok „dodaj… do listy…”
Źródło: GroMar Sp. z o.o., licencja: CC BY 3.0.
Do poniższego bloczku w miejsce 1 wstaw utworzoną przez ciebie zmienną zapamiętującą liczbę wyrzuconych oczek, a po prawej stronie blok zwiększający o jeden wartość liczby stojącej na miejscu, o numerze takim, jak liczba wyrzuconych oczek.
RJDuFqKiU3xJW
Ilustracja przedstawia blok: zamień z listy na. Znajduje się na nim napis: zamień jeden z wyniki na obiekt. Napisy: jeden oraz obiekt można wpisać w białym polu. Napis: wyniki znajduje się w rozwijalnym polu wyboru.
Blok „zamień… z listy… na…”
Źródło: GroMar Sp. z o.o., licencja: CC BY 3.0.
Twój skrypt poże wyglądać naprzykład tak:
REpL1hEYVzjri
Ilustracja przedstawia przykładowy skrypt wykorzystujący listy i niektóre jej funkcjonalności. Na pierwszym bloku znajdują się: napis: kiedy kliknięto oraz zielona flaga. Na drugim bloku znajduje się napis: usuń wszystko z wyniki. Napis: wyniki znajduje się w rozwijalnym polu wyboru. Na trzecim bloku ukazano napis: powtórz sześć razy. Cyfrę sześć wpisano w białym polu. W tym bloku znajduje się podblok z napisem: dodaj zero do wyniki. Cyfrę zero wpisano w białym polu. Napis: wyniki znajduje się w rozwijalnym polu wyboru. Na czwartym bloku znajduje się napis: powtórz sto razy. Liczbę sto wpisano w białym polu. W tym bloku znajdują się dwa podbloki. Podblok pierwszy zawiera napis: ustaw liczba oczek na losuj liczbę od jednego do sześciu. Napis: liczba oczek znajduje się w rozwijalnym polu wyboru. Cyfry jeden i sześć zostały wpisane w białym polu. Podblok drugi zawiera napis: zamień liczba oczek z wyniki na element liczba oczek z wyniki plus jeden. Napisy: wyniki znajdują się w rozwijalnych polach wyboru. Cyfra jeden została wpisana w białym polu. Na piątym bloku znajduje się napis: powiedz: rzuciłem setny raz kostką do gry, wyniki obok. Napis: rzuciłem setny raz kostką do gry, wyniki obok znajduje się w białym polu. Na szóstym bloku widoczny jest napis: zatrzymaj ten skrypt. Napis: ten skrypt znajduje się w rozwijalnym polu wyboru.
Przykładowy skrypt wykorzystujący listy i niektóre jej funkcjonalności
Źródło: GroMar Sp. z o.o., licencja: CC BY 3.0.
R2cIKTlTTqzjH
Ćwiczenie 1
Uporządkuj etapy tworzenia listy.
Uporządkuj etapy tworzenia listy.
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Ćwiczenie 2
Przygotuj aplikację, w której losowana jest lista liczb. Następnie niech duszek poprosi o podanie liczby i sprawdzi, czy ona występuje na liście.
Aby sprawdzić, czy liczba znajduje się na liście, wystarczy przejrzeć całą listę i porównać każdy jej element z podaną przez użytkownika liczbą. Jeżeli będą one równe, to skrypt powinien zwracać pozytywną wiadomość zwrotną.
Przykładowy skrypt:
R1KuPQH61KctG
Zrzut ekranu przedstawia przykładowy skrypt losowania liczb i sprawdzania, czy podana liczba się w nich znajduje. Rozpoczyna się on od elementu z napisem kiedy kliknięto oraz ikoną zielonej flagi. Poniżej jest blok z napisem usuń wszystko z odcinki, co oznacza usunięcie wszystkiego z listy odcinków. Następnie znajduje się element, który wydaje polecenie o powtórzeniu czynności dziesięć razy, do niego dołączono blok, który odpowiada za losowanie liczby z zakresu od jednego do dziesięciu i dodanie jej do listy odcinków. Poniżej jest blok z napisem zapytaj i czekaj oraz pytaniem: podaj liczbę, a ja sprawdzę, czy występuje na liście. Do tych elementów dołączono blok jeżeli z warunkiem Odcinki zawiera odpowiedź?. Jeżeli tak, skrypt odpowiada przez dwie sekundy Tak, podana liczba znajduje się na liście. W przeciwnym razie Niestety, ale podana liczba nie znajduje się na liście przez dwie sekundy. Na dole jest element z napisem zatrzymaj wszystko, który kończy skrypt.
Przykładowy skrypt losowania liczb i sprawdzania, czy podana liczba się w nich znajduje
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
RZBqnDLs7QXn0
Ćwiczenie 2
Użytkownik ma za zadanie przygotować aplikację, w której losowana jest lista liczb. Następnie duszek prosi o podanie liczby i sprawdza, czy występuje ona na liście. Wstaw w tekst uzupełnienia kodu.
Użytkownik ma za zadanie przygotować aplikację, w której losowana jest lista liczb. Następnie duszek prosi o podanie liczby i sprawdza, czy występuje ona na liście. Wstaw w tekst uzupełnienia kodu.
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Wykorzystaj poniższe pole na zapisanie swoich notatek i przemyśleń.
RjqkjgO9biQil
Dzienniczek, w którym możesz zapisać swoje notatki i przemyślenia.
Dzienniczek, w którym możesz zapisać swoje notatki i przemyślenia.