Главная
Регистрация
Вход
Среда
04.12.2024
13:34
Приветствую Вас Гость | RSS
Скачать бесплатно книги, работы!

Меню сайта

ОбЛакА ТеГоВ

Категории раздела
Системный анализ процессов химической технологии [6]
Здесь можно просмотреть и скачать лабораторные работы (программы для вычисления написаны в Pascal 7.0).
Детали машин [2]
сопромат и т.д.
Разное [26]
Численные методы [13]
Prolog [7]
Программы (алгоритмы), реализованные в прологе (простейшие варианты)

ПОГОДА
GISMETEO: Погода по г.Москва

 Работы 
Главная » Статьи » Prolog

Найти n-й положительный элемент списка
Текст программы

domains

Ilist = Integer*

predicates

take(Integer,Integer,Ilist)

del(Ilist,integer,Ilist)

min(Ilist,integer)

minN(Ilist,integer,Ilist,Ilist)

 

goal

minN([1,-2,3,-7,-8,4],3,L,M),

take(3,X,L),write(X).

 

clauses

del([H|Tail],H,Tail):-!.

del([H|Tail],X,[H|NewTail]):-del(Tail,X,NewTail).

 

min([H],H).

min([H|Tail],H):-min(Tail,M),H<M,!.

min([_|Tail],M):-min(Tail,M).

 

minN([],_,[],[]):-!.

minN(L,0,L,[]):-!.

minN(L,N,AnsList,[M|MTail]):-min(L,M), del(L,M,L1),

N1 = N-1, minN(L1,N1,AnsList,MTail).

 

take(1,X,[X|_]):-!.

take(I,X,[_|L]):-I1=I-1,!,take(I1,X,L).

Результаты:

4

Категория: Prolog | Добавил: gul (23.04.2010)
Просмотров: 1519 | Теги: Найти n-й положительный элемент спи | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Форма входа

Скачать бесплатно!
Красивые ICQ-номера!!!

Поиск

Наша кнопка

             


НЕСПРАВЕДЛИВОСТЬ


Рейтинг@Mail.ru Каталог ссылок, Top 100.
Copyright Falen Angel © 2024