Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 1
Регистрация: 30.10.2014
Сообщений: 44
Записей в блоге: 1

Задача на списки

29.11.2014, 14:25. Показов 1023. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Помогите пожалуйста решить задачку!


Реализовать функцию, включающую объект на заданную позицию в списке. Позиция в списке задается порядковым номером элемента, отсчитываемым от 0. Если номер заданной позиции больше чем количество элементов в данном списке, то последний элемент списка должен быть продублирован недостающее количество раз.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.11.2014, 14:25
Ответы с готовыми решениями:

Задача на списки
Здравствуйте! Прошу вашей помощи решить задачку. Необходимо сформировать список, состоящий из типов процессора. Преобразовать этот...

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

Задача на списки
Пусть в файле хранятся записи со сведениями об автомобилях и их владельцах (марка, номер ГАИ, фамилия владельца); Необходимо: а) для...

9
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
30.11.2014, 11:14
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
domains
int=integer
intl=int*
 
predicates
ins(intl,int,int,intl)
 
clauses
ins([],0,P,[P]).
ins([H],0,P,[H,P]).
ins([H],N,P,[H|T]) :- N>0, N1=N-1, ins([H],N1,P,T).
ins([H|T],N,P,[H|Q]) :- N>0, N1=N-1, ins(T,N1,P,Q).
 
goal
ins([1,2,3,4,5,6],5,7,Z),write(Z),nl.
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
01.12.2014, 03:30
Меня терзают смутные сомненья..
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
01.12.2014, 21:08
Black Fregat, а что?
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
01.12.2014, 23:34
Оно не будет вставлять в середину списка..
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
?- ins([1,2,3,4],0,7,X).
false.
 
?- ins([1,2,3,4],1,7,X).
false.
 
?- ins([1,2,3,4],2,7,X).
false.
 
?- ins([1,2,3,4],3,7,X).
X = [1, 2, 3, 4, 7] .
 
?- ins([1,2,3,4],4,7,X).
X = [1, 2, 3, 4, 4, 7]
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
04.12.2014, 20:18
Виноват... А так:

Prolog
1
2
3
4
5
6
7
8
9
10
11
domains
int=integer
intl=int*
 
predicates
ins(intl,int,int,intl)
 
clauses
ins([H|T],0,P,[H,P|T]).
ins([H],N,P,[H|T]) :- N>0, N1=N-1, ins([H],N1,P,T).
ins([H|T],N,P,[H|Q]) :- N>0, N1=N-1, ins(T,N1,P,Q).
2
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
04.12.2014, 20:57
Так похоже на правду, проверять уж не буду - поверю
1
1 / 1 / 1
Регистрация: 30.10.2014
Сообщений: 44
Записей в блоге: 1
10.12.2014, 10:20  [ТС]
Все равно выдает ошибку...
Миниатюры
Задача на списки  
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
10.12.2014, 11:14
Вот картинка из Turbo Prolog:
Миниатюры
Задача на списки  
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
10.12.2014, 13:30
Цитата Сообщение от Loly Rin Посмотреть сообщение
Все равно выдает ошибку...
При переводе на SWI нужно заменять в арифметике = на is:
Prolog
1
N1 is N-1,
Добавлено через 2 минуты
Поясняю разницу:
Prolog
1
2
3
4
?- N = 6, N1 = N-1, N2 is N-1.
N = 6,
N1 = 6-1,
N2 = 5.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.12.2014, 13:30
Помогаю со студенческими работами здесь

Задача.Списки
Взываю к помощи! В заданном списке найти три таких числа X, Y, Z, что X*Y=Z Заранее благодарю

Задача на списки
Здравствуйте, возникла проблема с решением задачи в консольном приложении на тему "Динамические структуры данных", конкретно...

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

Задача на списки
Добрый день Табель успеваемости группы студентов содержит следующие сведения: номер по порядку, фамилию, имя, отчество студента,...

Задача на списки
Выполните действия со списком, хранящимся с использованием следующих типов и переменных type PItem=^TItem ; TItem=record el: integer;...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru