Пәндердің оқу-әдістемелік кешенінің тізімдемесі


B) Кері эффектілі функциялар



бет78/85
Дата11.10.2023
өлшемі2.35 Mb.
#480347
1   ...   74   75   76   77   78   79   80   81   ...   85
Сараптаушы жүйелер

B) Кері эффектілі функциялар





  1. ATTACH функциясы тура CONS функциясындай мән өңдеп шығарады, бірақ CONS функциясынан айырмашылығы, ол өзінің екінші аргументін осы мәнге ие болуға міндеттейді.

  2. DREVERSE функциясы тура REVERSE функциясындай мән өңдеп шығарады, бірақ өзінің аргументін бұзады.

  3. NCONC функциясы тура APPEND функциясындай мән өңдеп шығарады, бірақ сонымен қатар ол өзінің бірінші аргументін осы мәнге ие болуға міндеттейді.

  4. TCONC функциясы өзінің бірінші аргументінің мәнін екінші аргумент ұсынып отырған кезектің соңына қояды. Егер бұл кезек бос болса, онда бір элементтен тұратын кезек құрылады. Кезек деп кейбір тізімнен және лисптік ұяшықтан тұратын тізімдік құрылымды түсінеміз. Мұндағы тізім осы тізімнің өзінің бірінші және соңғы элементтеріне бағыттауыштарынан тұрады.

  5. EFFACE функциясы – функцияның екінші аргументінің мәні тізім болуы тиіс. Егер осы тізімде бірінші аргументпен сәйкес келетін ең болмағанда бір элемент бар болса, онда осындай элементтердің тәртібі бойынша біріншісі тізімнен шығарылып тасталынады. Қарсы жағдайда тізім өзгермейді. Функция мәні өзгертілген тізім болып табылады. Егер алып тасталынған элемент тізімдегі бірінші элемент болмаса, онда екінші аргумент мәні де өзгертілген тізім болады.

  6. DREMOVE функциясы EFFACE функциясынан айырмашылығы оның екінші аргументі болып табылатын тізімдегі бірінші аргумент мәнімен мәйкес элементтердің барлығын тізімнен шығарып тастайды.

  7. LCYCLEP предикаты егер аргумент мәнінде d-бағыттауыштар тізбегі бойынша цикл бар болса, Т мәнін өңдеп шығарады. Қарсы жағдайда NIL, яғни, егер аргумент мәніне CDR функциясын көп есе қолданғанда атом алуға мүмкіндік болса.

  8. CYCLEP предикаты егер аргумент мәні циклдік тізімдік құрылым болса, Т мәнін өңдеп шығарады, ал егер аргумент мәнінде цикл жоқ болса NIL мәні.



С) Предикаттар


FORALL, FORSOME, FORODD предикаттары – бұл предикаттарды екі аргументтен. Бірінші аргумент мәні кейбір L тізім болуы тиіс, ал екінші (функционалдық) аргумент мәні P функциясының атауы немесе анықтаушы өрнегі болуы тиіс.



  1. FORALL предикаты тек L тізімінің барлық элементтерінде P функциясы “ақиқат” (яғни NIL емес) мәнін қабылдағанда ғана Т мәнін қабылдайды.

  2. FORSOME предикаты егер P функциясы L тізімінің ең болмағанда бір элементінде “ақиқат” мәнін қабылдаса, Т мәнін қабылдайды.

  3. FORODD предикаты Т мәні қабылдайды, егер P функциясы “ақиқат” мәнін қабылдайтын L тізімінің элементтер саны тақ болса.

  4. ATOMLIST предикаты оның аргументі тек атомдардан құралған тізім (бос болуы да мүмкін) болып табыла ма жоқ па тексереді.

  5. LISTP предикаты егер берілген өрнек NIL-ден өзге атом болса немесе тек нүктелік белгілерде жазылуы мүмкін өрнек болса, NIL мәнін қабылдайды. Қарсы жағдайда берілген өрнек деңгейлердің ешқайсысында нүктелік белгілерге бармай жазуға болатын тізім, және предикат Т мәнін қабылдайды.

  6. ONELEVEL предикаты аргумент бір деңгейлі тізім бе жоқ па тексереді.



Достарыңызбен бөлісу:
1   ...   74   75   76   77   78   79   80   81   ...   85




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет