Домашняя работа №2

Задача 1. Для блок-схемы с семинара определить множество всех \(\gamma\) («гамма»), при которых эта блок-схема будет обще частично корректна относительно спецификации \(\varphi(x)~\equiv~T,~\psi(x, z)~\equiv~F\). Определить множество всех \(\gamma\), при которых эта блок-схема будет обще полностью корректна относительно той же спецификации.

Задача 2. Пусть есть некоторые целочисленные константы \(MIN\) и \(MAX\) такие, что \(MIN<0<MAX~\land~MIN+MAX~=~-1\). Написать блок-схему над 3 входными переменными \(x_1,~x_2,~x_3\) и 1 выходной переменной \(z_1\) (промежуточные переменные выбрать самостоятельно). Домены всех переменных — множество всех целых чисел. Блок-схема должна быть обще полностью корректна относительно спецификации \((\varphi,~\psi)\) при указанной ниже \(\gamma\). В блок-схеме можно использовать лишь следующие функции: константные (в том числе, \(MIN\) и \(MAX\)), равные одному из своих аргументов, арифметические сравнения двух целых чисел. В блок-схеме можно использовать указанные ниже сигнатуры.

Спецификация: \(\varphi(x_1,~x_2,~x_3)~\equiv~MIN\leq x_1 \leq MAX~\land~MIN\leq x_2 \leq MAX~\land\)
\(MIN\leq x_3 \leq MAX~\land~MIN\leq x_1 + x_2 — x_3 \leq MAX\),
\(\psi(x_1,~x_2,~x_3,~z_1)~\equiv~(z_1~=~x_1 + x_2 — x_3)\).

Сигнатуры:
(ADD, \(D_{arg}~=~\mathbb{Z}~\times~\mathbb{Z}\), \(D_{res}~=~\mathbb{Z}\))
(SUB, \(D_{arg}~=~\mathbb{Z}~\times~\mathbb{Z}\), \(D_{res}~=~\mathbb{Z}\))

\(\gamma(ADD)~=~(\varphi_{ADD},~\psi_{ADD})\)
\(\varphi_{ADD}(a,~b)~\equiv~MIN\leq a \leq MAX~\land~MIN\leq b \leq MAX~\land~MIN\leq a + b \leq MAX\)
\(\psi_{ADD}(a,~b,~c)~\equiv~(c~=~a + b)\)
\(\varphi_{SUB}(a,~b)~\equiv~MIN\leq a \leq MAX~\land~MIN\leq b \leq MAX~\land~MIN\leq a — b \leq MAX\)
\(\psi_{SUB}(a,~b,~c)~\equiv~(c~=~a — b)\)

Решения присылайте на до 23:59 22 февраля.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.