0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 32
|
|
1 | |
В списке List записаны в порядке возрастания номеров первые N элементов последовательности26.03.2010, 22:19. Показов 1719. Ответов 15
Метки нет (Все метки)
posl4(N,List). в списке List записаны в порядке возрастания номеров первые N элементов последовательности 6/99, 9/94, 12/89, 15/84, 18/79, ,... с нечетными номерами.
тут последовательность (3*n+3)/(99-5*n).
0
|
26.03.2010, 22:19 | |
Ответы с готовыми решениями:
15
Вывести порядковые номера наибольших чисел последовательности в порядке возрастания их номеров Упорядочить первые 10 элементов в порядке возрастания, а другие в порядке убывания Первые десять элементов массива М(30) отсортировать в порядке возрастания, а остальные в порядке убывания Вывести вначале элементы массива с нечетными номерами в порядке возрастания номеров, затем - элементы с четными в порядке убывания номеров |
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
|
||||||
27.03.2010, 01:00 | 2 | |||||
Вы или формулу неправильную указали, или последовательность неправильную... Я сделала прогу, рассчитанную на то, что формула правильная
L = [6/94, 12/84, 18/74]
2
|
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 32
|
|
27.03.2010, 09:49 [ТС] | 3 |
не могли бы вы первую строчку прокомментировать
0
|
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
|
|
27.03.2010, 22:08 | 4 |
Вы имеете в виду эту p(N,List):-N1 is N*2-1, p(1,N1,List). ? Нам надо рассмотреть все элементы с индексами от 1 до 2N-1, и выбрать из них только с нечетными индексами. Первая строка задает диапазон поиска.
1
|
0 / 0 / 0
Регистрация: 16.11.2009
Сообщений: 32
|
|
27.03.2010, 22:47 | 5 |
а если все условие точно такое же, только с небольшим отличием:
в списке List записаны в порядке возрастания номеров первые N элементов последовательности 6/99, 9/94, 12/89, 15/84, 18/79, ,... сначала с нечетными номерами, затем с четными
0
|
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
|
||||||
27.03.2010, 22:57 | 6 | |||||
0
|
0 / 0 / 0
Регистрация: 16.11.2009
Сообщений: 32
|
|
27.03.2010, 23:16 | 7 |
Грымзик, а что значит append?
это какой-то синтаксис языка?
0
|
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
|
||||||
27.03.2010, 23:23 | 8 | |||||
append - предикат слияния двух списков. В SWI прологе он встроен. А если Вы пишите не на нем, то опишите так
2
|
0 / 0 / 0
Регистрация: 16.11.2009
Сообщений: 32
|
|
28.03.2010, 21:56 | 9 |
Грымзик,
при задании запроса p(3,L). (к примеру) Пишет ошибку стэка. Возможно ваша программа работает только в swi прологе. P.S. У меня ARITY Prolog
0
|
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
|
|
28.03.2010, 22:05 | 10 |
Вы определение предиката append добавили? Арити пролога у меня нет, но я проверила на клубничном - работает, а это уже показатель, что никаких наворотов в языке прога не требует.
0
|
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 32
|
|
31.03.2010, 13:37 [ТС] | 11 |
не подскажите как сязаны в случае p(K,N,List):K,N,List.
и чему равно p(2,L). Добавлено через 4 минуты если не трудно прокомментируйте последние две строчки программы
0
|
0 / 0 / 0
Регистрация: 16.11.2009
Сообщений: 32
|
|
01.04.2010, 10:09 | 12 |
p(K,N,[A/B]):-K=:=N-1,A is 3*K+3, B is 99-5*K.
p(K,N,[A/B|Tail]):-M is K+2,p(M,N,Tail),A is 3*K+3, B is 99-5*K. прокомментируйте пожалуйста эти строчки
0
|
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
|
|
01.04.2010, 14:42 | 13 |
p(K,N,[A/B]):-K=:=N-1,A is 3*K+3, B is 99-5*K. Если K=N-1, то это последняя дробь которую надо вычислить, поэтому вычисляем ее и возвращаем список, хранящий один элемент - эту самую дробь.
p(K,N,[A/B|Tail]):-M is K+2,p(M,N,Tail),A is 3*K+3, B is 99-5*K. Если же еще не последняя, то увеличиваем индекс на 2 (т.к надо только с нечетными номерами), рекурсивно находим список из всех следующих необходимых дробей, вычисляем текущую дробь и вставляем ее как голову найденного списка.
1
|
0 / 0 / 0
Регистрация: 16.11.2009
Сообщений: 32
|
|
01.04.2010, 23:41 | 14 |
Грымзик,
связь между элементами этого отношения p(K,N,list) , что K,N являются номерами элементов списка list?
0
|
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
|
|
02.04.2010, 00:07 | 15 |
List - это ответ, K-индекс текущего элемента, т.е того, который мы сейчас высчитываем, а N-индекс самого последнего элемента, на котором нам надо останавливаться.
0
|
0 / 0 / 0
Регистрация: 16.11.2009
Сообщений: 32
|
|
02.04.2010, 13:42 | 16 |
блин преподу все объяснил, он докопался говорит как связаны между собой отношением K,N,List , на все мои объяснения говорит что ты мол процесс описываешь, а нужно как связаны
0
|
02.04.2010, 13:42 | |
02.04.2010, 13:42 | |
Помогаю со студенческими работами здесь
16
Упорядочить в порядке возрастания первые N элементов массива Упорядочить первые n элементов данного ряда в порядке возрастания (Pascal -> С++) Дан массив A размера N. Вывести его элементы с удвоением их номеров в порядке возрастания номеров: A1, A2, A4, A8,…Условный оператор не использовать. Перебор элементов в List в порядке возрастания поля, содержащегося в элементе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |