- •1)Направления развития искусственного интеллекта
- •7)Экспертная система
- •13)Алгоритм обратного распространения ошибки
- •19) Современные системы распознавания текстов
- •25) Моделирование в поэзии
- •31)История возникновения и развития Пролога
- •37) Основные понятия Пролога – отсечения
- •43) Метод поиска в глубину
- •49) Сортировка списков в Прологе
- •Быстрая сортировка
- •Сортировка слияниями
- •55) Чтение информации из файла в Прологе
- •61) Написать предикат, находящий максимум из двух чисел
- •67) Создать предикат, который будет дублировать символ, введенный пользователем с клавиатуры
- •73) Написать предикат, позволяющий получать элемент списка по его номеру
- •79) Написать предикат, который будет преобразовывать строку в список атомов
- •85)Разработать предикат, который будет копировать часть строки
67) Создать предикат, который будет дублировать символ, введенный пользователем с клавиатуры
double_char:–
repeat,
readchar(C), /* читаем символ с клавиатуры
в переменную C */
write(C,C), nl,/* выводим на экран значение
переменной C */
C=’.’,!, /* сравниваем значение переменной C
с символом ‘.’*/
nl,write("Была введена точка. Закончили.").
GOAL
write("Вводите символы, которые нужно повторить (точка —
завершение)"),nl,
double_char.
73) Написать предикат, позволяющий получать элемент списка по его номеру
73)n_element([X|_],1,X). n_element([_|L],N,Y):– N1=N–1, n_element(L,N1,Y).
79) Написать предикат, который будет преобразовывать строку в список атомов
79)domains list = char* predicates string_to_list(string, list) list_to_string(list, string) clauses string_to_list("", []):-!. string_to_list(String, [Head|ListTail]):- frontchar(String, Head, StringTail), string_to_list(StringTail, ListTail). list_to_string([], ""):-!. list_to_string([Head|ListTail], String):- list_to_string(ListTail, StringTail), frontchar(String, Head, StringTail). goal string_to_list("test string", List), list_to_string(List, String), write(String).
85)Разработать предикат, который будет копировать часть строки
85)str_copy(S,I,C,SO) :– I1=I–1, /* I1 — это количество символов, расположенных в начале строки S, которые не нужно копировать */ frontstr(I1,S,_,S1), /* S1 — строка, состоящая из всех символов строки S, с I-го и до последнего */ frontstr(C,S1,SO,_). /* SO — первые C символов строки S1 */
