nextupprevious
Next:2.4 Построение линейных программ Up:2.3 Доказательство свойств программ
Previous:2.3.4 Метод промежуточных утверждений


2.3.5 Упражнения

1. Укажите, какие из приведенных ниже определений функции содержат ошибки
 


 

2. Укажите, какие из приведенных ниже спецификаций определяют функции, которые реализуются некоторыми Паскаль-программами.

(1) Программа: Поиск угла
Вход: a
где а $\in$ Real
Выход: с
где c= Угол (a),

(2) Программа: Сумма двух чисел
Вход$n, m$
где$n,m \in$ Integer
Выход$k$
где$k = Сумма (n,m),$
Сумма$Сумма (x,y) = x + y$.

(3) Программа: Решето Эратосфена
Вход$\alpha$
где$\alpha \in Integer^*$
Выход$\beta$
где $\beta$= Обработка ($\alpha$),

3. Укажите, какие из следующих утверждений справедливы для любых целых чисел $A$ и $B$:

(1) $ \{ x=A, y=B \}$ x := y+x $\{x = A + B \},$
(2) $ \{ x>A, y>0 \}$ x := x+y $\{ x > y \},$
(3) $ \{ x=A, y=B \}$ x := x+y; y := x-y; x := x-y $\{ x=B, y=A\},$
(4) $ \{ x=A \}$ y := Sin(A) $\{y \leq 1 \},$
(5) $ \{ x=A \}$ x := Sin(x) / Cos(x) $\{ x = $ Ctg $(\pi/2 - A) \}.$

4. Укажите те из перечисленных в предыдущем упражнении утверждений, которые являются свойствами правильности соответствующих фрагментов программ.

5. Найдите аналитическое выражение или несколько значений функций натуральных аргументов $F$, для которых имеются следующие определения:
 


6. Пусть $А$ и $В$ произвольные последовательности целых чисел. Вычислить $F(A,B)$, если $F$ определяется по следующим правилам:



7. Методом промежуточных утверждений докажите справедливость каждого из следующих свойств для любого целого числа $А$.

(1) $ \{ x=A \}$ x := sign(x) $*$$\{ x > 0 \},$
(2) $ \{ x=A \}$ y := x; x := x+y; x := x+y $\{ x=3 \cdot A, y=A \},$
(3) $\{ 2 > 3 \}$ x := 1 $\{ x = A \}.$

8. Постройте программы по следующим спецификациям:

(1) Программа : Размен монетами
Вход$n$
где$n \in Integer, n > 0, n < 100.$

Выход$m  k  s$

(2) Программа: Сдвиг
Вход$х$
где$х \in$ Char
Выход: y

(3) Программа: Троичное число

Вход$xyzw$
где$x, y, z, w \in Char$,
$x<'4', y<'4', z<'4', w<'4'$
Выход: n

 

Next:2.4 Построение линейных программ
Up:2.3 Доказательство свойств программ
Previous:2.3.4 Метод промежуточных утверждений


© В.Н. Касьянов, Е.В.Касьянова, 2004