Polecenie 1

W sekcji „Przeczytaj” analizowaliśmy program sortujący pozycyjnie liczby z zastosowaniem pomocniczego algorytmu sortowania kubełkowego. Zapoznaj się z prezentacją przedstawiającą jego modyfikację, dzięki której wyświetlone zostaną kolejne etapy sortowania oraz te kubełki, które zawierają więcej niż jeden element.

W tym e‑materiale wykorzystujemy pomocnicze sortowania – kubełkowe oraz bąbelkowe. Więcej informacji na ich temat znajdziesz w e‑materiałach:

R1G2VS61fJUrF1
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Cały kod programu z prezentacji wygląda następująco:

Linia 1. def posortuj podkreślnik pozycyjnie podkreślnik liczby podkreślnik kubelek otwórz nawias okrągły lista podkreślnik liczb zamknij nawias okrągły dwukropek. Linia 3. def sprawdz podkreślnik maksimum otwórz nawias okrągły lista podkreślnik liczb zamknij nawias okrągły dwukropek. Linia 4. maksimum znak równości lista podkreślnik liczb otwórz nawias kwadratowy 0 zamknij nawias kwadratowy. Linia 5. for i in range otwórz nawias okrągły 1 przecinek len otwórz nawias okrągły lista podkreślnik liczb zamknij nawias okrągły zamknij nawias okrągły dwukropek. Linia 6. if lista podkreślnik liczb otwórz nawias kwadratowy i zamknij nawias kwadratowy zamknij nawias ostrokątny maksimum dwukropek. Linia 7. maksimum znak równości lista podkreślnik liczb otwórz nawias kwadratowy i zamknij nawias kwadratowy. Linia 8. podzielnik znak równości 1. Linia 10. while maksimum zamknij nawias ostrokątny 0 dwukropek. Linia 11. maksimum znak równości maksimum prawy ukośnik prawy ukośnik 10. Linia 12. if maksimum zamknij nawias ostrokątny 0 dwukropek. Linia 13. podzielnik asterysk znak równości 10. Linia 14. return podzielnik. Linia 17. def sortuj podkreślnik liczby otwórz nawias okrągły lista przecinek podzielnik zamknij nawias okrągły dwukropek. Linia 18. op znak równości 0. Linia 19. print otwórz nawias okrągły cudzysłów Przetwarzamy dla podzielnika cudzysłów przecinek podzielnik przecinek cudzysłów kropka cudzysłów zamknij nawias okrągły. Linia 20. kratka tworzymy kubełki. Linia 21. lista podkreślnik wyjsciowa znak równości otwórz nawias kwadratowy otwórz nawias kwadratowy zamknij nawias kwadratowy for podkreślnik in range otwórz nawias okrągły 10 zamknij nawias okrągły zamknij nawias kwadratowy. Linia 22. for element in lista dwukropek. Linia 23. wart znak równości otwórz nawias okrągły element prawy ukośnik prawy ukośnik podzielnik zamknij nawias okrągły procent 10. Linia 24. op plus znak równości 1. Linia 25. lista podkreślnik wyjsciowa otwórz nawias kwadratowy wart zamknij nawias kwadratowy kropka append otwórz nawias okrągły element zamknij nawias okrągły. Linia 26. for element in lista podkreślnik wyjsciowa dwukropek. Linia 27. if len otwórz nawias okrągły element zamknij nawias okrągły zamknij nawias ostrokątny 0 dwukropek. Linia 28. print otwórz nawias okrągły cudzysłów Kubełek zawiera dwukropek cudzysłów przecinek element zamknij nawias okrągły. Linia 30. kratka wypakowanie kubełków. Linia 31. lista podkreślnik wyjsciowa znak równości otwórz nawias kwadratowy element for kubelek in lista podkreślnik wyjsciowa for element in kubelek zamknij nawias kwadratowy. Linia 32. op plus znak równości len otwórz nawias okrągły lista podkreślnik wyjsciowa zamknij nawias okrągły. Linia 33. print otwórz nawias okrągły cudzysłów Lista cudzysłów przecinek lista podkreślnik wyjsciowa przecinek cudzysłów wymagała cudzysłów przecinek op przecinek cudzysłów operacji kropka cudzysłów zamknij nawias okrągły. Linia 34. return lista podkreślnik wyjsciowa. Linia 36. podzielnik znak równości sprawdz podkreślnik maksimum otwórz nawias okrągły lista podkreślnik liczb zamknij nawias okrągły. Linia 38. kratka sortujemy dla każdego możliwego podzielnika. Linia 39. p znak równości 1. Linia 40. while p otwórz nawias ostrokątny znak równości podzielnik dwukropek. Linia 41. lista podkreślnik liczb znak równości sortuj podkreślnik liczby otwórz nawias okrągły lista podkreślnik liczb przecinek p zamknij nawias okrągły. Linia 42. p asterysk znak równości 10. Linia 44. return lista podkreślnik liczb. Linia 46. lista podkreślnik wejsciowa znak równości otwórz nawias kwadratowy 667 przecinek 6906 przecinek 8247 przecinek 1699 przecinek 5984 przecinek 8050 przecinek 1783 przecinek 6707 przecinek 9399 przecinek 664 przecinek 6987 przecinek 3360 przecinek 914 przecinek 9695 przecinek 1435 przecinek 723 przecinek 775 przecinek 1415 przecinek 8227 przecinek 6421 przecinek 2590 przecinek 2754 przecinek 2466 przecinek 8541 przecinek 8407 zamknij nawias kwadratowy. Linia 47. print otwórz nawias okrągły posortuj podkreślnik pozycyjnie podkreślnik liczby podkreślnik kubelek otwórz nawias okrągły lista podkreślnik wejsciowa zamknij nawias okrągły zamknij nawias okrągły.
Polecenie 2

Zapisz program sortujący pozycyjnie liczby, który wykorzystuje pomocniczo sortowanie bąbelkowe.

Działanie programu przetestuj dla następujących danych:

Linia 1. dane znak równości otwórz nawias kwadratowy 5000 przecinek 23 przecinek 567 przecinek 34909 przecinek 2 przecinek 98 przecinek 1010 przecinek 8 przecinek 90 zamknij nawias kwadratowy.

Specyfikacja problemu:

Dane:

  • dane – nieposortowana tablica liczb naturalnych

Wynik:

  • dane – posortowana niemalejąco tablica liczb naturalnych

RV7aEoRYXLFhr
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.
Polecenie 3

Porównaj swoje rozwiązanie z prezentacją przedstawiającą implementację algorytmu sortowania pozycyjnego liczb z wykorzystaną pomocniczo metodą sortowania bąbelkowego.

RDGO3dG6axiSg1
Polecenie 4

Zapisz program sortujący pozycyjnie liczby, który wykorzystuje pomocniczo algorytm sortowania przez zliczaniePNx8quWZlsortowania przez zliczanie.