Dokończ program wyszukujący wśród elementów listy wartość najmniejszą i największą.
Swoje rozwiązanie przetestuj dla następującej listy:
Linia 1. tab znak równości otwórz nawias kwadratowy 76 przecinek 84 przecinek 79 przecinek 60 przecinek minus 75 przecinek 58 przecinek 94 przecinek 53 przecinek minus 84 przecinek 51 przecinek minus 4 przecinek minus 41 przecinek 49 przecinek minus 40 przecinek 31 przecinek 80 przecinek 88 przecinek 52 przecinek minus 2 przecinek 7 przecinek 12 przecinek minus 46 przecinek 23 przecinek 45 przecinek minus 67 przecinek minus 96 przecinek minus 37 przecinek 91 przecinek minus 39 przecinek minus 24 przecinek minus 44 przecinek minus 21 przecinek minus 43 przecinek minus 38 przecinek minus 99 przecinek 70 przecinek minus 94 przecinek 3 przecinek 17 przecinek minus 6 przecinek minus 35 przecinek minus 64 przecinek minus 95 przecinek minus 23 przecinek 10 przecinek 19 przecinek 48 przecinek 36 przecinek 43 przecinek 29 przecinek 73 przecinek 86 przecinek minus 55 przecinek 57 przecinek 81 przecinek minus 25 przecinek 39 przecinek 20 przecinek minus 3 przecinek minus 78 przecinek minus 74 przecinek 28 przecinek minus 17 przecinek minus 16 przecinek minus 98 przecinek minus 27 przecinek 54 przecinek 22 przecinek 87 przecinek 41 przecinek 66 przecinek 96 przecinek 27 przecinek minus 65 przecinek 26 przecinek minus 62 przecinek minus 72 przecinek minus 70 przecinek minus 88 przecinek 95 przecinek 37 przecinek minus 49 przecinek minus 47 przecinek 46 przecinek minus 11 przecinek 64 przecinek minus 20 przecinek 1 przecinek 72 przecinek minus 73 przecinek minus 59 przecinek 8 przecinek 69 przecinek 93 przecinek minus 7 przecinek 44 przecinek minus 10 przecinek minus 28 przecinek 78 przecinek 92 zamknij nawias kwadratowy.
Specyfikacja problemu:
Dane:
tab – lista zawierająca liczby całkowite z przedziału
Wynik:
min_elem, max_elem – liczby całkowite; najmniejsza oraz największa wartość spośród liczb zapisanych w liście tab
R1IWxeNMjFpFN
Przykładowe rozwiązanie zadania:
Linia 1. tab znak równości otwórz nawias kwadratowy 76 przecinek 84 przecinek 79 przecinek 60 przecinek minus 75 przecinek 58 przecinek 94 przecinek 53 przecinek minus 84 przecinek 51 przecinek minus 4 przecinek minus 41 przecinek 49 przecinek minus 40 przecinek 31 przecinek 80 przecinek 88 przecinek 52 przecinek minus 2 przecinek 7 przecinek 12 przecinek minus 46 przecinek 23 przecinek 45 przecinek minus 67 przecinek minus 96 przecinek minus 37 przecinek 91 przecinek minus 39 przecinek minus 24 przecinek minus 44 przecinek minus 21 przecinek minus 43 przecinek minus 38 przecinek minus 99 przecinek 70 przecinek minus 94 przecinek 3 przecinek 17 przecinek minus 6 przecinek minus 35 przecinek minus 64 przecinek minus 95 przecinek minus 23 przecinek 10 przecinek 19 przecinek 48 przecinek 36 przecinek 43 przecinek 29 przecinek 73 przecinek 86 przecinek minus 55 przecinek 57 przecinek 81 przecinek minus 25 przecinek 39 przecinek 20 przecinek minus 3 przecinek minus 78 przecinek minus 74 przecinek 28 przecinek minus 17 przecinek minus 16 przecinek minus 98 przecinek minus 27 przecinek 54 przecinek 22 przecinek 87 przecinek 41 przecinek 66 przecinek 96 przecinek 27 przecinek minus 65 przecinek 26 przecinek minus 62 przecinek minus 72 przecinek minus 70 przecinek minus 88 przecinek 95 przecinek 37 przecinek minus 49 przecinek minus 47 przecinek 46 przecinek minus 11 przecinek 64 przecinek minus 20 przecinek 1 przecinek 72 przecinek minus 73 przecinek minus 59 przecinek 8 przecinek 69 przecinek 93 przecinek minus 7 przecinek 44 przecinek minus 10 przecinek minus 28 przecinek 78 przecinek 92 zamknij nawias kwadratowy.
Linia 3. min podkreślnik elem znak równości tab otwórz nawias kwadratowy 0 zamknij nawias kwadratowy.
Linia 4. max podkreślnik elem znak równości tab 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 tab zamknij nawias okrągły zamknij nawias okrągły dwukropek.
Linia 6. if min podkreślnik elem zamknij nawias ostrokątny tab otwórz nawias kwadratowy i zamknij nawias kwadratowy dwukropek.
Linia 7. min podkreślnik elem znak równości tab otwórz nawias kwadratowy i zamknij nawias kwadratowy.
Linia 8. if max podkreślnik elem otwórz nawias ostrokątny tab otwórz nawias kwadratowy i zamknij nawias kwadratowy dwukropek.
Linia 9. max podkreślnik elem znak równości tab otwórz nawias kwadratowy i zamknij nawias kwadratowy.
Linia 11. print otwórz nawias okrągły min podkreślnik elem zamknij nawias okrągły.
Linia 12. print otwórz nawias okrągły max podkreślnik elem zamknij nawias okrągły.
21
Ćwiczenie 2
Napisz program, który dla zadanej listy zliczy wystąpienia każdego z elementów do odpowiedniego kubełka, a następnie wypisze zawartość listy z kubełkami.
Swoje rozwiązanie przetestuj dla następującej listy:
Linia 1. tab znak równości otwórz nawias kwadratowy 76 przecinek 84 przecinek 79 przecinek 60 przecinek minus 75 przecinek 58 przecinek 94 przecinek 53 przecinek minus 84 przecinek 51 przecinek minus 4 przecinek minus 41 przecinek 49 przecinek minus 40 przecinek 31 przecinek 80 przecinek 88 przecinek 52 przecinek minus 2 przecinek 7 przecinek 12 przecinek minus 46 przecinek 23 przecinek 45 przecinek minus 67 przecinek minus 96 przecinek minus 37 przecinek 91 przecinek minus 39 przecinek minus 24 przecinek minus 44 przecinek minus 21 przecinek minus 43 przecinek minus 38 przecinek minus 99 przecinek 70 przecinek minus 94 przecinek 3 przecinek 17 przecinek minus 6 przecinek minus 35 przecinek minus 64 przecinek minus 95 przecinek minus 23 przecinek 10 przecinek 19 przecinek 48 przecinek 36 przecinek 43 przecinek 29 przecinek 73 przecinek 86 przecinek minus 55 przecinek 57 przecinek 81 przecinek minus 25 przecinek 39 przecinek 20 przecinek minus 3 przecinek minus 78 przecinek minus 74 przecinek 28 przecinek minus 17 przecinek minus 16 przecinek minus 98 przecinek minus 27 przecinek 54 przecinek 22 przecinek 87 przecinek 41 przecinek 66 przecinek 96 przecinek 27 przecinek minus 65 przecinek 26 przecinek minus 62 przecinek minus 72 przecinek minus 70 przecinek minus 88 przecinek 95 przecinek 37 przecinek minus 49 przecinek minus 47 przecinek 46 przecinek minus 11 przecinek 64 przecinek minus 20 przecinek 1 przecinek 72 przecinek minus 73 przecinek minus 59 przecinek 8 przecinek 69 przecinek 93 przecinek minus 7 przecinek 44 przecinek minus 10 przecinek minus 28 przecinek 78 przecinek 92 zamknij nawias kwadratowy.
Specyfikacja problemu:
Dane:
tab – lista zawierająca liczby całkowite z przedziału
Wynik:
kubelki – lista liczb całkowitych; zawartość listy z kubełkami
R19gtFYCUGNWk
Przykładowe rozwiązanie zadania:
Linia 1. tab znak równości otwórz nawias kwadratowy 76 przecinek 84 przecinek 79 przecinek 60 przecinek minus 75 przecinek 58 przecinek 94 przecinek 53 przecinek minus 84 przecinek 51 przecinek minus 4 przecinek minus 41 przecinek 49 przecinek minus 40 przecinek 31 przecinek 80 przecinek 88 przecinek 52 przecinek minus 2 przecinek 7 przecinek 12 przecinek minus 46 przecinek 23 przecinek 45 przecinek minus 67 przecinek minus 96 przecinek minus 37 przecinek 91 przecinek minus 39 przecinek minus 24 przecinek minus 44 przecinek minus 21 przecinek minus 43 przecinek minus 38 przecinek minus 99 przecinek 70 przecinek minus 94 przecinek 3 przecinek 17 przecinek minus 6 przecinek minus 35 przecinek minus 64 przecinek minus 95 przecinek minus 23 przecinek 10 przecinek 19 przecinek 48 przecinek 36 przecinek 43 przecinek 29 przecinek 73 przecinek 86 przecinek minus 55 przecinek 57 przecinek 81 przecinek minus 25 przecinek 39 przecinek 20 przecinek minus 3 przecinek minus 78 przecinek minus 74 przecinek 28 przecinek minus 17 przecinek minus 16 przecinek minus 98 przecinek minus 27 przecinek 54 przecinek 22 przecinek 87 przecinek 41 przecinek 66 przecinek 96 przecinek 27 przecinek minus 65 przecinek 26 przecinek minus 62 przecinek minus 72 przecinek minus 70 przecinek minus 88 przecinek 95 przecinek 37 przecinek minus 49 przecinek minus 47 przecinek 46 przecinek minus 11 przecinek 64 przecinek minus 20 przecinek 1 przecinek 72 przecinek minus 73 przecinek minus 59 przecinek 8 przecinek 69 przecinek 93 przecinek minus 7 przecinek 44 przecinek minus 10 przecinek minus 28 przecinek 78 przecinek 92 zamknij nawias kwadratowy.
Linia 3. def znajdzMinMax otwórz nawias okrągły tab zamknij nawias okrągły dwukropek.
Linia 4. min podkreślnik liczba znak równości tab otwórz nawias kwadratowy 0 zamknij nawias kwadratowy.
Linia 5. max podkreślnik liczba znak równości tab otwórz nawias kwadratowy 0 zamknij nawias kwadratowy.
Linia 6. for i in range otwórz nawias okrągły 1 przecinek len otwórz nawias okrągły tab zamknij nawias okrągły zamknij nawias okrągły dwukropek.
Linia 7. if min podkreślnik liczba zamknij nawias ostrokątny tab otwórz nawias kwadratowy i zamknij nawias kwadratowy dwukropek.
Linia 8. min podkreślnik liczba znak równości tab otwórz nawias kwadratowy i zamknij nawias kwadratowy.
Linia 9. if max podkreślnik liczba otwórz nawias ostrokątny tab otwórz nawias kwadratowy i zamknij nawias kwadratowy dwukropek.
Linia 10. max podkreślnik liczba znak równości tab otwórz nawias kwadratowy i zamknij nawias kwadratowy.
Linia 11. return otwórz nawias kwadratowy min podkreślnik liczba przecinek max podkreślnik liczba zamknij nawias kwadratowy.
Linia 13. def zliczKubelki otwórz nawias okrągły tab zamknij nawias okrągły dwukropek.
Linia 14. MinMax znak równości znajdzMinMax otwórz nawias okrągły tab zamknij nawias okrągły.
Linia 15. min podkreślnik value znak równości MinMax otwórz nawias kwadratowy 0 zamknij nawias kwadratowy.
Linia 16. max podkreślnik value znak równości MinMax otwórz nawias kwadratowy 1 zamknij nawias kwadratowy.
Linia 17. kubelki znak równości otwórz nawias kwadratowy zamknij nawias kwadratowy.
Linia 18. for i in range otwórz nawias okrągły 0 przecinek otwórz nawias okrągły max podkreślnik value minus min podkreślnik value plus 1 zamknij nawias okrągły zamknij nawias okrągły dwukropek.
Linia 19. kubelki kropka append otwórz nawias okrągły 0 zamknij nawias okrągły.
Linia 20. for i in range otwórz nawias okrągły len otwórz nawias okrągły tab zamknij nawias okrągły zamknij nawias okrągły dwukropek.
Linia 21. kubelki otwórz nawias kwadratowy tab otwórz nawias kwadratowy i zamknij nawias kwadratowy minus min podkreślnik value zamknij nawias kwadratowy plus znak równości 1.
Linia 22. return kubelki.
Linia 24. print otwórz nawias okrągły zliczKubelki otwórz nawias okrągły tab zamknij nawias okrągły zamknij nawias okrągły.
31
Ćwiczenie 3
Zaimplementuj algorytm sortowania kubełkowego i wypisz wynik sortowania. Listę posortuj od największego do najmniejszego elementu.
Swoje rozwiązanie przetestuj dla następującej listy:
Linia 1. tab znak równości otwórz nawias kwadratowy 76 przecinek 84 przecinek 79 przecinek 60 przecinek minus 75 przecinek 58 przecinek 94 przecinek 53 przecinek minus 84 przecinek 51 przecinek minus 4 przecinek minus 41 przecinek 49 przecinek minus 40 przecinek 31 przecinek 80 przecinek 88 przecinek 52 przecinek minus 2 przecinek 7 przecinek 12 przecinek minus 46 przecinek 23 przecinek 45 przecinek minus 67 przecinek minus 96 przecinek minus 37 przecinek 91 przecinek minus 39 przecinek minus 24 przecinek minus 44 przecinek minus 21 przecinek minus 43 przecinek minus 38 przecinek minus 99 przecinek 70 przecinek minus 94 przecinek 3 przecinek 17 przecinek minus 6 przecinek minus 35 przecinek minus 64 przecinek minus 95 przecinek minus 23 przecinek 10 przecinek 19 przecinek 48 przecinek 36 przecinek 43 przecinek 29 przecinek 73 przecinek 86 przecinek minus 55 przecinek 57 przecinek 81 przecinek minus 25 przecinek 39 przecinek 20 przecinek minus 3 przecinek minus 78 przecinek minus 74 przecinek 28 przecinek minus 17 przecinek minus 16 przecinek minus 98 przecinek minus 27 przecinek 54 przecinek 22 przecinek 87 przecinek 41 przecinek 66 przecinek 96 przecinek 27 przecinek minus 65 przecinek 26 przecinek minus 62 przecinek minus 72 przecinek minus 70 przecinek minus 88 przecinek 95 przecinek 37 przecinek minus 49 przecinek minus 47 przecinek 46 przecinek minus 11 przecinek 64 przecinek minus 20 przecinek 1 przecinek 72 przecinek minus 73 przecinek minus 59 przecinek 8 przecinek 69 przecinek 93 przecinek minus 7 przecinek 44 przecinek minus 10 przecinek minus 28 przecinek 78 przecinek 92 zamknij nawias kwadratowy.
Specyfikacja problemu:
Dane:
tab – lista zawierająca liczby całkowite z przedziału
Wynik:
posortowane_elem – lista zawierająca liczby całkowite z przedziału posortowane nierosnąco
R31K6q7AQbeUq
Przykładowe rozwiązanie zadania:
Linia 1. def sort podkreślnik kubelk otwórz nawias okrągły liczby zamknij nawias okrągły dwukropek.
Linia 2. kratka znajdowanie wartości minimalnej i maksymalnej.
Linia 3. n znak równości len otwórz nawias okrągły liczby zamknij nawias okrągły.
Linia 4. min podkreślnik elem znak równości liczby otwórz nawias kwadratowy 0 zamknij nawias kwadratowy.
Linia 5. max podkreślnik elem znak równości liczby otwórz nawias kwadratowy 0 zamknij nawias kwadratowy.
Linia 6. for i in range otwórz nawias okrągły 1 przecinek n zamknij nawias okrągły dwukropek.
Linia 7. if liczby otwórz nawias kwadratowy i zamknij nawias kwadratowy otwórz nawias ostrokątny min podkreślnik elem dwukropek.
Linia 8. min podkreślnik elem znak równości liczby otwórz nawias kwadratowy i zamknij nawias kwadratowy.
Linia 9. if liczby otwórz nawias kwadratowy i zamknij nawias kwadratowy zamknij nawias ostrokątny max podkreślnik elem dwukropek.
Linia 10. max podkreślnik elem znak równości liczby otwórz nawias kwadratowy i zamknij nawias kwadratowy.
Linia 11. kratka przygotowanie listy zliczającej.
Linia 12. k znak równości max podkreślnik elem minus min podkreślnik elem plus 1.
Linia 13. kubelek znak równości otwórz nawias kwadratowy 0 zamknij nawias kwadratowy asterysk k.
Linia 14. kratka zliczanie wartości.
Linia 15. for elem in liczby dwukropek.
Linia 16. kubelek otwórz nawias kwadratowy elem minus min podkreślnik elem zamknij nawias kwadratowy plus znak równości 1.
Linia 17. kratka porządkowanie.
Linia 18. posortowane podkreślnik elem znak równości otwórz nawias kwadratowy zamknij nawias kwadratowy.
Linia 19. for i in range otwórz nawias okrągły k minus 1 przecinek minus 1 przecinek minus 1 zamknij nawias okrągły dwukropek.
Linia 20. while kubelek otwórz nawias kwadratowy i zamknij nawias kwadratowy zamknij nawias ostrokątny 0 dwukropek.
Linia 21. posortowane podkreślnik elem kropka append otwórz nawias okrągły i plus min podkreślnik elem zamknij nawias okrągły.
Linia 22. kubelek otwórz nawias kwadratowy i zamknij nawias kwadratowy minus znak równości 1.
Linia 23. return posortowane podkreślnik elem.
Linia 25. tab znak równości otwórz nawias kwadratowy 76 przecinek 84 przecinek 79 przecinek 60 przecinek minus 75 przecinek 58 przecinek 94 przecinek 53 przecinek minus 84 przecinek 51 przecinek minus 4 przecinek minus 41 przecinek 49 przecinek minus 40 przecinek 31 przecinek 80 przecinek 88 przecinek 52 przecinek minus 2 przecinek 7 przecinek 12 przecinek minus 46 przecinek 23 przecinek 45 przecinek minus 67 przecinek minus 96 przecinek minus 37 przecinek 91 przecinek minus 39 przecinek minus 24 przecinek minus 44 przecinek minus 21 przecinek minus 43 przecinek minus 38 przecinek minus 99 przecinek 70 przecinek minus 94 przecinek 3 przecinek 17 przecinek minus 6 przecinek minus 35 przecinek minus 64 przecinek minus 95 przecinek minus 23 przecinek 10 przecinek 19 przecinek 48 przecinek 36 przecinek 43 przecinek 29 przecinek 73 przecinek 86 przecinek minus 55 przecinek 57 przecinek 81 przecinek minus 25 przecinek 39 przecinek 20 przecinek minus 3 przecinek minus 78 przecinek minus 74 przecinek 28 przecinek minus 17 przecinek minus 16 przecinek minus 98 przecinek minus 27 przecinek 54 przecinek 22 przecinek 87 przecinek 41 przecinek 66 przecinek 96 przecinek 27 przecinek minus 65 przecinek 26 przecinek minus 62 przecinek minus 72 przecinek minus 70 przecinek minus 88 przecinek 95 przecinek 37 przecinek minus 49 przecinek minus 47 przecinek 46 przecinek minus 11 przecinek 64 przecinek minus 20 przecinek 1 przecinek 72 przecinek minus 73 przecinek minus 59 przecinek 8 przecinek 69 przecinek 93 przecinek minus 7 przecinek 44 przecinek minus 10 przecinek minus 28 przecinek 78 przecinek 92 zamknij nawias kwadratowy.
Linia 26. print otwórz nawias okrągły sort podkreślnik kubelk otwórz nawias okrągły tab zamknij nawias okrągły zamknij nawias okrągły.
31
Ćwiczenie 4
Wykorzystując algorytm sortowania kubełkowego, zapisz program, który zwróci liczbę niewykorzystanych kubełków podczas etapu podziału danych.
Napisz funkcję ile_pustych(), która zwróci odpowiednie dane.
Przykładowa zawartość listy kubełków dla następujących danych wejściowych:
Linia 1. liczby znak równości otwórz nawias kwadratowy 2 kropka 88 przecinek 1 kropka 94 przecinek 1 kropka 36 przecinek 1 kropka 8 przecinek 5 kropka 28 przecinek 3 kropka 07 przecinek 1 kropka 11 przecinek 4 kropka 59 przecinek 5 kropka 76 przecinek 4 kropka 01 zamknij nawias kwadratowy.
Linia 2. print otwórz nawias okrągły ile podkreślnik pustych otwórz nawias okrągły liczby przecinek 6 zamknij nawias okrągły zamknij nawias okrągły.
Linia 3. kratka efekt.
Linia 4. kratka 1.
Specyfikacja problemu:
Dane:
liczby – lista zawierająca nieposortowane liczby rzeczywiste dodatnie
n – liczba kubełków
Wynik:
puste – liczba naturalna int; liczba pustych, niewykorzystanych kubełków
Rx7G7SvrfvVIb1
Pamiętaj – program zwraca liczbę pustych kubełków, zastanów się, jak sprawdzić, czy kubełek jest pusty.
Przykładowe rozwiązanie zadania:
Linia 1. def ile podkreślnik pustych otwórz nawias okrągły liczby przecinek n zamknij nawias okrągły dwukropek.
Linia 2. kubelki 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 n plus 1 zamknij nawias okrągły zamknij nawias kwadratowy.
Linia 3. puste znak równości 0.
Linia 4. max podkreślnik elem znak równości liczby otwórz nawias kwadratowy 0 zamknij nawias kwadratowy.
Linia 5. for i in range otwórz nawias okrągły 1 przecinek n zamknij nawias okrągły dwukropek.
Linia 6. if liczby otwórz nawias kwadratowy i zamknij nawias kwadratowy zamknij nawias ostrokątny max podkreślnik elem dwukropek.
Linia 7. max podkreślnik elem znak równości liczby otwórz nawias kwadratowy i zamknij nawias kwadratowy.
Linia 8. size znak równości max podkreślnik elem prawy ukośnik n.
Linia 9. for elem in liczby dwukropek.
Linia 10. kubelek podkreślnik indeks znak równości int otwórz nawias okrągły elem prawy ukośnik prawy ukośnik size zamknij nawias okrągły.
Linia 11. kubelki otwórz nawias kwadratowy kubelek podkreślnik indeks zamknij nawias kwadratowy kropka append otwórz nawias okrągły elem zamknij nawias okrągły.
Linia 12. for kubelek in kubelki dwukropek.
Linia 13. if not kubelek dwukropek.
Linia 14. puste plus znak równości 1.
Linia 16. return puste.
Linia 18. liczby znak równości otwórz nawias kwadratowy 2 kropka 88 przecinek 1 kropka 94 przecinek 1 kropka 36 przecinek 1 kropka 8 przecinek 5 kropka 28 przecinek 3 kropka 07 przecinek 1 kropka 11 przecinek 4 kropka 59 przecinek 5 kropka 76 przecinek 4 kropka 01 zamknij nawias kwadratowy.
Linia 19. print otwórz nawias okrągły ile podkreślnik pustych otwórz nawias okrągły liczby przecinek 6 zamknij nawias okrągły zamknij nawias okrągły.