download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

SWIProlog ПОМОЩ

Автор
Съобщение
pipo_iv
Вто, 24.04.07, 11:30
Ако някой знае каква функция изпълнява вградения предикат select в Prolog моля да ми обясни. Предварително благодаря на всички.
дядо_поп
Вто, 24.04.07, 12:03
Цитат
select(?Elem, ?List, ?Rest)
Select Elem from List leaving Rest. It behaves as member/2, returning the remaining elements in Rest. Note that besides selecting elements from a list, it can also be used to insert elements. „
pipo_iv
Вто, 24.04.07, 12:05

RE: SWIProlog ПОМОЩ

Ако бях на ТИ с английския, нямаше да ми се налага да питам. Но благодаря че ми отговори все пак
pipo_iv
Вто, 24.04.07, 12:13
За това става дума
%ulici - създава списък от наредени тройки, съдържащи имената на улиците и градовете в които се намират и броя студенти, живеещи на тази улица
ulici([], Str, Str):-!.
ulici([student(_, _, _, adress(Town, Street, _), _, _)|T], Str, Result):-
  member((Town, Street, Cnt), Str),!,
  select((Town, Street, _), Str, RestStr),
  NewCnt is Cnt+1,
  ulici(T, [(Town, Street, NewCnt)|RestStr], Result).
ulici([student(_, _, _, adress(Town, Street, _), _, _)|T], Str, Result):-
  ulici(T, [(Town, Street, 1)|Str], Result).
дядо_поп
Вто, 24.04.07, 12:25
Абе, то и Дядо Поп не е много спретнат с тоз погански езикк, ама с Божията помощ го разчита така:
Избира Elem от List, пропускайки Rest. Действа като member/2 връщайки останалите елементи в Rest. За отбелязване е, че освен за избор от списък може да се използва и за вмъкване на елементи.
Язък, че Дядовото Попово образование е спряло само до MicroProlog та с тия нови предикати и на него му е мътно да се оправя.

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.