Логічне та функціональне програмування - Программирование, компьютеры и кибернетика контрольная работа

Логічне та функціональне програмування - Программирование, компьютеры и кибернетика контрольная работа




































Главная

Программирование, компьютеры и кибернетика
Логічне та функціональне програмування

Методи використання предикатів Cut, Fail. Організація циклу (repeat), складання програми. Алгоритм роботи зі списками та рядками. Елементарні операції і базові функції мови програмування Лісп. Робота зі складними типами даних на прикладі бази даних АТС.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Міністерство освіти і науки України
Черкаський державний технологічний університет
«Логічне та функціональне програмування»
Тема: Бектрекінг управління бектрекінгом
Мета: Засвоїти методи використання предикатів Cut, Fail
Завдання: Взяти БД з лабораторної роботи №1 і на потрібному місті поставити предикати Cut, Fail.
mother(X,Y):-parents(X,Y),woman(X).
brother(X,Y):-parents(Z,X),parents(Z,Y),X<>Y,man(X).
sister(X,Y):-parents(Z,X),parents(Z,Y),X<>Y,woman(X).
grandmother(X,Y):-parents(Z,Y),parents(X,Z),woman(X).
grandfather(X,Y):-parents(Z,Y),parents(X,Z),man(X).
uncl(X,Y):-parents(Z,Y),brother(X,Z),man(X).
aunt(X,Y):-parents(Z,Y),sister(X,Z),woman(X).
cusin(X,Y):-parents(Z,Q),parents(Z,W),parents(Q,X),parents(W,Y),Q<>W,X<>Y,man(X).
cusina(X,Y):-parents(Z,Q),parents(Z,W),parents(Q,X),parents(W,Y),Q<>W,W<>Y,woman(X).
vnuk(X,Y):-grandmother(Y,X),man(X).
vnuchka(X,Y):-grandmother(Y,X),woman(X).
clearwindow,vnuk(X,Y),write(X," vnuk ",Y),nl,fail.
%clearwindow,vnuk(X,Y),write(X," vnuk ",Y),!,nl,fail.
Завдання: Написати базу данних, яка вміщує не меньше ніж 20 фактів
Результати роботи програми виввести у різні вікна передбачивши довільне переключення між вікнами (3 - 4 вікна) за допомогою предиката
laptop("Acer","eMachines D620",280).
laptop("Acer","Aspire One A110-Aw",149).
laptop("Acer","EME510-1A1G12Mi",99).
laptop("Acer","Aspire One A150-Bk",83).
laptop("Acer","Aspire AS6935G",77).
laptop("Acer","Aspire One A110-Ab",76).
laptop("Lenovo/IBM","IdeaPad S10",74).
laptop("Fujitsu-Siemens"," Amilo MINI UI 3520",72).
laptop("Acer","Aspire AS6930G",70).
main:-repeat,makewindow(1,7,7," BD laptops ",0,0,25,80),
write("1 BD laptops; 2 BD HP; 3 BD Acer; 4 BD ASUS; 0 Exit"),
menu:-laptop(A,B,C),write(A," ",B," ",C," "),nl,fail.
makewindow(2,7,7,"1 Vikno",5,0,5,80),
makewindow(3,7,7,"2 Vikno",10,0,5,80),
makewindow(4,7,7,"3 Vikno",15,0,5,80),
choice(2):-clearwindow,shiftwindow(2),readchar(_),main.
choice(3):-clearwindow,shiftwindow(3),readchar(_),main.
choice(4):-clearwindow,shiftwindow(4),readchar(_),main.
Задання: Написати довільну програму, використовуючи правило рекурсії
factorial(N,R):-N1=N-1,factorial(N1,R1),R=N*R1.
clearwindow,factorial(5,Result),write("factorial = ",Result).
Результати роботи програми: factorial = 120
1. Створити базу даних мовою пролог яка вміщує не менш ніж 20 фактів
2. Вилучити елементи з бази данних до списку
3. Зробити зі списком наступні операції:
· Використання методу поділення списку на голову та хвіст
· Поділення списку на 2 списки відносно заданого елементу
laptop("Acer","eMachines D620",280).
laptop("Acer","Aspire One A110-Aw",149).
laptop("Acer","EME510-1A1G12Mi",99).
laptop("Acer","Aspire One A150-Bk",83).
laptop("Acer","Aspire AS6935G",77).
laptop("Acer","Aspire One A110-Ab",76).
laptop("Lenovo/IBM","IdeaPad S10",74).
laptop("Fujitsu-Siemens"," Amilo MINI UI 3520",72).
laptop("Acer","Aspire AS6930G",70).
main:-repeat,makewindow(1,7,7," BD laptops ",0,0,25,80),
write("1 Vuly4 elem BD do spusky"),nl,
write("2 Podilennya spusky na H | T"),nl,
menu:-laptop(A,B,C),write(A," ",B," ",C," "),nl,fail.
choice(1):-makewindow(2,7,7,"1 Zanesennya BD v spusok",0,0,25,80),
choice(2):-makewindow(3,7,7,"2 Podil spusky na H | T",0,0,25,80),
choice(3):-write("Vvedit elem powyky "),readint(P),
makewindow(4,7,7,"3 Find",0,0,25,80),
findall(X,laptop(_,_,X),Sp),find_it(P,Sp),main.
choice(4):-write("Vvedit elem vidnosno yakogo byde podil na 2 spuska: "),
readint(CH),makewindow(5,7,7,"4 Podil na 2 spuska",0,0,25,80),
findall(X,laptop(_,_,X),Sp),compl(CH,Sp,L1,L2),nl,
write("List 1: ",L1),nl,write("List 2: ",L2),readchar(_),main.
choice(5):-findall(X,laptop(_,_,X),Sp),
makewindow(6,7,7,"5 Zluttya 2x spuskiv",0,0,25,80),
write("List: "),append(Sp,Sp1,S),write(S),
choice(6):-findall(X,laptop(_,_,X),Sp),sort(Sp,M),
makewindow(7,7,7,"6 Sort",0,0,25,80),
write("Sorted list: "),nl,write(M),readchar(_),main.
list([H|T]):-nl,nl,write("Head: ",H),nl,write("Tail: ",T).
find_it(_,[]):-write("Not found "),readchar(_).
find_it(O,[P|_]):-O=P,write("Found ",O),readchar(_),!.
find_it(O,[_|Tail]):-find_it(O,Tail).
compl(Mid,[H|Tail],[H|L1],L2):-H<=Mid,compl(Mid,Tail,L1,L2).
compl(Mid,[H|Tail],L1,[H|L2]):-H>Mid,compl(Mid,Tail,L1,L2).
append([],[H|L2],[H|L3]):-append([],L2,L3).
append([H|T],L2,[H|L3]):-append(T,L2,L3).
sort([Head|Tail],Sort_l):-sort(Tail,Sort_tail),insert(Head,Sort_tail,Sort_l).
insert(Z,[K|Sort_l],[K|Sort_l1]):-sravn(Z,K),!,insert(Z,Sort_l,Sort_l1).
Завдання: Ввести рядки з клавіатури і зробити з ними наступні операції:
Перетворення рядків у список символів
menu(0):-makewindow(1,0,0,"",0,0,25,80),
makewindow(1,10,14,"ЊҐ­о",0,0,12,80),
write("3 - Џ®¤i«ЁвЁ а冷Є ­ «ҐЄбҐ¬г i § «Ёи®Є"),nl,
write("4 - ЏҐаҐвў®аЁвЁ а冷Є ў бЇЁб®Є бЁ¬ў®«iў"),nl,
write("5 - ‚Ё§­ зЁвЁ ¤®ў¦Ё­г ап¤Є "),nl,
makewindow(2,14,10,"ђҐ§г«мв вЁ",12,0,13,80),
shiftwindow(1),readint(X),shiftwindow(2),menu(X).
menu(1):-write("‚ўҐ¤iвм 1-© а冷Є "),readln(S1),
write("‚ўҐ¤iвм 2-© а冷Є "),readln(S2),
menu(2):-write("‚ўҐ¤iвм а冷Є "),readln(S),
write("‚ўҐ¤iвм Єi«мЄiбвм бЁ¬ў®«iў ¤«п ўi¤¤i«Ґ­­п "),readint(K),
write("ђҐ§г«мвгозi ап¤ЄЁ: ",S1," : ",S2),
menu(3):-write("‚ўҐ¤iвм а冷Є "),readln(S),
menu(4):-write("‚ўҐ¤iвм а冷Є "),readln(S),
write("ђҐ§г«мвгозЁ© ¬ бЁў: ",M),nl,
menu(5):-write("‚ўҐ¤iвм а冷Є "),readln(S),
write("„®ў¦Ё­ ап¤Є - ",I," бЁ¬ў®«iў"),nl,
write("„«п ўл室 ў ¬Ґ­о ­ ¦¬ЁвҐ «оЎго Є« ўЁиг"),
podil(S):-fronttoken(S,A,B),write(A," : ",B),nl,
convert(Str,[H|T]):-frontchar(Str,H,Str1),
find_it(H,[H|_],A,Number):-Number=A,!.
find_it(H,[_|T],A,Number):-A1=A+1,find_it(H,T,A1,Number).
split(N,[H|T],[H|L1],L2,Np):-Np>N,Np1=Np+1,split(N,T,L1,L2,Np1).
split(N,[H|T],L1,[H|L2],Np):-NpЛогічне та функціональне програмування контрольная работа. Программирование, компьютеры и кибернетика.
Контрольная работа: Организация и регулирование оплаты труда 3
Учебное пособие: Методические указания по дипломному проектированию для подготовки инженеров по специальности 080801 "Прикладная информатика в экономике"
Спотлайт 8 Класс Модуль 2 Контрольная Работа
Курсовая Работа Бизнес План Фотостудии
Обломов Ленивый Человек Сочинение
История Развития Волейбола В Казахстане Реферат
Курсовая работа по теме Творчество Иеронима Босха
Реферат: Организация как объект управления
Как Война Влияет На Человека Сочинение Егэ
Реферат по теме Основные понятия, предмет культурологии
Баллы За Эссе По Английскому Егэ 2022
Реферат На Тему Национальный И Валовый Внутренний Продукт: Проблемы И Основные Подходы К Измерению
Роль Физической Культуры В Укреплении Здоровья Реферат
Реферат: Автоматизированное рабочее место налогового инспектора
Курсовая работа по теме Исторические предпосылки развития морского туризма причерноморского макрорайона
Реферат: Методология и методика эмпирического социологического исследования (Контрольная)
Курсовая работа по теме Естественные и искусственные источники электромагнитных полей в средах обитания организмов
Оценивание Сочинение Егэ 2022
Реферат по теме Основы организации строительства систем вентиляции и кондиционирования воздуха зданий различного назначения
Реферат по теме Детское и специальное питание сегодня
Традиції середньовічного карнавалу в драматургії В. Шекспіра - Литература дипломная работа
Особенности мотивации труда в Республике Беларусь - Менеджмент и трудовые отношения курсовая работа
Роль мотивов в обучении младших школьников - Педагогика курсовая работа


Report Page