При этом удобно использовать отношение stock с записями следующего вида: McDoo stock (∅∅∅∅ ∅ ∅ ∅)
Упражнение 5.6
С помощью той же программы, что и в предыдущем упражнении, следует определить два отношения, например, так, как показано ниже:
X State relation name? ans stockin
X State relation name? just stockout
Отношение stockin предназначено для регистрации поступлений на склад, тогда как отношение stockout, наоборот, позволяет контролировать продажу материалов со склада.
Упражнение 5.7
Задания (1), (3) и (4) имеют аналогичные решения. Например, для задания (3) возможен следующий ответ:
all (: begin x)
X List ali helds ? just (Computing Gardening Cooking Science Fiction)
X List ali keys ? just (Alan Bill Colin Dora Eve Fred)
X List all relations ? just (owns)
Следует отметить, что отношения должны вводиться в виде списка даже в том случае, когда определяется одно отношение.
2. Возможны два варианта: список полей может содержать названия позиций на игровом поле (вратарь, левый защитник и т. д.) или номера игроков от 1 до 11.
5. Решение в общем аналогично предложенному в п. (3), но если ввод данных производится отдельными фрагментами, для некоторых улиц могут быть введены несколько подсписков типа (23 2 ∅1 49А).
Упражнение 5.8
См. ответ к следующему упражнению.
Упражнение 5.9
1) all (x у: х stock (у bricks) and 400 LESS у)
2) all (х у: х stock (у sand) and Fee stock (z sand) and z LESS y)
3) all (x у z: к stock (y sarid) and я stock (z cement))
Упражнение 5.10
1) all(x у: х stock (y western))
2) all (x y: x stock (y gardening) and York stock (z gardening) and у LESS z)
3) all (x:x stock (z gardening) and x stock (y cookery) and z LESS y)
4) all (X Y: X stock (xl thriller) and X stock (x2 romance) and X stock
(x3 western) and X stock (x4 war) and SUM) (xl x2 x5) and
SUM (x3 x4 x6) and SUM (x5 x6 Y))
Упражнение 5.11
Для выполнения данного упражнения следует ознакомиться с описываемыми I далее в тексте дополнительными отношениями.
1) all (x у: х out z and z tot у)
2) all (x y: z out z and helds X and (y western) maich (z X))
3) если прибыль от сбыта книги-вестерна равняется 50 центам, запрос
all (х у: х out z and fields X and Y western) match (z X) and TIMES (0. 5 Y y))
позволит получить выраженную в долларах прибыль за продажу книг-вестернов для каждой фирмы.
Упражнение 5.12
1) all (x у: х stock (у computers) and York stock (z computers) and z LESS y)
2) all (x у z: Hull stock (X z) and out-type (y z) and X LESS y)
3) all (x у z: Luton out-type (X computers) and x stock (y z) and у LESSX)
4) all (x у z: Hull out-tot X and x out-type (y z) and X LESS y)
Упражнение 5.13
1) X sold-percent Y if
sales-tot Z and X out-tot x and percent (Y x Z)
2) X type-sales Y if
X held and
Y isall (Y: Z out-type (Y X))
X all-sales Y if
X type-sales Z and Z tot Y S held if
helds Y and X ON Y
3) X percent-sales Y if
sales-tot Z and X all-sales x and percent (Y x Z)
4) X bestseller Y if
Z isall (Z: x all-sales Z) and
Y max Z and
X all-sales Y and
5) X worstseller Y if
Z isall (Z: x all-sales Z) and
Y min Z and
X all-sales Y and
Упражнение 5.14
См. следующее упражнение.
Упражнение 5.15
1) all (x у: х outtype (у western))
2) all (x: x soldeprcent у and у LESS 10)
3) all (x: x outtot у and у LESS 100)
4) либо list allsales, либо all (x у: x allsales y)
Упражнение 5.16
1) change X if
X stocktot Y and
X outtot Z and percent (x Z Y) and
(X stockpercent x) add
2) X change (Y Z) if
X out x and
Y max x and
helds у and
(Y Z) match (x y) and
(X outmax (Y Z)) add
3) change X if
X outtype (Y Z) and
Z allsales x and
percent (y Y x) and
(X typepercent (y Z)) add
4) change X if
X outtype (Y Z) and
x salestot and
percent (y Y x) and
(X allpercent (y Z)) add
Данные предложения добавляются к программе перед выполнением модуля UPDATE.