Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 14
1

Задачи о шахматных конях, удалении элементов из списка

20.11.2011, 14:04. Показов 1241. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Помогите пожалуйста, кто может.
Абсолютно не разбираюсь в прологе, а к 3й паре по прологу уже назадавали задач.
Буду конечно сама пытаться их решить, но пока ориентируюсь только в задачах о предках.

Требуется использовать swiProlog

1. Предположим, что клетки шахматной доски представлены парами их координат в форме X/Y, где X и Y находятся в пределах 1-8. (например, координаты угловых клеток есть 1/1, 1/8, 8/1, 8/8). Определите предикат дваПрыжкаКоня(+A,?B), который определяет, на какое поле B шахматный конь может скакнуть за два хода с поля A.

2. Запрограммируйте предикат p(+A,?B), распознающий, можно ли получить список элементов A из списка элементов B посредством вычеркивания некоторых элементов. Алгоритм: Если A - пустой список, то ответом будет "да". В противном случае нужно посмотреть, не пуст ли список B. Если это так, то ответом будет "нет". Иначе нужно сравнить первый элемент списка A с первым элементом списка B. Если они совпадают, то надо снова применить тот же алгоритм к остатку списка A и остатку списка B. В противном случае нужно снова применить тот же алгоритм к исходному списку A и остатку списка B.

3. Напишите предикат p( +L, +N, ?R), который удаляет N элементов с конца списка L.

4. Построить программу "сжать", назначение которой - преобразование английских слов в их "звуковой" код. Этот процесс предусматривает "сжатие" примерно одинаково звучащих слов в одинаковый их код - своего рода, аббревиатуру этих слов. Слова "сжимаются" в соответствии со следующими правилами:
• первая буква слова сохраняется;
• все последующие за ней гласные, а также буквы "h", "w" и "y" удаляются;
• сдвоенные буквы заменяются одиночными;
• закодированное слово состоит не более чем из четырех букв, остальные буквы удаляются.
Примеры: сжать(barrington, brng) и сжать(llewellyn, ln) - выполнено.
Указание. Воспользуйтесь предикатом name/2.

Заранее благодарна.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2011, 14:04
Ответы с готовыми решениями:

Найти ошибку в удалении элементов из односвязного списка
Нужно удалить элемент из списка. Удаляю элемент не по позиции а по значению (задаю это значение). И...

Исключение при удалении из списка
class Example { string _name; int _number; public: Example() :Example("Example", 0) {} ...

Ошибка при удалении значения списка
В строке 34, как только задействуется функция erase вылезает ошибка. #include "iostream"...

Ошибка при удалении из односвязного списка
Написал код, но при удалении элемента из списка у которого есть значение 2 выдаёт ошибку. Помогите...

1
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
20.11.2011, 16:45 2
Сначала надо правила форума читать: одна тема - одна задача. Так что создавайте новые темы, а эту через какое-то время удалю. Но, прежде, чем создавать, попробуйте все-таки самостоятельно сделать. Потому что человеку, который выкладывает так много задач не особо хочется помогать. Вторую задачу Вам прям сказано как решать. Третья очень простая. Воспользуйтесь поиском, есть предикат, удаляющий последний элемент списка, да может и вообще этот предикат полностью есть.
0
20.11.2011, 16:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2011, 16:45
Помогаю со студенческими работами здесь

Ошибка при удалении єлемента из однонаправленного списка
Помогите исправить ошибку в функции удаления элемента из однонаправленного списка: void...

При удалении элемента из списка вылетает программа
Здравствуйте, помогите, пожалуйста. У меня есть программа по работе с классами и списком (код...

При удалении элемента из списка происходит непонятная ошибка
Приложила файл, который должен лежать в папке с кодом. При выполнении на первом поиске ищете...

Help исправить добавление и удалении из списка по позиции (emplace/erase), спасибо
#include <iostream> #include <list> #include <iterator> using namespace std; void...

Как при удалении элемента из списка, полностью его удалить
Подскажите, как при удалении элемента из списка, полностью его удалять, чтобы не висел в памяти? ...

При удалении первого элемента из динамического списка присваивается плохой указатель
Проблема появляется только при удалении первого элемента. // Запись содержит марку автобуса,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru