apohllo.pl
więcej niż strona domowa...
 

Lekcja 2

Spis treści | Lekcja 1 | Lekcja 3

2. Elementy języka

Na początku wyjaśnijmy podstawowe pojęcia: funkcja i dane. Terminem dana określa się informacje takie jak liczby, słowa lub listy rzeczy. Funkcje można porównać do pudełka, przez które wychodzą dane.

Symbol – to każdy łańcuch znaków, cyfr i niektórych znaków specjalnych nie będący liczbą, np.: x, y, z, xyz, sdf-df, g7y7y, znak, heigh, . Zazwyczaj nazwy symboli biorą się z angielskich nazw (w naszym wypadku także polskich).

2.1. zachowaj liczbę 4 jako wartość symbolu x

(setg x 4)

2.2. pobierz wartość symbolu x (wymaga wcześniejszego wykonania zadania 2.1.)

x
    zwracane jest: 4

2.3. użyj wartości symbolu jako argumentu funkcji + (wymaga wcześniejszego wykonania zadania 2.1.)

(+ x 7)
    zwracane jest: 11

2.4. spróbuj pobrać wartość symbolu, któremu nie przypisano żadnej wartości

m
    zwracane jest: 
    Error: Attempt to take the value of the unbound symbol M / nil ??

Symbole specjalne: T i NIL

Lisp posiada dwa symbole posiadające przypisane im na stałe wartość. Są to: T oznaczający „prawda” , „tak” oraz NIL – „fałsz”, „nie”, „pusty”

2.5. test symboli T i NIL

(if  T 3 9)
    zwracane jest:  3
(if  NIL 3 9)
    zwracane jest:  9
(if  1 3 9)
    zwracane jest:  3

Należy tu dodać pewne wyjaśnienie. Nil zawsze oznacza fałsz, czyli wszystko inne zawsze będzie oznaczało prawdę. Właściwie T używamy dla pewnej prostoty i przejrzystości.

Słowo kluczowe – dowolny symbol, którego nazwa rozpoczyna się od „:”, np.:

2.6. słowa kluczowe

code(lisp). :to-jest-slowo-kluczowe zwracane jest: :TO-JEST-SLOWO-KLUCZOWE

Liczby – to łańcuch cyfr od “0” do “9”, czasami poprzedzonych znakami “+” lub “-“. Wyróżniamy liczby: całkowite, dziesiętne (ma kropkę dziesiętną i może być zapisana w notacji naukowej), wymierna (dwie liczby całkowite przedzielone znakiem „/”), zespolone (są zapisywane jako #c(r i) -gdzie r jest częścią rzeczywistą, a i jest częścią urojoną), np:

2.7. kilka liczb w LISPie

234
-62
+478
3.1415
3.45e-3
#c(6.13e-3 4.123)

Standardowe funkcje arytmetyczne są wciąż dostępne: +, -, *, /, floor, ceiling, mod, sin, cos, tan, sqrt, exp, expt, itd. Wszystkie one przyjmują dowolny rodzaj argumentu. +, -, *, i / zwracają liczbę zgodnie z następującymi zasadami: liczba całkowita plus wymierna daje wymierną, wymierna plus rzeczywistą daje rzeczywistą, a rzeczywista plus zespolona daje zespoloną.

2.8. podstawowe funkcje arytmetyczne

(+ 4 3/5)             
    zwracane jest:      23/5
(exp 1)             
    zwracane jest:      2.7182817
(exp 3)
    zwracane jest:      20.085537
(expt 3 4.2) 
    zwracane jest:    100.90418

Jedynym ograniczeniem wielkości liczby całkowitej jest pamięć komputera. Nie mniej jednak operowanie na dużych liczbach bardzo spowalnia prace komputera.

Spis treści | Lekcja 1 | Lekcja 3

lisp | Opublikowano 10:26 27-11-2010. Ostatnia modyfikacja 10:44 27-11-2010 |
comments powered by Disqus