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.
2. Przykład porządkowania liczb metodą przez wybieranie – od największego do najmniejszego
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

3. Algorytm krok po kroku
Zapamiętaj:
- Znajdź największy element.
- Zamień go z pierwszym.
- Szukaj największego w pozostałej części.
- Powtarzaj, aż wszystko będzie uporządkowane.
4. Zadanie
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.
5. Programowanie
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.
