Изменения

Перейти к: навигация, поиск

Программирование по контракту

440 байт добавлено, 12:05, 17 июня 2013
Пример
<tex> isEmpty - </tex> проверка на пустоту
Инвариант:
Размер не отрицателен, <tex>size >=0</tex>
Элементы заполнены <tex>elements[0..size - 1] != NULL </tex>
 
Контракты:
<tex> push:
 
pre: element != null
 
post: size == size' + 1 && elements[size'] == element
 
void push(Object element) </tex>
 
<tex> pop:
 
pre: size > 0
 
post: size == size' - 1 && result == elements[size]
 
Object pop() </tex>
 
<tex> peek:
 
pre: size > 0
 
post result == elements[size - 1]
 
Object peek() </tex>
 
<tex> size:
 
post: result == size
 
int size()
 
isEmpty:
 
post: result == size > 0
 
boolean isEmpty() </tex>
668
правок

Навигация