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.
Duszek znajduje najmniejszy element listy
Zadaniem duszka będzie wylosowanie dziesięciu liczb oraz wskazanie w dymku komiksowym najmniejszej z nich. Do zapamiętania losowanych liczb wykorzystamy listę.
Ćwiczenie 1
Zapisz w postaci listy kroków algorytm znajdowania najmniejszej liczby na liście. W algorytmie wykorzystaj dodatkową zmienną, w której przechowywana będzie najmniejsza liczba.
Na początku najmniejszą liczbą będzie pierwsza liczba z listy. Następnie należy przejrzeć całą listę od drugiego elementu do końca w celu porównywania, czy aktualnie znaleziona najmniejsza liczba jest mniejsza od porównywanej liczby z listy. Jeżeli liczba z listy jest mniejsza, to należy ją zapamiętać w miejsce poprzedniej liczby.
Twoja lista kroków może wyglądać na przykład tak:
Dane: – liczba elementów listy (długość listy), – losowa lista liczb.
Wynik: – wartość najmniejszej liczby w liście.
Ustaw wartość zmiennej na pierwszy element listy .
Ustaw wartość zmiennej na .
Powtórz : 3.1. Jeżeli element o numerze z listy , to: ⠀ 3.1.1. Ustaw wartość zmiennej na wartość elementu o numerze z . 3.2. Powiększ zmienną o .
Zatrzymaj ten skrypt.
Ćwiczenie 2
Wykorzystując listę kroków z poprzedniego ćwiczenia napisz aplikację, w której jest losowana lista dziesięciu liczb, a następnie duszek znajduje najmniejszą liczbę na liście i wyświetla ją w dymku komiksowym.
Twoja aplikacja może się składać z więcej niż jednego skryptu. Możesz na przykład zdefiniować nowy blok, który odpowiedzialny za wyszukanie najmniejszej liczby na liście.
Skrypt znajdujący najmniejszą liczbę na liście zgodnie z algorytmem z poprzedniego ćwiczenia.
R6IwtSGsyDppz
Zrzut ekranu przedstawia skrypt realizujący wyszukanie najmniejszej liczby na liście. Blok rozpoczyna się od różowego bloku z napisem definiuj szukaj_min, pod nim znajduje się jasnopomarańczowy blok z napisem ustaw min na, a do niego został przypięty ciemniejszy pomarańczowy blok z napisem element jeden z Lista. Poniżej jest jasnopomarańczowy blok z napisem ustaw i na dwa. Pod nimi znajdują się dwa żółte elementy połączone z zielonymi oraz ciemnopomarańczowymi blokami z napisami powtórz długość Lista jeden razy oraz jeżeli element i z Lista jest mniejszy niż min, to. Do tych bloków jest przyłączony jasnopomarańczowy blok z połączonym ciemniejszym pomarańczowym blokiem z napisem ustaw min na element i z Lista. Poniżej jest jasnopomarańczowy blok z napisem zmień i o jeden. Na dole zbudowanego skryptu widoczny jest żółty blok z napisem zatrzymaj ten skrypt.
Przykładowy skrypt realizujący wyszukanie najmniejszej liczby na liście
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Skrypt, w którym losowane jest 10 liczb z przedziału od do , a duszek wyświetla w dymku najmniejszą z nich.
R1JJRyiuUFX9A
Zrzut ekranu przedstawia skrypt wyświetlający w dymku najmniejszą liczbę na liście. Skrypt rozpoczyna się od żółtego bloku kiedy kliknięto z zieloną flagą. Następnie widoczne są kolejno: czerwony blok usuń wszystko z Lista, pomarańczowy blok ustaw i na zero, żółty blok powtórz dziesięć razy, do którego podczepiono dwa bloki: jeden pomarańczowy zmień i o jeden, drugi, czerwony dodaj losuj liczbę od jednego do dziesięciu do Lista. Do tego dołączono bloki: różowy szukaj_min, fioletowy powiedz min. Na końcu znajduje się blok zatrzymaj ten skrypt.
Przykładowy skrypt wyświetlający w dymku najmniejszą liczbę na liście
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
R4P2ms19XPhDv
Ćwiczenie 2
Użytkownik ma za zadanie utworzyć nowy blok znajdujący najmniejszą liczbę na liście, na podstawie algorytmu z ćwiczenia 1 . Uporządkuj elementy kodu.
Użytkownik ma za zadanie utworzyć nowy blok znajdujący najmniejszą liczbę na liście, na podstawie algorytmu z ćwiczenia 1 . Uporządkuj elementy kodu.
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Ćwiczenie 3
Popraw tak rozwiązanie poprzedniego ćwiczenia, aby najmniejsza liczba została ustawiona na pierwszym miejscu listy. Nie możesz jednak zgubić żadnego elementu (np. elementu, który pierwotnie był na pierwszym miejscu).
Możesz zamienić miejscami pierwszy element listy oraz element najmniejszy. Aby zamienić wartościami dwie zmienne (dwa elementy listy), należy użyć pomocniczej zmiennej.
R65nl5BzZW4Lw
Animacja prezentuje zamianę wartości zmiennych. Na ekranie znajdują się dwie wartości: wartość jeden (zmiennej A) i wartość dwa (zmiennej B). Żeby zamienić je miejscami, została stworzona obok nich zmienna pomocnicza. Wartość zmiennej B umieszczono w zmiennej pomocniczej. Następnie wartość zmiennej A przeniesiono w miejsce wartości zmiennej B. Na koniec w miejsce wartości zmiennej A umieszczono zawartość zmiennej pomocniczej.
Animacja prezentuje zamianę wartości zmiennych. Na ekranie znajdują się dwie wartości: wartość jeden (zmiennej A) i wartość dwa (zmiennej B). Żeby zamienić je miejscami, została stworzona obok nich zmienna pomocnicza. Wartość zmiennej B umieszczono w zmiennej pomocniczej. Następnie wartość zmiennej A przeniesiono w miejsce wartości zmiennej B. Na koniec w miejsce wartości zmiennej A umieszczono zawartość zmiennej pomocniczej.
Zamiana wartości zmiennych
Źródło: Janusz Wierzbicki, Maciej Borowiecki, licencja: CC BY-SA 3.0.
Źródło: Janusz Wierzbicki, Maciej Borowiecki, licencja: CC BY-SA 3.0.
Animacja prezentuje zamianę wartości zmiennych. Na ekranie znajdują się dwie wartości: wartość jeden (zmiennej A) i wartość dwa (zmiennej B). Żeby zamienić je miejscami, została stworzona obok nich zmienna pomocnicza. Wartość zmiennej B umieszczono w zmiennej pomocniczej. Następnie wartość zmiennej A przeniesiono w miejsce wartości zmiennej B. Na koniec w miejsce wartości zmiennej A umieszczono zawartość zmiennej pomocniczej.
Zwróć uwagę, że należy znaleźć miejsce (numer) najmniejszego elementu w liście.
Dane: – liczba elementów listy (długość listy), – losowa lista liczb.
Wynik: z przestawionymi elementami, tak że pierwszy element w liście jest najmniejszą liczbą na liście.
Ustaw wartość zmiennej na (indeks pierwszego elementu listy).
Ustaw na .
Powtórz razy: 2.1. Jeżeli element na pozycji z listy element na pozycji z listy , to: ⠀ 2.1.1. Ustaw na . 2.2. Zwiększ o .
Ustaw na wartość pierwszego elementu z listy .
Pierwszy element na liście ustaw na wartość z listy pod numerem .
Na pozycji wpisz zawartość zmiennej – liczbę z pierwszego elementu listy, przed nadpisaniem.
Zatrzymaj skrypt.
R8dQxTdhw3mZ6
Zrzut ekranu przedstawia skrypt realizujący ustawienie najmniejszej liczby na pierwszym miejscu listy. Na górze znajduje się blok z napisem definiuj ustaw_min. Pod nim są dwa bloki z napisami: ustaw min na jeden oraz ustaw i na dwa. Pod zmienną min oraz i jest blok z napisem powtórz długość lista minus jeden razy, co powoduje powtarzanie pętli. Poniżej znajdują się bloki z napisem jeżeli element i z Lista jest mniejszy niż element min z Lista, to oraz ustaw min na i, co oznacza wyszukanie najmniejszego elementu listy i podstawienie go za zmienną min, przechodząc przez każdy element listy. Do tych elementów dołączony jest blok z napisem zmień i o jeden, a niżej znajdują się elementy z napisami: ustaw pom na element jeden z Lista, zamień jeden z Lista na element min z Lista oraz zamień min z Lista na pom, co oznacza, że po pętli zamieniają się miejscami pierwszy i najmniejszy elementy listy. Na dole znajduje się blok z napisem zatrzymaj ten skrypt, który kończy skrypt.
Przykładowa definicja bloku szukaj_min
Źródło: GroMar Sp. z o.o., licencja: CC BY-SA 3.0.
Ćwiczenie 3
Popraw tak algorytm z ćwiczenia 1, aby najmniejsza liczba została ustawiona na pierwszym miejscu listy. Nie możesz jednak zgubić żadnego elementu (np. elementu, który pierwotnie był na pierwszym miejscu).
Możesz zamienić miejscami pierwszy element listy oraz element najmniejszy. Aby zamienić wartościami dwie zmienne (dwa elementy listy), należy użyć pomocniczej zmiennej.
R65nl5BzZW4Lw
Animacja prezentuje zamianę wartości zmiennych. Na ekranie znajdują się dwie wartości: wartość jeden (zmiennej A) i wartość dwa (zmiennej B). Żeby zamienić je miejscami, została stworzona obok nich zmienna pomocnicza. Wartość zmiennej B umieszczono w zmiennej pomocniczej. Następnie wartość zmiennej A przeniesiono w miejsce wartości zmiennej B. Na koniec w miejsce wartości zmiennej A umieszczono zawartość zmiennej pomocniczej.
Animacja prezentuje zamianę wartości zmiennych. Na ekranie znajdują się dwie wartości: wartość jeden (zmiennej A) i wartość dwa (zmiennej B). Żeby zamienić je miejscami, została stworzona obok nich zmienna pomocnicza. Wartość zmiennej B umieszczono w zmiennej pomocniczej. Następnie wartość zmiennej A przeniesiono w miejsce wartości zmiennej B. Na koniec w miejsce wartości zmiennej A umieszczono zawartość zmiennej pomocniczej.
Zamiana wartości zmiennych
Źródło: Janusz Wierzbicki, Maciej Borowiecki, licencja: CC BY-SA 3.0.
Źródło: Janusz Wierzbicki, Maciej Borowiecki, licencja: CC BY-SA 3.0.
Animacja prezentuje zamianę wartości zmiennych. Na ekranie znajdują się dwie wartości: wartość jeden (zmiennej A) i wartość dwa (zmiennej B). Żeby zamienić je miejscami, została stworzona obok nich zmienna pomocnicza. Wartość zmiennej B umieszczono w zmiennej pomocniczej. Następnie wartość zmiennej A przeniesiono w miejsce wartości zmiennej B. Na koniec w miejsce wartości zmiennej A umieszczono zawartość zmiennej pomocniczej.
Zwróć uwagę, że należy znaleźć miejsce (numer) najmniejszego elementu w liście.
Dane: – liczba elementów listy (długość listy), – losowa lista liczb.
Wynik: z przestawionymi elementami, tak że pierwszy element w liście jest najmniejszą liczbą na liście.
Ustaw wartość zmiennej na (indeks pierwszego elementu listy).
Ustaw na .
Powtórz razy: 2.1. Jeżeli element na pozycji z listy element na pozycji z listy , to: ⠀ 2.1.1. Ustaw na . 2.2. Zwiększ o .
Ustaw na wartość pierwszego elementu z listy .
Pierwszy element na liście ustaw na wartość z listy pod numerem .
Na pozycji wpisz zawartość zmiennej – liczbę z pierwszego elementu listy, przed nadpisaniem.
Zatrzymaj skrypt.
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.