Metody tablic
Część sekcji Podstawy ścieżki Ruby w Coddy. Lekcja 61 z 88.
Ruby udostępnia kilka wbudowanych metod, które ułatwiają pracę z tablicami. Dzięki tym metodom możesz sortować, odwracać i wyszukiwać elementy bez konieczności samodzielnego pisania skomplikowanego kodu.
Metoda sort układa elementy w kolejności rosnącej:
numbers = [3, 1, 4, 1, 5]
puts numbers.sort # Wypisuje: 1, 1, 3, 4, 5Aby odwrócić kolejność elementów, użyj metody reverse:
letters = ["a", "b", "c"]
puts letters.reverse # Wypisuje: c, b, aMożesz połączyć te metody, aby sortować w kolejności malejącej:
scores = [85, 92, 78, 95]
puts scores.sort.reverse # Wynik: 95, 92, 85, 78Metody min i max szybko znajdują najmniejsze i największe wartości:
prices = [29, 15, 42, 8]
puts prices.min # Wyświetla: 8
puts prices.max # Wyświetla: 42Aby obliczyć sumę elementów liczbowych, użyj sum:
quantities = [2, 5, 3]
puts quantities.sum # Wyświetla: 10Pamiętaj, że sort i reverse zwracają nowe tablice, nie zmieniając oryginału. Aby bezpośrednio zmodyfikować oryginalną tablicę, dodaj ! do nazwy metody, np. sort! lub reverse!.
Wyzwanie
ŁatwyWczytaj jeden wiersz danych wejściowych zawierający liczby całkowite oddzielone przecinkami (np. 5,2,8,1,9,3).
Podziel dane wejściowe na tablicę liczb całkowitych, a następnie wypisz w osobnych wierszach:
- Tablicę posortowaną rosnąco (każdy element w osobnym wierszu)
- Tablicę posortowaną malejąco (każdy element w osobnym wierszu)
- Wartość minimalną
- Wartość maksymalną
- Sumę wszystkich elementów
Dla czytelności wstaw pusty wiersz między poszczególnymi sekcjami.
Na przykład, jeśli dane wejściowe to 5,2,8,1,9,3, wynik powinien wyglądać tak:
1
2
3
5
8
9
9
8
5
3
2
1
1
9
28Jeśli dane wejściowe to 10,30,20, wynik powinien wyglądać tak:
10
20
30
30
20
10
10
30
60Jeśli dane wejściowe to 7,3,5,1, wynik powinien wyglądać tak:
1
3
5
7
7
5
3
1
1
7
16Spróbuj swoich sił
# Wczytaj liczby całkowite oddzielone przecinkami
input = gets.chomp
# Podziel dane wejściowe przy każdym przecinku i zamień każdą część na liczbę całkowitą
numbers = input.split(",").map(&:to_i)
# TODO: Napisz swój kod poniżej
# 1. Posortuj tablicę rosnąco i wypisz każdy element
# 2. Wypisz pustą linię
# 3. Posortuj tablicę malejąco i wypisz każdy element
# 4. Wypisz pustą linię
# 5. Wypisz najmniejszą wartość
# 6. Wypisz największą wartość
# 7. Wypisz sumę wszystkich elementówTa lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory — część 2
Operatory logiczne — część 1Operatory logiczne — część 2Powtórka — podstawy logikiOperatory logiczne — część 3Operatory logiczne — część 47Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych od użytkownika2Zmienne i typy danych
Liczby i zmienneTyp danych StringTyp danych BooleanTyp danych SymbolSprawdzanie typów danychKonwencje nazewnictwaPodsumowanie — tworzenie zmiennych5Podejmowanie decyzji
Instrukcja ifIf - elsePowtórka — prosty kalkulatorZagnieżdżone if - elseInstrukcja unless8Pętle
Pętla for z zakresamiPętla whilebreaknextPowtórka – silniaPętla timesPętla untilPętle zagnieżdżonePowtórka – dynamiczne wejście3Operatory — część 1
Operatory arytmetyczneOperator moduloSkrócone operatory arytmetycznePodsumowanie — prosta matematykaOperatory porównania6Podstawowe wejście i wyjście
Wyświetlanie za pomocą putsWyświetlanie za pomocą print i pWyświetlanie zmiennychWczytywanie za pomocą getsMetoda chompKonwersja typówPodsumowanie – kalkulator wiekuPodsumowanie – prawda czy fałszPoćwicz samodzielnie: Kompilator Ruby online