1. Напишете главата и опашката на следните списъци: [[],[]], [[1],2,[3]], [[]|[]], [1], [[1]], [1,2|[5]], [], [[]|[1,2]].
  2. Могат ли предикатите member и append да се използват като разпознаватели, генератори или изчислители? Покажете как и начертайте дърво на извод за примерни въпроси за всеки случай.
  3. Напишете предикат, който връща последния елемент на даден списък.
  4. Напишете предикат, който по даден списък връща списък от елементите, стоящи на четни места в дадения списък. Ще работи ли правилно предикатът за празен списък? А за списък с нечетен брой елементи?
  5. Напишете предикат за изтриване на елемент от списък. Покажете как с негова помощ може да се дефинира member.  Може ли предикатът да работи като разпознавател, генератор и изчислител? Покажете как.
  6. Напишете предикат-генератор за генериране на всички пермутации на даден списък. Упътване: използвайте delete и append.
Последно модифициране: събота, 12 ноември 2011, 17:38