-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathItem.h
63 lines (41 loc) · 1022 Bytes
/
Item.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/**
ADT Item
SPECIFICA SINTATTICA
Tipi usati: Item, bool, int.
Operatori:
newItem(int) ➤ Item
equalsItem(Item, Item) ➤ bool
cmpItem(Item, Item) ➤ int
outputItem(Item) ➤ bool
inputItem(Item) ➤ bool
cloneItem(Item) ➤ Item
destroyItem(Item) ➤ void
SPECIFICA SEMANTICA
newItem(v) ➔ i
Post: i = <v>
equalsItem(i1, i2) ➔ e
Pre: i1 ≠ Ø AND i2 ≠ Ø
Post: Se (i1 = i2) allora e = 1, altrimenti e = 0
cmpItem(i1, i2) ➔ e
Pre: i1 ≠ Ø AND i2 ≠ Ø
Post: e = i1 - i2
cmpItem(i ➔ k
Pre: i ≠ Ø
Post: k = chiave di i
outputItem(i)
Post: Output di i
inputItem(i) ➔ e
Post: i = contiene qualcosa presa in input
cloneItem(i) ➔ c
Post: c = i (in una differente locazione di memoria)
destroyItem(i)
Post: i scompare
*/
typedef struct Item* Item;
Item newItem (int);
int equalsItem (Item, Item);
int cmpItem (Item, Item);
int outputItem (Item);
int inputItem (Item*);
Item cloneItem (Item);
int destroyItem (Item*);