LISPouczek



STRONA SAMOUCZKA JĘZYKA LISP  



powered by FreeFind
główna

lekcje

odnośniki

pliki
<< 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
	: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.




<< lekcja 1 | lekcja 3 >>