Төмендегі сұрақтарға жауаптар дайындау:
Тізімдермен жұмыс
Лисп тілі дегеніміз не?
Тізім дегеніміз не?
АҚИҚАТ және ЖАЛҒАН түсініктемелері
Төмендегі тапсырмаларды орындау:
Тізімдермен жұмыс жасауға мысалдар келтіру
belongs функциясының денесінің тармақтары
СӨЖ орындау барысында төмендегі әдебиеттерді пайдалану:
Р. Акофф, Ф. Эмери. О целеустремленных системах. – М.:Советское радио, 1974г.
М. Арбиб. Метафорический мозг. – М.:Мир, 1976г.В.И.Василев. Распознавающие
Камардинов О. Сараптаушы жүйелер және жасанды интеллект жүйелері, пролог., Шымкент.2002ж
Попов Э.В., Экспертные системы. Решение неформализованных задач в диологе с ЭВМ-М.Наука. 1987г-288стр
№5 СӨЖ
Варианттар
Төменде Лисп тілінде іске асырылуға тиіс функциялар спецификациялары келтірілген. * символымен белгіленген варианттың өзі екі варианттан тұрады: а-варианты) – функция әрекеттері тек жоғары деңгейдегі тізімге таралады; б-варианты) – барлық деңгейдегі тізімшелер қарастырылады (ескерту: екінші жағдайда рекурсияны тізім соңы бойынша да, тізім басы бойынша да қолдану қажет). Келтірілген функциялар қолайлылық үшін тақырыптарға бөлінген.
Тізімдермен операциялар жасау
COPY функциясы тізім жадысында еркін S-өрнектің екінші көшірмесін құрады.
LENGTH функциясы мән ретінде тізім ұзындығын қайтарады [*].
APPEND функциясы екі тізімді бір жаңа тізімге біріктіреді.
REMOVE функциясы тізімдегі берілген атоммен сәйкес келетін элементтердің барлығын жояды да, мән ретінде қалған элементтерден құралған тізімді қайтарады [*].
REMOVEF функциясы тізімдегі берілген элементтің біріші сәйкестігін жояды [*].
REMOVEL функциясы тізімнің соңғы элементін жояды [*].
SUBSTITUE функциясы тізімдегі берілген элементпен барлық сәйкестіктерді жаңа элементке ауыстырады [*].
REVERSE функциясы тізімдегі элементтер тәртібін керісіншеге ауыстырады [*].
FIRST-ATOM функциясы – функция нәтижесі тізімнің бірінші атомы болып табылады (барлық деңгейдегі тізімдер есепке алынады).
LAST функциясы тізімнің соңғы элементін қайтарады.
ADDIFNONE функциясы берілген тізімде (екінші аргумент мәні) берілген элемент (бірінші аргумент мәні) бар ма жоқ па тексереді, егер жоқ болса осы элементті тізімге қосады [*].
COLLECT функциясы берілген тізім элементтерін егер бірдей элементтер бар болса, бірдей элементтер қатарынан тұратындай етіп қайта топтайды [*].
FLATTEN функциясы еркін S-өрнекте барлық ішкі жақшаларды, ал нүктелік өрнектерде нүктеледі де жояды, оларды атомдар тізіміне айналдырады. Өрнекте атомдар саны және тәртібі сақталады.
REVL функциясы тізімді теріс аударады да оны деңгейлерге бөліп тастайды. Мысал, ағымдағы тізім – (A B C), нәтижелеуші тізім – (((C) B) A).
DEVLEV1 функциясы тізімді деңгейлерге бөледі. Мысал, ағымдағы тізім – (A B C), нәтижелеуші тізім (A (B (C))).
DEVLEV2 функциясы тізімді деңгейлерге бөледі. Мысал, ағымдағы тізім – (A B C), нәтижелеуші тізім – (((A) B) C).
DESTLEV1 функциясы тізімдегі деңгейлерді алып тастайды. Мысал, ағымдағы тізім – (A (B (C))), нәтижелеуші тізім – (A B C).
DESTLEV2 функциясы тізімдегі деңгейлерді алып тастайды. Мысал, ағымдағы тізім – (((A) B) C), нәтижелеуші тізім – (A B C).
REMSEC функциясы тізімдегі әрбір екінші элементті жояды [*].
DEVPAIR функциясы тізімді жұптарға бөледі. Мысал, ағымдағы тізім – (A B C D …), нәтижелеуші тізім – ((A B) (C D) …).
MIX функциясы екі тізім-аргументтің элементтерін кезектестіреді де жаңа тізім құайды. Мысал, ағымдағы тізімдер (A B …) және (1 2 …), нәтижелеуші тізім - (A 1 B 2 …).
DEPTH функциясы тізім тереңдігін есептейді (ең терең тармақтан бастап).
Достарыңызбен бөлісу: |