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 та с тия нови предикати и на него му е мътно да се оправя. |