find(c: CHARACTER; position: INTEGER): INTEGER
Эта функция находит символ, начиная с позиции i и выполняя поиск. Как только он находит индекс, он выводит его. Однако, если в слове такого символа нет, то выводится 0.
Вопрос: Постусловие должно утверждать, что запрос возвращает индекс символа c в слове в диапазоне pos .. word.count или ноль, если такого символа нет.
Мой код:
find(c: CHARACTER; position: INTEGER): INTEGER
require
.....
do
.....
ensure
across word as w
some
(w.item = c and w.cursor_index >= position)
end
end
Проблема с этим логическим равенством заключается в том, что когда используется find (c, pos) и ничего не найдено, функция вызывает нарушение постусловия.
Я пытаюсь сделать так, чтобы функция выводила ТОЛЬКО, когда данный символ c не существует в слове