8063591500

8063591500



3. Wykład 3:

Sprawy formalne:

Zajęcia odbywają się w każdy poniedziałek i co drugi wtorek. Najbliższy harmonogram:

wt. 11.03

pon. 17.03

pon. 31.03

wt. 01.04

Czego oczekujemy od języka przetwarzania symbolicznego - revisited:

-    na poziomie kodu źródłowego: odpowiednio wysoki poziom abstrakcji bez bawienia się w szczegóły manipulacji

-    na poziomie manipulacji odpowiednia efektywność czasowa działania na strukturach, ze szczególnym uwzględnieniem implementacji w postaci zespołu wskaźników poszczególnych symboli

-    translator powinien mieć wbudowane rozwiązanie przeszukiwania rozwiązań (odpowiednie pętle, techniki za pomocą odpowiednich instrukcji)

Przykład w języku LISP:

Definicja funkcji wydobywającej z listy listę dwuelementową złożoną z pierwszego i ostatniego elementu:

(defun skrajne-elementy (lista) (cons (first lista) (last lista)))

; Można sobie przeformatować dla czytelności (

defun skrajne-elementy(lista)

(

cons (first lista) (last lista)

)

)

Omówienie:

LISP składa się na podstawowym poziomie z atomów: liczby i symbole. Instrukcja defun definiuje funkcję. Pierwszy element jest nazwą, drugi to lista argumentów, trzeci listą instrukcji. Wszystkie te elementy są listami! W języku LISP nie istnieje coś takiego jak instrukcja. Wszystko jest wywołaniem procedury. Nie ma zwykłych instrukcji postaci np. instrukcji charakterystycznych dla języka C.

Wszelkie przekazywanie danych pomiędzy procedurami odbywa się przez wartości zwracane przez funkcje. Stają się one argumantami dla innych funkcji. W ten sposób możemy np. zrealizować instrukcję przypisania bez przypisywania pod zmienną.

Istnieje odpowiednia procedura (funkcja), nawet cała rodzina, która jest implementacją operacji przypisania. Używamy jednak tylko wtedy, gdy to jest wygodne bądź uzasadnione:

(setf x y) - przypisz liście

Wartość zwracana jest wartością przypisywaną.

Wywołanie procedury jest listą. Pierwszy element to nazwa procedury wywoływanej, następne są interpretowane jako argumenty. Tak jak w przykładzie, first i last są po prostu wywołaniami odpowiednich procedur na argumencie lista. Obydwie zwracają listę.

cons jest procedurą wbudowaną tworzącą listę przyrostowo, z głowy i ogona. Pierwszy element dołączany na początek, drugi argument jest listą - ogonem. Istnieje coś takiego,



Wyszukiwarka

Podobne podstrony:
—* 7 Zajęcia odbywają się odbywają się na krytej pływalni w Proszówkach v każdy
Wprowadzenie do ekonomii(zasady zaliczania przedmiotu) Zajęcia odbywają się tylko w formie wykładu;
PROGRAM NAUCZANIA CHORÓB DZIECI DLA IV ROKU WYDZIAŁU LEKARSKIEGO Zajęcia odbywają się w II Klinice C
Termin realizacji zajęć: 14 grudnia 2013 r. - 06 lipca 2014 r. Zajęcia odbywają się w systemie sobot
Rejestracja internetowa Na zajęcia odbywające się na Wydziale student rejestruje się w następujący
Jeżeli to możliwe zajęcia odbywają się w plenerze. W celu jak najlepszego wykorzystania materiałów p
Oznaczenie wg Wspólnego Słownika Zamówień (CPV) - 80500000 - 9 - usługi szkoleniowe Zajęcia odbywać
2.6.    Zajęcia odbywają się z uwzględnieniem podziału na grupy i stopień
ZAPRASZAM CHĘTNYCHW KAŻDYM WIEKU!!! Zajęcia odbywają się w Wodne Piaski    Aquapark
Drodzy Słuchacze! W związku z epidemią zajęcia odbywają się w dalszym ciągu na odległość
Informacje ogolne Wykłady oraz prezentacje ustne odbywać się będą w Auli im. Anny Chrząszczewskiej n
Organizacja zająć, regulamin i program zajęć Seminaria Zajęcia odbywają się w I semestrze w wymiarze
INFRASTRUKTURA Wszystkie zajęcia odbywają się w centrum Krakowa, w historycznych, jak i nowoczesnych
Finanse dla niefinansistów - cykl szkoleńTermin i miejsce Wszystkie zajęcia odbywają się - w naszym
ZASADY ZALICZANIA SEMESTRU Zajęcia odbywają się i są zaliczane w systemie semestralnym, lecz zalicze


więcej podobnych podstron