1. Wprowadzenie

Na tej lekcji nauczysz się, jak uporządkować dane (np. liczby, wyniki uczniów) od największej do najmniejszej, korzystając z prostego algorytmu.

Często spotykasz się z porządkowaniem danych:

  • lista wyników w grze,
  • ranking uczniów,
  • sortowanie ocen.

Dziś poznasz algorytm przez wybieranie.


Jak działa algorytm?

Wyobraź sobie, że masz listę liczb:

10, 35, 80, 95, 20

Twoim zadaniem jest ułożyć je od największej do najmniejszej.


rysunek 1 – schemat z zaznaczoną największą liczbą (95)

Krok 1:
Szukasz największej liczby → to 95
Zamieniasz ją z pierwszą liczbą.


rysunek 2 – zamiana miejscami pierwszego elementu

Krok 2:
Teraz pomijasz pierwszą liczbę (już jest na dobrym miejscu).
Szukasz największej z pozostałych → 80


rysunek 3 – kolejny etap wyboru maksimum

Krok 3:
Powtarzasz to dla kolejnych elementów.


rysunek 4 – końcowy uporządkowany zbiór

Na końcu otrzymujesz:

95, 80, 35, 20, 10


Zapamiętaj:

  1. Znajdź największy element.
  2. Zamień go z pierwszym.
  3. Szukaj największego w pozostałej części.
  4. Powtarzaj, aż wszystko będzie uporządkowane.

Poniższe zbiory (zadanie 1 i 2) uporządkuj za pomocą listy kroków (bez użycia języka programowania). Cały proces opisz za pomocą duszka w Scratch. Udostępnij odpowiedź ze swojego profilu pod nazwą: Porządkowanie przez wybieranie – lista kroków.

Zadanie 1

Uporządkuj liczby metodą przez wybieranie:

7, 2, 9, 4, 1

Zapisz każdy krok.


Zadanie 2

Masz listę wyników punktowych:

12, 25, 8, 30, 19

Ułóż je od największego do najmniejszego.


Wersja Python

liczby = [10, 35, 80, 95, 20]

for i in range(len(liczby)):
    max_index = i

    # szukamy największej liczby w pozostałej części listy
    for j in range(i + 1, len(liczby)):
        if liczby[j] > liczby[max_index]:
            max_index = j

    # zamiana miejscami (krok po kroku)
    temp = liczby[i]
    liczby[i] = liczby[max_index]
    liczby[max_index] = temp
    
    print("Krok " + str(i + 1) + ": " + str(liczby))

efekt działania programu:

Twoje zadanie w Pythonie

Zmień program tak, aby:

  • użytkownik wpisywał liczby lub były one generowane (przykład poniżej),
  • program je sortował,
  • wykonaj zrzut ekranu z wykonanego testu w Scratch pod nazwą: Porządkowanie przez wybieranie – testy

6. Wersja Scratch / Baltie

Zadanie 3 (Scratch lub Baltie)

Stwórz program, który:

  • przechowuje 5 liczb,
  • znajduje największą,
  • pokazuje ją na ekranie.

Podpowiedź:

  • użyj zmiennej „największa”
  • porównuj liczby po kolei

Zadanie 4

Zrób pełne sortowanie:

  • lista liczb,
  • zamiana miejscami,
  • wyświetlenie wyniku.

7. Pytania do Ciebie

  • Dlaczego po każdym kroku pomijasz pierwsze elementy?
  • Czy ten algorytm jest szybki dla dużej liczby danych?
  • Gdzie możesz go wykorzystać?

8. Podsumowanie

Dziś nauczyłeś się:

  • czym jest sortowanie,
  • jak działa metoda przez wybieranie,
  • jak zapisać ją w programie.