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

Сформировать список целых чисел

26.10.2013, 14:06. Показов 3700. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сформировать список целых чисел в заданном диапазоне и подсчитать количество отрицательных значений. Удалить начало списка до заданного элемента X включительно.
Вот я список сформировала, только он почему отрицательные значения не правильно считает
Prolog
1
2
3
4
5
6
genl(N2,N2,[]):-!.
genl(N1,N2,[N1|L]):-N1<N2,N is N1+1,genl(N,N2,L).
len(0,[]).
len(X,[_|L]):-X1<0,len(X1,L),X is X1+1;len(X1,L),X1>=0,X is X1.
    create:-genl(-10,9,L),write(L),nl,len(X,L),
    write('Количество отрицательных элементов='),write(X).
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.10.2013, 14:06
Ответы с готовыми решениями:

Ввести с клавиатуры список целых чисел. Найти сумму чисел, которые входят в список по одному разу
Прошу помочь с заданием по Турбо Прологу. Мне кажется, что для людей которые понимают и разбираются в Прологе это задание будет не...

Сформировать список L1 из чисел списка L, кратных k
ПОмогите пжл решить задачку Сформировать список L1 из чисел L, кратных k.

Сформировать список L1 из нечетных чисел списка L
1. Сформировать список L1 из нечетных чисел списка L.

7
5 / 5 / 1
Регистрация: 20.04.2013
Сообщений: 95
28.10.2013, 14:29  [ТС]
люди добрые помогите)
0
99 / 99 / 14
Регистрация: 07.02.2013
Сообщений: 128
28.10.2013, 15:08
Prolog
1
2
3
len(X,[]):-write("Количество отрицательных элементов="),write(X), nl.
len(X,[H|L]):-H<0,X1=X+1, len(X1,L); X1=X,len(X1,L).
create:-genl(-10,9,L),write("Список ",L),nl,len(0,L).
0
5 / 5 / 1
Регистрация: 20.04.2013
Сообщений: 95
30.10.2013, 22:03  [ТС]
не работает
0
99 / 99 / 14
Регистрация: 07.02.2013
Сообщений: 128
30.10.2013, 22:50
Что именно не работает? Приведенный фрагмент кода реализует подсчет отрицательных элементов вписка. У меня VP5.2. Вот полный код:
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
domains
list=integer*
predicates
nondeterm genl(integer, integer,list).
nondeterm len(integer,list).
nondeterm create.
clauses
genl(N2,N2,[]):-!.
genl(N1,N2,[N1|L]):-N1<N2,N=N1+1,genl(N,N2,L).
len(X,[]):-write("Количество отрицательных элементов="),write(X), nl.
len(X,[H|L]):-H<0,X1=X+1, len(X1,L); X1=X,len(X1,L).
create:-genl(-10,9,L),write("Список ",L),nl,len(0,L).
 
%Либо так
%len(0,[]):-write("Количество отрицательных элементов=").
%len(X,[H|L]):-H<0,len(X1,L),X=X1+1;len(X1,L),X=X1.
%create:-genl(-10,9,L),write("Список  ",L),nl,len(X,L),write(X), nl.
goal
create.
А по поводу удаления начала списка возникае вопрос: X - это конкретный элемент списка? Если так, то в списке элементы могут и повторяться, тогда задание должно звучать, как "удалить начало списка до первого вхождения Х включительно"? Либо Х - число первых элементов списка, которые нужно удалить?
1
5 / 5 / 1
Регистрация: 20.04.2013
Сообщений: 95
08.11.2013, 18:43  [ТС]
Prolog
1
2
3
4
5
6
7
8
9
10
11
genl(N2,N2,[]):-!.
genl(N1,N2,[N1|L]):-N1<N2,N is N1+1,genl(N,N2,L).
len(0,[]).
len(X,[H|L]):-H<0,len(X1,L),X is X1+1;len(X1,L),X is X1.
delete(_,[],[]).
delete(Y,[Y|Z],Z):-!.
delete(Y,[X|Z],[X|A]):-
    delete(Y,A,Z).
create:-genl(-12,9,L),write(L),nl,len(X,L),
    write('Количество отрицательных элементов='),write(X),nl,
    write('Введите X: '),read(X),nl,delete(X,[],Y),write(Y).
вот про удаление надо что бы удаляло значение введение до Х(включительно).
я вот написала только оно удаляет первое вхождение
0
99 / 99 / 14
Регистрация: 07.02.2013
Сообщений: 128
08.11.2013, 19:22
Удаление до заданного элемента включительно:
Prolog
1
2
delete(Y,[Y|Z],Z):-!.
delete(Y,[_|Z],X):- delete(Y,Z,X).
Генерация списка с последующим удалением
Prolog
1
2
3
create:-genl(-12,9,L),write(L),nl,len(Xotr,L),
    write('Количество отрицательных элементов='),write(Xotr),nl,
    write('Введите X: '),read(X),nl,delete(X,L,Lout),write(Lout).
1
5 / 5 / 1
Регистрация: 20.04.2013
Сообщений: 95
08.11.2013, 19:46  [ТС]
спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.11.2013, 19:46
Помогаю со студенческими работами здесь

Сформировать список L1 из четных чисел списка L
необходимо Сформировать список L1 из четных чисел списка L,подскажите пожалуйста как это сделать Добавлено через 13 минут если я...

Создайте предикат, упорядочивающий список целых чисел по возрастанию
2. Создайте предикат, упорядочивающий список целых чисел по возрастанию (список одноуровневый).

Программа, которая преобразует список целых чисел во множество
Добрый день! Помогите, пожалуйста, решить задачу. Напишите на языке ПРОЛОГ программу, которая преобразует список целых чисел во...

Задан список из N целых чисел. Путем перестановок получить значение
Добрый день! Пытаюсь освоить пролог на примерах - этакий быстрй курс. Просмотрел все 50 страниц, но подобных задач не нашел. Задача: ...

Подсчитать количество целых чисел, входящих в список только один раз
Подсчитать количество целых чисел, входящих в список только один раз. Список упорядочен по убыванию. domains il=integer* ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru