Tworzenie zmiennych i funkcji
Stronę tą wyświetlono już: 2222 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:
- 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:
- x : 1;
- 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:
- x3 : x4 * 2 + 5;
Wynikiem będzie następujący zapis:
- x3=2 x4+5
Możliwe jest również tworzenie listy:
- lista: [1, 2, 3, 4, 5];
- lista[1];
- lista2: [[1, 2], [2, 3]];
- lista2[1];
- lista2[1][1];
Wynik:
- [1, 2, 3, 4, 5]
- 1
- [[1, 2], [2, 3]]
- [1, 2]
- 1
Można również przypisać wartość elementowi listy w następujący sposób:
- lista: [1, 2, 3, 4, 5];
- lista[1]: 22;
- lista;
Wynik działania:
- [1, 2, 3, 4, 5];
- 22
- [22, 2, 3, 4, 5];
Funkcje operujące na listach:
- length (expr)
Jest to funkcja zwracająca liczbę argumentów listy, zaś argument expr jest nazwą zmiennej będącej listą.
- last (expr)
Funkcja zwracająca wartość ostatniego elementu listy, podanej jako argument expr.
- first (expr)
Analogicznie do poprzedniej funkcji, z tym że zwraca wartość pierwszego argumentu listy.
- apply (F, L);
Funkcja wykonująca podaną funkcję F na liście L.
Przykład:
- l:makelist(x^2,x,0,5);
- apply(max,l);
- apply("*",l);
- apply("+",l);
Wynik działania:
- [0,1,4,9,16,25]
- 25
- 0
- 55
- 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.
- 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.
- endcons (expr, list)
Funkcja zwracająca nową listę stworzoną w oparciu o listę list dodając na końcu nowej listy wartość argumentu expr.
- makelist (expr, i, i_0, i_1)
- 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.
- sort (L, P)
- 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:
- makelist(x^2,x,0,5);
Wynik działania:
- [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:
- l:makelist(x^2,x,0,5);
- makelist(x+1,x,l);
Wynik:
- [0,1,4,9,16,25]
- [1,2,5,10,17,26]
Tworzenie funkcji matematycznych odbywa się w następujący sposób:
- 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:
- f(y) := x^2 + 3;
- f(3);
Po wciśnięciu kombinacji klawiszy ctrl+enter oczom naszym pojawi się taki oto wynik:
- f(y):=y2+3
- 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:
- f(y) = x^2 + 3;
- x : 10;
- 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:
- f(y):=y^2+3;
- x:a*2+b;
- f(x);
Wynik będzie tym razem następujący:
- f(y):=y2+3
- b+2 a
- (b+2*a)2+3
Jak widać, program podstawił i przeliczył wyrażenie.