Tworzenie zmiennych i funkcji

Stronę tą wyświetlono już: 124 razy

W oknie programu znajduje się obszar linii poleceń, gdzie przeprowadzane są obliczenia matematyczne. Aby stworzyć własną zmienna i przypisać jej wartość wystarczy w linii poleceń wpisać następujące wyrażenie:

Listing 1
  1. nazwa_zmiennej : wartość

gdzie:

  • nazwa_zmiennej to dowolna nazwa, która nie może zawierać spacji w nazwie ani nie może być liczbą jak również nie może używać nazw funkcji i operatorów używanych w programie gdyż te zostały już zarezerwowane;
  • : (dwukropek) jest operatorem podstawienia;
  • wartość to dowolne wyrażenie matematyczne, od najprostszego zapisu liczbowego (np. 120) po wyrażenia typu x*2+4, gdzie z kolei x jest traktowany jako zmienna.

Przykład:

Listing 2
  1. x : 1;
  2. x2 : x*2+1;

Wpisanie powyższego kodu i wciśnięcie kombinacji klawiszy ctrl+enter tworzy zmienne x oraz x2 przeliczając równocześnie wszystkie wyrażenia. Możliwe jest użycie zmiennej, której nie została przypisana żadna wartość, np. w następujący sposób:

Listing 3
  1. x3 : x4 * 2 + 5;

Wynikiem będzie następujący zapis:

Listing 4
  1. x3=2 x4+5

Możliwe jest również tworzenie listy:

Listing 5
  1. lista: [1, 2, 3, 4, 5];
  2. lista[1];
  3. lista2: [[1, 2], [2, 3]];
  4. lista2[1];
  5. lista2[1][1];

Wynik:

Listing 6
  1. [1, 2, 3, 4, 5]
  2. 1
  3. [[1, 2], [2, 3]]
  4. [1, 2]
  5. 1

Można również przypisać wartość elementowi listy w następujący sposób:

Listing 7
  1. lista: [1, 2, 3, 4, 5];
  2. lista[1]: 22;
  3. lista;

Wynik działania:

Listing 8
  1. [1, 2, 3, 4, 5];
  2. 22
  3. [22, 2, 3, 4, 5];

Funkcje operujące na listach:

Listing 9
  1. length (expr)

Jest to funkcja zwracająca liczbę argumentów listy, zaś argument expr jest nazwą zmiennej będącej listą.

Listing 10
  1. last (expr)

Funkcja zwracająca wartość ostatniego elementu listy, podanej jako argument expr.

Listing 11
  1. first (expr)

Analogicznie do poprzedniej funkcji, z tym że zwraca wartość pierwszego argumentu listy.

Listing 12
  1. apply (F, L);

Funkcja wykonująca podaną funkcję F na liście L.

Przykład:

Listing 13
  1. l:makelist(x^2,x,0,5);
  2. apply(max,l);
  3. apply("*",l);
  4. apply("+",l);

Wynik działania:

Listing 14
  1. [0,1,4,9,16,25]
  2. 25
  3. 0
  4. 55
Listing 15
  1. append (list_1, ..., list_n)

Funkcja łącząca listy list_1, ..., list_n tworząc jedną listę zawierającą najpierw elementy pierwszej podanej listy, a następnie kolejnych następujących po sobie list.

Listing 16
  1. join (l, m)

Funkcja zwracająca nową listę stworzoną z elementów list l i m w następujący sposób [l[1], m[1], l[2], m[2], ..., l[n], m[n]]. Gdy listy l oraz m różnią się długością funkcja pomija argumenty listy większego rozmiaru.

Listing 17
  1. endcons (expr, list)

Funkcja zwracająca nową listę stworzoną w oparciu o listę list dodając na końcu nowej listy wartość argumentu expr.

Listing 18
  1. makelist (expr, i, i_0, i_1)
  2. makelist (expr, x, list)

Funkcja tworząca listę poprzez podstawienie do wyrażenia expr za i wartości od i_0 do i_1 z krokiem 1.

Listing 19
  1. sort (L, P)
  2. sort (L)

Jak można się domyślić, jest to funkcja sortująca elementy listy L w pierwszym przypadku według funkcji P, w drugim przypadku według rosnących argumentów. Przykład:

Listing 20
  1. makelist(x^2,x,0,5);

Wynik działania:

Listing 21
  1. [0,1,4,9,16,25]

Funkcja może również przyjąć jako argumenty wyrażenia expr wartości zapisane w podanej liście list.

Przykład:

Listing 22
  1. l:makelist(x^2,x,0,5);
  2. makelist(x+1,x,l);

Wynik:

Listing 23
  1. [0,1,4,9,16,25]
  2. [1,2,5,10,17,26]

Tworzenie funkcji matematycznych odbywa się w następujący sposób:

Listing 24
  1. nazwa_funkcji(zmienna1, zmienna 2, ..., zmienna_n) := wzór wykorzystujący wszystkie zmienne tworzonej funkcji;

gdzie:

  • nazwa_funkcji - nazwa funkcji, spełniające warunki wymienione przy okazji omawiania tworzenia zmiennych;
  • zmienna1, ..., zmienna_n - nazwy zmiennych wykorzystywanych przez funkcję, które również spełniające wcześniej wymienione warunki;
  • := operator tworzenia funkcji

Przykład:

Listing 25
  1. f(y) := x^2 + 3;
  2. f(3);

Po wciśnięciu kombinacji klawiszy ctrl+enter oczom naszym pojawi się taki oto wynik:

Listing 26
  1. f(y):=y2+3
  2. 12

gdzie pierwsza linijka jest wynikiem utworzenia funkcji f(y) natomiast druga jest wynikiem podstawienia do funkcji f(y) za y wartości 3, która po podstawieniu daje końcowy wynik 12.

Oczywiście, zamiast literału, czyli cyfrowego zapisu liczby (np. 3) mógłbym użyć jakiejś zmiennej utworzonej wcześniej w następujący sposób:

Listing 27
  1. f(y) = x^2 + 3;
  2. x : 10;
  3. f(x);

Wynikiem powyższego działania będzie wyliczenie wartości funkcji f(10) ponieważ x jest równy 10. Podstawię teraz za x np. wyrażenie typu a*2+b:

Listing 28
  1. f(y):=y^2+3;
  2. x:a*2+b;
  3. f(x);

Wynik będzie tym razem następujący:

Listing 29
  1. f(y):=y2+3
  2. b+2 a
  3. (b+2*a)2+3

Jak widać, program podstawił i przeliczył wyrażenie.

Komentarze