Warning
This page is located in archive.

Úkoly řez

  1. Napište program, který ze dvou čísel vybere to větší. ?-vetsi(5,6,X). X=6
  2. Předchozí program použijte pro nalezení maxima v číselném seznamu ?-nejvetsilist([2,3,4,2,1,2],X) X=4
  3. Napište program, který smaže všechny výskyty prvku ze zadaného seznamu. ?-smazvse(a,[a,b,a,d],X). X=[b,d]
  4. Napište program, který smaže první výskyt prvku v seznamu. ?-smazprvni(a,[a,b,a,d],X). X=[b,a,d]
  5. Napište program, který vypočítá počet výskytů prvku v zadaném seznamu. ?-kolik(a,[a,d,c,a,a,a,d,a],X). X=5

Úkoly volná kategorie

  1. Napište program, který do seřazeného číselného seznamu zařadí číslo N tak, aby seznam zůstal seřazený. ?-zarad(5,[2,4,6,7],X). X=[2,4,5,6,7]
  2. Napište program v Prologu, který rozdělí seznam čísel podle zadaného čísla na dva tak, aby jeden seznam obsahoval všechna čísla menší nebo rovna a druhý seznam všechna čísla větší. Příklad dotazu: ?-rozdel(4,[2,5,3,1,8,4],U,V). U=[2,3,1] V=[5,8,4]
  3. Predikát rozdel/4 z předchozího příkladu použijte pro naprogramování quick sortu. Příklad dotazu: ?- quick_sort([2,5,3,1,8,4],Y). Y=[1,2,3,4,5,8]

Zadání 2. úkolu z Prologu: seznamy

Zadání je zde.

courses/y33pui/prolog/prolog_3.txt · Last modified: 2013/10/04 13:02 (external edit)