logo
TurboProlog / Документация / TOM_2

Fillpoly/1 Графика

Назначение Рисует и заполняет многоугольник

Обращение fillpoly(СписокВершин)

Домены (bgi_ilist)

Шаблоны описания (вх)

аргументов

Описание fillpoly рисует контур многоугольника текущим стилем

линии и цветом (так же как это делает drawpoly) и

заполняет текущим шаблоном и цветом заполнения.

Смотри drawpoly,floodfill,graphresult,setfillstyle

findall/3

Назначение Формирует список всех решений, возвращенных

неопределенным предикатом

Обращение findall(Перем,<ВызывПред>,Список)

Описание findall формирует при помощи поиска с возвратом в

<ВызывПред> список всех решений. Формирование идет до

получения окончательного неудачного завершения.

Список содержит все значения переменной Перем,

которые являются выходными аргументами предиката

<ВызывПред>.

Для работы findall необходимо объявить домен

спискового типа для Список в секции доменов.

Неудачное Никогда не дает

завершение

Ошибки 1020 Свободная переменная недопустима здесь.

(Если свободная переменная возвращается в

"Перем".)

Пример

domains

lyrics = lyrics(symbol, symbol)

name = string

music = music(symbol, symbol)

mulist = music*

namelist = name*

database

musicdba(symbol, symbol)

predicates

show(name, lyrics, music)

goal

findall(M, show(X, Y, M), Musiclist),

findall(Name, musicdba(_, Name), Namelist),

write(Musiclist, "\n", Namelist).

clauses

show("West Side Story", lyrics(stephen,

sondheim), X) :-

musicdba(leonard, bernstein),

X=music(leonard, bernstein).

show("Apocalypses Now", lyrics(the, doors),

music(jim, morrison)).

show("Repo Man", lyrics(iggy, pop), music(iggy,

pop)).

show("Live and Let Die", lyrics(paul,

mc_cartney), music("", wings)).

show("Two Hundred Motels", lyrics(frank,

zappa), music(mothers_of,invention)).

show("Chess", lyrics("Andersson Rice",

" & Ulvaeus"), music(london,symphony)).

show("The Wall", lyrics(pink, floyd), music(pink,

floyd)).

show("Stop Making Sense", lyrics(talking, heads),

music(talking, heads)).

/* Автоматически добавляемые предложения базы */

/* данных */

musicdba(leonard, bernstein).

musicdba(jim, morrison).

musicdba(iggy, pop).

musicdba("", wings).

musicdba(mothers_of, inventions).

musicdba(london, symphony).

musicdba(pink, floyd).

musicdba(talking, heads).