Author: SerpentSerpent wrote: ↑Thu Dec 06, 2018 9:41 am Temat zbiorczy dotyczący operacji na tablicach w SAILu.
1. Co to jest tablica?2. Tworzenie tablicy
- Jest to zbiór uporządkowanych danych, w którym poszczególne elementy mają przyporządkowany numer (indeks).
- W SAILu indeksami są liczby naturalne.
- Pierwszy element w tablicy zawsze przyjmuje wartość 1.
- Zawartość tablicy zawiera się w nawiasach kwadratowych [ ].
- Tablice mogą przechowywać różne typy danych.
- Możliwe jest tworzenie tablic wielowymiarowych.
- Przypisanie w stylu tablica[indeks] = wartosc; jest niedozwolona.
Aby utworzyć tablicę wystarczy użyć operatora przypisania.Możliwe jest też stworzenie tablicy z konkretną zawartością.Code: Select all
tablica := [];
3. Pobranie elementu z tablicyCode: Select all
tablica := [1, 2, 3]; // tablica jednowymiarowa tablica := [ [1, 2], [3, 4]. [1, 4] ]; // tablica dwuwymiarowa tablica := [ [ [1, 2], [1] ], [ [2], [4, 3] ] ]; // tablica trójwymiarowa
Aby dostać się do konkretnego elementu w tablicy, wystarczy wskazać na jego indeks.4. Operatory tablicoweCode: Select all
moja_wartosc := tablica[2]; // gdzie 2 oznacza drugi element moja_wartosc := tablica[1][3]; // odwołanie się do 3 elementu w pierwszym podzbiorze w tablicy dwuwymiarowej
5. Podstawowe funkcje do operacji na tablicach
- ^ - "dokleja" wartości do końca tablicy.
Code: Select all
Przykład: tablica := [3, 4] ^ 5; // => tablica = [3,4,5] Przykład: tablica := [1, 2, 3] ^ [4, 5]; // => tablica = [1, 2, 3, 4, 5]
- union - "dokleja" dwie tablice z pominięciem identycznych wartości.
Code: Select all
Przykład: tablica := [1, 2] union [3,4]; // => tablica = [1,2,3,4] Przykład: tablica := [1, 2] union [2, 3]; // => tablica = [1,2,3]
- isect - zwraca część wspólną obu tablic.
Code: Select all
Przykład: tablica := [1, 2, 3, 4] isect [3, 4, 5]; // => tablica = [3,4]
- diff - usuwane podaną wartość z tablicy.
Code: Select all
Przykład: tablica := [11, 21, 31] diff 31; // => tablica = [11, 21] Przykład: tablica := [10, 15, 20, 10, 25] diff [10, 20]; // => tablica = [15, 25]
6. Funkcje dodatkowe - spis funkcji dodatkowych.
- Insert(tablica, indeks, wartość) - dodaje 'wartość' na konkretnej pozycji w tablicy. Powoduje przesunięcie wartości które znajdują się na pozycjach za 'indeksem'.
Code: Select all
tablica := [1]; tablica := Insert(tablica, 2, 30); // => tablica = [1, 30] tablica := Insert(tablica, 2, 15); // => tablica = [1, 15, 30]
- Replace(tablica, indeks, wartość) - podmienia 'wartość' na konkretnej pozycji.
Code: Select all
tablica := [1, 2, 3]; tablica := Replace(tablica, 2, 4); // => tablica = [1, 4, 3] tablica := Replace(tablica, 4, 10); // => tablica = [1, 4, 3, 10]
- Delete(tablica, indeks) - usuwa element na podanej pozycji.
Code: Select all
tablica := [3, 4, 2, 5]; tablica := Delete(tablica, 1); // => tablica = [4, 2, 5] tablica := Delete(tablica, 3); // => tablica = [4, 2]
- ReplaceIn - funkcja umożliwiająca podmianę wartości w dowolnym miejscu w tablicy o dowolnym wymiarze.
- CompareArray - funkcja porównująca obie tablice.
- Remove - funkcja usuwająca podaną wartość z tablicy jedno- lub dwu- wymiarowej.
- SortList - funkcja sortująca tablicę.
W miarę możliwości czasowych będę aktualizować ten temat o dodatkowe informacje![]()
Topic: https://forum.original-war.net/viewtopi ... =42&t=5887